From 374210aecec648f65c276a4ef423c6fd08b5555b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 30 Jul 2015 14:07:45 +0200 Subject: [PATCH] nvidia-x11: maintenance update Strange as it is, nvidia seems to drop UVM kernel module on 32-bit. Basic driver usage shows no problems for me. --- pkgs/os-specific/linux/nvidia-x11/builder.sh | 14 ++++++++++---- pkgs/os-specific/linux/nvidia-x11/default.nix | 7 ++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index d34c4f355a34..1198208c9da8 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -20,9 +20,15 @@ buildPhase() { sysOut=$(echo $kernel/lib/modules/$kernelVersion/build) unset src # used by the nv makefile make SYSSRC=$sysSrc SYSOUT=$sysOut module - cd uvm - make SYSSRC=$sysSrc SYSOUT=$sysOut module - cd .. + + # nvidia no longer provides uvm kernel module for 32-bit archs + # http://www.nvidia.com/download/driverResults.aspx/79722/en-us + if [[ "$system" = "x86_64-linux" ]]; then + cd uvm + make SYSSRC=$sysSrc SYSOUT=$sysOut module + cd .. + fi + cd .. fi } @@ -47,7 +53,7 @@ installPhase() { # Install the kernel module. mkdir -p $out/lib/modules/$kernelVersion/misc - for i in kernel/nvidia.ko kernel/uvm/nvidia-uvm.ko; do + for i in $(find ./kernel -name '*.ko'); do nuke-refs $i cp $i $out/lib/modules/$kernelVersion/misc/ done diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 66b1a81d2e4b..ab564c10e2e5 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null; let - versionNumber = "352.21"; + versionNumber = "352.30"; # Policy: use the highest stable version as the default (on our master). inherit (stdenv.lib) makeLibraryPath; @@ -28,16 +28,17 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "1l206091frcpql8ql82i5jkf955wdr56ikh9aprwhqkyyjjq4qv1"; + sha256 = "1qrjvf41zk50hw7gjiwg9jxwgpaarlwm019py4wfqgjgb1cbhgjn"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "1sv495i5s1fd7j4k4yr53xbgc9jind0y74mqivv36p5z6m8z5k6g"; + sha256 = "1h7ghmykhdyy3n853s8yjzc0qbh50qb2kc0khz672b1rna4wqyhg"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; inherit versionNumber libsOnly; + inherit (stdenv) system; kernel = if libsOnly then null else kernel.dev;