summaryrefslogtreecommitdiff
path: root/x11-drivers/nvidia-drivers
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers/nvidia-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest1
-rw-r--r--x11-drivers/nvidia-drivers/files/dkms525.patch58
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.157-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild)1
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild)1
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01-r1.ebuild262
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-525.78.01-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild)3
6 files changed, 325 insertions, 1 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 5b7f79b6..40f5ca79 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,3 +1,4 @@
DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a
DIST NVIDIA-Linux-x86_64-470.161.03.run 272397700 BLAKE2B eaa94b7398b3aaadf30c33c95c95b167094ca56114e2e3032978b0959264ac8b8663181485eb1af0282a59b43f912c0ecd48e5eadcb06b6fda601b357ac49bc7 SHA512 26b1640f9427847b68233ffacf5c4a07e75ed9923429dfc9e5de3d7e5c1f109dfaf0fe0a0639cbd47f056784ed3e00e2e741d5c84532df79590a0c9ffa5ba625
DIST NVIDIA-Linux-x86_64-515.86.01.run 363743089 BLAKE2B aa03a0f059da99fa549cd9d672cef0194f2b22b349470d80ce626b3f4afb89b1f130b451735f92f5a66dfec02735bd6395053be609668371991837e3be4026cb SHA512 9a31e14afc017e847f1208577f597c490adb63c256d6dff1a9eae56b65cf85374a604516b0be9da7a43e9af93b3c5aec47b2ffefd6b4050a4b7e55f348cf4e7b
+DIST NVIDIA-Linux-x86_64-525.78.01.run 414002395 BLAKE2B cad6e10311c9fa44e653d5af52814aa18c250328135e512a809a2a1b1489dd793711e24b62e17f40405584b660f4be9526c5993800f674f3725e1d2b62e57e62 SHA512 0e3f7ed3a284c4cd07f4b5854fc9cc3576de78a9219a5887a627631abb848311302ee43a14622daa4e4a63ded4e00669ef6855b7733b23ba01c50640a6e7621f
diff --git a/x11-drivers/nvidia-drivers/files/dkms525.patch b/x11-drivers/nvidia-drivers/files/dkms525.patch
new file mode 100644
index 00000000..ad3adefe
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/dkms525.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 17:59:20.342158844 +0100
+@@ -1,12 +1,21 @@
+-PACKAGE_NAME="nvidia"
+-PACKAGE_VERSION="__VERSION_STRING"
++PACKAGE_NAME="nvidia-drivers-dkms"
++PACKAGE_VERSION="525.78.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 17:59:28.942158589 +0100
+@@ -1,12 +1,21 @@
+-PACKAGE_NAME="nvidia"
+-PACKAGE_VERSION="__VERSION_STRING"
++PACKAGE_NAME="nvidia-drivers-dkms"
++PACKAGE_VERSION="525.78.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-390.157.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157-r1.ebuild
index dc4f4108..245d28c5 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157-r1.ebuild
@@ -36,6 +36,7 @@ RDEPEND="
>=virtual/opencl-3
!!x11-drivers/nvidia-drivers:470
!!x11-drivers/nvidia-drivers:515
+ !!x11-drivers/nvidia-drivers:525
acpi? ( sys-power/acpid )
dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} )
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03-r1.ebuild
index 66a260d4..8ff9f823 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03-r1.ebuild
@@ -36,6 +36,7 @@ RDEPEND="
>=virtual/opencl-3
!!x11-drivers/nvidia-drivers:390
!!x11-drivers/nvidia-drivers:515
+ !!x11-drivers/nvidia-drivers:525
acpi? ( sys-power/acpid )
dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} )
wayland? (
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01-r1.ebuild
new file mode 100644
index 00000000..5d15add9
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01-r1.ebuild
@@ -0,0 +1,262 @@
+# 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"
+RESTRICT="bindist mirror strip"
+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
+ !!x11-drivers/nvidia-drivers:525
+ 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-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-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}/libnvidia-nvvm.so.${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-vulkan-producer.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
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.78.01-r1.ebuild
index 83ff9a26..8e7910c6 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.78.01-r1.ebuild
@@ -36,6 +36,7 @@ RDEPEND="
>=virtual/opencl-3
!!x11-drivers/nvidia-drivers:390
!!x11-drivers/nvidia-drivers:470
+ !!x11-drivers/nvidia-drivers:515
acpi? ( sys-power/acpid )
dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} )
wayland? (
@@ -54,7 +55,7 @@ PDEPEND="tools? ( ~x11-misc/nvidia-settings-${PV}:${SLOT} )
QA_PREBUILT="opt/* usr/lib*"
S=${WORKDIR}/
PATCHES=(
- "${FILESDIR}"/dkms515.patch
+ "${FILESDIR}"/dkms525.patch
"${FILESDIR}"/locale.patch
)