The Compositor Mirror tool displays the content that appears within the Rift headset on your computer monitor. It has several display options that are useful for development, troubleshooting, and presentations.
Anything that appears in the Rift headset can be shown in the Compositor Mirror tool, including Oculus Home, Guardian System boundaries, in-game notifications, and transition fades. It is compatible with all games and experiences regardless whether they are developed using the native PC SDK or a game engine.
The Compositor Mirror tool is located in
The Compositor Mirror tool provides several display options.
The default mode is recommended for live presentations and demos. If you double-click OculusMirror from Windows Explorer or run from the command line without specifying any options, the tool displays a 1366x768 (pixel) window showing a rectilinear view of the right eye image, along with the Guardian System boundary layer and the Oculus notification layer.
The other display modes are as follows:
OculusMirror.exe --LeftEyeOnly: Display the left eye image in rectilinear view:
OculusMirror.exe --RightEyeOnly: Display the right eye image in rectilinear view:
OculusMirror.exe --RectilinearBothEyes: Display both eye images in rectilinear view:
OculusMirror.exe --RectilinearBothEyes --IncludeGuardian: Display both eye images in rectilinear view along with the Guardian System boundary. In the following example, the user’s hands have protruded through the Guardian System boundary in two locations, as indicated by the circular holes in the boundary:
OculusMirror.exe --PostDistortion: Display both eye images corrected for lens distortion and chromatic aberration. This will also display any other options that appear within the headset. For example, the following output is produced with --PostDistortion, but also shows the Guardian system boundary, since it is visible within the headset. No additional options are allowed in conjunction with --PostDistortion. For example, you cannot explicitly exclude notifications or the Guardian system boundary, if they are visible within the headset.
You can change the size of the window by dragging the window borders on the desktop. You can also use the
--Size width height command to set the size of the window (in pixels) from the command line. If you exceed the resolution of your main display, the window size is reduced to fit. For example:
OculusMirror.exe --Size 2160 2160 --RightEyeOnly
The default FOV used by Compositor Mirror doesn’t show as much content as is seen in the headset. To increase it you can use the
FovTanAngleMultiplier option. The following example shows the recommended settings to best match the Oculus Rift’s FOV:
OculusMirror.exe --FovTanAngleMultiplier 1.3 1.3
You can display the Oculus notifications layer by using
--IncludeNotifications. For example:
OculusMirror.exe --RectilinearBothEyes --IncludeNotifications
It is possible that the Compositor Mirror tool may drop frames that are displayed within the Rift headset. If you wish to clearly see when this happens, use the
--FlashFrameDrops command. This will cause the display in the Compositor Mirror to flash whenever a frame is dropped. For example:
OculusMirror.exe --FlashFrameDrops --RectilinearBothEyes
You can combine several of the previous options to capture Oculus Rift content that’s optimal for streaming. After launching Compositor Mirror, you can use Open Broadcaster Software (OBS) to capture and broadcast your stream. Here are the recommended settings:
OculusMirror.exe --Size 1280 1280 --FovTanAngleMultiplier 1.3 1.3 --DisableTimewarp --SymmetricFov --RightEyeOnly --DisableFovStencil --IncludeSystemGui --IncludeNotifications
For ease of repeated use, it’s recommended that you put this into a
.bat file so you don’t have to enter it each time you want to stream content. Here’s how the contents of a
.bat file with the recommended settings would look:
start "" "OculusMirror.exe" --Size 1280 1280 --FovTanAngleMultiplier 1.3 1.3 --DisableTimewarp --SymmetricFov --RightEyeOnly --DisableFovStencil --IncludeSystemGui --IncludeNotifications exit