mirror of
https://github.com/materusPL/Nixerus.git
synced 2026-06-26 18:36:42 +00:00
Move old config here
This commit is contained in:
@@ -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" ];
|
||||
};
|
||||
}
|
||||
@@ -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" ];
|
||||
};
|
||||
}
|
||||
@@ -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" ];
|
||||
};
|
||||
}
|
||||
@@ -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" ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
Reference in New Issue
Block a user