summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidia-x11
diff options
context:
space:
mode:
authorVictor Calvert <calvertvl@users.noreply.github.com>2017-04-16 16:08:20 -0400
committerVladimír Čunát <vcunat@gmail.com>2017-04-16 22:08:20 +0200
commit71d8ce6f4be68731b9a43e545323d6d9be0ed229 (patch)
treeb84aa31fa4f4f34415a0c91faf5acc0d8d22d48e /pkgs/os-specific/linux/nvidia-x11
parent002a2b479a245d10691a394454f29e27d95de719 (diff)
downloadnixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar.gz
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar.bz2
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar.lz
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar.xz
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.tar.zst
nixpkgs-71d8ce6f4be68731b9a43e545323d6d9be0ed229.zip
nvidia: 340.101 -> 340.102 (#24694)
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11')
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix10
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/fs52243.patch14
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix14
3 files changed, 32 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index f04ff107ea6..f5e849e95e1 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -22,11 +22,11 @@ in
   };
 
   legacy_340 = generic {
-    version = "340.101";
-    sha256_32bit = "0qmhkvxj6h63sayys9gldpafw5skpv8nsm2gxxb3pxcv7nfdlpjz";
-    sha256_64bit = "02k8j0xzxp2y4vay0kf982q382ny1i4g1kai93f2h5sak6sq3kyj";
-    settingsSha256 = "1mavbhff24n0jn154af152fp04njd505scdlxdm850h1ycb2i3g9";
-    persistencedSha256 = "1396bmmg9b1z805dzljgi2f219ji84wfnnifdbk32dpd5mrywjk0";
+    version = "340.102";
+    sha256_32bit = "0a484i37j00d0rc60q0bp6fd2wfrx2c4r32di9w5svqgmrfkvcb1";
+    sha256_64bit = "0nnz51d48a5fpnnmlz1znjp937k3nshdq46fw1qm8h00dkrd55ib";
+    settingsSha256 = "0nm5c06b09p6wsxpyfaqrzsnal3p1047lk6p4p2a0vksb7id9598";
+    persistencedSha256 = "1jwmggbph9zd8fj4syihldp2a5bxff7q1i2l9c55xz8cvk0rx08i";
     useGLVND = false;
   };
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/fs52243.patch b/pkgs/os-specific/linux/nvidia-x11/fs52243.patch
new file mode 100644
index 00000000000..212df64fa61
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/fs52243.patch
@@ -0,0 +1,14 @@
+--- a/kernel/nv-drm.c
++++ b/kernel/nv-drm.c
+@@ -115,7 +115,11 @@
+ };
+ 
+ static struct drm_driver nv_drm_driver = {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++    .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
++#else
+     .driver_features = DRIVER_GEM | DRIVER_PRIME,
++#endif
+     .load = nv_drm_load,
+     .unload = nv_drm_unload,
+     .fops = &nv_drm_fops,
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index e4e67a6abfd..44a96f9bc0d 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -43,8 +43,20 @@ let
       else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
     # patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10
-    patches = if libsOnly || versionOlder version "375"
+    patches = if libsOnly
               then null
+              else if versionOlder version "340"
+              then null
+              else if versionOlder version "375"
+              then [
+                     (fetchurl {
+                         url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/4.10.0_kernel.patch?h=packages/nvidia-340xx;
+                         sha256 = "08k2phr9kawg6a3v88d4zkj7gdlih29gm5a1gmhpgmvd926k0z5l";
+                     })
+                         # from https://git.archlinux.org/svntogit/packages.git/plain/trunk/fs52243.patch?h=packages/nvidia-340xx
+                         # with datestamps removed
+                     ./fs52243.patch
+                   ]
               else [ (fetchurl {
                       url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel_4.10.patch?h=packages/nvidia;  sha256 = "0zhpx3baq2pca2pmz1af5cp2nzjxjx0j9w5xrdy204mnv3v2708z";
                      }) ];