Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
You are about to report this comment from Corben
User Avatar

Steam VR is an easy way to get into VR, on Windows and on Linux (does it still work on Mac?).
Yet, it does have issues and even more on Linux :whistle: Here's what I learnt in the last months condensed:

  • If you use a wired HMD you're better off using an AMD GPU. For nVidia it does work, yet if the game is hitting the performance maximum on your card, where async reprojection should help, you'll have issues if using any nVidia driver after 550.

  • You can toggle async reprojection on Linux by editing:
     $HOME/.steam/steam/config/steamvr.vrsettings
    And set this to true or false in the steamvr section:
     "enableLinuxVulkanAsync" : false,

  • Changing Controllerbindings within VR is a hit or miss, sometimes it takes ages for the UI to show. It's better to do it in the browser on your desktop:
    http://localhost:27062/dashboard/controllerbinding.html

  • To get better performance use Monado instead of Steam VR. The opensource OpenXR runtime is performing better. In short, start Steam, start Monado (it'll show a grey screen if not using wlx-overlay-s, see below), start a game, and it'll render in your HMD

  • Use Envision to build Monado locally, it'll also bundle OpenComposite for OpenVR applications. Here are my env vars for Monado + nVidia, enabling represenation (async reprojection) and a fix for the tracking delay:
    XRT_COMPOSITOR_USE_PRESENT_WAIT=1 # to fix headset tracking latency
    U_PACING_COMP_TIME_FRACTION_PERCENT=90
    XRT_COMPOSITOR_COMPUTE=1 # async reprojection
    XRT_COMPOSITOR_SCALE_PERCENTAGE=140
    U_PACING_APP_USE_MIN_FRAME_PERIOD=1 # this and the next for float fps
    U_PACING_APP_IMMEDIATE_WAIT_FRAME_RETURN=1
    XRT_COMPOSITOR_DESIRED_MODE=0 # set index to 90 Hz
    XRT_CURATED_GUI=1
    XRT_JSON_LOG=1
    XRT_DEBUG_UI=1
    If you want to change the refresh rate of the index, change the XRT_COMPOSITOR_DESIRED_MODE to one of these values:
    DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 0: [email protected]
    DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 1: [email protected]
    DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 2: [email protected]
    DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 3: [email protected]
    DEBUG [choose_best_vk_mode_auto] Auto choosing Vk direct mode 3: [email protected]

  • You can use Steam VR's roomsetup, when starting Monado via Envision and the lighthouse driver (the base stations), it'll pick up the configuration from Steam VR, so do not press "Calibration" in Envision.

  • You'll have no issues with async reprojection when using a wireless headset as computation is handled in the HMD. Steam Link VR is now working on Linux, yet... as with Steam VR... using Monado instead gives better performance. Setting up WiVRn is similar to setting up Monado, in fact WiVRn uses Monado. Just start WiVRn then via Envision, install the App on your Quest and connect. Works also with wlx-overlay-s then to interact with your Desktop

  • To see your Desktop in VR use wlx-overlay-s, which can be enabled as a plugin within Envision. Once it is installed, you can also start it once manually when running Steam VR, it'll add itself as overlay also for Steam VR. Can be disabled again by going to the Steam VR settings and check for the Autostart entry.

  • VR doesn't work wired on Ubuntu 24.04 LTS using Wayland, as Gnome 46 is missing DRM leasing. X11 works, or using a wireless HMD.

  • VR works on the ROG Ally with an eGPU attached (in my case XG Mobile 2022: AMD RX 6850M XT) using Cachy OS. I wasn't able to get any VR things up and running with Bazzite. I'm dualbooting into Windows for enabling the eGPU and using all-ways-egpu to disable the iGPU (all-ways-egpu configure egpu). Apparently there is a performance it when the internal screen is also attached. Which means it looks like an external Monitor is needed for this kind of setup.

  • wlx-overlay-s will not open if the Steam VR dashboard is open. wlx-overlay-s seems to cause issues using Steam Link VR and might have to be disabled, games migh load but will show a black screen.

  • Like ProtonDB there is a community driven database for VR games: https://db.vronlinux.org [External Link]

  • Check out the Linux VR Adventures wiki and discord https://lvra.gitlab.io/ [External Link] , you'll also get help there in all questions VR on Linux, Envision, Monado, WiVRn, etc.


Hope this helps :)

Thank you for helping to keep GamingOnLinux civil and safe!
Please tell us why you're reporting this content. Please note we store your IP address for all reports to help prevent spam and abuse. You can also email any complaints to: [email protected].
First, please select a general reason:

This post contains content that a reasonable person would consider to be offensive, abusive, to be hateful conduct or a violation of our rules.

This post is spam including the likes of advertising, bot posts or vandalism.

This post contains illegal content.

This post requires attention that isn't listed above.

Next, enter more details on why you're reporting: