null Driver Tutorial


  • Steam and SteamVR (free)

  • A text editor

Configuring the null Driver

1. Navigate to your Steam install folder.

    • On Windows, it is usually "C:\Program Files\Steam"

    • On Mac, it is usually "/Users/<your user name>/Library/Application Support/Steam "

    • On Linux, it varies by distro, but is often at "~/.steam/steam " or "~/.local/share/Steam "

2. Navigate to the 'config' folder.

3. Open 'steamvr.vrsettings' in a text editor.

4. Copy the following within the outer layer of brackets and after whatever is there. Be sure to include the comma after the last preexisting item.

    • You don't strictly need the "window" parameters. If you leave them off, you'll need to use the display mirror to see what the headset sees.


"driver_null" : {

"enable" : true,

"id" : "Null Driver",

"windowHeight" : 1080,

"windowWidth" : 1920,

"windowX" : 100,

"windowY" : 100


Enabling the null Driver

1. Simply set "enable" to true in the configuration seen above.

Disabling the null Driver

  1. Simply set "enable" to false in the configuration step seen above.

Running VR Applications

  1. Start up SteamVR. It should detect a headset, and (assuming the "window" parameters are present), a borderless window will appear displaying the view of the headset.

  2. Run any VR application as normal. You won't be able to move your head, but you can still test rendering and use other camera controls.

    • If you wish to run an Oculus program, you'll need to set up ReVive, following the tutorial here (TODO).

Optimization and Troubleshooting

Q: It's detecting a different headset.

A: SteamVR runs through headsets in alphabetical order, and will use the first one which connects. If you want to use the null driver while another device is connected, you'll need to remove the equivalent configuration sections from steamvr.vrsettings. I recommend backing up the file prior to doing this.

Q: I can't look around.

A: This is unfortunately by design. The null driver just connects as if it was a headset and displays the results on screen. It doesn't have any tracking emulation.

Attribution - Zach