From 84cbb13782ce2d2612652549a2515551dae29b99 Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 27 Sep 2023 00:02:00 +0200 Subject: [PATCH 1/4] Rpcs3: increase memlock limit --- roles/gaming/rpcs3.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/gaming/rpcs3.nix b/roles/gaming/rpcs3.nix index 43b80d0..931b7ba 100644 --- a/roles/gaming/rpcs3.nix +++ b/roles/gaming/rpcs3.nix @@ -2,4 +2,12 @@ { environment.systemPackages = with pkgs; [ rpcs3 ]; + + # Increase the memory lock limit + security.pam.loginLimits = [{ + domain = "*"; + item = "memlock"; + type = "-"; # Applies to both hard and soft limits + value = "unlimited"; + }]; } From 8b6b7e54d68ec68e112323bea7e7137a6b18c13e Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 27 Sep 2023 00:09:09 +0200 Subject: [PATCH 2/4] Do not enable pipewire in machine specific configs --- machines/Archie/configuration.nix | 6 ------ machines/SteamDeck/configuration.nix | 6 ------ machines/SurfaceGo/configuration.nix | 6 ------ 3 files changed, 18 deletions(-) diff --git a/machines/Archie/configuration.nix b/machines/Archie/configuration.nix index dfd748a..c610816 100644 --- a/machines/Archie/configuration.nix +++ b/machines/Archie/configuration.nix @@ -33,12 +33,6 @@ # Enable the X11 windowing system. services.xserver.enable = true; - # Enable the pipewire sound server - services.pipewire = { - enable = true; - pulse.enable = true; - }; - # Configure keymap in X11 # services.xserver.layout = "us"; # services.xserver.xkbOptions = "eurosign:e,caps:escape"; diff --git a/machines/SteamDeck/configuration.nix b/machines/SteamDeck/configuration.nix index db30aa7..ea49bd9 100755 --- a/machines/SteamDeck/configuration.nix +++ b/machines/SteamDeck/configuration.nix @@ -34,12 +34,6 @@ # Enable the X11 windowing system. services.xserver.enable = true; - # Enable the pipewire sound server - services.pipewire = { - enable = true; - pulse.enable = true; - }; - jovian = { devices.steamdeck = { enable = true; diff --git a/machines/SurfaceGo/configuration.nix b/machines/SurfaceGo/configuration.nix index 1c30fd3..990d7a5 100644 --- a/machines/SurfaceGo/configuration.nix +++ b/machines/SurfaceGo/configuration.nix @@ -32,12 +32,6 @@ # Enable the X11 windowing system. services.xserver.enable = true; - - # Enable the pipewire sound server - services.pipewire = { - enable = true; - pulse.enable = true; - }; # Configure keymap in X11 # services.xserver.layout = "us"; From f40adefed8dfbe84fb326ea20fab3377cc0a491c Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 27 Sep 2023 00:09:50 +0200 Subject: [PATCH 3/4] Desktop: configure pipewire --- roles/desktop/services/default.nix | 1 + roles/desktop/services/pipewire.nix | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 roles/desktop/services/pipewire.nix diff --git a/roles/desktop/services/default.nix b/roles/desktop/services/default.nix index 6393486..690505c 100644 --- a/roles/desktop/services/default.nix +++ b/roles/desktop/services/default.nix @@ -5,5 +5,6 @@ ./ssh-agent.nix ./flatpak.nix ./syncthing.nix + ./pipewire.nix ]; } diff --git a/roles/desktop/services/pipewire.nix b/roles/desktop/services/pipewire.nix new file mode 100644 index 0000000..447e307 --- /dev/null +++ b/roles/desktop/services/pipewire.nix @@ -0,0 +1,8 @@ +{ config, ... }: + +{ + services.pipewire = { + enable = true; + pulse.enable = true; + }; +} From 3480ab8216635317525cd221c31017ea91d8562a Mon Sep 17 00:00:00 2001 From: Toast Date: Wed, 27 Sep 2023 00:11:34 +0200 Subject: [PATCH 4/4] Pipewire: enable rtkit --- roles/desktop/services/pipewire.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roles/desktop/services/pipewire.nix b/roles/desktop/services/pipewire.nix index 447e307..d064adb 100644 --- a/roles/desktop/services/pipewire.nix +++ b/roles/desktop/services/pipewire.nix @@ -5,4 +5,7 @@ enable = true; pulse.enable = true; }; + + # This allows pipewire to get realtime priority, which (hopefully) gets rid of stutters + security.rtkit.enable = true; }