Move old config here

This commit is contained in:
2023-05-18 12:07:07 +02:00
parent 97fd90c347
commit f728476449
48 changed files with 5844 additions and 49 deletions
+57
View File
@@ -0,0 +1,57 @@
{ pkgs, lib, stdenv, libdrm, dpkg, vulkan-loader, patchelf, fetchurl }:
let
ver = import ./version.nix { inherit pkgs; };
suffix = ver.suffix;
amdbit = ver.amdbit;
in
stdenv.mkDerivation rec {
pname = "amdgpu-pro-amf";
version = ver.repo_folder_ver;
src = [
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/a/amf-amdgpu-pro/amf-amdgpu-pro_${ver.amf}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:038d39lji5n85lg22mbxr7fq3nldwyrslkr5z94hp94g2l8ar5x5";
name = "amf";
})
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/liba/libamdenc-amdgpu-pro/libamdenc-amdgpu-pro_1.0-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:0l0bfd2ayfhn15jk8cf8xnl2lgrcwpmc3c70qw3gf53jxrp5h0zs";
name = "libamdenc";
})
];
dontPatchELF = true;
sourceRoot = ".";
nativeBuildInputs = [
dpkg
patchelf
];
buildInputs = [
vulkan-loader
stdenv.cc.cc.lib
libdrm
];
rpath = lib.makeLibraryPath buildInputs;
unpackPhase = ''
for file in $src; do dpkg -x $file .; done
'';
installPhase = ''
mkdir -p $out
mv opt/amdgpu-pro/lib/x86_64-linux-gnu $out/lib
patchelf --set-rpath "$rpath" $out/lib/libamdenc64.so
patchelf --set-rpath "$rpath" $out/lib/libamfrt64.so
'';
meta = with lib; {
description = "AMD Advanced Multimedia Framework";
homepage = "https://www.amd.com";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
};
}
+62
View File
@@ -0,0 +1,62 @@
{ pkgs, lib, xorg, stdenv, openssl, libdrm, zlib, dpkg, patchelf, fetchurl }:
let
ver = import ./version.nix { inherit pkgs; };
suffix = ver.suffix;
amdbit = ver.amdbit;
in
stdenv.mkDerivation rec {
pname = "amdgpu-pro-vulkan${suffix}";
version = ver.repo_folder_ver;
pkg64 = fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:02kavnxcccdrqz09v1628l005p1kzgv17wpqgb75nllyfr5103l9";
name = "vulkan64";
};
pkg32 = fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:143r5vcqbh6s699w3y9wg87lnyl77h2g8kmdikcbl44y3q06xm6r";
name = "vulkan32";
};
src = if stdenv.system == "x86_64-linux" then pkg64 else pkg32;
dontPatchELF = true;
sourceRoot = ".";
nativeBuildInputs = [
dpkg
patchelf
];
buildInputs = [
libdrm
openssl
stdenv.cc.cc.lib
xorg.libX11
xorg.libxcb
xorg.libxshmfence
zlib
];
rpath = lib.makeLibraryPath buildInputs;
unpackPhase = ''
dpkg -x $src .
'';
installPhase = ''
mkdir -p $out/lib
mkdir -p $out/share/vulkan/icd.d
install -Dm644 opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd${suffix}.json $out/share/vulkan/icd.d/amd_pro_icd${suffix}.json
install -Dm755 opt/amdgpu-pro/lib/${amdbit}/amdvlk${suffix}.so $out/lib/amdvlkpro${suffix}.so
sed -i "s#/opt/amdgpu-pro/lib/${amdbit}/amdvlk${suffix}.so#$out/lib/amdvlkpro${suffix}.so#" $out/share/vulkan/icd.d/amd_pro_icd${suffix}.json
patchelf --set-rpath "$rpath" $out/lib/amdvlkpro${suffix}.so
'';
meta = with lib; {
description = "AMD Proprietary Driver For Vulkan";
homepage = "https://www.amd.com";
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux" ];
};
}
+125
View File
@@ -0,0 +1,125 @@
{ pkgs, lib, systemd, xorg, mesa, stdenv, expat, openssl, libdrm, zlib, wayland, dpkg, patchelf, fetchurl }:
let
ver = import ./version.nix { inherit pkgs; };
suffix = ver.suffix;
amdbit = ver.amdbit;
in
stdenv.mkDerivation rec {
pname = "amdgpu-pro-opengl${suffix}";
version = ver.repo_folder_ver;
src64 = [
#libgl
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgl1-amdgpu-pro-oglp-dri_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:05ywwnscbfjd4jg76vfgq18zjymxph69hz58i2jn8gw6aqcpi36j";
name = "libgl-dri64";
})
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgl1-amdgpu-pro-oglp-glx_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:0spad30ifhycll3jm5da4skxmv42v5kjkxc5cv0j719zqrnqrlj4";
name = "libgl-glx64";
})
#egl
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libegl1-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:1m4scayyw0w3cixpl3qb494bc7p0djby32g305r49g8zxp047msw";
name = "libegl64";
})
#gles1
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgles1-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:0rkr6r7mx2zrp327wzg8jc41x0vgrhqsrlj51a78gqcxzyarfngk";
name = "libgles1-64";
})
#gles2
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgles2-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_amd64.deb";
sha256 = "sha256:1rcc7xsag3gfszyz426bkk0ipbxazf6c2ws5zw2x8br2wdi2wq4x";
name = "libgles2-64";
})
];
src32 = [
#libgl
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgl1-amdgpu-pro-oglp-dri_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:1iak5yr2l3i5pvb2936xfknpm07zlqldjb4rnx7xy6n8w6aw1dhg";
name = "libgl-dri32";
})
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgl1-amdgpu-pro-oglp-glx_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:06iqjnw782fdc16j621k0cmhbnc7x6hn00qky3llz7p5ybnpk9vp";
name = "libgl-glx32";
})
#egl
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libegl1-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:16574pgrm8946jfnyyfa9n6sjdjvvbp11kqjkfib3gjh9y3kmmw6";
name = "libegl32";
})
#gles1
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgles1-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:09pjxxgg7zjn5b61109va8w7xv5i3zdk627z92lpb4f48fy2i325";
name = "libgles1-32";
})
#gles2
(fetchurl {
url = "https://repo.radeon.com/amdgpu/${ver.repo_folder_ver}/ubuntu/pool/proprietary/o/oglp-amdgpu-pro/libgles2-amdgpu-pro-oglp_${ver.major_short}-${ver.minor}.${ver.ubuntu_ver}_i386.deb";
sha256 = "sha256:02w7lfl38xnw7gx90gpic6pf4xfm413k9ixp8qimsvn8irk8y45g";
name = "libgles2-32";
})
];
src = if stdenv.system == "x86_64-linux" then src64 else src32;
dontPatchELF = true;
dontStrip = true;
sourceRoot = ".";
nativeBuildInputs = [
dpkg
patchelf
];
buildInputs = [
libdrm
openssl
expat
stdenv.cc.cc.lib
xorg.libX11
xorg.libxcb
xorg.libXext
xorg.libXfixes
xorg.libXxf86vm
xorg.libxshmfence
zlib
wayland
systemd
mesa
];
rpath = lib.makeLibraryPath buildInputs;
unpackPhase = ''
for file in $src; do dpkg -x $file .; done
'';
installPhase = ''
mkdir $out
mv opt/amdgpu/lib/${amdbit} $out/lib
mv opt/amdgpu/share $out/share
mv opt/amdgpu-pro/lib/${amdbit}/* $out/lib
patchelf --set-rpath "$rpath" $out/lib/dri/amdgpu_dri.so
for file in "$out/lib/*.so*"; do patchelf --set-rpath "$rpath" $file; done
'';
meta = with lib; {
description = "AMD Proprietary Driver For OpenGL";
homepage = "https://www.amd.com";
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux" ];
};
}
+91
View File
@@ -0,0 +1,91 @@
{ pkgs
, pkgsi686Linux
, driversi686Linux
, stdenv
, amdgpu-pro-libs
, amdvlk
, mesa
, libGL
, with32bit ? true
}:
let
amf-amd-pro = amdgpu-pro-libs.amf;
vulkan-amd-pro = amdgpu-pro-libs.vulkan;
oglp-amd-pro = amdgpu-pro-libs.opengl;
vulkan-amd-pro32 = pkgsi686Linux.amdgpu-pro-libs.vulkan;
oglp-amd-pro32 = pkgsi686Linux.amdgpu-pro-libs.opengl;
in
pkgs.buildEnv {
name = "amdgpu-pro-prefixes";
paths = with pkgs; [
(writeShellScriptBin "vk_pro"
''
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export VK_ICD_FILENAMES="${vulkan-amd-pro}/share/vulkan/icd.d/amd_pro_icd64.json"
export LD_LIBRARY_PATH="${amf-amd-pro}/lib:$LD_LIBRARY_PATH"
${(if with32bit then ''export VK_ICD_FILENAMES=$VK_ICD_FILENAMES:${vulkan-amd-pro32}/share/vulkan/icd.d/amd_pro_icd32.json'' else "")}
"$@"
''
)
(writeShellScriptBin "vk_amdvlk"
''
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export VK_ICD_FILENAMES="${amdvlk}/share/vulkan/icd.d/amd_icd64.json"
${(if with32bit then ''export VK_ICD_FILENAMES=$VK_ICD_FILENAMES:${driversi686Linux.amdvlk}/share/vulkan/icd.d/amd_icd32.json'' else "")}
"$@"
''
)
(writeShellScriptBin "vk_radv"
''
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export VK_ICD_FILENAMES="${mesa.drivers}/share/vulkan/icd.d/radeon_icd.x86_64.json"
${(if with32bit then ''export VK_ICD_FILENAMES=$VK_ICD_FILENAMES:${driversi686Linux.mesa.drivers}/share/vulkan/icd.d/radeon_icd.i686.json'' else "")}
"$@"
''
)
(writeShellScriptBin "gl_pro"
''
export __GLX_VENDOR_LIBRARY_NAME=amd
export LIBGL_DRIVERS_PATH="${oglp-amd-pro}/lib/dri"
${(if with32bit then ''
export LD_LIBRARY_PATH="${oglp-amd-pro32}/lib:$LD_LIBRARY_PATH"
export LIBGL_DRIVERS_PATH="$LIBGL_DRIVERS_PATH:${oglp-amd-pro32}/lib/dri"
'' else "")}
export LD_LIBRARY_PATH="${oglp-amd-pro}/lib:$LD_LIBRARY_PATH"
"$@"
''
)
(writeShellScriptBin "gl_zink"
''
${(if with32bit then ''export LD_LIBRARY_PATH="${pkgsi686Linux.libGL}/lib:$LD_LIBRARY_PATH"'' else "")}
export LD_LIBRARY_PATH="${libGL}/lib:$LD_LIBRARY_PATH"
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=zink
"$@"
''
)
(writeShellScriptBin "gl_radeonsi"
''
${(if with32bit then ''export LD_LIBRARY_PATH="${pkgsi686Linux.libGL}/lib:$LD_LIBRARY_PATH"'' else "")}
export LD_LIBRARY_PATH="${libGL}/lib:$LD_LIBRARY_PATH"
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=radeonsi
export GALLIUM_DRIVER=radeonsi
"$@"
''
)
];
meta = with pkgs.lib; {
description = "AMDGPU Pro helper prefixes";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
};
}
+11
View File
@@ -0,0 +1,11 @@
{ pkgs }:
{
suffix = if pkgs.stdenv.system == "x86_64-linux" then "64" else "32";
amdbit = if pkgs.stdenv.system == "x86_64-linux" then "x86_64-linux-gnu" else "i386-linux-gnu";
major = "22.40";
major_short = "22.40";
minor = "1577631";
ubuntu_ver = "22.04";
repo_folder_ver = "5.4.5";
amf = "1.4.29";
}