From 2b6a31520a4602fc15884331e3f5e58cbb7038ae Mon Sep 17 00:00:00 2001 From: Mandle Rex Date: Fri, 16 May 2025 06:05:28 +0000 Subject: [PATCH 01/24] Update 2 files - /content/docs/fossvr/envision/_index.md - /content/docs/fossvr/monado/_index.md --- content/docs/fossvr/envision/_index.md | 6 ++++++ content/docs/fossvr/monado/_index.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/content/docs/fossvr/envision/_index.md b/content/docs/fossvr/envision/_index.md index c86ba6f..5cecdce 100644 --- a/content/docs/fossvr/envision/_index.md +++ b/content/docs/fossvr/envision/_index.md @@ -128,3 +128,9 @@ The Oculus Rift CV1 is supported on the OpenHMD profile of Envision. Start the profile with your headset placed on the floor in clear view of all bases to generate this file as your calibrated playspace origin first run and delete it to reset the configuration. A calibration of base stations will be saved to disk at `~/.config/openhmd/rift-room-config.json`. + +### Fix View + +In Steam OpenVR games, the eye's are not calibrated properly, and result in double vision or cross eye effect. + +You can add "OXR_PARALLEL_VIEWS=1 %command%" to the launch options to fix this. diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 36ce9da..24026d9 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -33,6 +33,12 @@ In order to use the SteamVR lighthouse driver in Monado, you just need to set th OpenComposite is REQUIRED to operate Monado in conjunction with Steam games. Proton requires a functional OpenVR API to utilize OpenXR at all and Proton itself is required for VR to function as normal wine does not carry any of the needed patches nor does "protonified" wine something like Lutris would provide. +### Fix View + +In Steam OpenVR games, the eye's are not calibrated properly, and result in double vision or cross eye effect. + +You can add "OXR_PARALLEL_VIEWS=1 %command%" to the launch options to fix this. + ## Envision [Envision](/docs/fossvr/envision/) provides a fairly low-barrier setup and development of both Monado and OpenComposite on most any modern distro. From 0e4d5510ec186d29e801b3c459405a4c9d1a82a8 Mon Sep 17 00:00:00 2001 From: Bones Date: Wed, 21 May 2025 05:56:19 +0000 Subject: [PATCH 02/24] Update landing page for WiVRN bin dist --- content/_index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/_index.md b/content/_index.md index e1b2565..6fed770 100644 --- a/content/_index.md +++ b/content/_index.md @@ -12,4 +12,6 @@ Feel free to contribute to this wiki yourself if you find anything useful that y You can start with the [hardware table](/docs/hardware/). -After which you may want to take a look at the [Envision](/docs/fossvr/envision/) application for quick setup and compatibility with your PC Steam games. \ No newline at end of file +For wireless/android/standalone headsets visit the [WiVRn](/docs/fossvr/wivrn/) page for installation instructions. + +For wired headsets similar to Valve Lighthouse/WMR/Oculus/Rift use [Envision](/docs/fossvr/envision/) application for quick setup and compatibility with your PC Steam games. From 0efd5352ee757a9b2fb3778e0f60611433e10707 Mon Sep 17 00:00:00 2001 From: Beyley Cardellio Date: Thu, 22 May 2025 04:56:36 +0000 Subject: [PATCH 03/24] Mark support for the Razer Hydra. --- content/docs/hardware/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/docs/hardware/_index.md b/content/docs/hardware/_index.md index 2cc1398..7ec6619 100644 --- a/content/docs/hardware/_index.md +++ b/content/docs/hardware/_index.md @@ -93,6 +93,7 @@ A non-comprehensive table of various VR/XR devices and the drivers that support | Lucid VR Gloves | ? | ✅ (survive driver only) | ❌ | | Kinect FBT | ✅ | ✅ (experimental) | 🚧 | | Standable FBT | ❌ | ❌ | ❌ | +| Razer Hydra | ✅ (Monado SteamVR plugin) | ✅ | ❌ | ## Hardware note From df6ced6f10cdf0843000da473f47cafdd41ab9a6 Mon Sep 17 00:00:00 2001 From: Glax Date: Fri, 23 May 2025 21:48:36 +0000 Subject: [PATCH 04/24] Edit _index.md EyetrackVR --- content/docs/EyeTrackVR/_index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/content/docs/EyeTrackVR/_index.md b/content/docs/EyeTrackVR/_index.md index 5682fc0..b28c585 100644 --- a/content/docs/EyeTrackVR/_index.md +++ b/content/docs/EyeTrackVR/_index.md @@ -7,21 +7,25 @@ weight: 250 DIY eye tracking for any headset. Here are the steps to get the software working on linux. +## Prerequisites + +- tkinter `pacman -S tk` +- Python 3.11 available through the [AUR](https://aur.archlinux.org/packages/python311), build yourself! Otherwise tk will not work! + - Build after installing tkinter, otherwise it will not be included +- [poetry](https://python-poetry.org/docs/#installing-with-the-official-installer) + ## EyeTrackApp -`git clone https://github.com/EyeTrackVR/EyeTrackVR.git` +```bash +git clone https://github.com/EyeTrackVR/EyeTrackVR.git +cd EyeTrackVR +poetry install --no-root +cd EyeTrackApp +poetry run pyinstaller eyetrackapp.spec +``` -`cd EyeTrackVR` +and bada bing bada boom you now should now have a fully functional eyetrack app in directory `dist` -`git checkout v2.0-beta-feature-branch` - -`poetry install --no-root` - -`cd EyeTrackApp` - -and bada bing bada boom you now should now have a fully functional eyetrack app when you run: - -`poetry run python3 eyetrackapp.py` ## VRChat Native Eyetracking From 0d9815c448e2516c9f8a3f6a385c07e91ecda6f7 Mon Sep 17 00:00:00 2001 From: Glax Date: Thu, 12 Jun 2025 09:09:17 +0000 Subject: [PATCH 05/24] Edit _index.md --- content/docs/steamvr/_index.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/content/docs/steamvr/_index.md b/content/docs/steamvr/_index.md index 2102438..d884dd1 100644 --- a/content/docs/steamvr/_index.md +++ b/content/docs/steamvr/_index.md @@ -7,7 +7,7 @@ title: SteamVR - [Quick start guide](/docs/steamvr/quick-start/) -The de facto standard for anything PCVR, SteamVR runs on Linux. +The de facto standard for anything PCVR, SteamVR runs natively on Linux. Unfortunately the Linux version is riddled with bugs, missing features and bad performace, so in general it can be a subpar experience. @@ -17,15 +17,21 @@ If you want to use a standalone headset with SteamVR you can check out [ALVR](/d ## Room Setup -The SteamVR room setup application is bug prone. It's possible to circumvent the room setup application using one of the following methods. +The SteamVR room setup application is bug prone. It's possible to circumvent the room setup application using quick calibration. ### Quick Calibration -Set the headset and controllers on the floor in the center of the playspace. Run the Quick Calibration utility under _Settings > Developer > Room and Tracking_. This will setup a standing play area for you to use. +Set the headset and controllers on the floor in the center of the playspace. +Run the Quick Calibration utility from the SteamVR-Monitor (the desktop utility showing basestations, headset and controller icons) under _Settings > Developer > Room and Tracking_. +This will setup a standing play area for you to use. ## Reprojection -SteamVR is fully incapable of stutter-free reprojection currently, efforts are ongoing to raise attention fix this. The issue can only be mitigated by not dropping below 1/2 of your HMD's rated refresh value, once under there is no other means to prevent the vision slitting, stuttering, or lagging from occuring. We recommend in all cases the use of [Envision](/docs/fossvr/envision/) as a suitable replacement for this software stack... +Async Reprojection on SteamVR is currently hit-or-miss. + +**On RADV** you can try the launch-option `RADV_DEBUG=nodcc %command%`. + +If it is still broken, you can disable Reprojection either enabling "Legacy Reprojection" (per app) or in the settings-file `$HOME/.steam/steam/config/steamvr.vrsettings` by adding `"enableLinuxVulkanAsync" : false` to the "steamvr" section. ### Envision From 46f9a54a8e3cb054c7c9223e191541613c3ad2a9 Mon Sep 17 00:00:00 2001 From: bredo Date: Thu, 19 Jun 2025 09:10:21 +1200 Subject: [PATCH 06/24] Resonite: remove unnecessary comment about VRChat --- content/docs/resonite/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/resonite/_index.md b/content/docs/resonite/_index.md index 736cf92..dff5597 100644 --- a/content/docs/resonite/_index.md +++ b/content/docs/resonite/_index.md @@ -37,7 +37,7 @@ This can be easily done by prepending `OXR_VIEWPORT_SCALE_PERCENTAGE=75` to Reso ## Mods -Much unlike [VRChat](/docs/vrchat/), Resonite has a thriving modding community with an abundance of [mods](https://wiki.resonite.com/Mods) that offer greater user experience, optimizatons and new features. +Resonite has a thriving modding community with an abundance of [mods](https://wiki.resonite.com/Mods) that offer greater user experience, optimizations and new features. Currently there are 2 mod loaders: From d9df0742766f8286b2a29d6118bd03e4d07adae3 Mon Sep 17 00:00:00 2001 From: galister <3123227-galister@users.noreply.gitlab.com> Date: Tue, 8 Jul 2025 11:09:10 +0000 Subject: [PATCH 07/24] add community & vrdb link to main index --- content/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/_index.md b/content/_index.md index 6fed770..5807afd 100644 --- a/content/_index.md +++ b/content/_index.md @@ -15,3 +15,13 @@ You can start with the [hardware table](/docs/hardware/). For wireless/android/standalone headsets visit the [WiVRn](/docs/fossvr/wivrn/) page for installation instructions. For wired headsets similar to Valve Lighthouse/WMR/Oculus/Rift use [Envision](/docs/fossvr/envision/) application for quick setup and compatibility with your PC Steam games. + +## Community + +Join a community of thousands of Linux VR adventurers! + +[More info here.](/docs/community/). + +## Game Compatibility + +Check [db.vronlinux.org](https://db.vronlinux.org/) for an up-to-date report about what VR titles run well on Linux! \ No newline at end of file From 1f6b776c6ac3a4e5a7b64819399a5f09bb7b7454 Mon Sep 17 00:00:00 2001 From: Owen Zimmerman Date: Wed, 9 Jul 2025 01:46:33 +0000 Subject: [PATCH 08/24] Unify Stardust docs by linking to Stardust wiki setup guide --- content/docs/fossvr/stardust/_index.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/content/docs/fossvr/stardust/_index.md b/content/docs/fossvr/stardust/_index.md index 7fc8037..1040ab5 100644 --- a/content/docs/fossvr/stardust/_index.md +++ b/content/docs/fossvr/stardust/_index.md @@ -15,17 +15,7 @@ Stardust provides a 3D environment, where anything from 2D windows (including yo ## Setup -For full installation instructions and a deeper dive into setting it up with various linux distributions, visit the [Stardust XR website](https://stardustxr.org/docs/get-started/What-is-Stardust) -The quickest way to try out Stardust XR is to install [Telescope](https://stardustxr.org/docs/get-started/Quickstart). It comes with the Stardust XR server, an app launcher called Hexagon Launcher, -and some helpful apps like Flatland to use your 2D apps inside Stardust, and Black Hole to quickly tuck away your objects and apps (kind of like desktop peek on Windows). Note that you'll need to have -the [Terra repository](https://terra.fyralabs.com/) installed. - -``` -sudo dnf install telescope -``` +For full installation and setup instructions and a deeper dive into setting it up with various linux distributions, visit the [Stardust XR website](https://stardustxr.org/docs/get-started/manual). Here's a demo showing some off some of what Stardust XR is like: - -The full installation of Stardust XR centers around the Stardust XR server, which can run a variety of clients. For a full list of what is available, -check out the [Github repository](https://github.com/StardustXR). From 74f7992dc568f87a0648f3cd93e16276261699c2 Mon Sep 17 00:00:00 2001 From: bredo Date: Thu, 26 Jun 2025 22:04:04 +1200 Subject: [PATCH 09/24] Resonite: Add mention about Steam not using Proton Sometimes Steam will not use Proton to try and run the Windows build of Resonite - likely due to the Linux native build being removed. --- content/docs/resonite/_index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/docs/resonite/_index.md b/content/docs/resonite/_index.md index dff5597..fe90b8f 100644 --- a/content/docs/resonite/_index.md +++ b/content/docs/resonite/_index.md @@ -11,6 +11,14 @@ weight: 50 {{% /hint %}} +{{% hint warning %}} + +Steam will sometimes try and run Resonite without using Proton. This may be due to the removal of the Linux native build. + +If Resonite fails to start, you may need to force Proton to be used. + +{{% /hint %}} + The current recommended Proton variant is [**GE-Proton-RTSP**](https://github.com/SpookySkeletons/proton-ge-rtsp/releases). [XRizer](/docs/fossvr/xrizer/) should now provide a close-to-flawless experience on most controllers and when using hand tracking. If you encounter any major issues you can fallback to [OpenComposite](/docs/fossvr/opencomposite/). From 43e2f3329ecf847a4f7b8d6989f73149df937915 Mon Sep 17 00:00:00 2001 From: bredo Date: Thu, 3 Jul 2025 19:45:48 +1200 Subject: [PATCH 10/24] resonite: change recommended Proton version GE-Proton-RTSP doesn't help Resonite any more than normal GE - RTSP GE is primarily focused at VRChat --- content/docs/resonite/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/resonite/_index.md b/content/docs/resonite/_index.md index fe90b8f..59cf744 100644 --- a/content/docs/resonite/_index.md +++ b/content/docs/resonite/_index.md @@ -19,7 +19,7 @@ If Resonite fails to start, you may need to force Proton to be used. {{% /hint %}} -The current recommended Proton variant is [**GE-Proton-RTSP**](https://github.com/SpookySkeletons/proton-ge-rtsp/releases). +The current recommended Proton variant is [**Proton GE**](https://github.com/GloriousEggroll/proton-ge-custom/releases/latest). [XRizer](/docs/fossvr/xrizer/) should now provide a close-to-flawless experience on most controllers and when using hand tracking. If you encounter any major issues you can fallback to [OpenComposite](/docs/fossvr/opencomposite/). From 803cf1a32006f2440f664d8e78360c51fda2c795 Mon Sep 17 00:00:00 2001 From: galister <3123227-galister@users.noreply.gitlab.com> Date: Mon, 21 Jul 2025 06:06:03 +0000 Subject: [PATCH 11/24] add native packages info to wivrn/steamvr_lh --- content/docs/fossvr/wivrn/_index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/docs/fossvr/wivrn/_index.md b/content/docs/fossvr/wivrn/_index.md index 9079c1b..72c9058 100644 --- a/content/docs/fossvr/wivrn/_index.md +++ b/content/docs/fossvr/wivrn/_index.md @@ -142,6 +142,17 @@ This section covers using WiVRn 0.19 and newer with any Lighthouse-tracked devic You must have SteamVR installed (no need to run it). +### Using Distro-Native Packages + +These packages come with lighthouse support enabled (Flatpak & Envision does NOT) +- Arch: Install `wivrn-dashboard wivrn-server` from AUR +- Fedora: Install `wivrn-dashboard` via DNF +- Gentoo: Emerge `wivrn` from Guru + +Open the WiVRn dashboard and under advanced settings, tick `Enable SteamVR tracked devices support`, then stop/start the server. + +Warning: distro-native packages are known to have issues with Flatpak Steam. + ### Envision Set WiVRn Profile as such: - XR Service CMake Flags: From 063b2051fc0d0aa1b53db0d3455c8c6f93520742 Mon Sep 17 00:00:00 2001 From: Bones Date: Mon, 21 Jul 2025 14:59:05 -0400 Subject: [PATCH 12/24] Update nvidia GPU situation --- content/docs/hardware/_index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/docs/hardware/_index.md b/content/docs/hardware/_index.md index 7ec6619..33b2b21 100644 --- a/content/docs/hardware/_index.md +++ b/content/docs/hardware/_index.md @@ -6,15 +6,15 @@ title: VR Gear & GPUs # Hardware {{% hint warning %}} -**NVIDIA WIRED VR ISSUES**: Nvidia proprietary drivers currently have a critical issue with DRM lease causing substantial presentation latency for wired VR headsets, resulting in a delayed viewport effect that makes VR uncomfortable. This affects all known driver versions. Wireless VR through WiVRn still works well. Users with Nvidia GPUs should consider wireless options or switching to AMD for the best experience. For details and to report your experience, see [this forum thread](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386). +**NVIDIA WIRED VR ISSUES**: Nvidia proprietary drivers currently have a critical issue with DRM lease causing substantial presentation latency for wired VR headsets, resulting in a delayed viewport effect that makes VR uncomfortable. This affects all known supported driver versions. Wireless VR through WiVRn is entirely unaffected only direct display type wired headsets. Users with Nvidia GPUs should consider the **Nvidia Wired VR Workaround** footnotes of the GPU table below or switch to AMD for the best experience. For details and to report your experience, see [this forum thread](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386). {{% /hint %}} ## GPU support matrix | Manufacturer | Driver | VR Support | Reprojection Support | Hybrid Graphics Support | Notes | |--------------|---------------------------|----------------|--------------------------------|-------------------------------|----------------------------------------------------------------------------------------------| -| Nvidia | Nvidia (Closed Source or Open Module) | ⚠️ Limited | ⚠️ Limited | ✅ Supported | Requires driver version 565+. [Critical DRM lease issue](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386) causes uncomfortable latency in wired VR. Best used with wireless solutions (WiVRn). | -| Nvidia | Nouveau (Open Source) | ⚠️ Limited | ❌ Not Viable | ✅ Supported | Cannot reproject due to lack of realtime compute shader support needed by Monado. Lacks DisplayPort audio. Not recommended for VR. | +| Nvidia | Nvidia (Closed Source or Open Module) | ✅ Acceptable | ⚠️ Mostly | ✅ Supported | Requires driver version 565+. [Critical DRM lease issue](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386) causes uncomfortable latency in wired VR. Best used with wireless solutions (WiVRn). | +| Nvidia | Nouveau (Open Source) | ⚠️ Limited | ❌ Not Viable | v Supported | Cannot reproject due to lack of realtime compute shader support needed by Monado. Lacks DisplayPort audio. Not recommended for VR. | | AMD | RADV (Open Source) | ✅ Excellent | ✅ Robust (RDNA+) | ✅ Supported | Recommended for wired VR. RDNA generation and newer supported with compute tunneling for reprojection. Pre-RDNA GPUs have functional but less robust reprojection. | | AMD | AMDVLK (Open Source) | ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | | AMD | AMDGPU PRO (Closed Source)| ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | @@ -26,8 +26,8 @@ title: VR Gear & GPUs - **Reprojection Support**: Describes the support and quality of reprojection features for VR. Poor support indicates that the driver is not able to properly handle Vulkan realtime shaders and it will present as visual stutter. Non-robust solutions will suffer stutter under very high GPU load. - **PRIME/ Hybrid GPU Support**: Compatibility with systems using multiple GPUs for render offload. Monado and all clients must be run on a single select GPU due to memory tiling requirements. - For Nvidia proprietary drivers *older* than 565, (please try to update!), the [vulkan-layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) must be installed in order to not crash: [*AUR*](https://aur.archlinux.org/packages/monado-vulkan-layers-git)・[*Fedora*](https://packages.fedoraproject.org/pkgs/monado-vulkan-layers/monado-vulkan-layers/) -- **Nvidia Wired VR Workaround**: Some users report setting `U_PACING_COMP_MIN_TIME_MS` to approximately 10 can slightly reduce the latency effect with Nvidia GPUs, but this is only a partial mitigation, not a solution. -- Nvidia GPUs work well for wireless VR through WiVRn, but have significant issues with wired headsets until the DRM lease presentation latency issue is resolved. +- **Nvidia Wired VR Workaround**: Wired users should certainly set `XRT_COMPOSITOR_USE_PRESENT_WAIT` to 1 which changes the swapchain to explicit sync behavior and `U_PACING_COMP_TIME_FRACTION_PERCENT` to 90, representing 90% of the time it takes to render a frame can significantly reduce the latency effect with Nvidia GPUs. There are notable frametime issues in the driver still which may result in stutter but this should vastly improve the experience. +- Nvidia GPUs work well for wireless VR through WiVRn. - AMD GPUs lower than RDNA generation have functional but less robust reprojection capabilities, expected to be similar to Intel. - Audio over displayport is known to temporarily cut out when new audio sources spring up on pipewire [without a fix to add alsa headroom](https://wiki.archlinux.org/title/PipeWire#Audio_cutting_out_when_multiple_streams_start_playing) - X11 configurations are discouraged but workable, please upgrade your system to Wayland if at all possible. From 9bc48e92bc6deb3a83305207a18ff552f93791f6 Mon Sep 17 00:00:00 2001 From: Glax Date: Sun, 3 Aug 2025 18:04:54 +0000 Subject: [PATCH 13/24] Extend lighthouse-tracked pairing --- content/docs/steamvr/pairing.md | 58 +++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/content/docs/steamvr/pairing.md b/content/docs/steamvr/pairing.md index fcc95aa..d9e6bd4 100644 --- a/content/docs/steamvr/pairing.md +++ b/content/docs/steamvr/pairing.md @@ -5,14 +5,53 @@ title: Pairing # Pairing Lighthouse Controllers or Trackers -To pair lighthouse-capable hardware such as the Valve Index or HTC -Vive Pro controllers, or VIVE Trackers you'll need enough receivers (one for -each device). +To pair lighthouse-tracked hardware such as the Valve Index "Knuckles" Controllers, +HTC Vive Wands, HTC Vive Pro controllers, Tundra Labs Trackers or VIVE Trackers you'll +need enough receivers (generally one for each device). -Receivers can be either: -- watchman dongles (plugged in your computer, preferably not on an USB hub) -- if you have a lighthouse HMD (e.g. Valve Index, HTC Vive, Bigscreen Beyond), - there will be two already built-in (for both controllers) +Receivers can be: +- Watchman dongles (plugged in your computer, preferably not on a USB hub) + - Tundra Labs "SW"-series dongles (now discontinued) can theoretically connect + 3 or even 4 (depending on the version) devices. However stability leaves + much to be desired when connecting more than 2 (respectively 3) devices. +- If you have a lighthouse-tracked HMD (e.g. Valve Index, HTC Vive, Bigscreen Beyond), +two receivers (for the controllers) are already built in. + +## Assigning Trackers + +After pairing Trackers, you need to assign roles to each tracker. + +This can be done through SteamVR _Settings > Controllers > Manage Trackers_ + +Alternatively you can also edit the settings-file `$HOME/.steam/steam/config/steamvr.vrsettings` by adding the following section: + +```json +"trackers" : { + "/devices/lighthouse/LHR-xxx" : "TrackerRole_LeftShoulder", + "/devices/lighthouse/LHR-xxx" : "TrackerRole_RightShoulder", + "/devices/lighthouse/LHR-xxx" : "TrackerRole_Waist", + "/devices/lighthouse/LHR-xxx" : "TrackerRole_LeftFoot", + "/devices/lighthouse/LHR-xxx" : "TrackerRole_RightFoot" + } +``` +Replace LHR-`xxx` with the Serialnumber of each tracker. +Serialnumbers can be obtained (after pairing) from `$HOME/.steam/steam/config/lighthouse/lhr-xxx` + +TrackerRoles are formatted `TrackerRole_` with `` one of: +- None +- Handed +- LeftFoot +- RightFoot +- LeftShoulder +- RightShoulder +- LeftElbow +- RightElbow +- LeftKnee +- RightKnee +- Waist +- Chest +- Camera +- Keyboard ## Pairing via SteamVR @@ -36,9 +75,8 @@ You'll be greeted by a shell which starts by listing the serial number of attach dongles and built-in, if your HMD is connected). Selecting a receiver is done by running `serial ` in the opened shell. -When pairing new devices, -you'll want to find a receiver that isn't paired with a device already. After a -receiver is selected, you can run `identifycontroller` to check if the receiver +When pairing new devices, you'll want to find a receiver that isn't paired with a device already. +After a receiver is selected, you can run `identifycontroller` to check if the receiver is paired with a device (assuming the device is on). In general, built-in HMD receivers will have longer serial numbers than dongle From e8993b5ece05e3498d5fcf13d67934a72399f620 Mon Sep 17 00:00:00 2001 From: WMan Twentytwo Date: Sun, 3 Aug 2025 18:15:04 +0000 Subject: [PATCH 14/24] Edit _index.md --- content/docs/fossvr/monado/_index.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 24026d9..10a565b 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -45,6 +45,7 @@ You can add "OXR_PARALLEL_VIEWS=1 %command%" to the launch options to fix this. # Troubleshooting + ## [NVIDIA-specific] "NVIDIA: No allowlisted displays found!" This may be caused by a few different issues: @@ -52,5 +53,15 @@ This may be caused by a few different issues: This can be worked around by setting the environment variable `XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="NVIDIA"`. - HMD display completely missing from the list: Try unplugging and replugging the power adapter. +## [NVIDIA-Specific] "I'm getting screen tearing inside of my VR headset!" +This is caused by having a monitor with VRR enabled. Turning it off in KDE Plasma's display settings may not fix it. + +- Step 1: Open your terminal and type `sudo nano /etc/default/grub` +- Step 2: Add `nvidia-modeset.conceal_vrr_caps=1` inside the parameters of `GRUB_CMDLINE_LINUX_DEFAULT=` +- Step 3: Close nano after saving the changes to the text file and update your grub config by typing `sudo grub-mkconfig -o /boot/grub/grub.cfg` +- Step 4: Restart your PC. + + ## "vkAcquireXlibDisplayEXT: VK_ERROR_UNKNOWN (0x000058b7a0764a80)" -Try unplugging and replugging the power adapter. If the issue still occurs and you are on a Wayland session, try setting the environment variable `XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT=1`. \ No newline at end of file +Try unplugging and replugging the power adapter. If the issue still occurs and you are on a Wayland session, try setting the environment variable `XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT=1`. + From b4b8e2ad73fbbcb87a3440e450fb1f46563f360f Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 13:50:06 -0500 Subject: [PATCH 15/24] vrcx: remove wine method --- content/docs/vrchat/vrcx.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/content/docs/vrchat/vrcx.md b/content/docs/vrchat/vrcx.md index 5b1f3af..247c3fb 100644 --- a/content/docs/vrchat/vrcx.md +++ b/content/docs/vrchat/vrcx.md @@ -21,17 +21,7 @@ VRCX is a tool for managing your VRChat friendships, as well as providing additi - Do the same steps as above, but download the latest .AppImage from here, instead: [VRCX Nightly Releases](https://github.com/Natsumi-sama/VRCX/releases) -## Installer Script (Wine) +## Wine (deprecated) -VRCX provides the [install-vrcx.sh](https://github.com/vrcx-team/VRCX/blob/master/Linux/install-vrcx.sh) script upstream, which does the steps of the manual installation for you. - -Install it by running: `curl -sSf https://raw.githubusercontent.com/vrcx-team/VRCX/master/Linux/install-vrcx.sh | bash` - - -## Manual Installation (Wine) - -1. Download the latest .zip from here: [VRCX Official Releases](https://github.com/vrcx-team/VRCX/releases) -1. Use a new or existing Wine prefix of Wine 9.2 or later. We recommend using a non-Proton build of Wine. -1. Run `winetricks corefonts`. -1. Symlink your `drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat` folder from the VRChat Wine prefix to the VRCX Wine prefix. -1. Run `VRCX.exe` via Wine. +Running VRCX in Wine is no longer supported, and the `install-vrcx.sh` script has been deleted upstream. Users should migrate to the +official Linux port above. \ No newline at end of file From c24cffb35cb7d8b31c06db565643709f56608afb Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 13:59:32 -0500 Subject: [PATCH 16/24] vrcx: just link to their guide --- content/docs/vrchat/vrcx.md | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/content/docs/vrchat/vrcx.md b/content/docs/vrchat/vrcx.md index 247c3fb..76fea6a 100644 --- a/content/docs/vrchat/vrcx.md +++ b/content/docs/vrchat/vrcx.md @@ -8,20 +8,5 @@ title: VRCX VRCX is a tool for managing your VRChat friendships, as well as providing additional convenience features. -## AppImage (Preferred Method) - -### Stable - -1. Download the latest .AppImage from here: [VRCX Official Releases](https://github.com/vrcx-team/VRCX/releases) -1. Run `chmod +x VRCX_*.AppImage`. -1. Run the AppImage. This will install it as an app, which then auto-removes the AppImage file. -1. Open VRCX from your apps. - -### Nightly - -- Do the same steps as above, but download the latest .AppImage from here, instead: [VRCX Nightly Releases](https://github.com/Natsumi-sama/VRCX/releases) - -## Wine (deprecated) - -Running VRCX in Wine is no longer supported, and the `install-vrcx.sh` script has been deleted upstream. Users should migrate to the -official Linux port above. \ No newline at end of file +VRCX now provides an official Linux port. Rather than duplicate that info here, please refer to the guide on their wiki: +[Running VRCX on Linux](https://github.com/vrcx-team/VRCX/wiki/Running-VRCX-on-Linux) \ No newline at end of file From a4b56825fa81b461fda8916b5aada07a5029bdb2 Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 15:56:06 -0500 Subject: [PATCH 17/24] monado: add kernel params for not-GRUB --- content/docs/fossvr/monado/_index.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 10a565b..30754aa 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -50,16 +50,19 @@ You can add "OXR_PARALLEL_VIEWS=1 %command%" to the launch options to fix this. This may be caused by a few different issues: - NVIDIA driver misnaming the display: If you see a display simply named "NVIDIA" in the output, the NVIDIA driver may be using a fallback name. - This can be worked around by setting the environment variable `XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="NVIDIA"`. + This can be worked around by setting the environment variable `XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="NVIDIA"` in your Envision profile or otherwise passed to Monado. - HMD display completely missing from the list: Try unplugging and replugging the power adapter. -## [NVIDIA-Specific] "I'm getting screen tearing inside of my VR headset!" -This is caused by having a monitor with VRR enabled. Turning it off in KDE Plasma's display settings may not fix it. +## [NVIDIA-Specific] "I'm getting screen tearing inside of my wired VR headset!" +This is caused by having a monitor with VRR enabled, while using a Nvidia GPU. Turning it off in KDE Plasma's display settings will not fix it. You need to add the kernel parameter `nvidia-modeset.conceal_vrr_caps=1` to your boot loader. -- Step 1: Open your terminal and type `sudo nano /etc/default/grub` -- Step 2: Add `nvidia-modeset.conceal_vrr_caps=1` inside the parameters of `GRUB_CMDLINE_LINUX_DEFAULT=` -- Step 3: Close nano after saving the changes to the text file and update your grub config by typing `sudo grub-mkconfig -o /boot/grub/grub.cfg` -- Step 4: Restart your PC. +ArchWiki has a guide on [how to add kernel parameters](https://wiki.archlinux.org/title/Kernel_parameters#Boot_loader_configuration) in general, but here's an example if you boot with GRUB. + +1. Open your terminal and type `sudo nano /etc/default/grub` +1. Add `nvidia-modeset.conceal_vrr_caps=1` inside the parameters of `GRUB_CMDLINE_LINUX_DEFAULT=` +1. Close nano after saving the changes to the text file +1. Update your grub config by typing `sudo grub-mkconfig -o /boot/grub/grub.cfg` +1. Restart your PC ## "vkAcquireXlibDisplayEXT: VK_ERROR_UNKNOWN (0x000058b7a0764a80)" From 0ce06575f8855f3d3bf9e6923b97199de6eef0d6 Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 16:06:42 -0500 Subject: [PATCH 18/24] add monado icon png --- static/images/monado_icon_medium.png | Bin 0 -> 3297 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/monado_icon_medium.png diff --git a/static/images/monado_icon_medium.png b/static/images/monado_icon_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..299581b3ee5731a156e1a747772260fef595903c GIT binary patch literal 3297 zcmZXXWmFRm7sf|Q3>iv?AjlX9fv`q zl+;>Lf;=D^9=>TBdxQlN)J{t-5}U`t1iHpfnc@kCP4RFYV@fRBDTiU_S6q&fEwNvaAlB`X(rn6 zJ(1^T=QicjQT|kLSVDi1(qIqnQ&USL%c1=fUL5}EPQ=s)L~Keb-TSGAm~3n;<~|b! z*Q2&=4C)#6adBc`iLmgzYUSR2{NA^Ue;$~eCP|RNwzA>u*fC;_u%`4NBdAXUrb~Fn zDC{;ra8`Hk;94h~?{}wF92n9?D=6T5v1%0vH*EPz-KlFS&6F1y!52wL|C|S+99Ru( zpslGdkdAZ#CXaio)88;N0jT88mZ>|@xw)+mv8L;v#t=X|vM|#yp_dOjML>6UhMO5; z@8Oh``{m|PHaCEBFvp>H-Vp;-fO6>vgp&N?_oW3Ar9$LFb7XUD%*590YF z0$`wSk;2}Je3%#vTn8UwtBhv*LWY#9nJ3>BV{3k7WIV*MceVcgmDumL3!c0+5P=Ez=9TTNz8nJP^g=LsFIs__$29F7asc>rqF0%oWpFr6uH3T3XlVp%qOio`3@{-^TEBwcuZG{4n$2 zF`)q2Q9#vYBj@wf4yQ^;`ympa~TZmO88I|BaK>#lUA)kLFn&Tt8_-#sBrt>qd0AUrHwX(Gv|Mas}2I@04Og$a;vfkIZ$J}2jTn=b` zBO9UAnJTzT`qT(~cB(?9CaXUo-2e!PymU+;Oj(^-CXJJ)oD1pk>c zoc5&9@hYLHmv^}v@!+X4jyirzjH4M+UbE$T@OZsVG&ewWRBsU)pKNv8`E(PW*$&+^ zl|)+^Om7+6hlqxSW|Kh*%+pR~iJ4VLN%oxm(cGm*a@rkXY)E*s=5cV`_Vp?*{TJ%U zoAEnJO`CC7YfQlC==PA)`8nOYmN*ZclkDb$%p~@4s;a5rehBK8~lY* zE8Lt;UFQ7RHV_pLEDtgBUl_e%{es;|Ki7#98iG3U)%zShm<$!_Ti9oa!nXsjwJ;1E zxc;epzZF`Vx$NrS{X$rFsCe+K(yD-6)SK}&siS(iJ*iY?3NZd`h&f~B=o#LnA#FY-Wn-?qk=miZ{-l zrYg;oM47(DW-ZYy$Eaa+QMf{}`2poJ!p5G!+u)ZspX(84oR>=k8FhHmqdC>fd=B87 zf{L#)sfg?VBjq|J=Z^;0t>o855FD^ORt4Ny#5j)-oM5?4 zSMP*^&JWkjK7fHR%e9ZLJLQwX82_6xBgQ`&jpj_&Oj=T@lXcoI7U6AmwhtlSI5J;W zv825Q%Lk+fjYt-dspTR+Aw?XgUD>biQ`hs?#e*6OY-DuZ0L~DWsx4&@osJN%(O?Xw z#Eb#K1uHWSUS15`2uZQs&g!4Jf5-ZANmBJM@+~DAh|DMyMR(K8O~he;y*^_bUvd;a z{AeFU0aG0x9!c@2a1eWPY`it%mTpwR$z%^GPK{Nkd+vnfJqxq%s_8LaGZAnA@}L z91*nKq()mM5i;{U-a-M<vA*IG7y6x9uslil>i9TT(>#=vv%*9>X{dY-?cAxDs%ceKpxp<0e#^Bvi4XxwJY<3N-nHV0l_TQ4t50zs?@)-qZqk z3H|>5w7xP$vA^c5V3x4TbuK%{XH#~mfU3)vZ(e7WgrYfQ?-PWNa?ri!XQR$Ga@#W_ zwXQDF0YKR&o~XTNg3Q%=tQT!{njez1qPE7gRVyd`USkgFGv0RhJJ{OO23^-PMPh92 zr7m|b8<|^sruzgl^Aq>}4JJZ5+^*?0Hbgb}XQ zcJ>{ZuobsxjA{1l$8tY!G|r+fT66yAV)r(sNddWYN<4#xN9|NDurMMWUCk4>ER9yLtR-l1k zSEXas0_K%TRiTzdG;^UGOjV!T9(wP0wuJud$qFeSvCZ{iyW{wI$Kr>y&AU!{edh0K zK_6PX`#mXJqd;`^=TjOpKGjTyW`I$x6zS52djhqUU&+?i*8<_QiD(R&Y{uvRKjVxU zU{tzLjaUXZh@ge*y0b|5PC)2ay_4b}GR&43GV-ird z=qfksb8+b`C_OCsVL}hrqYYKD_MW@FznqL!Je6mWUNR;6u4!?E)M~E}_jmQUO{3?I0L2 z-Mn9x@a%Y--@M(&*1HLIIuyu6==ejt(c+CT_8Cj*N4E{gGwSZ3WHG|7Y7u0duhV9= z^RIuoL7CskY|aQtB=cKTAVnkv!f7L;p)ghCrdjJXOVhwvK6l&05+;#>Z#0xc)9Ah` zg}o}icMM+gcr=W;lCtSjzA|9(Nmu%OblcU=GmZ}5^oHTDyZVonB)2wnzh ztxXB6w)M2)ql;z!uJ)2A*A{aM1$q3)hAi_QTW24#-ikYYC6F%Jw4|%w(+G{cABo7j z`wEN`6g)IGmm?_~Ub2v6We20D@BW(qMg95ycQVmL4?rA>tLcB`ITQf6y6P7B$-BEv S`|0oN0?=01S1VVs3;Pd@;y2m= literal 0 HcmV?d00001 From f6042da0fa83dd40b7ef95337e14373fd6161845 Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 16:14:14 -0500 Subject: [PATCH 19/24] monado: don't hotlink logo --- content/docs/fossvr/monado/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 30754aa..3a5e32f 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -8,7 +8,7 @@ title: Monado - [Monado home page](https://monado.freedesktop.org/) - [Monado GitLab repository](https://gitlab.freedesktop.org/monado/monado) -![The Legendary Big M](https://gitlab.freedesktop.org/uploads/-/system/project/avatar/2685/monado_icon_medium.png?width=128) +![Monado icon](/images/monado_icon_medium.png "The Legendary Big M") > Monado is an open source XR runtime delivering immersive experiences such as VR and AR on mobile, PC/desktop, and other devices. Monado aims to be a complete and conformant implementation of the OpenXR API made by Khronos. The project is currently being developed for GNU/Linux and aims to support other operating systems such as Windows in the near future. From 7a3be60843bff1c20901371317c3e1f841b494a5 Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Sun, 3 Aug 2025 17:02:37 -0500 Subject: [PATCH 20/24] envision: the SteamLinuxRuntime_sniper-arm64 issue --- content/docs/fossvr/envision/_index.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/content/docs/fossvr/envision/_index.md b/content/docs/fossvr/envision/_index.md index 5cecdce..02ac465 100644 --- a/content/docs/fossvr/envision/_index.md +++ b/content/docs/fossvr/envision/_index.md @@ -90,6 +90,25 @@ Alternatively, you can use the following command: flatpak override --filesystem="xdg-data/envision:ro" --filesystem="xdg-run/monado_comp_ipc" --filesystem="xdg-config/openxr:ro" --filesystem="xdg-config/openvr:ro" com.valvesoftware.Steam ``` +## Known issues + +### The `SteamLinuxRuntime_sniper-arm64` issue + +If Envision crashes with this in terminal/logs: + +``` +thread 'main' panicked at src/util/file_utils.rs:165:9: +Failed to copy /home/USERNAME/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point to /home/USERNAME/.local/share/envision/backups/_v2-entry-point.bak: No such file or directory (os error 2) +``` + +This is because [Valve suddenly renamed a folder](https://steamdb.info/app/1628350/history/?changeid=30126564), and it hasn't been reflected in Envision yet. Anyone who has installed or moved the runtime since 18 July 2025 will run into this, even if they are not using ARM64. For now, please symlink it: + +```bash +ln -s ~/.steam/steam/steamapps/common/SteamLinuxRuntime_sniper-arm64 ~/.steam/steam/steamapps/common/SteamLinuxRuntime_sniper +# or if it's located on a different drive e.g. /mnt/steam +ln -s /mnt/steam/steamapps/common/SteamLinuxRuntime_sniper-arm64 /mnt/steam/steamapps/common/SteamLinuxRuntime_sniper +``` + ## Experimental feature settings The following resources can be entered into your Envision profile repo and branch settings to enable early access to code before it's fully upstream in Monado itself. To enable these feature sets, simply clone your profile, edit it with these settings, then build. From 9cd33711857d56879a97b5cd21bccabdccf8f707 Mon Sep 17 00:00:00 2001 From: hypevhs <4498312-hypevhs@users.noreply.gitlab.com> Date: Mon, 4 Aug 2025 16:12:10 -0500 Subject: [PATCH 21/24] htmltest: ignore steamdb --- .htmltest.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.htmltest.yml b/.htmltest.yml index 894e641..bad192a 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -8,8 +8,9 @@ IgnoreURLs: # For "Edit this page" and "Last modified by": - "https://gitlab.com/lvra/lvra.gitlab.io/-/edit" - "https://gitlab.com/lvra/lvra.gitlab.io/-/commit" -# Uses Cloudflare to block bots: +# Blocks bots: - "https://www.pcgamingwiki.com/" +- "https://steamdb.info/" # IgnoreDirs: # - "lib" CacheExpires: "6h" From 3e95d825f13f8f71a2d11f3a33226eee003b8d6a Mon Sep 17 00:00:00 2001 From: Bones Date: Tue, 5 Aug 2025 10:07:26 -0400 Subject: [PATCH 22/24] Update hardware support info --- content/docs/hardware/_index.md | 54 +++++++++++++++------------------ 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/content/docs/hardware/_index.md b/content/docs/hardware/_index.md index 33b2b21..1abef15 100644 --- a/content/docs/hardware/_index.md +++ b/content/docs/hardware/_index.md @@ -6,32 +6,27 @@ title: VR Gear & GPUs # Hardware {{% hint warning %}} -**NVIDIA WIRED VR ISSUES**: Nvidia proprietary drivers currently have a critical issue with DRM lease causing substantial presentation latency for wired VR headsets, resulting in a delayed viewport effect that makes VR uncomfortable. This affects all known supported driver versions. Wireless VR through WiVRn is entirely unaffected only direct display type wired headsets. Users with Nvidia GPUs should consider the **Nvidia Wired VR Workaround** footnotes of the GPU table below or switch to AMD for the best experience. For details and to report your experience, see [this forum thread](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386). +**NVIDIA WIRED VR ISSUES**: Nvidia proprietary drivers currently have a number of critical issues with DRM lease causing substantial presentation latency for wired VR headsets, or making DRM lease impossible, resulting in discomfort or breakage. Wireless VR through WiVRn is entirely unaffected only direct display type wired headsets. Users with Nvidia GPUs should consider the **Nvidia Wired VR Workaround** footnotes of the GPU table below or switch to AMD for the best experience. For details and to report your experience, see [this forum thread](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386) and [this issue as well](https://forums.developer.nvidia.com/t/nvidia-proprietary-non-open-modules-completely-unable-to-acquire-a-drm-lease-on-any-display-server-all-known-nvidia-drivers-any-hardware/341244). {{% /hint %}} ## GPU support matrix -| Manufacturer | Driver | VR Support | Reprojection Support | Hybrid Graphics Support | Notes | +| Manufacturer/ Hardware | Driver | VR Support | Reprojection Support | Hybrid Graphics Support | Notes | |--------------|---------------------------|----------------|--------------------------------|-------------------------------|----------------------------------------------------------------------------------------------| -| Nvidia | Nvidia (Closed Source or Open Module) | ✅ Acceptable | ⚠️ Mostly | ✅ Supported | Requires driver version 565+. [Critical DRM lease issue](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386) causes uncomfortable latency in wired VR. Best used with wireless solutions (WiVRn). | -| Nvidia | Nouveau (Open Source) | ⚠️ Limited | ❌ Not Viable | v Supported | Cannot reproject due to lack of realtime compute shader support needed by Monado. Lacks DisplayPort audio. Not recommended for VR. | -| AMD | RADV (Open Source) | ✅ Excellent | ✅ Robust (RDNA+) | ✅ Supported | Recommended for wired VR. RDNA generation and newer supported with compute tunneling for reprojection. Pre-RDNA GPUs have functional but less robust reprojection. | -| AMD | AMDVLK (Open Source) | ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | -| AMD | AMDGPU PRO (Closed Source)| ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | -| Intel | i915 (Open Source) | ⚡ Functional | ❓ Unknown | ✅ Supported | Relatively old driver, likely poor support for newer GPUs. Limited testing with VR applications. | -| Intel | Intel/Xe (Open Source) | ❌ No wired HMDs | ❌ N/A | ✅ Supported | Lacks direct mode implementation in driver, unable to drive wired HMDs. | +| Nvidia >= 16XX Series GPU | Nvidia (Open Module) | ✅ Acceptable | ⚠️ Partial | ✅ Supported | Requires driver version 565+. [Critical DRM lease issue](https://forums.developer.nvidia.com/t/substantial-drm-lease-presentation-latency-resulting-in-unusable-vr-hmd-experience/332386) causes uncomfortable latency in wired VR, requires runtime mitigation found below support table. Best used with wireless solutions (WiVRn). Works for wired VR. | +| Nvidia <= 10XX Series GPU | Nvidia (Closed Source Module) | ⚡ No wired VR | ⚠️ Partial | ✅ Supported | Requires driver version 565+. Best used with wireless solutions (WiVRn). [No wired VR support.](https://forums.developer.nvidia.com/t/nvidia-proprietary-non-open-modules-completely-unable-to-acquire-a-drm-lease-on-any-display-server-all-known-nvidia-drivers-any-hardware/341244) | +| Nvidia/ Any | Nouveau (Open Source) | ⚠️ Limited | ❌ Not Viable | ✅ Supported | Cannot reproject due to lack of realtime compute shader support needed by Monado. Lacks DisplayPort audio. Not recommended for VR. | +| AMD RDNA generation GPU | RADV (Open Source) | ✅ Excellent | ✅ Robust (RDNA+) | ✅ Supported | Recommended for wired VR. | +| AMD GCN generation GPU | RADV (Open Source) | ✅ Excellent | ⚠️ Limited | ✅ Supported | Not recommended for wired VR. Pre-RDNA GPUs have functional but less robust reprojection. | +| AMD/ Any | AMDVLK (Open Source) | ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | +| AMD/ Any | AMDGPU PRO (Closed Source)| ❌ Not Viable | ❌ Not Viable | ❌ N/A | RADV preferred in all circumstances. Unable to drive wired HMDs. Do not use. Do not seek support. | +| Intel/ Any | i915 (Open Source) | ⚡ Functional | ❓ Unknown | ✅ Supported | Relatively old driver, likely poor support for newer GPUs. Limited testing with VR applications. | +| Intel/ Any | Intel/Xe (Open Source) | ❌ No wired HMDs | ❌ N/A | ✅ Supported | Lacks direct mode implementation in driver, unable to drive wired HMDs. | **Notes:** -- **VR Support**: Indicates how well supported the necessary Vulkan API components are. -- **Reprojection Support**: Describes the support and quality of reprojection features for VR. Poor support indicates that the driver is not able to properly handle Vulkan realtime shaders and it will present as visual stutter. Non-robust solutions will suffer stutter under very high GPU load. -- **PRIME/ Hybrid GPU Support**: Compatibility with systems using multiple GPUs for render offload. Monado and all clients must be run on a single select GPU due to memory tiling requirements. -- For Nvidia proprietary drivers *older* than 565, (please try to update!), the [vulkan-layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) must be installed in order to not crash: [*AUR*](https://aur.archlinux.org/packages/monado-vulkan-layers-git)・[*Fedora*](https://packages.fedoraproject.org/pkgs/monado-vulkan-layers/monado-vulkan-layers/) - **Nvidia Wired VR Workaround**: Wired users should certainly set `XRT_COMPOSITOR_USE_PRESENT_WAIT` to 1 which changes the swapchain to explicit sync behavior and `U_PACING_COMP_TIME_FRACTION_PERCENT` to 90, representing 90% of the time it takes to render a frame can significantly reduce the latency effect with Nvidia GPUs. There are notable frametime issues in the driver still which may result in stutter but this should vastly improve the experience. -- Nvidia GPUs work well for wireless VR through WiVRn. -- AMD GPUs lower than RDNA generation have functional but less robust reprojection capabilities, expected to be similar to Intel. +- For Nvidia proprietary drivers *older* than 565, (please try to update!), the [vulkan-layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) must be installed in order to not crash: [*AUR*](https://aur.archlinux.org/packages/monado-vulkan-layers-git)・[*Fedora*](https://packages.fedoraproject.org/pkgs/monado-vulkan-layers/monado-vulkan-layers/) - Audio over displayport is known to temporarily cut out when new audio sources spring up on pipewire [without a fix to add alsa headroom](https://wiki.archlinux.org/title/PipeWire#Audio_cutting_out_when_multiple_streams_start_playing) -- X11 configurations are discouraged but workable, please upgrade your system to Wayland if at all possible. - ## XR Devices @@ -45,21 +40,21 @@ A non-comprehensive table of various VR/XR devices and the drivers that support | HTC Vive | ✅ | ✅ | 🚧 (WiVRn PC-PC stream) | | HTC Vive Pro | ✅ | ✅ | 🚧 (WiVRn PC-PC stream) | | HTC Vive Pro Eye | ✅ | ✅ | 🚧 (WiVRn PC-PC stream) | -| HTC Vive Pro 2 | ✅ (custom [driver and patches](https://github.com/CertainLach/VivePro2-Linux-Driver)) | ✅ (With two kernel patches [1](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0002-drm-edid-parse-DRM-VESA-dsc-bpp-target.patch) [2](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0003-drm-amd-use-fixed-dsc-bits-per-pixel-from-edid.patch), AMD GPUs only.) | -- | -| Bigscreen Beyond | ✅ (with [kernel patch](https://gist.github.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch), AMD GPUs only.) | ✅ (with [kernel patch](https://gist.github.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch), AMD GPUs only.) | -- | -| Somnium VR1 | ? | ? | ? | +| HTC Vive Pro 2 | ✅ (custom [driver and patches](https://github.com/CertainLach/VivePro2-Linux-Driver)) | ✅ (With two kernel patches [1](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0002-drm-edid-parse-DRM-VESA-dsc-bpp-target.patch) [2](https://github.com/CertainLach/VivePro2-Linux-Driver/blob/master/kernel-patches/0003-drm-amd-use-fixed-dsc-bits-per-pixel-from-edid.patch), Nvidia driver 580+ open kernel modules.) | -- | +| Bigscreen Beyond | ✅ (with [kernel patch](https://gist.github.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch), Nvidia driver 580+ open kernel modules.) | ✅ (with [kernel patch](https://gist.github.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch), Nvidia driver 580+ open kernel modules.) | -- | +| Somnium VR1 | ⚠️ Rumored successful internal test by Somnium. | ⚠️ Rumored successful internal test by Somnium. | ⚠️🚧 (WiVRn PC-PC stream) | | VRgineers XTAL | ? | ? | ? | | StarVR One | ? | ? | ? | | Varjo VR-1 | ? | ? | ? | | Varjo VR-2 | ? | ? | ? | | Varjo VR-3 | ? | ? | ? | -| Pimax 4K | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax 5K Plus | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax 5K XR | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax 5K SUPER | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax 8K | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax Vision 8K X | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | -| Pimax Vision 8K PLUS | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), AMD GPUs only.) | 🚧 (WiVRn PC-PC stream) | +| Pimax 4K | ❌ (Planned) | 🚧 (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | +| Pimax 5K Plus | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | +| Pimax 5K XR | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | +| Pimax 5K SUPER | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | +| Pimax 8K | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | +| Pimax Vision 8K X | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch).) | 🚧 (WiVRn PC-PC stream) | +| Pimax Vision 8K PLUS | ❌ (Planned) | ✅ (WIP, with [kernel patches](https://gist.githubusercontent.com/TayouVR/60e3ee5f95375827a66a8898bea02bec/raw/c85135c8d8821ebb2fa85629d837a41de57e12ef/pimax.patch), Nvidia requires patching EDID.) | 🚧 (WiVRn PC-PC stream) | | Lenovo Explorer | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) | | Acer AH101 | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) | | Dell Visor | ✅ (Monado SteamVR plugin) | ✅ (experimental 6dof controllers) | 🚧 (WiVRn PC-PC stream) | @@ -88,7 +83,7 @@ A non-comprehensive table of various VR/XR devices and the drivers that support | SlimeVR trackers | ✅ | ✅ (OSC + experimental driver) | ✅ | | Project Babble | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | | Eyetrack VR | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | ✅ ([OscAvMgr](https://github.com/galister/oscavmgr) or [VRCFT.Avalonia](https://github.com/dfgHiatus/VRCFaceTracking.Avalonia)) | -| Mercury Handtrack | 🚧 (Monado SteamVR plugin, win only) | ✅ (survive driver only) | ❌ | +| Mercury Handtrack | ❌ | ✅ (no steamvr_lh driver support) | ❌ | | Ultraleap v1 | ? | ✅ (with `openxr-layer-ultraleap`) | ? | | Lucid VR Gloves | ? | ✅ (survive driver only) | ❌ | | Kinect FBT | ✅ | ✅ (experimental) | 🚧 | @@ -107,13 +102,12 @@ A non-comprehensive table of various VR/XR devices and the drivers that support - **Vive Pro** microphones should be set to use 44.1khz sample rates as feeding in 48khz raises the pitch of the audio. - **Vive Pro** creates HDMI Output Source after startup of SteamVR/Monado/etc. Use it instead of Vive Pro USB Audio Source, since the audio might appear distorted. - **Valve Index** audio output should be set to 48khz or no audio will output. -- **Valve Index** may bug out once per boot, resulting in VR refusing to start, or your DE seeing it as a normal monitor. Just unplug and replug the barrel connector that provides power to the HMD. +- **Valve Index** first presentation to system each fresh boot or first runtime plug in will yield no display, resulting in VR refusing to start. Replug the barrel connector that provides power to the HMD to reset it to make it available. - **Valve Index** may also exhibit unexpected activity with its microphone. If the microphone doesn't transmit at all during regular VR use, consider changing the DisplayPort slot the headset is currently plugged into. Also, as a reminder, the Index mic only works if the headset is actively being used to display something. - **Vive Pro Eye** HMD functional, eye tracking functionality with [ReVision](https://github.com/Blue-Doggo/ReVision) - **Pimax** initialization code WIP. Distortion matrix dump work in progress. - Eyetrack VR and Project Babble will both be implemented through [oscavmgr](https://github.com/galister/oscavmgr) to emit proper unified flexes over OSC. - Tracking technologies can be mixed Monado/WiVRn by using [motoc](https://github.com/galister/motoc). -- Having Ultraleap packages installed causes Monado to not compile. ## Applying a kernel patch (for Vive Pro 2, Bigscreen Beyond, Pimax) From d7a7cec1617de8aa702dfe0c88e1d11cc0e2f08e Mon Sep 17 00:00:00 2001 From: Bones Date: Tue, 5 Aug 2025 10:40:27 -0400 Subject: [PATCH 23/24] Update Pico Neo 3 --- content/docs/hardware/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/hardware/_index.md b/content/docs/hardware/_index.md index 1abef15..93ed1a5 100644 --- a/content/docs/hardware/_index.md +++ b/content/docs/hardware/_index.md @@ -73,7 +73,7 @@ A non-comprehensive table of various VR/XR devices and the drivers that support | Quest Pro | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Quest 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Pico 4 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | -| Pico Neo 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ❌ (Broken XR SDK) | +| Pico Neo 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | HTC Vive Focus 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | HTC Vive XR Elite | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Lynx R1 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | From 00c9650c03ce05a5e08990df88271a2dd675839d Mon Sep 17 00:00:00 2001 From: Supreeeme Date: Wed, 6 Aug 2025 03:58:52 +0000 Subject: [PATCH 24/24] Document disabling SteamVR controller autolaunch --- content/docs/fossvr/monado/_index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 3a5e32f..adcbc60 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -31,6 +31,18 @@ To use Monado as the OpenXR runtime with Steam, or if you're planning to use the In order to use the SteamVR lighthouse driver in Monado, you just need to set the environment variable `STEAMVR_LH_ENABLE=true`. +You may want to disable SteamVR automatically starting whenever you turn on your controllers, because this will interfere with trying to use them with Monado. +To do this: +1. Launch SteamVR at least once, to create the `/config/steamvr.vrsettings` file + - `` is probably `~/.steam/steam` or `~/.local/share/Steam` +2. Add the following section to the end of the file, before the last closing brace: + + "power" : { + "autoLaunchSteamVROnButtonPress" : false + } + - This is a JSON file, so be sure that you add a comma to the end of the previous close brace. +3. Launch SteamVR again to apply the config. + OpenComposite is REQUIRED to operate Monado in conjunction with Steam games. Proton requires a functional OpenVR API to utilize OpenXR at all and Proton itself is required for VR to function as normal wine does not carry any of the needed patches nor does "protonified" wine something like Lutris would provide. ### Fix View