diff --git a/pkgs/os-specific/linux/nvidia/builder.sh b/pkgs/os-specific/linux/nvidia/builder.sh index 3d8f907c08a..4a2d44b8d49 100755 --- a/pkgs/os-specific/linux/nvidia/builder.sh +++ b/pkgs/os-specific/linux/nvidia/builder.sh @@ -28,18 +28,18 @@ echo "Copying all files to " $out/lib"" cp -R * $out #add extra symlinks in $out -ln -sf $out/lib/libGLcore.so.1.0.9755 $out/lib/libGLcore.so -ln -sf $out/lib/libGLcore.so.1.0.9755 $out/lib/libGLcore.so.1 -ln -sf $out/lib/libGL.so.1.0.9755 $out/lib/libGL.so -ln -sf $out/lib/libGL.so.1.0.9755 $out/lib/libGL.so.1 -ln -sf $out/lib/libnvidia-cfg.so.1.0.9755 $out/lib/libnvidia-cfg.so.1 -ln -sf $out/lib/libnvidia-tls.so.1.0.9755 $out/lib/libnvidia-tls.so.1 -ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.1.0.9755 $out/X11R6/lib/libXvMCNVIDIA.so.1 -ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.1.0.9755 $out/lib/libXvMCNVIDIA.so.1 -ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.1.0.9755 $out/X11R6/lib/modules/libnvidia-wfb.so.1 -ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.1.0.9755 $out/lib/libnvidia-wfb.so.1 -ln -sf $out/X11R6/lib/modules/extensions/libglx.so.1.0.9755 $out/X11R6/lib/modules/extensions/libglx.so.1 -ln -sf $out/X11R6/lib/modules/extensions/libglx.so.1.0.9755 $out/lib/libglx.so.1 +ln -sf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so +ln -sf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so.1 +ln -sf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so +ln -sf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so.1 +ln -sf $out/lib/libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1 +ln -sf $out/lib/libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1 +ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/X11R6/lib/libXvMCNVIDIA.so.1 +ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA.so.1 +ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/X11R6/lib/modules/libnvidia-wfb.so.1 +ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/lib/libnvidia-wfb.so.1 +ln -sf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/X11R6/lib/modules/extensions/libglx.so.1 +ln -sf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/lib/libglx.so.1 #TODO: patchelf binaries ! #patchelf --set-interpreter ${path glibc TODO /lib/ld-linux.so.2 $out/bin/.... @@ -48,17 +48,17 @@ ln -sf $out/X11R6/lib/modules/extensions/libglx.so.1.0.9755 $out/lib/libglx.so.1 ensureDir /usr/lib/ cd /usr/lib -ln -sf $out/lib/libGLcore.so.1.* libGLcore.so.1 +ln -sf $out/lib/libGLcore.so.$versionNumber libGLcore.so.1 ln -sf $out/lib/libGL.la libGL.la -ln -sf $out/lib/libGL.so.1.* libGL.so.1 -ln -sf $out/lib/libnvidia-cfg.so.1.* libnvidia-cfg.so.1 -ln -sf $out/lib/libnvidia-tls.so.1.* libnvidia-tls.so.1 +ln -sf $out/lib/libGL.so.$versionNumber libGL.so.1 +ln -sf $out/lib/libnvidia-cfg.so.$versionNumber libnvidia-cfg.so.1 +ln -sf $out/lib/libnvidia-tls.so.$versionNumber libnvidia-tls.so.1 ensureDir /usr/lib/tls/ -ln -sf $out/lib/tls/libnvidia-tls.so.1.* /usr/lib/tls/libnvidia-tls.so.1 -ln -sf $out/X11R6/lib/modules/extensions/libglx.so.1.* libglx.so.1 -ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.1.* libnvidia-wfb.so.1 +ln -sf $out/lib/tls/libnvidia-tls.so.$versionNumber /usr/lib/tls/libnvidia-tls.so.1 +ln -sf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber libglx.so.1 +ln -sf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber libnvidia-wfb.so.1 ln -sf $out/X11R6/lib/modules/drivers/nvidia_drv.so nvidia_drv.so -ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.1.* libXvMCNVIDIA.so.1 +ln -sf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber libXvMCNVIDIA.so.1 ln -sf $out/bin/tls_test_dso.so tls_test_dso.so ln -sf $out/src/nv/nvidia.ko nvidia.ko @@ -78,9 +78,11 @@ ln -sf /usr/lib/libglx.la libglx.la; ln -sf /usr/lib/libglx.so.1 libglx.so; ln -sf /usr/lib/libglx.so.1 libglx.so.1; ln -sf /usr/lib/nvidia_drv.so nvidia_drv.so; -ln -sf $out/src/nv/nvidia.ko $kernelOutPath/lib/modules/$(uname -r)/kernel/drivers/video/nvidia/nvidia.ko; - +#ln -sf $out/src/nv/nvidia.ko $kernelOutPath/lib/modules/$(uname -r)/kernel/drivers/video/nvidia/nvidia.ko; +ln -sf $out/src/nv/nvidia.ko $kernelOutPath/lib/modules/*-default/kernel/drivers/video/nvidia/nvidia.ko; " +#TODO ADD /var/run/opengl-driver link ...? + rwlibsfile="$out/bin/nvidia-rewriteLibs.sh" echo "--------------------------------------------------------" @@ -91,3 +93,4 @@ chmod 755 $rwlibsfile sleep 5 + diff --git a/pkgs/os-specific/linux/nvidia/default.nix b/pkgs/os-specific/linux/nvidia/default.nix index e7c5215f015..727f8954964 100644 --- a/pkgs/os-specific/linux/nvidia/default.nix +++ b/pkgs/os-specific/linux/nvidia/default.nix @@ -15,9 +15,12 @@ stdenv.mkDerivation { builder = ./builder.sh; nvidiasrc = fetchurl { #we cannot use $src since this variable is also used in the nvidia sources - url = http://www.denbreejen.net/public/nixos/NVIDIA-Linux-x86-1.0-9755-pkg1.run; - sha256 = "1985373866b1dcae80f3da66dbbbd3c28ad76e75a620865be321ee870ad9d1ea"; + #url = http://www.denbreejen.net/public/nixos/NVIDIA-Linux-x86-1.0-9755-pkg1.run; + #sha256 = "1985373866b1dcae80f3da66dbbbd3c28ad76e75a620865be321ee870ad9d1ea"; + url = http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-100.14.11-pkg1.run; + sha256 = "8665370e590328cc5bf3d13737739a80dacbfb6844436cab03c992e84bf16b0c"; }; + versionNumber = "100.14.11"; #important ! to also update this if the sources are updated, this is used as follows: extensions/libglx.so.$versionNumber kernelOutPath = kernel.outPath; xorgOutPath = xorg_server.outPath; @@ -32,4 +35,5 @@ stdenv.mkDerivation { NIX_LDFLAGS = "-rpath ${libX11}/lib -rpath ${libXext}/lib"; LD_LIBRARY_PATH = "${libX11}/lib:${libXext}/lib/"; + }