Experimental support for Oculus Rift DK1 is available in the 1.9.x+ patches, support for DK2 is available in the oculus
beta branch on Steam. Currently the support is available only in the Windows versions of the game.Used SDKs
- The normal version supports Oculus Rift DK1 using 0.2.5 version of the SDK.
- The oculus beta supports DK2 using 1.3.0 version of the SDK.
- The oculus_07 beta supports DK2 using 0.7.0 version of the SDK. Note that this version is obsolete and will be eventually discontinued.
- The oculus_06 beta supports DK2 using 0.6.0 version of the SDK. Note that this version is obsolete and will be eventually discontinued.
Limitations and known issues
- The game expects that there is a default OVR user profile which has proper IPD and that magnetic calibration was done in the configuration tool for DK1.
- In case of the normal version the display mode must be set to the "Extend Desktop to the HMD" mode and the display must be configured to "Portrait" orientation in Windows. For oculus_07/oculus_06 the display mode should be set to "Direct HMD Access from Apps".
- A really fast GPU and CPU is recommended.
How to enable
- The versions from oculus/oculus_07/oculus_06 betas requires support DX9Ex mode (Windows Vista+) and currently does not support OpenGL.
- The versions from oculus/oculus_07/oculus_06 betas are not compatible with SLI and will experience flickering if it is enabled.
- The versions from oculus/oculus_07/oculus_06 betas have very early support for head tracking in the UI which has some issues such as incorrect fadeouts or strange looking PIP images of trucks.
- Only some parts of the menu have 3d background
- The head orientation and position is currently used only by the interior camera
- There might be distortions when using some menu screens in 3d mode or when switching the 3d mode of the menu in some situations.
- The advisor was moved to the bottom center of the screen when Oculus is used however no other optimizations were done.
- The game does not reset the orientation/position when entering truck so you will have to do that manually by pressing F12.
- The default reset key F12 coincides with the default Steam screenshot key.
To enable the support, run the game with -oculus
command line parameter. For the 1.3.0+ based versions you also need to enable launching applications from Unknown Sources
in the Oculus application. This will cause the game to detect the available oculus devices, select the first one found and launch with a resolution matching the device. If no device is found, a dummy one is used.
For standard builds it is recommended to set-up your system so the oculus mirrors the primary monitor and run the game in fullscreen mode.
For oculus_04 beta builds you should run the game in fullscreen DX9 mode.
You might want to configure the graphics settings to use Scale of 100%, disable MLAA and DOF.Configuration
The game can show the menu in 2D or 3D positioned mode. This is toggled by the r_manual_stereo_in_menu
cvar or by F11
key. As the menu was not designed for low resolution displays, the content of many screens is unreadable. If you are using the monitor in the mirrored mode, you might want to set the game to show the menu in a 2D mode or temporarily toggle between the 2d and 3d mode using the F11
key when using the menu to do some work where text reading is required. This mode is currently of no use for DK2 because of its monitor layout.
It is possible to configure the 3D parameters of the plane on which the UI is shown using the r_manual_stereo_ui_fov*
cvars. There are two sets of the parameters. One is used in menu to provide view of all corners of the ui while the other is used when driving in game to provide better view of the advisor.
As the ui mirrors are not visible in the field of view in the default ui fov settings, it is good idea to disable them to improve performance.
The advisor is best run in the minimized transparent variant. The variants are toggled using the F3
The oculus/oculus_07/oculus_06 build by default does not display any image in the application window. If you want to show undistorted content of the scene seen by the user, set o_oculus_mirror_mode
The standard builds use the Oculus movement prediction with the duration of the precision limited by per-game-profile cvars named i_oculus_min_prediction
representing the range in seconds to which to clamp the frame duration used for the prediction. The beta builds ignore the value of those parameters.
It is possible to reset the Oculus position using the F12
key. This conflicts with default Steam screenshot key so you might want change the setting in game by editing the headreset
mix in the controls.sii file for your in-game profile or use the in-game screenshot key which since 1.6 also creates corresponding Steam screenshot.
The 126.96.36.199+ builds use a limited variant of angle-dependent movement of the head from the normal game. It only keeps the window lookout and moves its start to about 85 degress. The movement can be disabled entirely by setting g_hmd_no_artifical_movement
profile cvar to 1 before starting the game. The game simulates a non-point head in similar way the Oculus example does. In standard build you can tweak the size of the head using i_oculus_eye_height
cvar can be used to increase size of the rendered image which is latter used as input to the distortion to improve quality. If you have powerful GPU, you might try to experiment with bigger values (e.g. 1.3) of this parameter for more clear view. It is preferred to keep the default scaling value to 100% and change this cvar instead. Alternatively you can combine increased value of this parameter with reduced values of r_scale_x/r_scale_y (set to 1/r_manual_stereo_buffer_scale) to get anti-aliasing of the UI while keeping cost of the rendering of the main scene aproximately the same.
betas have additional o_oculus_independent_timewarp
cvar which controls use of independent timewarp. This feature is intended to improve apparent performance if your system is not capable to always of maintaining 75Hz by separating framerate used for timewarp from framerate of the game and should be left enabled most of the time. If you have a powerful system which is capable of running at 75Hz in your preferred settings, you might try to set it to 0. This option is not present in oculus
as the feature is implemented automatically by 1.3.0+ SDK.
The 188.8.131.52+ builds supports a Oculus specific appearance of menu. Currently this is only used to change layout of the full-featured (with all widgets unlocked) desktop menu. Future builds are likely to tweak the menu more and improve layout of additional parts of the menu. This feature can be disabled by setting g_oculus_no_special_menu
profile cvar to 1 before starting the game.
The background truck under the menu is drawn in 3D. This might be disabled by setting g_hmd_no_3d_background
profile cvar to 1 before starting the game.
The 184.108.40.206 build allows use of controller to control the mouse pointer and provides ui to set a controller button to open the menu. When switching from the beta back to standard build of the game, the mouse cursor might stop working after you load profile which was used with the beta build. In that case you need to open the controls.sii
file for that profile and replace the `fusion.mouse`
string with `di8.mouse`
The 1.9.22 version fixes a color aberration correction for the blue channel. It also reduces shaking of the cabin when Oculus mode is active. Previous behavior can be restored by setting g_hmd_reduced_cabin_movement
profile cvar to 0.