From 299fc276b78e5cae2c40494f682cf6ff6e099574 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Fri, 5 Jan 2024 09:26:14 +0800 Subject: [PATCH] fix(gui): configure video acceleration --- faucet/gui/default.nix | 1 + faucet/gui/va.nix | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 faucet/gui/va.nix diff --git a/faucet/gui/default.nix b/faucet/gui/default.nix index 7844d6ed..6aaaa21b 100644 --- a/faucet/gui/default.nix +++ b/faucet/gui/default.nix @@ -6,6 +6,7 @@ in { imports = [ ./plymouth.nix + ./va.nix ./greetd.nix ]; diff --git a/faucet/gui/va.nix b/faucet/gui/va.nix new file mode 100644 index 00000000..e45495f9 --- /dev/null +++ b/faucet/gui/va.nix @@ -0,0 +1,21 @@ +# https://nixos.wiki/wiki/Accelerated_Video_Playback + +{ pkgs +, lib +, config +, ... }: with lib; let + cfg = config.faucet.gui; +in mkIf cfg.enable { + nixpkgs.config.packageOverrides = pkgs: { + vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; + }; + + hardware.opengl = { + extraPackages = with pkgs; optionals ((cfg.type == "intel") || (cfg.type == "prime")) [ + intel-media-driver # LIBVA_DRIVER_NAME=iHD + vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) + vaapiVdpau + libvdpau-va-gl + ] ++ optional ((cfg.type == "nvidia") || (cfg.type == "prime")) nvidia-vaapi-driver; + }; +}