-
-
Notifications
You must be signed in to change notification settings - Fork 0
1. DesktopXR Documentation
DesktopXR is an OpenXR API layer that provides a configurable desktop overlay in VR.
You can configure DesktopXR by editing a simple .ini file. The DesktopXR Configurator app is also available if you prefer editing settings through a GUI.
This page explains where the configuration file is stored, how to edit it, and what each setting controls.
Press:
Win + R
Paste the following path, then press Enter:
%appdata%\DesktopXR
This opens the DesktopXR configuration directory.
Open:
desktopxr.ini
Use Notepad or any other text editor.
After saving changes, restart your OpenXR application for the new settings to take effect.
If desktopxr.ini does not exist yet, DesktopXR will create it automatically the first time it launches.
[DesktopXR]
toggle_key=CTRL+SHIFT+1
binding=world
toggle_binding=CTRL+SHIFT+2
monitor=0
toggle_monitor=CTRL+SHIFT+3
start_visible=0
[Quality Settings]
quality=low
resolution=
transparency=0
[Position Mappings]
size_default=80
distance_default=3
desktopleft=CTRL+SHIFT+A
desktopright=CTRL+SHIFT+D
desktopup=CTRL+SHIFT+W
desktopdown=CTRL+SHIFT+S
desktopbigger=CTRL+SHIFT+F5
desktopsmaller=CTRL+SHIFT+F6
desktopnearer=CTRL+SHIFT+F7
desktopfurther=CTRL+SHIFT+F8
desktoptiltleft=CTRL+SHIFT+F9
desktoptiltright=CTRL+SHIFT+F10
desktoptiltup=CTRL+SHIFT+F11
desktoptiltdown=CTRL+SHIFT+F12
desktoporbitleft=CTRL+SHIFT+6
desktoporbitright=CTRL+SHIFT+7
desktoporbitup=CTRL+SHIFT+8
desktoporbitdown=CTRL+SHIFT+9
desktoppositionhead=
desktoppositionworld=
desktoppositionhud=
[FOV]
fov_enabled=0
fovcullleft=0
fovcullright=0
fovculltop=0
fovcullbottom=0
[FFR]
ffr_enabled=0
ffr_gaze=1.5
ffr_vc_enabled=0
ffrinner=1x1
ffrinnerradius=50
ffrmiddle=1x2
ffrmiddleradius=80
ffrouter=2x2
[VisionCore]
vc_enabled=0
brightness=50
exposure=50
contrast=50
saturation=50
highlights=100
cas=0
[Heads up Display]
hud_enabled=1
toggle_hud=CTRL+SHIFT+4
[Misc]
frame_pacing=0
frametime_log=0
reset_key=CTRL+SHIFT+5Shows or hides the desktop overlay.
Default:
toggle_key=CTRL+SHIFT+1Example:
toggle_key=CTRL+SHIFT+F1Sets the desktop overlay binding mode used at startup.
Valid values:
| Value | Description |
|---|---|
world |
The desktop stays fixed in VR space. |
head |
The desktop follows the headset. |
Default:
binding=worldExample:
binding=headSwitches between world and head binding while DesktopXR is running.
Default:
toggle_binding=CTRL+SHIFT+2Example:
toggle_binding=CTRL+SHIFT+F2Selects which Windows monitor DesktopXR captures.
Monitor values use zero-based indexing.
| Value | Monitor |
|---|---|
0 |
Primary monitor |
1 |
Second monitor |
2 |
Third monitor |
Default:
monitor=0Example:
monitor=1Switches to a different monitor while DesktopXR is running.
Default:
toggle_monitor=CTRL+SHIFT+3Example:
toggle_monitor=CTRL+SHIFT+F3Controls whether the desktop overlay is visible when the OpenXR session begins.
Valid values:
| Value | Description |
|---|---|
0 |
Start hidden |
1 |
Start visible |
Default:
start_visible=0Example:
start_visible=1Sets a preset render resolution for the DesktopXR overlay.
Your Windows desktop is automatically scaled to match the selected preset.
Valid values:
| Value | Resolution | Notes |
|---|---|---|
low |
1920x1080 |
Recommended default |
medium |
2560x1440 |
Higher clarity |
high |
3840x2160 |
Highest clarity, higher GPU cost |
Default:
quality=lowExample:
quality=highIf resolution is set, it overrides quality.
Manually overrides the overlay render resolution.
When this value is set, DesktopXR renders at the exact resolution specified and ignores the quality preset.
This is useful for ultrawide displays, super-ultrawide displays, or custom aspect ratios.
Format:
resolution=WIDTHxHEIGHTExamples:
resolution=3440x1440
resolution=5120x1440
resolution=2560x1080Leave this value blank to use the selected quality preset:
resolution=Sets the transparency of the desktop overlay as a percentage.
Default:
transparency=0Example:
transparency=50Sets the default overlay size as a percentage.
Default:
size_default=80Example:
size_default=100Sets the default distance of the overlay from the user.
Units are meters.
Default:
distance_default=3Example:
distance_default=4These keys move, resize, or tilt the desktop overlay while DesktopXR is running.
Defaults:
desktopleft=CTRL+SHIFT+A
desktopright=CTRL+SHIFT+D
desktopup=CTRL+SHIFT+W
desktopdown=CTRL+SHIFT+S
desktopbigger=CTRL+SHIFT+F5
desktopsmaller=CTRL+SHIFT+F6
desktopnearer=CTRL+SHIFT+F7
desktopfurther=CTRL+SHIFT+F8
desktoptiltleft=CTRL+SHIFT+F9
desktoptiltright=CTRL+SHIFT+F10
desktoptiltup=CTRL+SHIFT+F11
desktoptiltdown=CTRL+SHIFT+F12These keys orbit the desktop overlay while DesktopXR is running.
Defaults:
desktoporbitleft=CTRL+SHIFT+6
desktoporbitright=CTRL+SHIFT+7
desktoporbitup=CTRL+SHIFT+8
desktoporbitdown=CTRL+SHIFT+9These settings store saved desktop and HUD positions.
They are blank by default and are populated by DesktopXR when a position is saved.
desktoppositionhead=
desktoppositionworld=
desktoppositionhud=Example after saving a position:
desktoppositionhead=(saved position data)
desktoppositionworld=(saved position data)
desktoppositionhud=(saved position data)Enables or disables FOV culling.
Valid values:
| Value | Description |
|---|---|
0 |
Disabled |
1 |
Enabled |
Default:
fov_enabled=0Example:
fov_enabled=1Controls how much of the rendered field of view is culled from each side.
Default:
fovcullleft=0
fovcullright=0
fovculltop=0
fovcullbottom=0Example:
fovcullleft=5
fovcullright=5
fovculltop=28
fovcullbottom=28Enables or disables Foveated Rendering.
Valid values:
| Value | Description |
|---|---|
0 |
Disabled |
1 |
Enabled |
Default:
ffr_enabled=0Example:
ffr_enabled=1Sets the depth of focal gaze.
Units are meters.
Defaults:
ffr_gaze=1.5Example:
ffr_gaze=2.0Enables or disables customized VisionCore for Fixed Foveated Rendering.
Valid values:
| Value | Description |
|---|---|
0 |
Applies VisionCore to entire display when VisionCore is enabled |
1 |
Applies VisionCore to FFR inner center only when VisionCore is enabled |
2 |
Applies VisionCore to outer FFR area only when VisionCore is enabled |
Default:
ffr_vc_enabled=0Example:
ffr_vc_enabled=2Configures the Fixed Foveated Rendering regions and shading rates.
Defaults:
ffrinner=1x1
ffrinnerradius=50
ffrmiddle=1x2
ffrmiddleradius=80
ffrouter=2x2Example:
ffrinner=1x1
ffrinnerradius=20
ffrmiddle=2x2
ffrmiddleradius=80
ffrouter=2x4Enables or disables VisionCore image adjustment.
Valid values:
| Value | Description |
|---|---|
0 |
Disabled |
1 |
Enabled |
Default:
vc_enabled=0Example:
vc_enabled=1These settings adjust the final image output.
Defaults:
brightness=50
exposure=50
contrast=50
saturation=50
highlights=100
cas=0Example:
brightness=50
exposure=50
contrast=55
saturation=45
highlights=80
cas=50Enables or disables the heads up display.
Valid values:
| Value | Description |
|---|---|
0 |
Disabled |
1 |
Enabled |
Default:
hud_enabled=1Example:
hud_enabled=0Shows or hides the heads up display while DesktopXR is running.
Default:
toggle_hud=CTRL+SHIFT+4Example:
toggle_hud=CTRL+SHIFT+F4Frame pacing can improve FPS by allowing the game to prepare frames more aggressively instead of waiting as much on the normal VR frame timing loop. This can reduce idle time and improve performance in some games.
Because this changes how frames are scheduled, it may cause instability, visual judder, or sync issues with external motion systems such as motion rigs. If you notice unusual stutter, swimming, instability, or motion rig timing problems, set frame_pacing=0.
Valid values:
| Value | Description |
|---|---|
0 |
Off / normal behaviour |
1 |
Low-risk mode, smaller performance gain |
2 |
Turbo mode, higher performance gain, higher compatibility risk |
Default:
frame_pacing=0Example:
frame_pacing=2Enables or disables GPU frametime logging.
Valid values:
| Value | Description |
|---|---|
0 |
Logging disabled |
1 |
Logging enabled |
Default:
frametime_log=0Example:
frametime_log=1Logs are written to:
%temp%\DesktopXR
Resets the desktop and HUD positions back to their defaults.
Default:
reset_key=CTRL+SHIFT+5Example:
reset_key=CTRL+SHIFT+F5DesktopXR supports standard keyboard keys.
Supported modifiers:
SHIFT
CTRL
ALT
Supported keys:
F1-F12
A-Z
0-9
Escape
Insert
Delete
Home
End
PageUp
PageDown
Avoid keys already used by your VR software, OpenXR runtime, simulator, or game.
If a setting does not appear to work:
-
Confirm the file is named exactly:
desktopxr.ini -
Confirm the file is located in:
%appdata%\DesktopXR -
Save the file after editing.
-
Restart your OpenXR application.
-
Reboot your PC if the setting still does not apply.
Logs can be found in:
%temp%\DesktopXR
If the problem continues, report an issue on GitHub.
To reset DesktopXR to its default configuration, delete:
%appdata%\DesktopXR\desktopxr.ini
DesktopXR will recreate the file with default settings the next time it launches.