VR: Difference between revisions

Ravoyax (talk | contribs)
Removed the default configuration for WiVRn as it might cause problems and the moderator on the Linux VR Adventures said it's better to use no config: https://discord.com/channels/1065291958328758352/1225819663024259082/1435000987248230504
Pandapip1 (talk | contribs)
m Mark OC as unmaintained
 
(7 intermediate revisions by 6 users not shown)
Line 81: Line 81:


<!--T:12-->
<!--T:12-->
Note: OpenComposite is unmaintained. We recommend using [https://github.com/Supreeeme/xrizer xrizer] instead.
[https://gitlab.com/znixian/OpenOVR OpenComposite] is a compatibility layer for running OpenVR applications on an OpenXR runtime like Monado. It is comparable to tools like DXVK or vkd3d, but for translating OpenVR calls to OpenXR.
[https://gitlab.com/znixian/OpenOVR OpenComposite] is a compatibility layer for running OpenVR applications on an OpenXR runtime like Monado. It is comparable to tools like DXVK or vkd3d, but for translating OpenVR calls to OpenXR.


Line 139: Line 141:
   enable = true;
   enable = true;
   openFirewall = true;
   openFirewall = true;
  # Write information to /etc/xdg/openxr/1/active_runtime.json, VR applications
  # will automatically read this and work with WiVRn (Note: This does not currently
  # apply for games run in Valve's Proton)
    defaultRuntime = true;


   # Run WiVRn as a systemd service on startup
   # Run WiVRn as a systemd service on startup
Line 152: Line 149:


   # You should use the default configuration (which is no configuration), as that works the best out of the box.
   # You should use the default configuration (which is no configuration), as that works the best out of the box.
   # However, if you need to configure something see https://github.com/WiVRn/WiVRn/blob/master/docs/configuration.md for configuration opteins andhttps://mynixos.com/nixpkgs/option/services.wivrn.config.json for an example configuration.
   # However, if you need to configure something see https://github.com/WiVRn/WiVRn/blob/master/docs/configuration.md for configuration options and https://mynixos.com/nixpkgs/option/services.wivrn.config.json for an example configuration.
};|name=configuration.nix|lang=nix}}
};|name=configuration.nix|lang=nix}}


Line 220: Line 217:


<!--T:44-->
<!--T:44-->
By modifying the bubblewrap binary used for running Steam, you can allow processes in that FHS environment to acquire capabilities. This removes the need for patching the kernel directly.
By modifying the bubblewrap binary used for running Steam, you can allow processes in that FHS environment to acquire capabilities. This removes the need for patching the kernel directly. This may become unnecessary if [https://github.com/containers/bubblewrap/issues/653 bubblewrap #653] is merged and the flag is added to Steam's tooling.
 
'''As of 2026-05, this may no longer be viable:''' Steam now aggressively restores its own pressure vessel srt-bwrap on startup, however deleting <code>~/.local/share/Steam/</code> has been [https://discourse.nixos.org/t/steam-fails-to-launch-with-patched-bwrap/75167 reported] to help.
</translate>
</translate>


Line 242: Line 241:
};
};
}}
}}
{{file|/etc/nixos/bwrap.patch|diff|3=diff --git a/bubblewrap.c b/bubblewrap.c
{{file|3=diff --git a/bubblewrap.c b/bubblewrap.c
index 8322ea0..4e20262 100644
index f8728c7..42cfe2e 100644
--- a/bubblewrap.c
--- a/bubblewrap.c
+++ b/bubblewrap.c
+++ b/bubblewrap.c
@@ -868,13 +868,6 @@ acquire_privs (void)
@@ -876,13 +876,6 @@ acquire_privs (void)
       /* Keep only the required capabilities for setup */
       /* Keep only the required capabilities for setup */
       set_required_caps ();
       set_required_caps ();
Line 260: Line 259:
     {
     {
       /* If our uid is 0, default to inheriting all caps; the caller
       /* If our uid is 0, default to inheriting all caps; the caller
}}
|name=bwrap.patch|lang=diff}}


<translate>
<translate>
Line 268: Line 267:
<!--T:47-->
<!--T:47-->
Steam will periodically replace this modification with its own binary when steam-runtime updates, so you may need to re-apply this change if it breaks.
Steam will periodically replace this modification with its own binary when steam-runtime updates, so you may need to re-apply this change if it breaks.
=== Setting SteamVR as default OpenXR runtime ===
To set SteamVR as the default OpenXR runtime, you have to add the following snippet to your Home Manager config:
{{file|/etc/nixos/configuration.nix|nix|3=xdg.configFile."openxr/1/active_runtime.json".text = ''
  {
    "file_format_version": "1.0.0",
      "runtime": {
      "VALVE_runtime_is_steamvr": true,
      "library_path": "${config.home.homeDirectory}/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrclient.so",
      "name": "SteamVR"
      }
  }
  '';
}}


== wlx-overlay-s == <!--T:31-->
== wlx-overlay-s == <!--T:31-->