diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/nvidia-x11')
-rwxr-xr-x | nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh | 21 | ||||
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix | 12 |
2 files changed, 15 insertions, 18 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh index 2b1b37db344..b4c6952d44d 100755 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -59,15 +59,24 @@ installPhase() { mv $i/lib/libvdpau* $i/lib/vdpau # Install ICDs, make absolute paths. + # Be careful not to modify any original files because this runs twice. + + # OpenCL sed -E "s#(libnvidia-opencl)#$i/lib/\\1#" nvidia.icd > nvidia.icd.fixed install -Dm644 nvidia.icd.fixed $i/etc/OpenCL/vendors/nvidia.icd - if [ -e nvidia_icd.json.template ]; then - # template patching for version < 435 - sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json - fi - if [ -e nvidia_icd.json ]; then - install -Dm644 nvidia_icd.json $i/share/vulkan/icd.d/nvidia.json + + # Vulkan + if [ -e nvidia_icd.json.template ] || [ -e nvidia_icd.json ]; then + if [ -e nvidia_icd.json.template ]; then + # template patching for version < 435 + sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json.fixed + else + sed -E "s#(libGLX_nvidia)#$i/lib/\\1#" nvidia_icd.json > nvidia_icd.json.fixed + fi + install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia.json fi + + # EGL if [ "$useGLVND" = "1" ]; then sed -E "s#(libEGL_nvidia)#$i/lib/\\1#" 10_nvidia.json > 10_nvidia.json.fixed install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/nvidia.json diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix index c41ce5994a1..e3affca1220 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -39,18 +39,6 @@ rec { sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n"; settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l"; persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf"; - - patches = [ - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-4.16.patch?h=2ad07241ea525a6b6b555b6cb96a97634a4b2cb0"; - sha256 = "11b3dp0na496rn13v5q4k66bf61174800g36rcwj42r0xj9cfak2"; - }) - - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-5.1.patch?h=42d50ef8d6048608d18bdf2c296dd335260c5a1a"; - sha256 = "03v46ym2bcckg9q2xrilkg21hfiwypr6gl4jmly2q3m4yza9ja6r"; - }) - ]; }; legacy_340 = generic { |