From dafebec9dee5f4173115c0cc65a4fa4c8888d659 Mon Sep 17 00:00:00 2001 From: PassiveLemon Date: Sun, 8 Feb 2026 13:03:08 -0500 Subject: [PATCH 1/2] wivrn: 25.12 -> 26.2 removes some unused dependencies from a previous commit --- pkgs/by-name/wi/wivrn/package.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/wi/wivrn/package.nix b/pkgs/by-name/wi/wivrn/package.nix index 8a0dac1d20f3..e35da5dc6ce1 100644 --- a/pkgs/by-name/wi/wivrn/package.nix +++ b/pkgs/by-name/wi/wivrn/package.nix @@ -4,7 +4,6 @@ stdenv, fetchFromGitHub, fetchFromGitLab, - fetchpatch, applyPatches, autoAddDriverRunpath, avahi, @@ -34,7 +33,6 @@ makeDesktopItem, nix-update-script, nlohmann_json, - onnxruntime, opencomposite, openxr-loader, ovrCompatSearchPaths ? "${xrizer}/lib/xrizer:${opencomposite}/lib/opencomposite", @@ -43,7 +41,6 @@ python3, qt6, shaderc, - spdlog, systemd, udev, vulkan-headers, @@ -56,13 +53,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "wivrn"; - version = "25.12"; + version = "26.2"; src = fetchFromGitHub { owner = "wivrn"; repo = "wivrn"; rev = "v${finalAttrs.version}"; - hash = "sha256-gadfW3/PXi9SEztaHbi4U29Vj7ik/ia8BVDTy8P5aJE="; + hash = "sha256-wVFC8VDtALHI6e0655Ytc4gNOPnJP65XWNzlhzH2eoc="; }; monado = applyPatches { @@ -70,8 +67,8 @@ stdenv.mkDerivation (finalAttrs: { domain = "gitlab.freedesktop.org"; owner = "monado"; repo = "monado"; - rev = "20e0dacbdd2de863923790326beec76e848b056a"; - hash = "sha256-wiXdMgp3bKW17KqLnSn6HHhz7xbQtjp4c3aU7qp+2BE="; + rev = "9dcc3e1de2f7449d9757f5db332c867b4d794fb3"; + hash = "sha256-ueg/GDnKP4nRVepdNE3sgK8sYckZc0aaC0CQc3tuxik="; }; postPatch = '' From a2b56160f376bea4f22c3c94f1e217a5131132f5 Mon Sep 17 00:00:00 2001 From: PassiveLemon Date: Sun, 8 Feb 2026 13:03:41 -0500 Subject: [PATCH 2/2] nixos/wivrn: remove systemd flag --- nixos/modules/services/video/wivrn.nix | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/video/wivrn.nix b/nixos/modules/services/video/wivrn.nix index 5508a51137c3..1f67c871eb0e 100644 --- a/nixos/modules/services/video/wivrn.nix +++ b/nixos/modules/services/video/wivrn.nix @@ -66,7 +66,6 @@ let serverExec = concatStringsSep " " ( [ serverPackageExe - "--systemd" enabledConfig ] ++ cfg.extraServerFlags @@ -126,24 +125,29 @@ in Like upstream, the application option is a list including the application and it's flags. In the case of the NixOS module however, the first element of the list must be a package. The module will assert otherwise. The application can be set to a single package because it gets passed to lib.toList, though this will not allow for flags to be passed. + WiVRn has good default configurations and most options can be configured at runtime so it is recommended to leave this empty and try the defaults before attempting manual configuration. + See ''; default = { }; example = literalExpression '' { - scale = 0.5; - bitrate = 100000000; - encoders = [ + # left eye, hardware; right eye, software; transparency, hardware + encoder = [ { - encoder = "nvenc"; + encoder = "vulkan"; + codec = "h265"; + } + { + encoder = "x264"; codec = "h264"; - width = 1.0; - height = 1.0; - offset_x = 0.0; - offset_y = 0.0; + } + { + encoder = "vulkan"; + codec = "h265"; } ]; - application = [ pkgs.wlx-overlay-s ]; + application = [ pkgs.wayvr ]; } ''; }; @@ -206,6 +210,7 @@ in RestrictSUIDSGID = true; } ); + # Needs Steam in the PATH to allow launching games from the headset path = [ cfg.steam.package ]; wantedBy = mkIf cfg.autoStart [ "default.target" ]; restartTriggers = [