Skip to content

1. DesktopXR Documentation

Glen Harrison edited this page Apr 4, 2026 · 49 revisions

DesktopXR Documentation

Welcome to the DesktopXR documentation.

DesktopXR is an OpenXR API layer that provides a desktop overlay in VR. It is fully configurable through a simple .ini file, while the Configurator app GUI is also available for easily editing values and settings.

This guide explains how to configure DesktopXR.


Quick Start

Step 1 — Open the config folder

Press:

Win + R

Then paste:

%appdata%\DesktopXR

Press Enter.

This opens the DesktopXR configuration directory.


Step 2 — Edit the configuration file

Open:

desktopxr.ini

with Notepad or any text editor.

After saving changes, restart your OpenXR application for them to take effect.

If the file does not exist yet, DesktopXR will create it automatically on first launch.


Example configuration

The file looks like this:

[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 Culling]
fovcullhorizontal=0
fovcullvertical=0

[VisionCore]
brightness=50
exposure=50
contrast=50
saturation=50
highlights=100
cas=0

[Heads up Display]
hud_enabled=1
toggle_hud=CTRL+SHIFT+4

[Misc]
frametime_log=0
reset_key=CTRL+SHIFT+5

Settings Reference

toggle_key

Key used to show or hide the desktop overlay.

Default: CTRL+SHIFT+1

Example:

toggle_key=CTRL+SHIFT+F1

binding

Sets the binding mode DesktopXR uses at startup.

Valid values:

world — desktop stays fixed in VR space
head — desktop follows the headset

Default: world

Example:

binding=head

toggle_binding

Key used to switch the desktop binding mode while running.

This swaps between world and head mode on the fly.

Default: CTRL+SHIFT+2

Example:

toggle_binding=CTRL+SHIFT+F2

toggle_monitor

Key used to switch to a different monitor while running.

Default: CTRL+SHIFT+3

Example:

toggle_monitor=CTRL+SHIFT+F3

start_visible

Controls whether the overlay is visible when the OpenXR session begins.

Values:

0 = start hidden
1 = start visible

Default: 0

Example:

start_visible=1

quality

Sets a preset render resolution for the DesktopXR overlay.

Your Windows desktop is automatically scaled to match.

Presets:

low → 1920×1080 (recommended)
medium → 2560×1440
high → 3840×2160

Default: low

Example:

quality=high

If resolution is set, it overrides this setting.


resolution

Manually overrides the render resolution.

If this value is present, DesktopXR renders at the exact resolution specified and ignores the quality preset.

This is useful for ultrawide or custom aspect ratio displays.

Format:

WIDTHxHEIGHT

Examples:

resolution=3440x1440
resolution=5120x1440
resolution=2560x1080

Leave blank to use the quality preset.


size

Controls overlay size as a percentage.

Default: 80

Example:

size=100

distance

Distance of the overlay from the user.

Units: meters

Default: 3

Example:

distance=4

monitor

Selects which Windows monitor is captured.

Values use zero-based indexing:

0 = primary monitor
1 = second monitor
etc.

Default: 0

Example:

monitor=1

transparency

Sets the transparency of the desktop overlay as a percentage.

Default: 0

Example:

transparency=50

desktopleft, right, up, down, bigger, smaller, nearer, further, tiltleft, right, up, down

Keys used to position, size and tilt the desktop/hud while running.

Default: see below

Example:

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

orbitleft, right, up, down

Keys used to orbit the desktop/hud while running.

Default: see below

Example:

orbitleft=CTRL+SHIFT+6
orbitright=CTRL+SHIFT+7
orbitup=CTRL+SHIFT+8
orbitdown=CTRL+SHIFT+9

desktoppositionhead, world, hud

Saves the current desktop/hud position.

Default: blank

Example:


desktoppositionhead=(currentsavedposition)
desktoppositionworld=(currentsavedposition)
desktoppositionhud=(currentsavedposition)

fovcullhorizontal, vertical

Culls the FOV.

Default: 0

Example:

fovcullhorizontal=5
fovcullvertical=27

visioncore

Image adjustment settings.

Default: see below

Example:

brightness=50
exposure=50
contrast=50
saturation=50
highlights=100
cas=0

frametime_log

Logs GPU Frametime.

Values use zero-based indexing:

0 = logging disabled
1 = logging enabled

Default: 0

Example:

frametime_log=1

hud_enabled

Enables or disables the heads up display.

Default: 1

Example:

hud_enabled=0

toggle_hud

Key used to show or hide the heads up display.

Default: F7

Example:

toggle_hud=F8

reset_key

Key used to reset desktop and hud positions back to default.

Default: CTRL+SHIFT+5

Example:

reset_key=CTRL+SHIFT+F5

Supported Keys

DesktopXR supports standard keyboard keys:

Modifiers: SHIFT, CTRL, ALT

F1–F12
A–Z
0–9
Escape
Insert / Delete
Home / End
PageUp / PageDown

Avoid keys already used by your VR software.


Troubleshooting

If a setting does not work:

  • Make sure the file is saved as desktopxr.ini

  • Confirm the file is inside %appdata%\DesktopXR

  • Restart your VR application

  • Reboot if necessary

  • Logging can be found inside %temp%\DesktopXR

If problems continue, report an issue on GitHub.


Reset to Default

Delete the configuration file:

%appdata%\DesktopXR\desktopxr.ini

DesktopXR will recreate it with default settings on next launch.

Clone this wiki locally