VR: Difference between revisions
Marked this version for translation |
m Mark OC as unmaintained |
||
| (9 intermediate revisions by 7 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; | ||
# Run WiVRn as a systemd service on startup | # Run WiVRn as a systemd service on startup | ||
autoStart = true; | autoStart = true; | ||
# | # If you're running this with an nVidia GPU and want to use GPU Encoding (and don't otherwise have CUDA enabled system wide), you need to override the cudaSupport variable. | ||
package = (pkgs.wivrn.override { cudaSupport = true; }); | |||
# 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 options and https://mynixos.com/nixpkgs/option/services.wivrn.config.json for an example configuration. | |||
};|name=configuration.nix|lang=nix}} | |||
<translate> | <translate> | ||
| Line 236: | 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 258: | Line 241: | ||
}; | }; | ||
}} | }} | ||
{{file | {{file|3=diff --git a/bubblewrap.c b/bubblewrap.c | ||
index | index f8728c7..42cfe2e 100644 | ||
--- a/bubblewrap.c | --- a/bubblewrap.c | ||
+++ b/bubblewrap.c | +++ b/bubblewrap.c | ||
@@ - | @@ -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 276: | 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 284: | 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--> | ||