summary refs log tree commit diff
path: root/pkgs/os-specific/linux/amdgpu-pro/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/amdgpu-pro/default.nix')
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/default.nix49
1 files changed, 26 insertions, 23 deletions
diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix
index cbfa2e1b0300..7cf2bc4f975e 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -30,9 +30,9 @@ let
 
 in stdenv.mkDerivation rec {
 
-  version = "16.50";
+  version = "16.60";
   pname = "amdgpu-pro";
-  build = "${version}-362463";
+  build = "${version}-379184";
 
   libCompatDir = "/run/lib/${libArch}";
 
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
     "https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${build}.tar.xz";
-    sha256 = "1wl8mabk9g7s43bdarzl2i5crp8rl1advnb5mw3p3821sqzh2nd9";
+    sha256 = "1g90sryxw8y4abjgviibq34v3hr82ijgbaiqnxgafrf7g9s5m2yq";
     curlOpts = "--referer http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver%e2%80%93Release-Notes.aspx";
   };
 
@@ -58,18 +58,10 @@ in stdenv.mkDerivation rec {
   '';
 
   modulePatches = [
-    ./patches/0001-Fix-kernel-module-install-location.patch
-    ./patches/0002-Add-Gentoo-as-build-option.patch
-    ./patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
-    ./patches/0004-Change-seq_printf-format-for-64-bit-context.patch
-    ./patches/0005-Fix-vblank-calls.patch
-    ./patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
-    ./patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
-    ./patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
-    ./patches/0009-Remove-dependency-on-System.map.patch
-    ./patches/0010-disable-dal-by-default.patch
-    ./patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
-    ./patches/0012-use-kernel-fence_array-in-4.8.patch
+    ./patches/0001-disable-firmware-copy.patch
+    ./patches/0002-linux-4.9-fixes.patch
+    ./patches/0003-Change-seq_printf-format-for-64-bit-context.patch
+    ./patches/0004-fix-warnings-for-Werror.patch
   ];
 
   patchPhase = optionalString (!libsOnly) ''
@@ -83,12 +75,23 @@ in stdenv.mkDerivation rec {
   '';
 
   preBuild = optionalString (!libsOnly) ''
-    makeFlags="$makeFlags M=$(pwd)/usr/src/amdgpu-pro-${build}"
+    pushd usr/src/amdgpu-pro-${build}
+    makeFlags="$makeFlags M=$(pwd)"
+    patchShebangs pre-build.sh
+    ./pre-build.sh ${kernel.version}
+    popd
   '';
 
-  postBuild = optionalString (!libsOnly) ''
-    xz usr/src/amdgpu-pro-${build}/amd/amdgpu/amdgpu.ko
-  '';
+  modules = [
+    "amd/amdgpu/amdgpu.ko"
+    "amd/amdkcl/amdkcl.ko"
+    "ttm/amdttm.ko"
+  ];
+
+  postBuild = optionalString (!libsOnly)
+    (concatMapStrings (m: "xz usr/src/amdgpu-pro-${build}/${m}\n") modules);
+
+  NIX_CFLAGS_COMPILE = "-Werror";
 
   makeFlags = optionalString (!libsOnly)
     "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build modules";
@@ -123,10 +126,10 @@ in stdenv.mkDerivation rec {
   '' + ''
     popd
 
-  '' + optionalString (!libsOnly) ''
-    mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.xz
-    cp usr/src/amdgpu-pro-${build}/amd/amdgpu/amdgpu.ko.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.xz
-  '' + ''
+  '' + optionalString (!libsOnly)
+    (concatMapStrings (m:
+      "install -Dm444 usr/src/amdgpu-pro-${build}/${m}.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/${m}.xz\n") modules)
+  + ''
     mv $out/etc/vulkan $out/share
     interpreter="$(cat $NIX_CC/nix-support/dynamic-linker)"
     libPath="$out/lib:$out/lib/gbm:$depLibPath"