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.
This commit is contained in:
Vladimír Čunát 2015-07-30 14:07:45 +02:00
parent e72b405104
commit 374210aece
2 changed files with 14 additions and 7 deletions

View File

@ -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

View File

@ -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;