summaryrefslogtreecommitdiff
path: root/x11-drivers
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest2
-rw-r--r--x11-drivers/nvidia-drivers/files/dkms.patch2
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-470.63.01.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild)212
3 files changed, 81 insertions, 135 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 964f7d93..7001d5c4 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1 +1 @@
-DIST NVIDIA-Linux-x86_64-470.57.02.run 273219658 BLAKE2B 4e9b6d0f08226f38e76157a64923a4b4bb07b46e1b37879da353a4ff39bcf6a3aa0689a04e16ebcb2ff19f453d9b265c53546f101f34cca998a5da4dba5c2826 SHA512 7123ee05aa0cc94c4cf1f0717daf85b116f0200b8f78f9322ea847db70e56386a065e0085959f27cbf0a8f9befe6fc7a0145d1bf2a28616df9bc8b5effd812f8
+DIST NVIDIA-Linux-x86_64-470.63.01.run 271484294 BLAKE2B 7769f53897dccea716d459a12808d1f5a738072415639063e47dee82b489bb17121516cf585c1bb6b39f71b11f62f636a466284aba5854a5cfb4f553353cf8d3 SHA512 d3dadf93df86e5462ecb4ae6a04f03b05bf1450ad91e8c2aa73e838ddc9aa11b4e926fc32714d32bd7c606498fee5a54c77d5e40ecc08a039d3e9c2d331ad454
diff --git a/x11-drivers/nvidia-drivers/files/dkms.patch b/x11-drivers/nvidia-drivers/files/dkms.patch
index ea60558a..33707051 100644
--- a/x11-drivers/nvidia-drivers/files/dkms.patch
+++ b/x11-drivers/nvidia-drivers/files/dkms.patch
@@ -5,7 +5,7 @@ diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
-PACKAGE_NAME="nvidia"
-PACKAGE_VERSION="__VERSION_STRING"
+PACKAGE_NAME="nvidia-drivers-dkms"
-+PACKAGE_VERSION="470.57.02"
++PACKAGE_VERSION="470.63.01"
AUTOINSTALL="yes"
# By default, DKMS will add KERNELRELEASE to the make command line; however,
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.63.01.ebuild
index 851732dd..41b95655 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.63.01.ebuild
@@ -15,18 +15,16 @@ KEYWORDS="-* ~amd64"
LICENSE="GPL-2 NVIDIA-r2"
SLOT="0"
-IUSE="acpi compat +dkms +libglvnd multilib +tools wayland +X"
+IUSE="acpi +dkms multilib +tools wayland +X"
REQUIRED_USE="tools? ( X )"
COMMON="
acct-group/video
acct-user/nvpd
net-libs/libtirpc
- >=sys-libs/glibc-2.6.1
X? (
>=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- app-misc/pax-utils
- libglvnd? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
)
"
@@ -40,7 +38,6 @@ RDEPEND="
dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} )
tools? ( ~x11-misc/nvidia-settings-${PV}:${SLOT} )
wayland? (
- dev-libs/wayland[${MULTILIB_USEDEP}]
>=gui-libs/egl-wayland-1.1.7-r1
)
X? (
@@ -59,8 +56,6 @@ PATCHES=(
)
pkg_setup() {
-
- # try to turn off distcc and ccache for people that have a problem with it
export DISTCC_DISABLE=1
export CCACHE_DISABLE=1
@@ -85,21 +80,10 @@ src_prepare() {
fi
}
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
donvidia() {
- # Full path to library
nv_LIB="${1}"
-
- # SOVER to use
nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
nv_DEST="${2}"
-
- # Get just the library name
nv_LIBNAME=$(basename "${nv_LIB}")
if [[ "${nv_DEST}" ]]; then
@@ -110,11 +94,8 @@ donvidia() {
action="dolib.so"
fi
- # Install the library
${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
fi
@@ -122,107 +103,9 @@ donvidia() {
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
}
-src_install() {
- # blacklist nouveau
- insinto /etc/modprobe.d
- doins "${FILESDIR}"/nouveau.conf
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
-
- # NVIDIA framebuffer capture library
- donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
- donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
-
- if use X; then
- # Xorg DDX driver
- insinto /usr/$(get_libdir)/xorg/modules/drivers
- doins ${NV_X11}/nvidia_drv.so
-
- # Xorg GLX driver
- donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
- /usr/$(get_libdir)/nvidia/xorg
-
- # Xorg nvidia.conf
- if has_version '>=x11-base/xorg-server-1.16'; then
- insinto /usr/share/X11/xorg.conf.d
- newins ${FILESDIR}/nvidia-drm-outputclass.conf 50-nvidia-drm-outputclass.conf
- fi
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins ${NV_X11}/10_nvidia.json
- fi
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins ${NV_OBJ}/nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- if use X; then
- doexe ${NV_OBJ}/nvidia-xconfig
- fi
-
- 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
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe ${NV_OBJ}/nvidia-modprobe
-# fowners root:video /opt/bin/nvidia-modprobe
-# fperms 4710 /opt/bin/nvidia-modprobe
- dosym /{opt,usr}/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- 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"
-
- # Docs
- newdoc "${NV_DOC}/README.txt" README
- dodoc "${NV_DOC}/NVIDIA_Changelog"
- doman "${NV_MAN}"/nvidia-smi.1
- use X && doman "${NV_MAN}"/nvidia-xconfig.1
- doman "${NV_MAN}"/nvidia-cuda-mps-control.1
-
- docinto html
- dodoc -r ${NV_DOC}/html/*
-}
-
src_install-libs() {
local inslibdir=$(get_libdir)
- if use libglvnd; then
- local GL_ROOT="/usr/$(get_libdir)"
- else
- local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
- fi
+ local GL_ROOT="/usr/$(get_libdir)"
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
local nv_libdir="${NV_OBJ}"
@@ -243,7 +126,6 @@ src_install-libs() {
"libnvidia-allocator.so.${NV_SOVER}"
"libnvidia-eglcore.so.${NV_SOVER}"
"libnvidia-encode.so.${NV_SOVER}"
- "libnvidia-fbc.so.${NV_SOVER}"
"libnvidia-glcore.so.${NV_SOVER}"
"libnvidia-glsi.so.${NV_SOVER}"
"libnvidia-glvkspirv.so.${NV_SOVER}"
@@ -255,22 +137,10 @@ src_install-libs() {
"libnvidia-ml.so.${NV_SOVER}"
"libnvidia-tls.so.${NV_SOVER}"
)
- if ! use libglvnd; then
- NV_GLX_LIBRARIES+=(
- "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
- "libGL.so.1.7.0 ${GL_ROOT}"
- "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
- "libGLESv2.so.2.1.0 ${GL_ROOT}"
- "libGLX.so.0 ${GL_ROOT}"
- "libGLdispatch.so.0 ${GL_ROOT}"
- "libOpenGL.so.0 ${GL_ROOT}"
- )
- fi
if has_multilib_profile && [[ ${ABI} == "amd64" ]]; then
NV_GLX_LIBRARIES+=(
"libnvidia-cbl.so.${NV_SOVER}"
- "libnvidia-cfg.so.${NV_SOVER}"
"libnvidia-ngx.so.${NV_SOVER}"
"libnvidia-rtcore.so.${NV_SOVER}"
"libnvoptix.so.${NV_SOVER}"
@@ -283,6 +153,82 @@ src_install-libs() {
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