From 399b6d95e39f2bf25d068a20421140ae19b4f9c1 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 16 Oct 2022 17:51:20 +0100 Subject: x11-drivers/nvidia-drivers : add v515 --- .../md5-cache/x11-drivers/nvidia-drivers-515.65.01 | 15 ++ metadata/pkg_desc_index | 2 +- x11-drivers/nvidia-drivers/Manifest | 1 + x11-drivers/nvidia-drivers/files/dkms515.patch | 58 +++++ .../nvidia-drivers/nvidia-drivers-515.65.01.ebuild | 260 +++++++++++++++++++++ 5 files changed, 335 insertions(+), 1 deletion(-) create mode 100644 metadata/md5-cache/x11-drivers/nvidia-drivers-515.65.01 create mode 100644 x11-drivers/nvidia-drivers/files/dkms515.patch create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild diff --git a/metadata/md5-cache/x11-drivers/nvidia-drivers-515.65.01 b/metadata/md5-cache/x11-drivers/nvidia-drivers-515.65.01 new file mode 100644 index 00000000..06e75491 --- /dev/null +++ b/metadata/md5-cache/x11-drivers/nvidia-drivers-515.65.01 @@ -0,0 +1,15 @@ +DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack +DEPEND=acct-group/video acct-user/nvpd net-libs/libtirpc X? ( >=x11-libs/libvdpau-1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/libglvnd[X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) +DESCRIPTION=NVIDIA Accelerated Graphics Driver +EAPI=6 +INHERIT=flag-o-matic multilib-minimal portability toolchain-funcs unpacker +IUSE=acpi +dkms multilib +tools wayland +X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 +KEYWORDS=-* ~amd64 +LICENSE=GPL-2 NVIDIA-r2 +PDEPEND=tools? ( ~x11-misc/nvidia-settings-515.65.01:515 ) +RDEPEND=acct-group/video acct-user/nvpd net-libs/libtirpc X? ( >=x11-libs/libvdpau-1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/libglvnd[X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=virtual/opencl-3 !!x11-drivers/nvidia-drivers:390 !!x11-drivers/nvidia-drivers:470 acpi? ( sys-power/acpid ) dkms? ( ~sys-kernel/nvidia-drivers-dkms-515.65.01:515 ) wayland? ( gui-libs/egl-gbm >=gui-libs/egl-wayland-1.1.10 ) X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) +REQUIRED_USE=tools? ( X ) +SLOT=515 +SRC_URI=amd64? ( https://us.download.nvidia.com/XFree86/Linux-x86_64/515.65.01/NVIDIA-Linux-x86_64-515.65.01.run ) +_eclasses_=desktop 22952d8f27cac191d75529d4c38e6bfa edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 447396341f5f896d722e435a06f87a4f eqawarn c9847c43b3253a276ae2eabddedab3d7 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 8f942ebdcf04334697649d4a0bf65a32 flag-o-matic 29a755b1291d64133634d80b0328f153 ltprune 97143780d341cc8d8f1d4c6187a36d29 multibuild d26d81f242cb193d899a72bca423d0bd multilib 5ca4e49abed8e3a2f7b56920eadee157 multilib-build 87f1b83e21a473787b821ef3d0437bf3 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 portability 58227860123d3e8da23290064ce3373e preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144 unpacker bc57272a0491765c71d973c8cfd35063 vcs-clean d271b7bc7e6a009758d7d4ef749174e3 wrapper 4a1902f969e5718126434fc35f3a0d9c +_md5_=13771c60d1f411f47c4da928433f583a diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index 7af7856e..b9f12278 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -78,7 +78,7 @@ virtual/tmpfiles 1.314.1337: Virtual to select between different tmpfiles.d hand virtual/udev 314.1337: Virtual to select between different udev daemon providers x11-base/xorg-drivers 21.1-r100: Meta package containing deps on all xorg drivers (dummy package) x11-base/xorg-server 21.1.4-r100: X.Org X servers -x11-drivers/nvidia-drivers 390.154 470.141.03: NVIDIA Accelerated Graphics Driver +x11-drivers/nvidia-drivers 390.154 470.141.03 515.65.01: NVIDIA Accelerated Graphics Driver x11-libs/gtk+ 2.24.33-r10 3.24.29-r10: Gimp ToolKit + x11-libs/libX11 1.8.1-r1: X.Org X11 library x11-misc/nvidia-prime 314: NVIDIA Prime Render Offload configuration and utilities diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index cdb9d8bf..65c872ea 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,2 +1,3 @@ DIST NVIDIA-Linux-x86_64-390.154.run 84438529 BLAKE2B e1bd2982f9697e74b593380acf471e03192cd8d20f14bd9b43e6d5925421c518278e75515a0713be25b29bf99d7ea49c770adf2cede79736a03f323d5ed96a33 SHA512 cab7de6db783089c1e385da0296c43d2cbbe266bac2bc177044e279224a6ef9c76495b46c4b7056eb5a82b21932a2002e0c12f7659b446a2586f9df30a69a9a3 DIST NVIDIA-Linux-x86_64-470.141.03.run 272986406 BLAKE2B 12ef580dd98146715442e6b8e9f27bab4a12121f3edb2e291961f8dea96ec1b81d2c974d380018223999c67a7bec9873675487f436e60aab34e83b1a5b7065f1 SHA512 07aca8ea6aac5592060b4177ef43e9a3a5b2e3bc1a2d5959bf2ae349763fc62ed80b987af5607bf2d9a48e25c4e38e64970bca0177d63bd57a703d47debf5e18 +DIST NVIDIA-Linux-x86_64-515.65.01.run 364182561 BLAKE2B 552084a5347c0388f5cb0a6eecf41fb3d401356cbbbe957569e3eb0a4ca03b3db0dea0f7f6a37a6b66cf6d5377677ee57a6df73668002a13efd8140b153fcf03 SHA512 5221a4ac071eb39a37a841f19cfe4983286dc35e918956b40604404ef36c122612475df7b9a391a9a70bd60f44e598c8a0e5ec54ccc3e90d51f01e1b2fbe5e33 diff --git a/x11-drivers/nvidia-drivers/files/dkms515.patch b/x11-drivers/nvidia-drivers/files/dkms515.patch new file mode 100644 index 00000000..fd79108e --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/dkms515.patch @@ -0,0 +1,58 @@ +diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf +--- a/kernel/dkms.conf 2022-07-20 14:40:39.000000000 +0100 ++++ b/kernel/dkms.conf 2022-10-16 14:05:53.921574151 +0100 +@@ -1,12 +1,22 @@ +-PACKAGE_NAME="nvidia" +-PACKAGE_VERSION="__VERSION_STRING" ++PACKAGE_NAME="nvidia-drivers-dkms" ++PACKAGE_VERSION="515.65.01" + AUTOINSTALL="yes" + + # By default, DKMS will add KERNELRELEASE to the make command line; however, + # this will cause the kernel module build to infer that it was invoked via + # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting + # the 'make' command name to suppress this behavior. +-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" ++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules" + + # The list of kernel modules will be generated by nvidia-installer at runtime. +-__DKMS_MODULES ++BUILT_MODULE_NAME[0]="nvidia" ++DEST_MODULE_LOCATION[0]="/extra/dkms" ++BUILT_MODULE_NAME[1]="nvidia-uvm" ++DEST_MODULE_LOCATION[1]="/extra/dkms" ++BUILT_MODULE_NAME[2]="nvidia-modeset" ++DEST_MODULE_LOCATION[2]="/extra/dkms" ++BUILT_MODULE_NAME[3]="nvidia-drm" ++DEST_MODULE_LOCATION[3]="/extra/dkms" ++BUILT_MODULE_NAME[4]="nvidia-peermem" ++DEST_MODULE_LOCATION[4]="/extra/dkms" +diff -Nur a/kernel-open/dkms.conf b/kernel-open/dkms.conf +--- a/kernel-open/dkms.conf 2022-07-20 14:40:39.000000000 +0100 ++++ b/kernel-open/dkms.conf 2022-10-16 14:07:17.596571670 +0100 +@@ -1,12 +1,22 @@ +-PACKAGE_NAME="nvidia" +-PACKAGE_VERSION="__VERSION_STRING" ++PACKAGE_NAME="nvidia-drivers-dkms" ++PACKAGE_VERSION="515.65.01" + AUTOINSTALL="yes" + + # By default, DKMS will add KERNELRELEASE to the make command line; however, + # this will cause the kernel module build to infer that it was invoked via + # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting + # the 'make' command name to suppress this behavior. +-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" ++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules" + + # The list of kernel modules will be generated by nvidia-installer at runtime. +-__DKMS_MODULES ++BUILT_MODULE_NAME[0]="nvidia" ++DEST_MODULE_LOCATION[0]="/extra/dkms" ++BUILT_MODULE_NAME[1]="nvidia-uvm" ++DEST_MODULE_LOCATION[1]="/extra/dkms" ++BUILT_MODULE_NAME[2]="nvidia-modeset" ++DEST_MODULE_LOCATION[2]="/extra/dkms" ++BUILT_MODULE_NAME[3]="nvidia-drm" ++DEST_MODULE_LOCATION[3]="/extra/dkms" ++BUILT_MODULE_NAME[4]="nvidia-peermem" ++DEST_MODULE_LOCATION[4]="/extra/dkms" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild new file mode 100644 index 00000000..05008d6c --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild @@ -0,0 +1,260 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit flag-o-matic multilib-minimal portability toolchain-funcs unpacker + +NV_URI="https://us.download.nvidia.com/XFree86/" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +DESCRIPTION="NVIDIA Accelerated Graphics Driver" + +SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" + +EMULTILIB_PKG="true" +KEYWORDS="-* ~amd64" +LICENSE="GPL-2 NVIDIA-r2" +SLOT="515" + +IUSE="acpi +dkms multilib +tools wayland +X" +REQUIRED_USE="tools? ( X )" + +COMMON=" + acct-group/video + acct-user/nvpd + net-libs/libtirpc + X? ( + >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}] + media-libs/libglvnd[X,${MULTILIB_USEDEP}] + ) +" + +DEPEND="${COMMON}" + +RDEPEND=" + ${COMMON} + >=virtual/opencl-3 + !!x11-drivers/nvidia-drivers:390 + !!x11-drivers/nvidia-drivers:470 + acpi? ( sys-power/acpid ) + dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} ) + wayland? ( + gui-libs/egl-gbm + >=gui-libs/egl-wayland-1.1.10 + ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + ) +" +PDEPEND="tools? ( ~x11-misc/nvidia-settings-${PV}:${SLOT} ) +" + +QA_PREBUILT="opt/* usr/lib*" +S=${WORKDIR}/ +PATCHES=( + "${FILESDIR}"/dkms515.patch + "${FILESDIR}"/locale.patch +) + +pkg_setup() { + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + NV_DOC="${S}" + NV_OBJ="${S}" + NV_SRC="${S}/kernel" + NV_MAN="${S}" + NV_X11="${S}" + NV_SOVER=${PV} +} + +src_prepare() { + default + local man_file + for man_file in "${NV_MAN}"/*1.gz; do + gunzip $man_file || die + done + + if ! [ -f nvidia_icd.json ]; then + cp nvidia_icd.json.template nvidia_icd.json || die + sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die + fi +} + +donvidia() { + nv_LIB="${1}" + nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})" + nv_DEST="${2}" + nv_LIBNAME=$(basename "${nv_LIB}") + + if [[ "${nv_DEST}" ]]; then + exeinto ${nv_DEST} + action="doexe" + else + nv_DEST="/usr/$(get_libdir)" + action="dolib.so" + fi + + ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}" + + if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} + fi + + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} +} + +src_install-libs() { + local inslibdir=$(get_libdir) + local GL_ROOT="/usr/$(get_libdir)" + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" + local nv_libdir="${NV_OBJ}" + + if has_multilib_profile && [[ ${ABI} == "x86" ]]; then + nv_libdir="${NV_OBJ}"/32 + fi + + if use X; then + NV_GLX_LIBRARIES=( + "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libOpenCL.so.1.0.0 ${CL_ROOT}" + "libcuda.so.${NV_SOVER}" + "libnvcuvid.so.${NV_SOVER}" + "libnvidia-compiler.so.${NV_SOVER}" + "libnvidia-allocator.so.${NV_SOVER}" + "libnvidia-eglcore.so.${NV_SOVER}" + "libnvidia-encode.so.${NV_SOVER}" + "libnvidia-glcore.so.${NV_SOVER}" + "libnvidia-glsi.so.${NV_SOVER}" + "libnvidia-glvkspirv.so.${NV_SOVER}" + "libnvidia-ifr.so.${NV_SOVER}" + "libnvidia-opencl.so.${NV_SOVER}" + "libnvidia-ptxjitcompiler.so.${NV_SOVER}" + "libnvidia-opticalflow.so.${NV_SOVER}" + "libvdpau_nvidia.so.${NV_SOVER}" + "libnvidia-ml.so.${NV_SOVER}" + "libnvidia-tls.so.${NV_SOVER}" + ) + + if has_multilib_profile && [[ ${ABI} == "amd64" ]]; then + NV_GLX_LIBRARIES+=( + "libnvidia-cbl.so.${NV_SOVER}" + "libnvidia-ngx.so.${NV_SOVER}" + "libnvidia-rtcore.so.${NV_SOVER}" + "libnvoptix.so.${NV_SOVER}" + ) + fi + + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do + donvidia "${nv_libdir}"/${NV_LIB} + done + fi +} + +src_install() { + donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} + + if has_multilib_profile && use multilib; then + local OABI=${ABI} + for ABI in $(multilib_get_enabled_abis); do + src_install-libs + done + ABI=${OABI} + unset OABI + else + src_install-libs + fi + + is_final_abi || die "failed to iterate through all ABIs" + + if use X; then + donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} /usr/$(get_libdir)/nvidia/xorg + + insinto /usr/$(get_libdir)/xorg/modules/drivers + doins ${NV_X11}/nvidia_drv.so + + insinto /usr/share/X11/xorg.conf.d + newins ${FILESDIR}/nvidia-drm-outputclass.conf 50-nvidia-drm-outputclass.conf + + insinto /usr/share/glvnd/egl_vendor.d + doins ${NV_X11}/10_nvidia.json + + exeinto /opt/bin + doexe ${NV_OBJ}/nvidia-xconfig + + doman "${NV_MAN}"/nvidia-xconfig.1 + fi + + insinto /etc/modprobe.d + doins "${FILESDIR}"/nouveau.conf + + insinto /etc/vulkan/icd.d + doins nvidia_icd.json + + insinto /etc/vulkan/implicit_layer.d + doins nvidia_layers.json + + insinto /etc/OpenCL/vendors + doins ${NV_OBJ}/nvidia.icd + + exeinto /opt/bin/ + doexe ${NV_OBJ}/nvidia-cuda-mps-control + doexe ${NV_OBJ}/nvidia-cuda-mps-server + doexe ${NV_OBJ}/nvidia-debugdump + doexe ${NV_OBJ}/nvidia-persistenced + doexe ${NV_OBJ}/nvidia-smi + doexe ${NV_OBJ}/nvidia-modprobe + + fowners root:video /opt/bin/nvidia-modprobe + fperms 4710 /opt/bin/nvidia-modprobe + dosym /{opt,usr}/bin/nvidia-modprobe + + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi + newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced + newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced + + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + doman "${NV_MAN}"/nvidia-smi.1 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1 + doman "${NV_MAN}"/nvidia-modprobe.1 + doman "${NV_MAN}"/nvidia-persistenced.1 + + docinto html + dodoc -r ${NV_DOC}/html/* +} + +_dracut_initramfs_regen() { + if [ -x $(which dracut) ]; then + dracut -N -f --no-hostonly-cmdline + fi +} + +pkg_preinst() { + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then + rm -rf "${ROOT}"/usr/lib/opengl/nvidia/* + fi + + if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then + rm -f "${ROOT}"/etc/env.d/09nvidia + fi +} + +pkg_postinst() { + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + _dracut_initramfs_regen + fi +} + +pkg_postrm() { + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + _dracut_initramfs_regen + fi +} -- cgit v1.2.3