summaryrefslogtreecommitdiff
path: root/x11-drivers/nvidia-drivers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-01-04 18:15:29 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-01-04 18:15:29 +0000
commit06309ca72984637cbc504fbf1b463bce3842ee54 (patch)
tree4177087a4af6e6163c3842d95e8757781638da11 /x11-drivers/nvidia-drivers
parenta2a4c24c40067b5cf36719753b49057aba960998 (diff)
x11-drivers/nvidia-drivers && x11-misc/nvidia-settings && sys-kernel/nvidia-drivers-dkms : drop old
Diffstat (limited to 'x11-drivers/nvidia-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest2
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-390.116-conf.patch28
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-430.34-conf.patch28
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.116.ebuild314
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-430.34.ebuild313
5 files changed, 0 insertions, 685 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 361546d1..7e56b5d2 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,4 +1,2 @@
-DIST NVIDIA-Linux-x86_64-390.116.run 82282245 BLAKE2B 4dc5a1455eca985be5831e8670f461a11af28a31b07a266b633e5547751871da2cbe5753bc5f11f8a109bda50387b422984d2afff2d7284d8564edb4405421b6 SHA512 6afad9db6c56d475e34f6f4ee7a8a8351e132aab69fd3ad467a5f559a70cebda09dbd3ecfddd699b59c50903b81450b00c9197d05e149c759c2bb5d0a72d6fe8
DIST NVIDIA-Linux-x86_64-390.132.run 82900057 BLAKE2B e94cc2493701e34c4dd2f0fc4f89501d6b1d3e44abf80af2eff20c19a22c1160ce322c25d2b5b13e212bf48fb41f94d3c1bb6f9251302e6c8facb687d807a3dc SHA512 bad3453472e8af9ef0681b82db75f9c53816a7d57ff2bf1facd2ea010e757bf7fd4fb907317471934a0cb56510eaf2a90503a3a86ec80b76afdacfa2b9ee6c13
-DIST NVIDIA-Linux-x86_64-430.34.run 110148373 BLAKE2B 300dbc3edc30048717f4a9643981a2846552fd310dd0651c497664c7979f7afde6f9e77e5b9fa45bea22ffe6562999cd305e4f3b878b8e39af19f8b3ee1c3f1a SHA512 a1548dce6e092e61fdc3e54bba7568087ec61b179bbd4572377a21cf7552e73c04a85da819f33f3f0c4f4ca0f49ef11400aef3f1d8dedf2aaf4a7f67097f871e
DIST NVIDIA-Linux-x86_64-440.44.run 141266881 BLAKE2B bc5ddcf9a6498c14bd9f9421a622bd647e83c8d296953923525680898548012cc9d01d078722a3194b6def5b5a90ed37b2dc08967a9603affabf449dbc87e69d SHA512 c0c0e19cdb82d47575adbcf46e23580977cf7a5097edfb9d76464c2e678a44f556d8c2d0d49515a86b6765f57176460193c6951927e24c278e6a7f411f89f26b
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.116-conf.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.116-conf.patch
deleted file mode 100644
index 39736f59..00000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.116-conf.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
---- a/kernel/dkms.conf 2018-03-22 05:39:53.000000000 +0000
-+++ b/kernel/dkms.conf 2018-04-09 16:18:23.177125417 +0100
-@@ -1,12 +1,20 @@
--PACKAGE_NAME="nvidia"
--PACKAGE_VERSION="__VERSION_STRING"
-+PACKAGE_NAME="nvidia-drivers-dkms"
-+PACKAGE_VERSION="390.116"
- 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} 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"
-+
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-430.34-conf.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-430.34-conf.patch
deleted file mode 100644
index a178c730..00000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-430.34-conf.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
---- a/kernel/dkms.conf 2019-05-09 19:10:50.000000000 +0100
-+++ b/kernel/dkms.conf 2019-06-22 16:04:07.646270011 +0100
-@@ -1,12 +1,20 @@
--PACKAGE_NAME="nvidia"
--PACKAGE_VERSION="__VERSION_STRING"
-+PACKAGE_NAME="nvidia-drivers-dkms"
-+PACKAGE_VERSION="430.26"
- 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} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' 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"
-+
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.116.ebuild
deleted file mode 100644
index fa8b8be0..00000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils flag-o-matic multilib-minimal portability toolchain-funcs unpacker
-
-NV_URI="http://http.download.nvidia.com/XFree86/"
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
-SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/390116"
-KEYWORDS="-* amd64"
-RESTRICT="bindist mirror"
-EMULTILIB_PKG="true"
-
-IUSE="acpi compat +dkms multilib +tools wayland +X"
-
-COMMON="
- app-eselect/eselect-opencl
- X? (
- >=app-eselect/eselect-opengl-1.0.9
- app-misc/pax-utils
- )"
-DEPEND="${COMMON}"
-PDEPEND="
- tools? ( x11-misc/nvidia-settings:${SLOT} )"
-RDEPEND="
- ${COMMON}
- acpi? ( sys-power/acpid )
- dkms? ( sys-kernel/${PN}-dkms:${SLOT} )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-
-QA_PREBUILT="opt/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/kernel-4.16.patch
- "${FILESDIR}"/"${P}"-conf.patch
-)
-
-S=${WORKDIR}/
-
-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
-}
-
-# 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
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- 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} \
- || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
- || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
-}
-
-src_install() {
- # Xorg DDX && GLX, GLVND, Vulkan ICD
- if use X; then
- insinto /usr/$(get_libdir)/xorg/modules/drivers
- doins ${NV_X11}/nvidia_drv.so
-
- donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
- /usr/$(get_libdir)/opengl/nvidia/extensions
-
- if has_version '>=x11-base/xorg-server-1.16'; then
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
- fi
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins ${NV_X11}/10_nvidia.json
-
- insinto /etc/vulkan/icd.d
- doins ${NV_X11}/nvidia_icd.json
- fi
-
- # Wayland
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins ${NV_X11}/10_nvidia_wayland.json
- fi
-
- # 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}
-
- # 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
- dobin ${NV_OBJ}/nvidia-bug-report.sh
-
- # 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
-
- # init
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- # manpages
- if use X ; then
- doman "${NV_MAN}"/nvidia-xconfig.1
- fi
-
- 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
-
- # docs
- newdoc "${NV_DOC}/README.txt" README
- dodoc "${NV_DOC}/NVIDIA_Changelog"
- docinto html
- dodoc -r ${NV_DOC}/html/*
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(get_install_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"
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
- 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.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
- "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
- "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLESv2.so.2.1.0 ${GL_ROOT}"
- "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLX.so.0 ${GL_ROOT}"
- "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLdispatch.so.0 ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libOpenGL.so.0 ${GL_ROOT}"
- "libcuda.so.${NV_SOVER}"
- "libnvcuvid.so.${NV_SOVER}"
- "libnvidia-compiler.so.${NV_SOVER}"
- "libnvidia-eglcore.so.${NV_SOVER}"
- "libnvidia-encode.so.${NV_SOVER}"
- "libnvidia-fatbinaryloader.so.${NV_SOVER}"
- "libnvidia-fbc.so.${NV_SOVER}"
- "libnvidia-glcore.so.${NV_SOVER}"
- "libnvidia-glsi.so.${NV_SOVER}"
- "libnvidia-ifr.so.${NV_SOVER}"
- "libnvidia-opencl.so.${NV_SOVER}"
- "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
- "libvdpau_nvidia.so.${NV_SOVER}"
- )
-
- if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.0.2"
- )
- fi
-
- if has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-wfb.so.${NV_SOVER}"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${NV_SOVER}"
- "tls/libnvidia-tls.so.${NV_SOVER}"
- )
-
- for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${NV_LIB}
- done
- 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 use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
- else
- elog "You have selected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
-
- "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
-}
-
-pkg_prerm() {
- if use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}
-
-pkg_postrm() {
- if use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-430.34.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-430.34.ebuild
deleted file mode 100644
index 78379b00..00000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-430.34.ebuild
+++ /dev/null
@@ -1,313 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils 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"
-HOMEPAGE="https://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
-SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/43034"
-KEYWORDS="-* amd64"
-RESTRICT="bindist mirror"
-EMULTILIB_PKG="true"
-
-IUSE="acpi compat +dkms multilib +tools wayland +X"
-
-COMMON="
- app-eselect/eselect-opencl
- X? (
- >=app-eselect/eselect-opengl-1.0.9
- app-misc/pax-utils
- )"
-DEPEND="${COMMON}"
-PDEPEND="
- tools? ( x11-misc/nvidia-settings:${SLOT} )"
-RDEPEND="
- ${COMMON}
- acpi? ( sys-power/acpid )
- dkms? ( sys-kernel/${PN}-dkms:${SLOT} )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-
-QA_PREBUILT="opt/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/"${P}"-conf.patch
-)
-
-S=${WORKDIR}/
-
-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
-}
-
-# 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
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- 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} \
- || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
- || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
-}
-
-src_install() {
- # 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
- if use kernel_linux; then
- donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
- donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
- fi
-
- 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)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- if has_version '>=x11-base/xorg-server-1.16'; then
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
- fi
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins ${NV_X11}/10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins ${NV_X11}/10_nvidia_wayland.json
- fi
-
- # 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
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
- 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
-
- #init
- 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 $(get_install_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"
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
- 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.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
- "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
- "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLESv2.so.2.1.0 ${GL_ROOT}"
- "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLX.so.0 ${GL_ROOT}"
- "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLdispatch.so.0 ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libOpenGL.so.0 ${GL_ROOT}"
- "libcuda.so.${NV_SOVER}"
- "libnvcuvid.so.${NV_SOVER}"
- "libnvidia-compiler.so.${NV_SOVER}"
- "libnvidia-eglcore.so.${NV_SOVER}"
- "libnvidia-encode.so.${NV_SOVER}"
- "libnvidia-fatbinaryloader.so.${NV_SOVER}"
- "libnvidia-fbc.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}"
- "libvdpau_nvidia.so.${NV_SOVER}"
- )
-
- if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.2"
- )
- fi
-
- if use kernel_FreeBSD; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-tls.so.${NV_SOVER}"
- )
- fi
-
- if use kernel_linux; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${NV_SOVER}"
- "libnvidia-tls.so.${NV_SOVER}"
- )
- fi
-
- if has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.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
-}
-
-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 use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
- "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
- else
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
-}
-
-pkg_prerm() {
- if use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}
-
-pkg_postrm() {
- if use X; then
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}