diff options
| author | seth <[email protected]> | 2024-02-27 10:21:45 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2024-02-27 10:21:45 -0500 |
| commit | 741e4d252b1fd56aae0928fc7d144df3d8a04aeb (patch) | |
| tree | 2b19442432c64d223568396937cbff7df317acf6 /modules/nixos | |
| parent | 5164d2df20f9e922400d70f3748d9ed6536fbec7 (diff) | |
nixos/nvk: remove
Diffstat (limited to 'modules/nixos')
| -rw-r--r-- | modules/nixos/traits/default.nix | 1 | ||||
| -rw-r--r-- | modules/nixos/traits/nvk/default.nix | 43 | ||||
| -rw-r--r-- | modules/nixos/traits/nvk/mesa.nix | 126 |
3 files changed, 0 insertions, 170 deletions
diff --git a/modules/nixos/traits/default.nix b/modules/nixos/traits/default.nix index 090e23f..58519ca 100644 --- a/modules/nixos/traits/default.nix +++ b/modules/nixos/traits/default.nix @@ -4,7 +4,6 @@ ./containers.nix ./home-manager.nix ./locale.nix - ./nvk ./secrets.nix ./tailscale.nix ./user-setup.nix diff --git a/modules/nixos/traits/nvk/default.nix b/modules/nixos/traits/nvk/default.nix deleted file mode 100644 index 8e849ce..0000000 --- a/modules/nixos/traits/nvk/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.traits.nvk; - mesa = import ./mesa.nix pkgs; - mesa32 = import ./mesa.nix pkgs.pkgsi686Linux; -in { - options.traits.nvk = { - enable = lib.mkEnableOption "nvk drivers"; - }; - - config = lib.mkIf cfg.enable { - # make sure we're loading new gsp firmware - boot.kernelParams = [ - "nouveau.config=NvGspRm=1" - "nouveau.debug=info,VBIOS=info,gsp=debug" - ]; - - environment.sessionVariables = { - # (fake) advertise vk 1.3 - MESA_VK_VERSION_OVERRIDE = "1.3"; - }; - - hardware.opengl = { - package = mesa.drivers; - package32 = mesa32.drivers; - }; - - system.replaceRuntimeDependencies = [ - { - original = pkgs.mesa.out; - replacement = mesa.out; - } - { - original = pkgs.pkgsi686Linux.mesa.out; - replacement = mesa32.out; - } - ]; - }; -} diff --git a/modules/nixos/traits/nvk/mesa.nix b/modules/nixos/traits/nvk/mesa.nix deleted file mode 100644 index 4b622c6..0000000 --- a/modules/nixos/traits/nvk/mesa.nix +++ /dev/null @@ -1,126 +0,0 @@ -/* -thanks to the chaotic-cx LUG for their mesa-git expression, it inspired some of this -https://github.com/chaotic-cx/nyx/blob/a4e9fa0795880c3330d9f86cab466a7402d6d4f5/pkgs/mesa-git/default.nix - -MIT License - -Copyright (c) 2023 Pedro Henrique Lara Campos <[email protected]> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ -{ - lib, - pkgs, - ... -}: let - cargoDeps = { - proc-macro2 = { - version = "1.0.70"; - hash = "sha256-OSePu/X7T2Rs5lFpCHf4nRxYEaPUrLJ3AMHLPNt4/Ts="; - }; - quote = { - version = "1.0.33"; - hash = "sha256-Umf8pElgKGKKlRYPxCOjPosuavilMCV54yLktSApPK4="; - }; - syn = { - version = "2.0.39"; - hash = "sha256-I+eLkPL89F0+hCAyzjLj8tFUW6ZjYnHcvyT6MG2Hvno="; - }; - unicode-ident = { - version = "1.0.12"; - hash = "sha256-M1S5rD+uH/Z1XLbbU2g622YWNPZ1V5Qt6k+s6+wP7ks="; - }; - }; - mesa = - (pkgs.mesa.override { - # we use the new flag for this - enablePatentEncumberedCodecs = false; - - vulkanDrivers = - if pkgs.stdenv.isLinux - then - [ - "amd" # AMD (aka RADV) - "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen) - "swrast" # software renderer (aka Lavapipe) - "nouveau-experimental" # nvk - ] - ++ lib.optionals (pkgs.stdenv.hostPlatform.isAarch -> lib.versionAtLeast pkgs.stdenv.hostPlatform.parsed.cpu.version "6") [ - # QEMU virtualized GPU (aka VirGL) - # Requires ATOMIC_INT_LOCK_FREE == 2. - "virtio" - ] - ++ lib.optionals pkgs.stdenv.isAarch64 [ - "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) - "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) - "imagination-experimental" # PowerVR Rogue (currently N/A) - "panfrost" # ARM Mali Midgard and up (T/G series) - ] - ++ lib.optionals pkgs.stdenv.hostPlatform.isx86 [ - "intel" # Intel (aka ANV), could work on non-x86 with PCIe cards, but doesn't build - "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code) - ] - else ["auto"]; - }) - .overrideAttrs (new: old: { - version = "24.0.0"; - - src = pkgs.fetchurl { - urls = [ - "https://archive.mesa3d.org/mesa-${new.version}.tar.xz" - "https://mesa.freedesktop.org/archive/mesa-${new.version}.tar.xz" - ]; - - hash = "sha256-YoWlu7v0P92vtLO3JrFIpKIiRg6JK9G2mq/004DJg1U="; - }; - - nativeBuildInputs = old.nativeBuildInputs ++ [pkgs.rustc pkgs.rust-bindgen]; - - patches = let - badPatches = [ - "0001-dri-added-build-dependencies-for-systems-using-non-s.patch" - "0002-util-Update-util-libdrm.h-stubs-to-allow-loader.c-to.patch" - "0003-glx-fix-automatic-zink-fallback-loading-between-hw-a.patch" - ]; - in - lib.filter (patch: !(lib.elem (baseNameOf patch) badPatches)) old.patches; - - postPatch = let - cargoFetch = crate: - pkgs.fetchurl { - url = "https://crates.io/api/v1/crates/${crate}/${cargoDeps.${crate}.version}/download"; - inherit (cargoDeps.${crate}) hash; - }; - - cargoSubproject = crate: '' - ln -s ${cargoFetch crate} subprojects/packagecache/${crate}-${cargoDeps.${crate}.version}.tar.gz - ''; - - subprojects = lib.concatMapStringsSep "\n" cargoSubproject (lib.attrNames cargoDeps); - in - old.postPatch - + '' - mkdir subprojects/packagecache - ${subprojects} - ''; - - mesonFlags = old.mesonFlags ++ lib.optional (!pkgs.stdenv.hostPlatform.is32bit) "-D video-codecs=all"; - }); -in - mesa |
