diff --git a/desktop.nix b/desktop.nix index 62af154..6502007 100644 --- a/desktop.nix +++ b/desktop.nix @@ -100,6 +100,8 @@ in { }; security.rtkit.enable = true; # Real-time support for pipewire + # Enable running X11 apps on Wayland + programs.xwayland.enable = true; # Hardware-agnostic audio denoising systemd.user.services.pipewire-noise-filter = { diff --git a/hardware/nvidia/proprietary.nix b/hardware/nvidia/proprietary.nix index 73379ef..bfc39b2 100644 --- a/hardware/nvidia/proprietary.nix +++ b/hardware/nvidia/proprietary.nix @@ -51,6 +51,7 @@ in { "__GL_YIELD" = "USLEEP"; # use usleep(0) instead of sched_yield() -> better performance in most cases "__GL_ALLOW_UNOFFICIAL_PROTOCOL" = "1"; # allow unofficial GLX protocol if also set in Xorg conf "__GL_VRR_ALLOWED" = "1"; # Try to enable G-SYNC VRR if screen AND app is compatible + "KWIN_DRM_USE_EGL_STREAMS" = "1"; # Make KWin use EGL Streams, because otherwise performance will be horrible. }; }; } diff --git a/packages/firefox.nix b/packages/firefox.nix index cb6660b..66f4723 100644 --- a/packages/firefox.nix +++ b/packages/firefox.nix @@ -13,8 +13,11 @@ let prefs ); in pkgs.wrapFirefox pkgs.firefox-esr-unwrapped { + forceWayland = true; cfg = { smartcardSupport = true; + pipewireSupport = true; + ffmpegSupport = true; enablePlasmaBrowserIntegration = true; }; @@ -113,5 +116,12 @@ in pkgs.wrapFirefox pkgs.firefox-esr-unwrapped { "privacy.trackingprotection.enabled" = true; "browser.shell.didSkipDefaultBrowserCheckOnFirstRun" = true; + + "media.ffmpeg.vaapi.enabled" = true; + "media.ffvpx.enabled" = true; + "media.navigator.mediadatadecoder_vpx_enabled" = true; + "media.rdd-ffmpeg.enabled" = true; + "media.rdd-ffvpx.enabled" = true; + "media.rdd-opus.enabled" = true; }); }