Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Sat, 27 Jun 2020 04:23:05
Message-Id: 1593231763.edfa9d11c5ff0592de39b960e5cfa9c445014e31.jer@gentoo
1 commit: edfa9d11c5ff0592de39b960e5cfa9c445014e31
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jun 27 04:21:21 2020 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 27 04:22:43 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=edfa9d11
7
8 x11-drivers/nvidia-drivers: Old
9
10 Package-Manager: Portage-2.3.103, Repoman-2.3.23
11 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
12
13 x11-drivers/nvidia-drivers/Manifest | 3 -
14 .../nvidia-drivers/nvidia-drivers-430.64-r4.ebuild | 564 --------------------
15 .../nvidia-drivers/nvidia-drivers-435.21-r4.ebuild | 582 --------------------
16 .../nvidia-drivers/nvidia-drivers-440.100.ebuild | 585 --------------------
17 .../nvidia-drivers/nvidia-drivers-440.82-r3.ebuild | 588 ---------------------
18 .../nvidia-drivers/nvidia-drivers-440.82-r4.ebuild | 588 ---------------------
19 .../nvidia-drivers/nvidia-drivers-450.51.ebuild | 586 --------------------
20 7 files changed, 3496 deletions(-)
21
22 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
23 index 846b306da5e..f7e1ccd8048 100644
24 --- a/x11-drivers/nvidia-drivers/Manifest
25 +++ b/x11-drivers/nvidia-drivers/Manifest
26 @@ -7,7 +7,6 @@ DIST NVIDIA-FreeBSD-x86_64-390.138.tar.gz 65280213 BLAKE2B 36d5651ceaf90cefcf9e8
27 DIST NVIDIA-FreeBSD-x86_64-430.64.tar.gz 62723909 BLAKE2B f3e48bc38a3ec051a75c08845b45c0ba6b80bca31d7efd85f115e6244f9cdff70c68466f9139f69c645207d4cf61103432d75c943d3f3508811d405fba55d1b6 SHA512 498a3007c065d8b17f94024f6ca80ffbe3dca253fdb73c4a08babede821e52f8466523b402af350e961f153c5f732eb04160937fabef1f1be3846a0a4743b310
28 DIST NVIDIA-FreeBSD-x86_64-435.21.tar.gz 64153630 BLAKE2B fee655cc843c004ac0c1ec85b9417292016a013136e04ad047d2513edbdc7c732561d6bcc4603c658905972dce6618de49d4d6ac583e84fdf212cf45397b48c1 SHA512 2c160c06ca58e3009deb1ba4a4a28d39419e251ced3bfa9a442942f9cce17003d67e8a8bfa23036d3916cc0e66f4bff0fbedaae73db6f10b995235a56d7eba7c
29 DIST NVIDIA-FreeBSD-x86_64-440.100.tar.gz 82523267 BLAKE2B 9d8eddcf3a58787a03fab207c197d722ff047f8bc840ea41e8d38815fbfab9e54759b9fbeaa26e3d147f54cb4a510eec421708d3bbb21197922f4dc175ed6df5 SHA512 96f57e1f308f0e5f00ef09a128e91a68ac55033893000e84cf4ff1a910a88798743c911b3effcc26c3f27ae224b733d8c2f87e9ec0596149f65ad7bcd71edbc5
30 -DIST NVIDIA-FreeBSD-x86_64-440.82.tar.gz 82289126 BLAKE2B b8d0a0c235bbc7a1bdeb6cde2a3c72b4b54044e6d22cdf9c275640349051f9c1aa1ce358f47b10b0917d15f359ccec579f43caf8e4ec7a142192061b9e61a7b7 SHA512 88c7ce2f3786a364befd5690e973eb82b12421d0abbd16cf88e0727a137ce0099fe606b577d325185f3ee85bace89da745cae000d8d8665548a283b5bb397095
31 DIST NVIDIA-FreeBSD-x86_64-450.51.tar.gz 82784766 BLAKE2B fbd0e71919b16db5957539c5b44a9d974e01d6ab42d5c292aaa4a4e06125d982e37607e28124ae63436eb1d3fcb1b7eb9e1e258b1644310d00d4eebf9fe17ae7 SHA512 0cba373609787e2cb341232a619b3d95bc6c4da8db27633f717ba5654e7717005089d6c2ef4801ff117e6f35f8fa522b600864cf440578cad9397b7f839e16fe
32 DIST NVIDIA-Linux-armv7l-gnueabihf-390.132.run 29084574 BLAKE2B 4727627de610928f0808c0213c9d359c5566900972ab9fbd3d0c58b36c0a1331799ceea22b4defdcfb81c3132f6124d8a6357de8124921eef608938afdc1380d SHA512 2f78a722ec31ceda86afc1831cb42d0eab8f8698b94c7fbc8569a6d34693b50e74453d5aaf3c0180f1fc2511b8c237ac635aceb24bcbea468f2a092cb44f98ee
33 DIST NVIDIA-Linux-armv7l-gnueabihf-390.138.run 28540622 BLAKE2B 342852dd6fa371f86d19547d73edef582fe3f04cf4f6e9ec247767951180671ba46f3ed2ee7bab11b0cf2f8bb1eb846b1d7481d318789c14ce79b54fefe0f830 SHA512 e04b8aca202c1df305f7b67ec372322494fa7b77f27cbf04f240527dcac0ce3ffa5e0e9df36b52045ac13fbc2f84b5033784040884ed19072f66f41385d11b97
34 @@ -20,7 +19,6 @@ DIST NVIDIA-Linux-x86_64-390.138.run 83780873 BLAKE2B 5e6a9d77dd2b9de17d92319810
35 DIST NVIDIA-Linux-x86_64-430.64.run 111331457 BLAKE2B 59d8b739bc472810eb896ef620735b6f21ccfde653e08f248797720d21d75580dcea2448f17a5d1c32be393595d9dfedc48c81e96a8ea422c7f0d9eadf36ae1c SHA512 552bf1e8c4725258c07cbb0e000d0e407fba1b51207903f2b77c0d9fd8b15b629f791b20239f75a1aec85aa03cbcca90a1cb633090919cf0599054231f715250
36 DIST NVIDIA-Linux-x86_64-435.21.run 144387574 BLAKE2B e9afd6335182a28f5136dbef55195a2f2d8f768376ebc148190a0a82470a34d008ce04170ffc1aab36585605910c1300567a90443b5f58cb46ec3bff6ab9409c SHA512 e83b6dff80434971c0b254815945d485a45c978b8a19994244f50a463658863948b2eac8bc62d667bb10c23f41cf1c3521c409d23ac2ab6a0c0cd094a6e20270
37 DIST NVIDIA-Linux-x86_64-440.100.run 144653408 BLAKE2B a62e6324f5ac6033c1c4b59486c86a6d4f81b240e5a7ddf9f861f9cfec4daedbe08ef3af6556c1cd4260a5a6fcd1b8bfed886ae617677d87c3a900d0e313267b SHA512 274b3a8e4c801b67a3f71f11da93134bc1a16a48bc85a6bf63265c00bb3fd8caf935dd23c85c40285a162e83c146bd5e34bb0b1d74fc34e7122bfc4c3a8c81e7
38 -DIST NVIDIA-Linux-x86_64-440.82.run 142872609 BLAKE2B 3ebef17002a788f145b61fb8c921f120324eac036ff4c7b972913e30ed830339fc971fd352f5e59ee3bb1b4a7a159dcf3e35d2f33ee37357c3f177aa605307ea SHA512 d86ed2cd715c5a9aebdd11ee562cfa454dbafdb1b468004cbb93d37ee258623f11144cf30b8b14996a4e093cb3119edc36d13152893d735e3536f49c45e2cca3
39 DIST NVIDIA-Linux-x86_64-450.51.run 140812490 BLAKE2B 927820fb30e0aac7d022acc82c969503e63be66045d7f10eee0af02b065251ecc4a0c95caef30cf0c2bb2e94de02f59b4469b26eaa801e67d6340184139b82ed SHA512 ddb63f28ddbfa9e5c1bacbd3a5e8d529072c98b09a54c745467ed3ce87e8d5ffef80e41848bb473104147554dbac7dd1d1283821ceef6de05d3a2f8538e2ca33
40 DIST nvidia-settings-340.108.tar.bz2 1550018 BLAKE2B 1acdfbcb0e7c02af33f5e86b9b140e356057efd9825fbc130971884ae76dd23765c2a0dbd00e1ac47bbff882f6d004e0a10c0195e6c6dce1408c72a00e0e6322 SHA512 d8b6dcbd3803af4da22cfffc039e1c050313f90b7ee86106a784863f7c203de9137ac2fee12aa800498cc56081dbe7e3aaa943c162037477ce97a07a237db41a
41 DIST nvidia-settings-390.132.tar.bz2 1109373 BLAKE2B cec60b7409f6d352afe3845a2ec65db96183d1fe009340fa3601166718f21b43bb08b63c5eaaaf4c266c7b16e7d374f6ecc00691763d5ae1b6902c8002da5bea SHA512 12553edc1a1ba9c3f578e0e921b25ec7114cbc80a55621cbd612a1bd85c9a518e221b30809058e4df5da6ae75ea7a1cd5c3d9c8f02a0898bc8c08ac9c22ccee3
42 @@ -28,5 +26,4 @@ DIST nvidia-settings-390.138.tar.bz2 1109175 BLAKE2B 4171c12de0a6fb97b655567d4cc
43 DIST nvidia-settings-430.64.tar.bz2 1130931 BLAKE2B 032bbe8cdb7ec3b353e8f8ef33d0e86f4b4f3ef24b38de669e09173519149efe0aa55d5d30d0a0c6d2b8398d5ce38bbe4176df735501725475df4137d533e57d SHA512 fa82699610aa0f4709101e1a4e9e8147b133c85afb20ecb4506bfccf233e4f42dac26e53e2966f2137eb29190b5e4173b267167f5341b516fa1169785946e240
44 DIST nvidia-settings-435.21.tar.bz2 1131222 BLAKE2B 855f5c7667f4a5ec0f917fbb017d70ec6ee5e768f7087e77e54a66dea852c471bd1810a2163fb33204e5f381998a27a4254e0a5d2c73e2b6b624813ff8294f24 SHA512 8b408cc70118df3a138a99fe7fc14f6370d500b8ae26888b27b07de22f6fc6eebd65bd437d83ee82e18a1d8ee4cceec601c414b1947302ca808fff48165f31bb
45 DIST nvidia-settings-440.100.tar.bz2 1129171 BLAKE2B bc8b28ae5743df50177c51a9269ef2b5d11c69dd9f30441179d81e42e7f77c54f327c87a7a5c6a410540bed35eb1ba0cc289b5b98a046deda376dccb29a8206b SHA512 4fe8fbbca1f805652235d898e8451ba89263c81f53e78da471b13ba0668d0d528d04d098b276df6fd2bf7ea7a219a3aa3c4d0bada0a483767c00c0654a5a8818
46 -DIST nvidia-settings-440.82.tar.bz2 1128498 BLAKE2B cc26d83b8ac8d609919db15b462b98976ad063026c39fdf58de36ce26a5b9a9ed5aca8e966f5b61c231ab1f7324a5530fb9779fccb999f39f79252570d62cb79 SHA512 8f9b546f65a1bd17f6336df9e62b0d1403581d3f60276793a536ff39bf67038def1c2738545b24b04eb465860f0cb97b5b9688d7dfb759fda567c05b1cc651ff
47 DIST nvidia-settings-450.51.tar.bz2 1056993 BLAKE2B a410593a3217023103c2c783c7a2ca0dee1c6a2af8dec1f0398159aa8192b307e4d27690b9987e879e863e7667b2d046f6128ca1634750863b58d4727b4d2a12 SHA512 6fd455c1910a3ff6105facc06ef65e29f88a0133794f27bf36b999cd513f5639a2c24c53bd5bca308730e6c66f10eda25d191bb815eee53d39b5632a1ce466e1
48
49 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-430.64-r4.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-430.64-r4.ebuild
50 deleted file mode 100644
51 index 487a8e632b5..00000000000
52 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-430.64-r4.ebuild
53 +++ /dev/null
54 @@ -1,564 +0,0 @@
55 -# Copyright 1999-2020 Gentoo Authors
56 -# Distributed under the terms of the GNU General Public License v2
57 -
58 -EAPI=7
59 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
60 - nvidia-driver portability systemd toolchain-funcs unpacker udev
61 -
62 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
63 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
64 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
65 -
66 -NV_URI="https://us.download.nvidia.com/XFree86/"
67 -SRC_URI="
68 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
69 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
70 - tools? (
71 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
72 - )
73 -"
74 -
75 -EMULTILIB_PKG="true"
76 -KEYWORDS="-* amd64"
77 -LICENSE="GPL-2 NVIDIA-r2"
78 -SLOT="0/${PV%.*}"
79 -
80 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
81 -REQUIRED_USE="
82 - tools? ( X )
83 - static-libs? ( tools )
84 -"
85 -
86 -COMMON="
87 - driver? ( kernel_linux? ( acct-group/video ) )
88 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
89 - tools? (
90 - dev-libs/atk
91 - dev-libs/glib:2
92 - dev-libs/jansson
93 - gtk3? (
94 - x11-libs/gtk+:3
95 - )
96 - x11-libs/cairo
97 - x11-libs/gdk-pixbuf[X]
98 - x11-libs/gtk+:2
99 - x11-libs/libX11
100 - x11-libs/libXext
101 - x11-libs/libXrandr
102 - x11-libs/libXv
103 - x11-libs/libXxf86vm
104 - x11-libs/pango[X]
105 - )
106 - X? (
107 - >=app-eselect/eselect-opengl-1.0.9
108 - app-misc/pax-utils
109 - )
110 -"
111 -DEPEND="
112 - ${COMMON}
113 - kernel_linux? ( virtual/linux-sources )
114 - tools? ( sys-apps/dbus )
115 -"
116 -RDEPEND="
117 - ${COMMON}
118 - tools? ( !media-video/nvidia-settings )
119 - uvm? ( >=virtual/opencl-3 )
120 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
121 - X? (
122 - <x11-base/xorg-server-1.20.99:=
123 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
124 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
125 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
126 - sys-libs/zlib[${MULTILIB_USEDEP}]
127 - )
128 -"
129 -QA_PREBUILT="opt/* usr/lib*"
130 -S=${WORKDIR}/
131 -NV_KV_MAX_PLUS="5.5"
132 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
133 -
134 -pkg_pretend() {
135 - nvidia-driver_check
136 -}
137 -
138 -pkg_setup() {
139 - nvidia-driver_check
140 -
141 - # try to turn off distcc and ccache for people that have a problem with it
142 - export DISTCC_DISABLE=1
143 - export CCACHE_DISABLE=1
144 -
145 - if use driver && use kernel_linux; then
146 - MODULE_NAMES="nvidia(video:${S}/kernel)"
147 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
148 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
149 -
150 - # This needs to run after MODULE_NAMES (so that the eclass checks
151 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
152 - # is set (so that KV_DIR is populated).
153 - linux-mod_pkg_setup
154 -
155 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
156 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
157 -
158 - # linux-mod_src_compile calls set_arch_to_kernel, which
159 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
160 - # expects x86_64 or i386 and then converts it to x86
161 - # later on in the build process
162 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
163 - fi
164 -
165 - if use kernel_linux && kernel_is lt 2 6 9; then
166 - eerror "You must build this against 2.6.9 or higher kernels."
167 - fi
168 -
169 - # set variables to where files are in the package structure
170 - if use kernel_FreeBSD; then
171 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
172 - NV_DOC="${S}/doc"
173 - NV_OBJ="${S}/obj"
174 - NV_SRC="${S}/src"
175 - NV_MAN="${S}/x11/man"
176 - NV_X11="${S}/obj"
177 - NV_SOVER=1
178 - elif use kernel_linux; then
179 - NV_DOC="${S}"
180 - NV_OBJ="${S}"
181 - NV_SRC="${S}/kernel"
182 - NV_MAN="${S}"
183 - NV_X11="${S}"
184 - NV_SOVER=${PV}
185 - else
186 - die "Could not determine proper NVIDIA package"
187 - fi
188 -}
189 -
190 -src_configure() {
191 - tc-export AR CC LD OBJCOPY
192 -
193 - default
194 -}
195 -
196 -src_prepare() {
197 - local man_file
198 - for man_file in "${NV_MAN}"/*1.gz; do
199 - gunzip $man_file || die
200 - done
201 -
202 - if use tools; then
203 - cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
204 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
205 - sed -i \
206 - -e "s:@PV@:${PV}:g" \
207 - "${WORKDIR}"/nvidia-settings-fno-common.patch \
208 - "${WORKDIR}"/nvidia-settings-linker.patch \
209 - || die
210 - eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
211 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
212 - fi
213 -
214 - default
215 -
216 - if ! [ -f nvidia_icd.json ]; then
217 - cp nvidia_icd.json.template nvidia_icd.json || die
218 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
219 - fi
220 -}
221 -
222 -src_compile() {
223 - cd "${NV_SRC}"
224 - if use kernel_FreeBSD; then
225 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
226 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
227 - elif use driver && use kernel_linux; then
228 - BUILD_TARGETS=module linux-mod_src_compile \
229 - KERNELRELEASE="${KV_FULL}" \
230 - src="${KERNEL_DIR}"
231 - fi
232 -
233 - if use tools; then
234 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
235 - DO_STRIP= \
236 - LIBDIR="$(get_libdir)" \
237 - NVLD="$(tc-getLD)" \
238 - NV_VERBOSE=1 \
239 - OUTPUTDIR=. \
240 - RANLIB="$(tc-getRANLIB)"
241 -
242 - emake -C "${S}"/nvidia-settings-${PV}/src \
243 - DO_STRIP= \
244 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
245 - LIBDIR="$(get_libdir)" \
246 - NVLD="$(tc-getLD)" \
247 - NVML_ENABLED=0 \
248 - NV_USE_BUNDLED_LIBJANSSON=0 \
249 - NV_VERBOSE=1 \
250 - OUTPUTDIR=.
251 - fi
252 -}
253 -
254 -# Install nvidia library:
255 -# the first parameter is the library to install
256 -# the second parameter is the provided soversion
257 -# the third parameter is the target directory if it is not /usr/lib
258 -donvidia() {
259 - # Full path to library
260 - nv_LIB="${1}"
261 -
262 - # SOVER to use
263 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
264 -
265 - # Where to install
266 - nv_DEST="${2}"
267 -
268 - # Get just the library name
269 - nv_LIBNAME=$(basename "${nv_LIB}")
270 -
271 - if [[ "${nv_DEST}" ]]; then
272 - exeinto ${nv_DEST}
273 - action="doexe"
274 - else
275 - nv_DEST="/usr/$(get_libdir)"
276 - action="dolib.so"
277 - fi
278 -
279 - # Install the library
280 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
281 -
282 - # If the library has a SONAME and SONAME does not match the library name,
283 - # then we need to create a symlink
284 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
285 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
286 - fi
287 -
288 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
289 -}
290 -
291 -src_install() {
292 - if use driver && use kernel_linux; then
293 - linux-mod_src_install
294 -
295 - # Add the aliases
296 - # This file is tweaked with the appropriate video group in
297 - # pkg_preinst, see bug #491414
298 - insinto /etc/modprobe.d
299 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
300 -
301 - if use uvm; then
302 - doins "${FILESDIR}"/nvidia-rmmod.conf
303 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
304 - else
305 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
306 - > "${T}"/nvidia-rmmod.conf || die
307 - doins "${T}"/nvidia-rmmod.conf
308 - fi
309 -
310 - # Ensures that our device nodes are created when not using X
311 - exeinto "$(get_udevdir)"
312 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
313 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
314 - elif use kernel_FreeBSD; then
315 - if use x86-fbsd; then
316 - insinto /boot/modules
317 - doins "${S}/src/nvidia.kld"
318 - fi
319 -
320 - exeinto /boot/modules
321 - doexe "${S}/src/nvidia.ko"
322 - fi
323 -
324 - # NVIDIA kernel <-> userspace driver config lib
325 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
326 -
327 - # NVIDIA framebuffer capture library
328 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
329 -
330 - # NVIDIA video encode/decode <-> CUDA
331 - if use kernel_linux; then
332 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
333 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
334 - fi
335 -
336 - if use X; then
337 - # Xorg DDX driver
338 - insinto /usr/$(get_libdir)/xorg/modules/drivers
339 - doins ${NV_X11}/nvidia_drv.so
340 -
341 - # Xorg GLX driver
342 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
343 - /usr/$(get_libdir)/xorg/modules/extensions
344 -
345 - # Xorg nvidia.conf
346 - if has_version '>=x11-base/xorg-server-1.16'; then
347 - insinto /usr/share/X11/xorg.conf.d
348 - newins {,50-}nvidia-drm-outputclass.conf
349 - fi
350 -
351 - insinto /usr/share/glvnd/egl_vendor.d
352 - doins ${NV_X11}/10_nvidia.json
353 - fi
354 -
355 - if use wayland; then
356 - insinto /usr/share/egl/egl_external_platform.d
357 - doins ${NV_X11}/10_nvidia_wayland.json
358 - fi
359 -
360 - # OpenCL ICD for NVIDIA
361 - if use kernel_linux; then
362 - insinto /etc/OpenCL/vendors
363 - doins ${NV_OBJ}/nvidia.icd
364 - fi
365 -
366 - # Helper Apps
367 - exeinto /opt/bin/
368 -
369 - if use X; then
370 - doexe ${NV_OBJ}/nvidia-xconfig
371 -
372 - insinto /etc/vulkan/icd.d
373 - doins nvidia_icd.json
374 - fi
375 -
376 - if use kernel_linux; then
377 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
378 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
379 - doexe ${NV_OBJ}/nvidia-debugdump
380 - doexe ${NV_OBJ}/nvidia-persistenced
381 - doexe ${NV_OBJ}/nvidia-smi
382 -
383 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
384 - doexe ${NV_OBJ}/nvidia-modprobe
385 - fowners root:video /opt/bin/nvidia-modprobe
386 - fperms 4710 /opt/bin/nvidia-modprobe
387 - dosym /{opt,usr}/bin/nvidia-modprobe
388 -
389 - doman nvidia-cuda-mps-control.1
390 - doman nvidia-modprobe.1
391 - doman nvidia-persistenced.1
392 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
393 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
394 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
395 - fi
396 -
397 - if use tools; then
398 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
399 - DESTDIR="${D}" \
400 - DO_STRIP= \
401 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
402 - LIBDIR="${D}/usr/$(get_libdir)" \
403 - NV_USE_BUNDLED_LIBJANSSON=0 \
404 - NV_VERBOSE=1 \
405 - OUTPUTDIR=. \
406 - PREFIX=/usr \
407 - install
408 -
409 - if use static-libs; then
410 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
411 -
412 - insinto /usr/include/NVCtrl
413 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
414 - fi
415 -
416 - insinto /usr/share/nvidia/
417 - doins nvidia-application-profiles-${PV}-key-documentation
418 -
419 - insinto /etc/nvidia
420 - newins \
421 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
422 -
423 - # There is no icon in the FreeBSD tarball.
424 - use kernel_FreeBSD || \
425 - doicon ${NV_OBJ}/nvidia-settings.png
426 -
427 - domenu "${FILESDIR}"/nvidia-settings.desktop
428 -
429 - exeinto /etc/X11/xinit/xinitrc.d
430 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
431 - fi
432 -
433 - dobin ${NV_OBJ}/nvidia-bug-report.sh
434 -
435 - systemd_dounit *.service
436 - dobin nvidia-sleep.sh
437 - exeinto $(systemd_get_utildir)/system-sleep
438 - doexe nvidia
439 -
440 - if has_multilib_profile && use multilib; then
441 - local OABI=${ABI}
442 - for ABI in $(get_install_abis); do
443 - src_install-libs
444 - done
445 - ABI=${OABI}
446 - unset OABI
447 - else
448 - src_install-libs
449 - fi
450 -
451 - is_final_abi || die "failed to iterate through all ABIs"
452 -
453 - # Documentation
454 - if use kernel_FreeBSD; then
455 - dodoc "${NV_DOC}/README"
456 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
457 - use tools && doman "${NV_MAN}"/nvidia-settings.1
458 - else
459 - # Docs
460 - newdoc "${NV_DOC}/README.txt" README
461 - dodoc "${NV_DOC}/NVIDIA_Changelog"
462 - doman "${NV_MAN}"/nvidia-smi.1
463 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
464 - use tools && doman "${NV_MAN}"/nvidia-settings.1
465 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
466 - fi
467 -
468 - readme.gentoo_create_doc
469 -
470 - docinto html
471 - dodoc -r ${NV_DOC}/html/*
472 -}
473 -
474 -src_install-libs() {
475 - local inslibdir=$(get_libdir)
476 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
477 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
478 - local nv_libdir="${NV_OBJ}"
479 -
480 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
481 - nv_libdir="${NV_OBJ}"/32
482 - fi
483 -
484 - if use X; then
485 - NV_GLX_LIBRARIES=(
486 - "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
487 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
488 - "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
489 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
490 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
491 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
492 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
493 - "libGLX.so.0 ${GL_ROOT}"
494 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
495 - "libGLdispatch.so.0 ${GL_ROOT}"
496 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
497 - "libOpenGL.so.0 ${GL_ROOT}"
498 - "libcuda.so.${NV_SOVER}"
499 - "libnvcuvid.so.${NV_SOVER}"
500 - "libnvidia-compiler.so.${NV_SOVER}"
501 - "libnvidia-eglcore.so.${NV_SOVER}"
502 - "libnvidia-encode.so.${NV_SOVER}"
503 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
504 - "libnvidia-fbc.so.${NV_SOVER}"
505 - "libnvidia-glcore.so.${NV_SOVER}"
506 - "libnvidia-glsi.so.${NV_SOVER}"
507 - "libnvidia-glvkspirv.so.${NV_SOVER}"
508 - "libnvidia-ifr.so.${NV_SOVER}"
509 - "libnvidia-opencl.so.${NV_SOVER}"
510 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
511 - "libvdpau_nvidia.so.${NV_SOVER}"
512 - )
513 -
514 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
515 - then
516 - NV_GLX_LIBRARIES+=(
517 - "libnvidia-egl-wayland.so.1.1.2"
518 - )
519 - fi
520 -
521 - if use kernel_FreeBSD; then
522 - NV_GLX_LIBRARIES+=(
523 - "libnvidia-tls.so.${NV_SOVER}"
524 - )
525 - fi
526 -
527 - if use kernel_linux; then
528 - NV_GLX_LIBRARIES+=(
529 - "libnvidia-ml.so.${NV_SOVER}"
530 - "libnvidia-tls.so.${NV_SOVER}"
531 - )
532 - fi
533 -
534 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
535 - then
536 - NV_GLX_LIBRARIES+=(
537 - "libnvidia-cbl.so.${NV_SOVER}"
538 - "libnvidia-rtcore.so.${NV_SOVER}"
539 - "libnvoptix.so.${NV_SOVER}"
540 - )
541 - fi
542 -
543 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
544 - donvidia "${nv_libdir}"/${NV_LIB}
545 - done
546 - fi
547 -}
548 -
549 -pkg_preinst() {
550 - if use driver && use kernel_linux; then
551 - linux-mod_pkg_preinst
552 -
553 - local videogroup="$(getent group video | cut -d ':' -f 3)"
554 - if [ -z "${videogroup}" ]; then
555 - eerror "Failed to determine the video group gid"
556 - die "Failed to determine the video group gid"
557 - else
558 - sed -i \
559 - -e "s:PACKAGE:${PF}:g" \
560 - -e "s:VIDEOGID:${videogroup}:" \
561 - "${D}"/etc/modprobe.d/nvidia.conf || die
562 - fi
563 - fi
564 -
565 - # Clean the dynamic libGL stuff's home to ensure
566 - # we dont have stale libs floating around
567 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
568 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
569 - fi
570 - # Make sure we nuke the old nvidia-glx's env.d file
571 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
572 - rm -f "${ROOT}"/etc/env.d/09nvidia
573 - fi
574 -}
575 -
576 -pkg_postinst() {
577 - use driver && use kernel_linux && linux-mod_pkg_postinst
578 -
579 - # Switch to the nvidia implementation
580 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
581 -
582 - readme.gentoo_print_elog
583 -
584 - if ! use X; then
585 - elog "You have elected to not install the X.org driver. Along with"
586 - elog "this the OpenGL libraries and VDPAU libraries were not"
587 - elog "installed. Additionally, once the driver is loaded your card"
588 - elog "and fan will run at max speed which may not be desirable."
589 - elog "Use the 'nvidia-smi' init script to have your card and fan"
590 - elog "speed scale appropriately."
591 - elog
592 - fi
593 - if ! use tools; then
594 - elog "USE=tools controls whether the nvidia-settings application"
595 - elog "is installed. If you would like to use it, enable that"
596 - elog "flag and re-emerge this ebuild. Optionally you can install"
597 - elog "media-video/nvidia-settings"
598 - elog
599 - fi
600 -
601 - elog "To enable nvidia sleep services under systemd, run these commands:"
602 - elog " systemctl enable nvidia-suspend.service"
603 - elog " systemctl enable nvidia-hibernate.service"
604 - elog " systemctl enable nvidia-resume.service"
605 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
606 - elog "suitable path in case the default of /tmp does not work for you"
607 - elog "For more information see:"
608 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
609 -}
610 -
611 -pkg_prerm() {
612 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
613 -}
614 -
615 -pkg_postrm() {
616 - use driver && use kernel_linux && linux-mod_pkg_postrm
617 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
618 -}
619
620 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-435.21-r4.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-435.21-r4.ebuild
621 deleted file mode 100644
622 index 655ae9ded1b..00000000000
623 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-435.21-r4.ebuild
624 +++ /dev/null
625 @@ -1,582 +0,0 @@
626 -# Copyright 1999-2020 Gentoo Authors
627 -# Distributed under the terms of the GNU General Public License v2
628 -
629 -EAPI=7
630 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
631 - nvidia-driver portability systemd toolchain-funcs unpacker udev
632 -
633 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
634 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
635 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
636 -
637 -NV_URI="https://us.download.nvidia.com/XFree86/"
638 -SRC_URI="
639 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
640 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
641 - tools? (
642 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
643 - )
644 -"
645 -
646 -EMULTILIB_PKG="true"
647 -KEYWORDS="-* amd64"
648 -LICENSE="GPL-2 NVIDIA-r2"
649 -SLOT="0/${PV%.*}"
650 -
651 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
652 -REQUIRED_USE="
653 - tools? ( X )
654 - static-libs? ( tools )
655 -"
656 -
657 -COMMON="
658 - driver? ( kernel_linux? ( acct-group/video ) )
659 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
660 - tools? (
661 - dev-libs/atk
662 - dev-libs/glib:2
663 - dev-libs/jansson
664 - gtk3? (
665 - x11-libs/gtk+:3
666 - )
667 - x11-libs/cairo
668 - x11-libs/gdk-pixbuf[X]
669 - x11-libs/gtk+:2
670 - x11-libs/libX11
671 - x11-libs/libXext
672 - x11-libs/libXrandr
673 - x11-libs/libXv
674 - x11-libs/libXxf86vm
675 - x11-libs/pango[X]
676 - )
677 - X? (
678 - !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
679 - libglvnd? (
680 - media-libs/libglvnd[${MULTILIB_USEDEP}]
681 - !app-eselect/eselect-opengl
682 - )
683 - app-misc/pax-utils
684 - )
685 -"
686 -DEPEND="
687 - ${COMMON}
688 - kernel_linux? ( virtual/linux-sources )
689 - tools? ( sys-apps/dbus )
690 -"
691 -RDEPEND="
692 - ${COMMON}
693 - tools? ( !media-video/nvidia-settings )
694 - uvm? ( >=virtual/opencl-3 )
695 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
696 - X? (
697 - <x11-base/xorg-server-1.20.99:=
698 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
699 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
700 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
701 - sys-libs/zlib[${MULTILIB_USEDEP}]
702 - )
703 -"
704 -QA_PREBUILT="opt/* usr/lib*"
705 -S=${WORKDIR}/
706 -NV_KV_MAX_PLUS="5.4"
707 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
708 -
709 -pkg_pretend() {
710 - nvidia-driver_check
711 -}
712 -
713 -pkg_setup() {
714 - nvidia-driver_check
715 -
716 - # try to turn off distcc and ccache for people that have a problem with it
717 - export DISTCC_DISABLE=1
718 - export CCACHE_DISABLE=1
719 -
720 - if use driver && use kernel_linux; then
721 - MODULE_NAMES="nvidia(video:${S}/kernel)"
722 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
723 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
724 -
725 - # This needs to run after MODULE_NAMES (so that the eclass checks
726 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
727 - # is set (so that KV_DIR is populated).
728 - linux-mod_pkg_setup
729 -
730 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
731 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
732 -
733 - # linux-mod_src_compile calls set_arch_to_kernel, which
734 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
735 - # expects x86_64 or i386 and then converts it to x86
736 - # later on in the build process
737 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
738 - fi
739 -
740 - if use kernel_linux && kernel_is lt 2 6 9; then
741 - eerror "You must build this against 2.6.9 or higher kernels."
742 - fi
743 -
744 - # set variables to where files are in the package structure
745 - if use kernel_FreeBSD; then
746 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
747 - NV_DOC="${S}/doc"
748 - NV_OBJ="${S}/obj"
749 - NV_SRC="${S}/src"
750 - NV_MAN="${S}/x11/man"
751 - NV_X11="${S}/obj"
752 - NV_SOVER=1
753 - elif use kernel_linux; then
754 - NV_DOC="${S}"
755 - NV_OBJ="${S}"
756 - NV_SRC="${S}/kernel"
757 - NV_MAN="${S}"
758 - NV_X11="${S}"
759 - NV_SOVER=${PV}
760 - else
761 - die "Could not determine proper NVIDIA package"
762 - fi
763 -}
764 -
765 -src_configure() {
766 - tc-export AR CC LD OBJCOPY
767 -
768 - default
769 -}
770 -
771 -src_prepare() {
772 - local man_file
773 - for man_file in "${NV_MAN}"/*1.gz; do
774 - gunzip $man_file || die
775 - done
776 -
777 - if use tools; then
778 - cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
779 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
780 - sed -i \
781 - -e "s:@PV@:${PV}:g" \
782 - "${WORKDIR}"/nvidia-settings-fno-common.patch \
783 - "${WORKDIR}"/nvidia-settings-linker.patch \
784 - || die
785 - eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
786 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
787 - fi
788 -
789 - default
790 -
791 - if ! [ -f nvidia_icd.json ]; then
792 - cp nvidia_icd.json.template nvidia_icd.json || die
793 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
794 - fi
795 -}
796 -
797 -src_compile() {
798 - cd "${NV_SRC}"
799 - if use kernel_FreeBSD; then
800 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
801 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
802 - elif use driver && use kernel_linux; then
803 - BUILD_TARGETS=module linux-mod_src_compile \
804 - KERNELRELEASE="${KV_FULL}" \
805 - src="${KERNEL_DIR}"
806 - fi
807 -
808 - if use tools; then
809 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
810 - DO_STRIP= \
811 - LIBDIR="$(get_libdir)" \
812 - NVLD="$(tc-getLD)" \
813 - NV_VERBOSE=1 \
814 - OUTPUTDIR=. \
815 - RANLIB="$(tc-getRANLIB)"
816 -
817 - emake -C "${S}"/nvidia-settings-${PV}/src \
818 - DO_STRIP= \
819 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
820 - LIBDIR="$(get_libdir)" \
821 - NVLD="$(tc-getLD)" \
822 - NVML_ENABLED=0 \
823 - NV_USE_BUNDLED_LIBJANSSON=0 \
824 - NV_VERBOSE=1 \
825 - OUTPUTDIR=.
826 - fi
827 -}
828 -
829 -# Install nvidia library:
830 -# the first parameter is the library to install
831 -# the second parameter is the provided soversion
832 -# the third parameter is the target directory if it is not /usr/lib
833 -donvidia() {
834 - # Full path to library
835 - nv_LIB="${1}"
836 -
837 - # SOVER to use
838 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
839 -
840 - # Where to install
841 - nv_DEST="${2}"
842 -
843 - # Get just the library name
844 - nv_LIBNAME=$(basename "${nv_LIB}")
845 -
846 - if [[ "${nv_DEST}" ]]; then
847 - exeinto ${nv_DEST}
848 - action="doexe"
849 - else
850 - nv_DEST="/usr/$(get_libdir)"
851 - action="dolib.so"
852 - fi
853 -
854 - # Install the library
855 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
856 -
857 - # If the library has a SONAME and SONAME does not match the library name,
858 - # then we need to create a symlink
859 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
860 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
861 - fi
862 -
863 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
864 -}
865 -
866 -src_install() {
867 - if use driver && use kernel_linux; then
868 - linux-mod_src_install
869 -
870 - # Add the aliases
871 - # This file is tweaked with the appropriate video group in
872 - # pkg_preinst, see bug #491414
873 - insinto /etc/modprobe.d
874 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
875 -
876 - if use uvm; then
877 - doins "${FILESDIR}"/nvidia-rmmod.conf
878 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
879 - else
880 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
881 - > "${T}"/nvidia-rmmod.conf || die
882 - doins "${T}"/nvidia-rmmod.conf
883 - fi
884 -
885 - # Ensures that our device nodes are created when not using X
886 - exeinto "$(get_udevdir)"
887 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
888 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
889 - elif use kernel_FreeBSD; then
890 - if use x86-fbsd; then
891 - insinto /boot/modules
892 - doins "${S}/src/nvidia.kld"
893 - fi
894 -
895 - exeinto /boot/modules
896 - doexe "${S}/src/nvidia.ko"
897 - fi
898 -
899 - # NVIDIA kernel <-> userspace driver config lib
900 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
901 -
902 - # NVIDIA framebuffer capture library
903 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
904 -
905 - # NVIDIA video encode/decode <-> CUDA
906 - if use kernel_linux; then
907 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
908 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
909 - fi
910 -
911 - if use X; then
912 - # Xorg DDX driver
913 - insinto /usr/$(get_libdir)/xorg/modules/drivers
914 - doins ${NV_X11}/nvidia_drv.so
915 -
916 - # Xorg GLX driver
917 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
918 - /usr/$(get_libdir)/xorg/modules/extensions
919 -
920 - # Xorg nvidia.conf
921 - if has_version '>=x11-base/xorg-server-1.16'; then
922 - insinto /usr/share/X11/xorg.conf.d
923 - newins {,50-}nvidia-drm-outputclass.conf
924 - fi
925 -
926 - insinto /usr/share/glvnd/egl_vendor.d
927 - doins ${NV_X11}/10_nvidia.json
928 - fi
929 -
930 - if use wayland; then
931 - insinto /usr/share/egl/egl_external_platform.d
932 - doins ${NV_X11}/10_nvidia_wayland.json
933 - fi
934 -
935 - # OpenCL ICD for NVIDIA
936 - if use kernel_linux; then
937 - insinto /etc/OpenCL/vendors
938 - doins ${NV_OBJ}/nvidia.icd
939 - fi
940 -
941 - # Helper Apps
942 - exeinto /opt/bin/
943 -
944 - if use X; then
945 - doexe ${NV_OBJ}/nvidia-xconfig
946 -
947 - insinto /etc/vulkan/icd.d
948 - doins nvidia_icd.json
949 - fi
950 -
951 - if use kernel_linux; then
952 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
953 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
954 - doexe ${NV_OBJ}/nvidia-debugdump
955 - doexe ${NV_OBJ}/nvidia-persistenced
956 - doexe ${NV_OBJ}/nvidia-smi
957 -
958 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
959 - doexe ${NV_OBJ}/nvidia-modprobe
960 - fowners root:video /opt/bin/nvidia-modprobe
961 - fperms 4710 /opt/bin/nvidia-modprobe
962 - dosym /{opt,usr}/bin/nvidia-modprobe
963 -
964 - doman nvidia-cuda-mps-control.1
965 - doman nvidia-modprobe.1
966 - doman nvidia-persistenced.1
967 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
968 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
969 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
970 - fi
971 -
972 - if use tools; then
973 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
974 - DESTDIR="${D}" \
975 - DO_STRIP= \
976 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
977 - LIBDIR="${D}/usr/$(get_libdir)" \
978 - NV_USE_BUNDLED_LIBJANSSON=0 \
979 - NV_VERBOSE=1 \
980 - OUTPUTDIR=. \
981 - PREFIX=/usr \
982 - install
983 -
984 - if use static-libs; then
985 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
986 -
987 - insinto /usr/include/NVCtrl
988 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
989 - fi
990 -
991 - insinto /usr/share/nvidia/
992 - doins nvidia-application-profiles-${PV}-key-documentation
993 -
994 - insinto /etc/nvidia
995 - newins \
996 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
997 -
998 - # There is no icon in the FreeBSD tarball.
999 - use kernel_FreeBSD || \
1000 - doicon ${NV_OBJ}/nvidia-settings.png
1001 -
1002 - domenu "${FILESDIR}"/nvidia-settings.desktop
1003 -
1004 - exeinto /etc/X11/xinit/xinitrc.d
1005 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
1006 - fi
1007 -
1008 - dobin ${NV_OBJ}/nvidia-bug-report.sh
1009 -
1010 - systemd_dounit *.service
1011 - dobin nvidia-sleep.sh
1012 - exeinto $(systemd_get_utildir)/system-sleep
1013 - doexe nvidia
1014 -
1015 - if has_multilib_profile && use multilib; then
1016 - local OABI=${ABI}
1017 - for ABI in $(get_install_abis); do
1018 - src_install-libs
1019 - done
1020 - ABI=${OABI}
1021 - unset OABI
1022 - else
1023 - src_install-libs
1024 - fi
1025 -
1026 - is_final_abi || die "failed to iterate through all ABIs"
1027 -
1028 - # Documentation
1029 - if use kernel_FreeBSD; then
1030 - dodoc "${NV_DOC}/README"
1031 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1032 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1033 - else
1034 - # Docs
1035 - newdoc "${NV_DOC}/README.txt" README
1036 - dodoc "${NV_DOC}/NVIDIA_Changelog"
1037 - doman "${NV_MAN}"/nvidia-smi.1
1038 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1039 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1040 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
1041 - fi
1042 -
1043 - readme.gentoo_create_doc
1044 -
1045 - docinto html
1046 - dodoc -r ${NV_DOC}/html/*
1047 -}
1048 -
1049 -src_install-libs() {
1050 - local inslibdir=$(get_libdir)
1051 - if use libglvnd; then
1052 - local GL_ROOT="/usr/$(get_libdir)"
1053 - else
1054 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
1055 - fi
1056 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
1057 - local nv_libdir="${NV_OBJ}"
1058 -
1059 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
1060 - nv_libdir="${NV_OBJ}"/32
1061 - fi
1062 -
1063 - if use X; then
1064 - NV_GLX_LIBRARIES=(
1065 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1066 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1067 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1068 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1069 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
1070 - "libcuda.so.${NV_SOVER}"
1071 - "libnvcuvid.so.${NV_SOVER}"
1072 - "libnvidia-compiler.so.${NV_SOVER}"
1073 - "libnvidia-eglcore.so.${NV_SOVER}"
1074 - "libnvidia-encode.so.${NV_SOVER}"
1075 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
1076 - "libnvidia-fbc.so.${NV_SOVER}"
1077 - "libnvidia-glcore.so.${NV_SOVER}"
1078 - "libnvidia-glsi.so.${NV_SOVER}"
1079 - "libnvidia-glvkspirv.so.${NV_SOVER}"
1080 - "libnvidia-ifr.so.${NV_SOVER}"
1081 - "libnvidia-opencl.so.${NV_SOVER}"
1082 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
1083 - "libvdpau_nvidia.so.${NV_SOVER}"
1084 - )
1085 - if ! use libglvnd; then
1086 - NV_GLX_LIBRARIES+=(
1087 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
1088 - "libGL.so.1.7.0 ${GL_ROOT}"
1089 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
1090 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
1091 - "libGLX.so.0 ${GL_ROOT}"
1092 - "libGLdispatch.so.0 ${GL_ROOT}"
1093 - "libOpenGL.so.0 ${GL_ROOT}"
1094 - )
1095 - fi
1096 -
1097 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1098 - then
1099 - NV_GLX_LIBRARIES+=(
1100 - "libnvidia-egl-wayland.so.1.1.3"
1101 - )
1102 - fi
1103 -
1104 - if use kernel_FreeBSD; then
1105 - NV_GLX_LIBRARIES+=(
1106 - "libnvidia-tls.so.${NV_SOVER}"
1107 - )
1108 - fi
1109 -
1110 - if use kernel_linux; then
1111 - NV_GLX_LIBRARIES+=(
1112 - "libnvidia-ml.so.${NV_SOVER}"
1113 - "libnvidia-tls.so.${NV_SOVER}"
1114 - )
1115 - fi
1116 -
1117 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1118 - then
1119 - NV_GLX_LIBRARIES+=(
1120 - "libnvidia-cbl.so.${NV_SOVER}"
1121 - "libnvidia-rtcore.so.${NV_SOVER}"
1122 - "libnvoptix.so.${NV_SOVER}"
1123 - )
1124 - fi
1125 -
1126 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
1127 - donvidia "${nv_libdir}"/${NV_LIB}
1128 - done
1129 - fi
1130 -}
1131 -
1132 -pkg_preinst() {
1133 - if use driver && use kernel_linux; then
1134 - linux-mod_pkg_preinst
1135 -
1136 - local videogroup="$(getent group video | cut -d ':' -f 3)"
1137 - if [ -z "${videogroup}" ]; then
1138 - eerror "Failed to determine the video group gid"
1139 - die "Failed to determine the video group gid"
1140 - else
1141 - sed -i \
1142 - -e "s:PACKAGE:${PF}:g" \
1143 - -e "s:VIDEOGID:${videogroup}:" \
1144 - "${D}"/etc/modprobe.d/nvidia.conf || die
1145 - fi
1146 - fi
1147 -
1148 - # Clean the dynamic libGL stuff's home to ensure
1149 - # we dont have stale libs floating around
1150 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
1151 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
1152 - fi
1153 - # Make sure we nuke the old nvidia-glx's env.d file
1154 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
1155 - rm -f "${ROOT}"/etc/env.d/09nvidia
1156 - fi
1157 -}
1158 -
1159 -pkg_postinst() {
1160 - use driver && use kernel_linux && linux-mod_pkg_postinst
1161 -
1162 - # Switch to the nvidia implementation
1163 - if ! use libglvnd; then
1164 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
1165 - fi
1166 -
1167 - readme.gentoo_print_elog
1168 -
1169 - if ! use X; then
1170 - elog "You have elected to not install the X.org driver. Along with"
1171 - elog "this the OpenGL libraries and VDPAU libraries were not"
1172 - elog "installed. Additionally, once the driver is loaded your card"
1173 - elog "and fan will run at max speed which may not be desirable."
1174 - elog "Use the 'nvidia-smi' init script to have your card and fan"
1175 - elog "speed scale appropriately."
1176 - elog
1177 - fi
1178 - if ! use tools; then
1179 - elog "USE=tools controls whether the nvidia-settings application"
1180 - elog "is installed. If you would like to use it, enable that"
1181 - elog "flag and re-emerge this ebuild. Optionally you can install"
1182 - elog "media-video/nvidia-settings"
1183 - elog
1184 - fi
1185 -
1186 - elog "To enable nvidia sleep services under systemd, run these commands:"
1187 - elog " systemctl enable nvidia-suspend.service"
1188 - elog " systemctl enable nvidia-hibernate.service"
1189 - elog " systemctl enable nvidia-resume.service"
1190 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
1191 - elog "suitable path in case the default of /tmp does not work for you"
1192 - elog "For more information see:"
1193 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
1194 -}
1195 -
1196 -pkg_prerm() {
1197 - if ! use libglvnd; then
1198 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
1199 - fi
1200 -}
1201 -
1202 -pkg_postrm() {
1203 - use driver && use kernel_linux && linux-mod_pkg_postrm
1204 - if ! use libglvnd; then
1205 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
1206 - fi
1207 -}
1208
1209 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-440.100.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-440.100.ebuild
1210 deleted file mode 100644
1211 index 74a74069bf6..00000000000
1212 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-440.100.ebuild
1213 +++ /dev/null
1214 @@ -1,585 +0,0 @@
1215 -# Copyright 1999-2020 Gentoo Authors
1216 -# Distributed under the terms of the GNU General Public License v2
1217 -
1218 -EAPI=7
1219 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
1220 - nvidia-driver portability systemd toolchain-funcs unpacker udev
1221 -
1222 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
1223 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
1224 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
1225 -
1226 -NV_URI="https://us.download.nvidia.com/XFree86/"
1227 -SRC_URI="
1228 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
1229 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
1230 - tools? (
1231 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
1232 - )
1233 -"
1234 -
1235 -EMULTILIB_PKG="true"
1236 -KEYWORDS="-* ~amd64"
1237 -LICENSE="GPL-2 NVIDIA-r2"
1238 -SLOT="0/${PV%.*}"
1239 -
1240 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
1241 -REQUIRED_USE="
1242 - tools? ( X )
1243 - static-libs? ( tools )
1244 -"
1245 -
1246 -COMMON="
1247 - driver? ( kernel_linux? ( acct-group/video ) )
1248 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
1249 - tools? (
1250 - dev-libs/atk
1251 - dev-libs/glib:2
1252 - dev-libs/jansson
1253 - gtk3? (
1254 - x11-libs/gtk+:3
1255 - )
1256 - x11-libs/cairo
1257 - x11-libs/gdk-pixbuf[X]
1258 - x11-libs/gtk+:2
1259 - x11-libs/libX11
1260 - x11-libs/libXext
1261 - x11-libs/libXrandr
1262 - x11-libs/libXv
1263 - x11-libs/libXxf86vm
1264 - x11-libs/pango[X]
1265 - )
1266 - X? (
1267 - !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
1268 - libglvnd? (
1269 - media-libs/libglvnd[${MULTILIB_USEDEP}]
1270 - !app-eselect/eselect-opengl
1271 - )
1272 - app-misc/pax-utils
1273 - )
1274 -"
1275 -DEPEND="
1276 - ${COMMON}
1277 - kernel_linux? ( virtual/linux-sources )
1278 - tools? ( sys-apps/dbus )
1279 -"
1280 -RDEPEND="
1281 - ${COMMON}
1282 - tools? ( !media-video/nvidia-settings )
1283 - uvm? ( >=virtual/opencl-3 )
1284 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
1285 - X? (
1286 - <x11-base/xorg-server-1.20.99:=
1287 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
1288 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
1289 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
1290 - sys-libs/zlib[${MULTILIB_USEDEP}]
1291 - )
1292 -"
1293 -QA_PREBUILT="opt/* usr/lib*"
1294 -S=${WORKDIR}/
1295 -PATCHES=(
1296 - "${FILESDIR}"/${PN}-440.26-locale.patch
1297 -)
1298 -NV_KV_MAX_PLUS="5.8"
1299 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
1300 -
1301 -pkg_pretend() {
1302 - nvidia-driver_check
1303 -}
1304 -
1305 -pkg_setup() {
1306 - nvidia-driver_check
1307 -
1308 - # try to turn off distcc and ccache for people that have a problem with it
1309 - export DISTCC_DISABLE=1
1310 - export CCACHE_DISABLE=1
1311 -
1312 - if use driver && use kernel_linux; then
1313 - MODULE_NAMES="nvidia(video:${S}/kernel)"
1314 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
1315 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
1316 -
1317 - # This needs to run after MODULE_NAMES (so that the eclass checks
1318 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
1319 - # is set (so that KV_DIR is populated).
1320 - linux-mod_pkg_setup
1321 -
1322 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
1323 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
1324 -
1325 - # linux-mod_src_compile calls set_arch_to_kernel, which
1326 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
1327 - # expects x86_64 or i386 and then converts it to x86
1328 - # later on in the build process
1329 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
1330 - fi
1331 -
1332 - if use kernel_linux && kernel_is lt 2 6 9; then
1333 - eerror "You must build this against 2.6.9 or higher kernels."
1334 - fi
1335 -
1336 - # set variables to where files are in the package structure
1337 - if use kernel_FreeBSD; then
1338 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
1339 - NV_DOC="${S}/doc"
1340 - NV_OBJ="${S}/obj"
1341 - NV_SRC="${S}/src"
1342 - NV_MAN="${S}/x11/man"
1343 - NV_X11="${S}/obj"
1344 - NV_SOVER=1
1345 - elif use kernel_linux; then
1346 - NV_DOC="${S}"
1347 - NV_OBJ="${S}"
1348 - NV_SRC="${S}/kernel"
1349 - NV_MAN="${S}"
1350 - NV_X11="${S}"
1351 - NV_SOVER=${PV}
1352 - else
1353 - die "Could not determine proper NVIDIA package"
1354 - fi
1355 -}
1356 -
1357 -src_configure() {
1358 - tc-export AR CC LD OBJCOPY
1359 -
1360 - default
1361 -}
1362 -
1363 -src_prepare() {
1364 - local man_file
1365 - for man_file in "${NV_MAN}"/*1.gz; do
1366 - gunzip $man_file || die
1367 - done
1368 -
1369 - if use tools; then
1370 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
1371 - sed -i \
1372 - -e "s:@PV@:${PV}:g" \
1373 - "${WORKDIR}"/nvidia-settings-linker.patch \
1374 - || die
1375 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
1376 - fi
1377 -
1378 - default
1379 -
1380 - if ! [ -f nvidia_icd.json ]; then
1381 - cp nvidia_icd.json.template nvidia_icd.json || die
1382 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
1383 - fi
1384 -}
1385 -
1386 -src_compile() {
1387 - cd "${NV_SRC}"
1388 - if use kernel_FreeBSD; then
1389 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
1390 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
1391 - elif use driver && use kernel_linux; then
1392 - BUILD_TARGETS=module linux-mod_src_compile \
1393 - KERNELRELEASE="${KV_FULL}" \
1394 - src="${KERNEL_DIR}"
1395 - fi
1396 -
1397 - if use tools; then
1398 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
1399 - DO_STRIP= \
1400 - LIBDIR="$(get_libdir)" \
1401 - NVLD="$(tc-getLD)" \
1402 - NV_VERBOSE=1 \
1403 - OUTPUTDIR=. \
1404 - RANLIB="$(tc-getRANLIB)"
1405 -
1406 - emake -C "${S}"/nvidia-settings-${PV}/src \
1407 - DO_STRIP= \
1408 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
1409 - LIBDIR="$(get_libdir)" \
1410 - NVLD="$(tc-getLD)" \
1411 - NVML_ENABLED=0 \
1412 - NV_USE_BUNDLED_LIBJANSSON=0 \
1413 - NV_VERBOSE=1 \
1414 - OUTPUTDIR=.
1415 - fi
1416 -}
1417 -
1418 -# Install nvidia library:
1419 -# the first parameter is the library to install
1420 -# the second parameter is the provided soversion
1421 -# the third parameter is the target directory if it is not /usr/lib
1422 -donvidia() {
1423 - # Full path to library
1424 - nv_LIB="${1}"
1425 -
1426 - # SOVER to use
1427 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
1428 -
1429 - # Where to install
1430 - nv_DEST="${2}"
1431 -
1432 - # Get just the library name
1433 - nv_LIBNAME=$(basename "${nv_LIB}")
1434 -
1435 - if [[ "${nv_DEST}" ]]; then
1436 - exeinto ${nv_DEST}
1437 - action="doexe"
1438 - else
1439 - nv_DEST="/usr/$(get_libdir)"
1440 - action="dolib.so"
1441 - fi
1442 -
1443 - # Install the library
1444 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
1445 -
1446 - # If the library has a SONAME and SONAME does not match the library name,
1447 - # then we need to create a symlink
1448 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
1449 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
1450 - fi
1451 -
1452 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
1453 -}
1454 -
1455 -src_install() {
1456 - if use driver && use kernel_linux; then
1457 - linux-mod_src_install
1458 -
1459 - # Add the aliases
1460 - # This file is tweaked with the appropriate video group in
1461 - # pkg_preinst, see bug #491414
1462 - insinto /etc/modprobe.d
1463 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
1464 -
1465 - if use uvm; then
1466 - doins "${FILESDIR}"/nvidia-rmmod.conf
1467 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
1468 - else
1469 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
1470 - > "${T}"/nvidia-rmmod.conf || die
1471 - doins "${T}"/nvidia-rmmod.conf
1472 - fi
1473 -
1474 - # Ensures that our device nodes are created when not using X
1475 - exeinto "$(get_udevdir)"
1476 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
1477 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
1478 - elif use kernel_FreeBSD; then
1479 - if use x86-fbsd; then
1480 - insinto /boot/modules
1481 - doins "${S}/src/nvidia.kld"
1482 - fi
1483 -
1484 - exeinto /boot/modules
1485 - doexe "${S}/src/nvidia.ko"
1486 - fi
1487 -
1488 - # NVIDIA kernel <-> userspace driver config lib
1489 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
1490 -
1491 - # NVIDIA framebuffer capture library
1492 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
1493 -
1494 - # NVIDIA video encode/decode <-> CUDA
1495 - if use kernel_linux; then
1496 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
1497 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
1498 - fi
1499 -
1500 - if use X; then
1501 - # Xorg DDX driver
1502 - insinto /usr/$(get_libdir)/xorg/modules/drivers
1503 - doins ${NV_X11}/nvidia_drv.so
1504 -
1505 - # Xorg GLX driver
1506 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
1507 - /usr/$(get_libdir)/xorg/modules/extensions
1508 -
1509 - # Xorg nvidia.conf
1510 - if has_version '>=x11-base/xorg-server-1.16'; then
1511 - insinto /usr/share/X11/xorg.conf.d
1512 - newins {,50-}nvidia-drm-outputclass.conf
1513 - fi
1514 -
1515 - insinto /usr/share/glvnd/egl_vendor.d
1516 - doins ${NV_X11}/10_nvidia.json
1517 - fi
1518 -
1519 - if use wayland; then
1520 - insinto /usr/share/egl/egl_external_platform.d
1521 - doins ${NV_X11}/10_nvidia_wayland.json
1522 - fi
1523 -
1524 - # OpenCL ICD for NVIDIA
1525 - if use kernel_linux; then
1526 - insinto /etc/OpenCL/vendors
1527 - doins ${NV_OBJ}/nvidia.icd
1528 - fi
1529 -
1530 - # Helper Apps
1531 - exeinto /opt/bin/
1532 -
1533 - if use X; then
1534 - doexe ${NV_OBJ}/nvidia-xconfig
1535 -
1536 - insinto /etc/vulkan/icd.d
1537 - doins nvidia_icd.json
1538 -
1539 - insinto /etc/vulkan/implicit_layer.d
1540 - doins nvidia_layers.json
1541 - fi
1542 -
1543 - if use kernel_linux; then
1544 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
1545 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
1546 - doexe ${NV_OBJ}/nvidia-debugdump
1547 - doexe ${NV_OBJ}/nvidia-persistenced
1548 - doexe ${NV_OBJ}/nvidia-smi
1549 -
1550 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
1551 - doexe ${NV_OBJ}/nvidia-modprobe
1552 - fowners root:video /opt/bin/nvidia-modprobe
1553 - fperms 4710 /opt/bin/nvidia-modprobe
1554 - dosym /{opt,usr}/bin/nvidia-modprobe
1555 -
1556 - doman nvidia-cuda-mps-control.1
1557 - doman nvidia-modprobe.1
1558 - doman nvidia-persistenced.1
1559 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
1560 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
1561 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
1562 - fi
1563 -
1564 - if use tools; then
1565 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
1566 - DESTDIR="${D}" \
1567 - DO_STRIP= \
1568 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
1569 - LIBDIR="${D}/usr/$(get_libdir)" \
1570 - NV_USE_BUNDLED_LIBJANSSON=0 \
1571 - NV_VERBOSE=1 \
1572 - OUTPUTDIR=. \
1573 - PREFIX=/usr \
1574 - install
1575 -
1576 - if use static-libs; then
1577 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
1578 -
1579 - insinto /usr/include/NVCtrl
1580 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
1581 - fi
1582 -
1583 - insinto /usr/share/nvidia/
1584 - doins nvidia-application-profiles-${PV}-key-documentation
1585 -
1586 - insinto /etc/nvidia
1587 - newins \
1588 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
1589 -
1590 - # There is no icon in the FreeBSD tarball.
1591 - use kernel_FreeBSD || \
1592 - doicon ${NV_OBJ}/nvidia-settings.png
1593 -
1594 - domenu "${FILESDIR}"/nvidia-settings.desktop
1595 -
1596 - exeinto /etc/X11/xinit/xinitrc.d
1597 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
1598 - fi
1599 -
1600 - dobin ${NV_OBJ}/nvidia-bug-report.sh
1601 -
1602 - systemd_dounit *.service
1603 - dobin nvidia-sleep.sh
1604 - exeinto $(systemd_get_utildir)/system-sleep
1605 - doexe nvidia
1606 -
1607 - if has_multilib_profile && use multilib; then
1608 - local OABI=${ABI}
1609 - for ABI in $(get_install_abis); do
1610 - src_install-libs
1611 - done
1612 - ABI=${OABI}
1613 - unset OABI
1614 - else
1615 - src_install-libs
1616 - fi
1617 -
1618 - is_final_abi || die "failed to iterate through all ABIs"
1619 -
1620 - # Documentation
1621 - if use kernel_FreeBSD; then
1622 - dodoc "${NV_DOC}/README"
1623 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1624 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1625 - else
1626 - # Docs
1627 - newdoc "${NV_DOC}/README.txt" README
1628 - dodoc "${NV_DOC}/NVIDIA_Changelog"
1629 - doman "${NV_MAN}"/nvidia-smi.1
1630 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1631 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1632 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
1633 - fi
1634 -
1635 - readme.gentoo_create_doc
1636 -
1637 - docinto html
1638 - dodoc -r ${NV_DOC}/html/*
1639 -}
1640 -
1641 -src_install-libs() {
1642 - local inslibdir=$(get_libdir)
1643 - if use libglvnd; then
1644 - local GL_ROOT="/usr/$(get_libdir)"
1645 - else
1646 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
1647 - fi
1648 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
1649 - local nv_libdir="${NV_OBJ}"
1650 -
1651 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
1652 - nv_libdir="${NV_OBJ}"/32
1653 - fi
1654 -
1655 - if use X; then
1656 - NV_GLX_LIBRARIES=(
1657 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1658 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1659 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1660 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1661 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
1662 - "libcuda.so.${NV_SOVER}"
1663 - "libnvcuvid.so.${NV_SOVER}"
1664 - "libnvidia-compiler.so.${NV_SOVER}"
1665 - "libnvidia-eglcore.so.${NV_SOVER}"
1666 - "libnvidia-encode.so.${NV_SOVER}"
1667 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
1668 - "libnvidia-fbc.so.${NV_SOVER}"
1669 - "libnvidia-glcore.so.${NV_SOVER}"
1670 - "libnvidia-glsi.so.${NV_SOVER}"
1671 - "libnvidia-glvkspirv.so.${NV_SOVER}"
1672 - "libnvidia-ifr.so.${NV_SOVER}"
1673 - "libnvidia-opencl.so.${NV_SOVER}"
1674 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
1675 - "libvdpau_nvidia.so.${NV_SOVER}"
1676 - )
1677 - if ! use libglvnd; then
1678 - NV_GLX_LIBRARIES+=(
1679 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
1680 - "libGL.so.1.7.0 ${GL_ROOT}"
1681 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
1682 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
1683 - "libGLX.so.0 ${GL_ROOT}"
1684 - "libGLdispatch.so.0 ${GL_ROOT}"
1685 - "libOpenGL.so.0 ${GL_ROOT}"
1686 - )
1687 - fi
1688 -
1689 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1690 - then
1691 - NV_GLX_LIBRARIES+=(
1692 - "libnvidia-egl-wayland.so.1.1.4"
1693 - )
1694 - fi
1695 -
1696 - if use kernel_FreeBSD; then
1697 - NV_GLX_LIBRARIES+=(
1698 - "libnvidia-tls.so.${NV_SOVER}"
1699 - )
1700 - fi
1701 -
1702 - if use kernel_linux; then
1703 - NV_GLX_LIBRARIES+=(
1704 - "libnvidia-ml.so.${NV_SOVER}"
1705 - "libnvidia-tls.so.${NV_SOVER}"
1706 - )
1707 - fi
1708 -
1709 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1710 - then
1711 - NV_GLX_LIBRARIES+=(
1712 - "libnvidia-cbl.so.${NV_SOVER}"
1713 - "libnvidia-rtcore.so.${NV_SOVER}"
1714 - "libnvoptix.so.${NV_SOVER}"
1715 - )
1716 - fi
1717 -
1718 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
1719 - donvidia "${nv_libdir}"/${NV_LIB}
1720 - done
1721 - fi
1722 -}
1723 -
1724 -pkg_preinst() {
1725 - if use driver && use kernel_linux; then
1726 - linux-mod_pkg_preinst
1727 -
1728 - local videogroup="$(getent group video | cut -d ':' -f 3)"
1729 - if [ -z "${videogroup}" ]; then
1730 - eerror "Failed to determine the video group gid"
1731 - die "Failed to determine the video group gid"
1732 - else
1733 - sed -i \
1734 - -e "s:PACKAGE:${PF}:g" \
1735 - -e "s:VIDEOGID:${videogroup}:" \
1736 - "${D}"/etc/modprobe.d/nvidia.conf || die
1737 - fi
1738 - fi
1739 -
1740 - # Clean the dynamic libGL stuff's home to ensure
1741 - # we dont have stale libs floating around
1742 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
1743 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
1744 - fi
1745 - # Make sure we nuke the old nvidia-glx's env.d file
1746 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
1747 - rm -f "${ROOT}"/etc/env.d/09nvidia
1748 - fi
1749 -}
1750 -
1751 -pkg_postinst() {
1752 - use driver && use kernel_linux && linux-mod_pkg_postinst
1753 -
1754 - # Switch to the nvidia implementation
1755 - if ! use libglvnd; then
1756 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
1757 - fi
1758 -
1759 - readme.gentoo_print_elog
1760 -
1761 - if ! use X; then
1762 - elog "You have elected to not install the X.org driver. Along with"
1763 - elog "this the OpenGL libraries and VDPAU libraries were not"
1764 - elog "installed. Additionally, once the driver is loaded your card"
1765 - elog "and fan will run at max speed which may not be desirable."
1766 - elog "Use the 'nvidia-smi' init script to have your card and fan"
1767 - elog "speed scale appropriately."
1768 - elog
1769 - fi
1770 - if ! use tools; then
1771 - elog "USE=tools controls whether the nvidia-settings application"
1772 - elog "is installed. If you would like to use it, enable that"
1773 - elog "flag and re-emerge this ebuild. Optionally you can install"
1774 - elog "media-video/nvidia-settings"
1775 - elog
1776 - fi
1777 -
1778 - elog "To enable nvidia sleep services under systemd, run these commands:"
1779 - elog " systemctl enable nvidia-suspend.service"
1780 - elog " systemctl enable nvidia-hibernate.service"
1781 - elog " systemctl enable nvidia-resume.service"
1782 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
1783 - elog "suitable path in case the default of /tmp does not work for you"
1784 - elog "For more information see:"
1785 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
1786 -}
1787 -
1788 -pkg_prerm() {
1789 - if ! use libglvnd; then
1790 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
1791 - fi
1792 -}
1793 -
1794 -pkg_postrm() {
1795 - use driver && use kernel_linux && linux-mod_pkg_postrm
1796 - if ! use libglvnd; then
1797 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
1798 - fi
1799 -}
1800
1801 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r3.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r3.ebuild
1802 deleted file mode 100644
1803 index 325a3407e3e..00000000000
1804 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r3.ebuild
1805 +++ /dev/null
1806 @@ -1,588 +0,0 @@
1807 -# Copyright 1999-2020 Gentoo Authors
1808 -# Distributed under the terms of the GNU General Public License v2
1809 -
1810 -EAPI=7
1811 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
1812 - nvidia-driver portability systemd toolchain-funcs unpacker udev
1813 -
1814 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
1815 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
1816 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
1817 -
1818 -NV_URI="https://us.download.nvidia.com/XFree86/"
1819 -SRC_URI="
1820 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
1821 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
1822 - tools? (
1823 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
1824 - )
1825 -"
1826 -
1827 -EMULTILIB_PKG="true"
1828 -KEYWORDS="-* amd64"
1829 -LICENSE="GPL-2 NVIDIA-r2"
1830 -SLOT="0/${PV%.*}"
1831 -
1832 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
1833 -REQUIRED_USE="
1834 - tools? ( X )
1835 - static-libs? ( tools )
1836 -"
1837 -
1838 -COMMON="
1839 - driver? ( kernel_linux? ( acct-group/video ) )
1840 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
1841 - tools? (
1842 - dev-libs/atk
1843 - dev-libs/glib:2
1844 - dev-libs/jansson
1845 - gtk3? (
1846 - x11-libs/gtk+:3
1847 - )
1848 - x11-libs/cairo
1849 - x11-libs/gdk-pixbuf[X]
1850 - x11-libs/gtk+:2
1851 - x11-libs/libX11
1852 - x11-libs/libXext
1853 - x11-libs/libXrandr
1854 - x11-libs/libXv
1855 - x11-libs/libXxf86vm
1856 - x11-libs/pango[X]
1857 - )
1858 - X? (
1859 - !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
1860 - libglvnd? (
1861 - media-libs/libglvnd[${MULTILIB_USEDEP}]
1862 - !app-eselect/eselect-opengl
1863 - )
1864 - app-misc/pax-utils
1865 - )
1866 -"
1867 -DEPEND="
1868 - ${COMMON}
1869 - kernel_linux? ( virtual/linux-sources )
1870 - tools? ( sys-apps/dbus )
1871 -"
1872 -RDEPEND="
1873 - ${COMMON}
1874 - tools? ( !media-video/nvidia-settings )
1875 - uvm? ( >=virtual/opencl-3 )
1876 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
1877 - X? (
1878 - <x11-base/xorg-server-1.20.99:=
1879 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
1880 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
1881 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
1882 - sys-libs/zlib[${MULTILIB_USEDEP}]
1883 - )
1884 -"
1885 -QA_PREBUILT="opt/* usr/lib*"
1886 -S=${WORKDIR}/
1887 -PATCHES=(
1888 - "${FILESDIR}"/${PN}-440.26-locale.patch
1889 -)
1890 -NV_KV_MAX_PLUS="5.7"
1891 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
1892 -
1893 -pkg_pretend() {
1894 - nvidia-driver_check
1895 -}
1896 -
1897 -pkg_setup() {
1898 - nvidia-driver_check
1899 -
1900 - # try to turn off distcc and ccache for people that have a problem with it
1901 - export DISTCC_DISABLE=1
1902 - export CCACHE_DISABLE=1
1903 -
1904 - if use driver && use kernel_linux; then
1905 - MODULE_NAMES="nvidia(video:${S}/kernel)"
1906 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
1907 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
1908 -
1909 - # This needs to run after MODULE_NAMES (so that the eclass checks
1910 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
1911 - # is set (so that KV_DIR is populated).
1912 - linux-mod_pkg_setup
1913 -
1914 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
1915 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
1916 -
1917 - # linux-mod_src_compile calls set_arch_to_kernel, which
1918 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
1919 - # expects x86_64 or i386 and then converts it to x86
1920 - # later on in the build process
1921 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
1922 - fi
1923 -
1924 - if use kernel_linux && kernel_is lt 2 6 9; then
1925 - eerror "You must build this against 2.6.9 or higher kernels."
1926 - fi
1927 -
1928 - # set variables to where files are in the package structure
1929 - if use kernel_FreeBSD; then
1930 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
1931 - NV_DOC="${S}/doc"
1932 - NV_OBJ="${S}/obj"
1933 - NV_SRC="${S}/src"
1934 - NV_MAN="${S}/x11/man"
1935 - NV_X11="${S}/obj"
1936 - NV_SOVER=1
1937 - elif use kernel_linux; then
1938 - NV_DOC="${S}"
1939 - NV_OBJ="${S}"
1940 - NV_SRC="${S}/kernel"
1941 - NV_MAN="${S}"
1942 - NV_X11="${S}"
1943 - NV_SOVER=${PV}
1944 - else
1945 - die "Could not determine proper NVIDIA package"
1946 - fi
1947 -}
1948 -
1949 -src_configure() {
1950 - tc-export AR CC LD OBJCOPY
1951 -
1952 - default
1953 -}
1954 -
1955 -src_prepare() {
1956 - local man_file
1957 - for man_file in "${NV_MAN}"/*1.gz; do
1958 - gunzip $man_file || die
1959 - done
1960 -
1961 - if use tools; then
1962 - cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
1963 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
1964 - sed -i \
1965 - -e "s:@PV@:${PV}:g" \
1966 - "${WORKDIR}"/nvidia-settings-fno-common.patch \
1967 - "${WORKDIR}"/nvidia-settings-linker.patch \
1968 - || die
1969 - eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
1970 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
1971 - fi
1972 -
1973 - default
1974 -
1975 - if ! [ -f nvidia_icd.json ]; then
1976 - cp nvidia_icd.json.template nvidia_icd.json || die
1977 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
1978 - fi
1979 -}
1980 -
1981 -src_compile() {
1982 - cd "${NV_SRC}"
1983 - if use kernel_FreeBSD; then
1984 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
1985 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
1986 - elif use driver && use kernel_linux; then
1987 - BUILD_TARGETS=module linux-mod_src_compile \
1988 - KERNELRELEASE="${KV_FULL}" \
1989 - src="${KERNEL_DIR}"
1990 - fi
1991 -
1992 - if use tools; then
1993 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
1994 - DO_STRIP= \
1995 - LIBDIR="$(get_libdir)" \
1996 - NVLD="$(tc-getLD)" \
1997 - NV_VERBOSE=1 \
1998 - OUTPUTDIR=. \
1999 - RANLIB="$(tc-getRANLIB)"
2000 -
2001 - emake -C "${S}"/nvidia-settings-${PV}/src \
2002 - DO_STRIP= \
2003 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
2004 - LIBDIR="$(get_libdir)" \
2005 - NVLD="$(tc-getLD)" \
2006 - NVML_ENABLED=0 \
2007 - NV_USE_BUNDLED_LIBJANSSON=0 \
2008 - NV_VERBOSE=1 \
2009 - OUTPUTDIR=.
2010 - fi
2011 -}
2012 -
2013 -# Install nvidia library:
2014 -# the first parameter is the library to install
2015 -# the second parameter is the provided soversion
2016 -# the third parameter is the target directory if it is not /usr/lib
2017 -donvidia() {
2018 - # Full path to library
2019 - nv_LIB="${1}"
2020 -
2021 - # SOVER to use
2022 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
2023 -
2024 - # Where to install
2025 - nv_DEST="${2}"
2026 -
2027 - # Get just the library name
2028 - nv_LIBNAME=$(basename "${nv_LIB}")
2029 -
2030 - if [[ "${nv_DEST}" ]]; then
2031 - exeinto ${nv_DEST}
2032 - action="doexe"
2033 - else
2034 - nv_DEST="/usr/$(get_libdir)"
2035 - action="dolib.so"
2036 - fi
2037 -
2038 - # Install the library
2039 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
2040 -
2041 - # If the library has a SONAME and SONAME does not match the library name,
2042 - # then we need to create a symlink
2043 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
2044 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
2045 - fi
2046 -
2047 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
2048 -}
2049 -
2050 -src_install() {
2051 - if use driver && use kernel_linux; then
2052 - linux-mod_src_install
2053 -
2054 - # Add the aliases
2055 - # This file is tweaked with the appropriate video group in
2056 - # pkg_preinst, see bug #491414
2057 - insinto /etc/modprobe.d
2058 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
2059 -
2060 - if use uvm; then
2061 - doins "${FILESDIR}"/nvidia-rmmod.conf
2062 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
2063 - else
2064 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
2065 - > "${T}"/nvidia-rmmod.conf || die
2066 - doins "${T}"/nvidia-rmmod.conf
2067 - fi
2068 -
2069 - # Ensures that our device nodes are created when not using X
2070 - exeinto "$(get_udevdir)"
2071 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
2072 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
2073 - elif use kernel_FreeBSD; then
2074 - if use x86-fbsd; then
2075 - insinto /boot/modules
2076 - doins "${S}/src/nvidia.kld"
2077 - fi
2078 -
2079 - exeinto /boot/modules
2080 - doexe "${S}/src/nvidia.ko"
2081 - fi
2082 -
2083 - # NVIDIA kernel <-> userspace driver config lib
2084 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
2085 -
2086 - # NVIDIA framebuffer capture library
2087 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
2088 -
2089 - # NVIDIA video encode/decode <-> CUDA
2090 - if use kernel_linux; then
2091 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
2092 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
2093 - fi
2094 -
2095 - if use X; then
2096 - # Xorg DDX driver
2097 - insinto /usr/$(get_libdir)/xorg/modules/drivers
2098 - doins ${NV_X11}/nvidia_drv.so
2099 -
2100 - # Xorg GLX driver
2101 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
2102 - /usr/$(get_libdir)/xorg/modules/extensions
2103 -
2104 - # Xorg nvidia.conf
2105 - if has_version '>=x11-base/xorg-server-1.16'; then
2106 - insinto /usr/share/X11/xorg.conf.d
2107 - newins {,50-}nvidia-drm-outputclass.conf
2108 - fi
2109 -
2110 - insinto /usr/share/glvnd/egl_vendor.d
2111 - doins ${NV_X11}/10_nvidia.json
2112 - fi
2113 -
2114 - if use wayland; then
2115 - insinto /usr/share/egl/egl_external_platform.d
2116 - doins ${NV_X11}/10_nvidia_wayland.json
2117 - fi
2118 -
2119 - # OpenCL ICD for NVIDIA
2120 - if use kernel_linux; then
2121 - insinto /etc/OpenCL/vendors
2122 - doins ${NV_OBJ}/nvidia.icd
2123 - fi
2124 -
2125 - # Helper Apps
2126 - exeinto /opt/bin/
2127 -
2128 - if use X; then
2129 - doexe ${NV_OBJ}/nvidia-xconfig
2130 -
2131 - insinto /etc/vulkan/icd.d
2132 - doins nvidia_icd.json
2133 -
2134 - insinto /etc/vulkan/implicit_layer.d
2135 - doins nvidia_layers.json
2136 - fi
2137 -
2138 - if use kernel_linux; then
2139 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
2140 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
2141 - doexe ${NV_OBJ}/nvidia-debugdump
2142 - doexe ${NV_OBJ}/nvidia-persistenced
2143 - doexe ${NV_OBJ}/nvidia-smi
2144 -
2145 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
2146 - doexe ${NV_OBJ}/nvidia-modprobe
2147 - fowners root:video /opt/bin/nvidia-modprobe
2148 - fperms 4710 /opt/bin/nvidia-modprobe
2149 - dosym /{opt,usr}/bin/nvidia-modprobe
2150 -
2151 - doman nvidia-cuda-mps-control.1
2152 - doman nvidia-modprobe.1
2153 - doman nvidia-persistenced.1
2154 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
2155 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
2156 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
2157 - fi
2158 -
2159 - if use tools; then
2160 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
2161 - DESTDIR="${D}" \
2162 - DO_STRIP= \
2163 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
2164 - LIBDIR="${D}/usr/$(get_libdir)" \
2165 - NV_USE_BUNDLED_LIBJANSSON=0 \
2166 - NV_VERBOSE=1 \
2167 - OUTPUTDIR=. \
2168 - PREFIX=/usr \
2169 - install
2170 -
2171 - if use static-libs; then
2172 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
2173 -
2174 - insinto /usr/include/NVCtrl
2175 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
2176 - fi
2177 -
2178 - insinto /usr/share/nvidia/
2179 - doins nvidia-application-profiles-${PV}-key-documentation
2180 -
2181 - insinto /etc/nvidia
2182 - newins \
2183 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
2184 -
2185 - # There is no icon in the FreeBSD tarball.
2186 - use kernel_FreeBSD || \
2187 - doicon ${NV_OBJ}/nvidia-settings.png
2188 -
2189 - domenu "${FILESDIR}"/nvidia-settings.desktop
2190 -
2191 - exeinto /etc/X11/xinit/xinitrc.d
2192 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
2193 - fi
2194 -
2195 - dobin ${NV_OBJ}/nvidia-bug-report.sh
2196 -
2197 - systemd_dounit *.service
2198 - dobin nvidia-sleep.sh
2199 - exeinto /lib/systemd/system-sleep
2200 - doexe nvidia
2201 -
2202 - if has_multilib_profile && use multilib; then
2203 - local OABI=${ABI}
2204 - for ABI in $(get_install_abis); do
2205 - src_install-libs
2206 - done
2207 - ABI=${OABI}
2208 - unset OABI
2209 - else
2210 - src_install-libs
2211 - fi
2212 -
2213 - is_final_abi || die "failed to iterate through all ABIs"
2214 -
2215 - # Documentation
2216 - if use kernel_FreeBSD; then
2217 - dodoc "${NV_DOC}/README"
2218 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
2219 - use tools && doman "${NV_MAN}"/nvidia-settings.1
2220 - else
2221 - # Docs
2222 - newdoc "${NV_DOC}/README.txt" README
2223 - dodoc "${NV_DOC}/NVIDIA_Changelog"
2224 - doman "${NV_MAN}"/nvidia-smi.1
2225 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
2226 - use tools && doman "${NV_MAN}"/nvidia-settings.1
2227 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
2228 - fi
2229 -
2230 - readme.gentoo_create_doc
2231 -
2232 - docinto html
2233 - dodoc -r ${NV_DOC}/html/*
2234 -}
2235 -
2236 -src_install-libs() {
2237 - local inslibdir=$(get_libdir)
2238 - if use libglvnd; then
2239 - local GL_ROOT="/usr/$(get_libdir)"
2240 - else
2241 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
2242 - fi
2243 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
2244 - local nv_libdir="${NV_OBJ}"
2245 -
2246 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
2247 - nv_libdir="${NV_OBJ}"/32
2248 - fi
2249 -
2250 - if use X; then
2251 - NV_GLX_LIBRARIES=(
2252 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2253 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2254 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2255 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2256 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
2257 - "libcuda.so.${NV_SOVER}"
2258 - "libnvcuvid.so.${NV_SOVER}"
2259 - "libnvidia-compiler.so.${NV_SOVER}"
2260 - "libnvidia-eglcore.so.${NV_SOVER}"
2261 - "libnvidia-encode.so.${NV_SOVER}"
2262 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
2263 - "libnvidia-fbc.so.${NV_SOVER}"
2264 - "libnvidia-glcore.so.${NV_SOVER}"
2265 - "libnvidia-glsi.so.${NV_SOVER}"
2266 - "libnvidia-glvkspirv.so.${NV_SOVER}"
2267 - "libnvidia-ifr.so.${NV_SOVER}"
2268 - "libnvidia-opencl.so.${NV_SOVER}"
2269 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
2270 - "libvdpau_nvidia.so.${NV_SOVER}"
2271 - )
2272 - if ! use libglvnd; then
2273 - NV_GLX_LIBRARIES+=(
2274 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
2275 - "libGL.so.1.7.0 ${GL_ROOT}"
2276 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
2277 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
2278 - "libGLX.so.0 ${GL_ROOT}"
2279 - "libGLdispatch.so.0 ${GL_ROOT}"
2280 - "libOpenGL.so.0 ${GL_ROOT}"
2281 - )
2282 - fi
2283 -
2284 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
2285 - then
2286 - NV_GLX_LIBRARIES+=(
2287 - "libnvidia-egl-wayland.so.1.1.4"
2288 - )
2289 - fi
2290 -
2291 - if use kernel_FreeBSD; then
2292 - NV_GLX_LIBRARIES+=(
2293 - "libnvidia-tls.so.${NV_SOVER}"
2294 - )
2295 - fi
2296 -
2297 - if use kernel_linux; then
2298 - NV_GLX_LIBRARIES+=(
2299 - "libnvidia-ml.so.${NV_SOVER}"
2300 - "libnvidia-tls.so.${NV_SOVER}"
2301 - )
2302 - fi
2303 -
2304 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
2305 - then
2306 - NV_GLX_LIBRARIES+=(
2307 - "libnvidia-cbl.so.${NV_SOVER}"
2308 - "libnvidia-rtcore.so.${NV_SOVER}"
2309 - "libnvoptix.so.${NV_SOVER}"
2310 - )
2311 - fi
2312 -
2313 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
2314 - donvidia "${nv_libdir}"/${NV_LIB}
2315 - done
2316 - fi
2317 -}
2318 -
2319 -pkg_preinst() {
2320 - if use driver && use kernel_linux; then
2321 - linux-mod_pkg_preinst
2322 -
2323 - local videogroup="$(getent group video | cut -d ':' -f 3)"
2324 - if [ -z "${videogroup}" ]; then
2325 - eerror "Failed to determine the video group gid"
2326 - die "Failed to determine the video group gid"
2327 - else
2328 - sed -i \
2329 - -e "s:PACKAGE:${PF}:g" \
2330 - -e "s:VIDEOGID:${videogroup}:" \
2331 - "${D}"/etc/modprobe.d/nvidia.conf || die
2332 - fi
2333 - fi
2334 -
2335 - # Clean the dynamic libGL stuff's home to ensure
2336 - # we dont have stale libs floating around
2337 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
2338 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
2339 - fi
2340 - # Make sure we nuke the old nvidia-glx's env.d file
2341 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
2342 - rm -f "${ROOT}"/etc/env.d/09nvidia
2343 - fi
2344 -}
2345 -
2346 -pkg_postinst() {
2347 - use driver && use kernel_linux && linux-mod_pkg_postinst
2348 -
2349 - # Switch to the nvidia implementation
2350 - if ! use libglvnd; then
2351 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
2352 - fi
2353 -
2354 - readme.gentoo_print_elog
2355 -
2356 - if ! use X; then
2357 - elog "You have elected to not install the X.org driver. Along with"
2358 - elog "this the OpenGL libraries and VDPAU libraries were not"
2359 - elog "installed. Additionally, once the driver is loaded your card"
2360 - elog "and fan will run at max speed which may not be desirable."
2361 - elog "Use the 'nvidia-smi' init script to have your card and fan"
2362 - elog "speed scale appropriately."
2363 - elog
2364 - fi
2365 - if ! use tools; then
2366 - elog "USE=tools controls whether the nvidia-settings application"
2367 - elog "is installed. If you would like to use it, enable that"
2368 - elog "flag and re-emerge this ebuild. Optionally you can install"
2369 - elog "media-video/nvidia-settings"
2370 - elog
2371 - fi
2372 -
2373 - elog "To enable nvidia sleep services under systemd, run these commands:"
2374 - elog " systemctl enable nvidia-suspend.service"
2375 - elog " systemctl enable nvidia-hibernate.service"
2376 - elog " systemctl enable nvidia-resume.service"
2377 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
2378 - elog "suitable path in case the default of /tmp does not work for you"
2379 - elog "For more information see:"
2380 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
2381 -}
2382 -
2383 -pkg_prerm() {
2384 - if ! use libglvnd; then
2385 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
2386 - fi
2387 -}
2388 -
2389 -pkg_postrm() {
2390 - use driver && use kernel_linux && linux-mod_pkg_postrm
2391 - if ! use libglvnd; then
2392 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
2393 - fi
2394 -}
2395
2396 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r4.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r4.ebuild
2397 deleted file mode 100644
2398 index 64fbf07f8a8..00000000000
2399 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-440.82-r4.ebuild
2400 +++ /dev/null
2401 @@ -1,588 +0,0 @@
2402 -# Copyright 1999-2020 Gentoo Authors
2403 -# Distributed under the terms of the GNU General Public License v2
2404 -
2405 -EAPI=7
2406 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
2407 - nvidia-driver portability systemd toolchain-funcs unpacker udev
2408 -
2409 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
2410 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
2411 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
2412 -
2413 -NV_URI="https://us.download.nvidia.com/XFree86/"
2414 -SRC_URI="
2415 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
2416 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
2417 - tools? (
2418 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
2419 - )
2420 -"
2421 -
2422 -EMULTILIB_PKG="true"
2423 -KEYWORDS="-* ~amd64"
2424 -LICENSE="GPL-2 NVIDIA-r2"
2425 -SLOT="0/${PV%.*}"
2426 -
2427 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
2428 -REQUIRED_USE="
2429 - tools? ( X )
2430 - static-libs? ( tools )
2431 -"
2432 -
2433 -COMMON="
2434 - driver? ( kernel_linux? ( acct-group/video ) )
2435 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
2436 - tools? (
2437 - dev-libs/atk
2438 - dev-libs/glib:2
2439 - dev-libs/jansson
2440 - gtk3? (
2441 - x11-libs/gtk+:3
2442 - )
2443 - x11-libs/cairo
2444 - x11-libs/gdk-pixbuf[X]
2445 - x11-libs/gtk+:2
2446 - x11-libs/libX11
2447 - x11-libs/libXext
2448 - x11-libs/libXrandr
2449 - x11-libs/libXv
2450 - x11-libs/libXxf86vm
2451 - x11-libs/pango[X]
2452 - )
2453 - X? (
2454 - !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
2455 - libglvnd? (
2456 - media-libs/libglvnd[${MULTILIB_USEDEP}]
2457 - !app-eselect/eselect-opengl
2458 - )
2459 - app-misc/pax-utils
2460 - )
2461 -"
2462 -DEPEND="
2463 - ${COMMON}
2464 - kernel_linux? ( virtual/linux-sources )
2465 - tools? ( sys-apps/dbus )
2466 -"
2467 -RDEPEND="
2468 - ${COMMON}
2469 - tools? ( !media-video/nvidia-settings )
2470 - uvm? ( >=virtual/opencl-3 )
2471 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
2472 - X? (
2473 - <x11-base/xorg-server-1.20.99:=
2474 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
2475 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
2476 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
2477 - sys-libs/zlib[${MULTILIB_USEDEP}]
2478 - )
2479 -"
2480 -QA_PREBUILT="opt/* usr/lib*"
2481 -S=${WORKDIR}/
2482 -PATCHES=(
2483 - "${FILESDIR}"/${PN}-440.26-locale.patch
2484 -)
2485 -NV_KV_MAX_PLUS="5.7"
2486 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
2487 -
2488 -pkg_pretend() {
2489 - nvidia-driver_check
2490 -}
2491 -
2492 -pkg_setup() {
2493 - nvidia-driver_check
2494 -
2495 - # try to turn off distcc and ccache for people that have a problem with it
2496 - export DISTCC_DISABLE=1
2497 - export CCACHE_DISABLE=1
2498 -
2499 - if use driver && use kernel_linux; then
2500 - MODULE_NAMES="nvidia(video:${S}/kernel)"
2501 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
2502 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
2503 -
2504 - # This needs to run after MODULE_NAMES (so that the eclass checks
2505 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
2506 - # is set (so that KV_DIR is populated).
2507 - linux-mod_pkg_setup
2508 -
2509 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
2510 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
2511 -
2512 - # linux-mod_src_compile calls set_arch_to_kernel, which
2513 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
2514 - # expects x86_64 or i386 and then converts it to x86
2515 - # later on in the build process
2516 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
2517 - fi
2518 -
2519 - if use kernel_linux && kernel_is lt 2 6 9; then
2520 - eerror "You must build this against 2.6.9 or higher kernels."
2521 - fi
2522 -
2523 - # set variables to where files are in the package structure
2524 - if use kernel_FreeBSD; then
2525 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
2526 - NV_DOC="${S}/doc"
2527 - NV_OBJ="${S}/obj"
2528 - NV_SRC="${S}/src"
2529 - NV_MAN="${S}/x11/man"
2530 - NV_X11="${S}/obj"
2531 - NV_SOVER=1
2532 - elif use kernel_linux; then
2533 - NV_DOC="${S}"
2534 - NV_OBJ="${S}"
2535 - NV_SRC="${S}/kernel"
2536 - NV_MAN="${S}"
2537 - NV_X11="${S}"
2538 - NV_SOVER=${PV}
2539 - else
2540 - die "Could not determine proper NVIDIA package"
2541 - fi
2542 -}
2543 -
2544 -src_configure() {
2545 - tc-export AR CC LD OBJCOPY
2546 -
2547 - default
2548 -}
2549 -
2550 -src_prepare() {
2551 - local man_file
2552 - for man_file in "${NV_MAN}"/*1.gz; do
2553 - gunzip $man_file || die
2554 - done
2555 -
2556 - if use tools; then
2557 - cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
2558 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
2559 - sed -i \
2560 - -e "s:@PV@:${PV}:g" \
2561 - "${WORKDIR}"/nvidia-settings-fno-common.patch \
2562 - "${WORKDIR}"/nvidia-settings-linker.patch \
2563 - || die
2564 - eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
2565 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
2566 - fi
2567 -
2568 - default
2569 -
2570 - if ! [ -f nvidia_icd.json ]; then
2571 - cp nvidia_icd.json.template nvidia_icd.json || die
2572 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
2573 - fi
2574 -}
2575 -
2576 -src_compile() {
2577 - cd "${NV_SRC}"
2578 - if use kernel_FreeBSD; then
2579 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
2580 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
2581 - elif use driver && use kernel_linux; then
2582 - BUILD_TARGETS=module linux-mod_src_compile \
2583 - KERNELRELEASE="${KV_FULL}" \
2584 - src="${KERNEL_DIR}"
2585 - fi
2586 -
2587 - if use tools; then
2588 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
2589 - DO_STRIP= \
2590 - LIBDIR="$(get_libdir)" \
2591 - NVLD="$(tc-getLD)" \
2592 - NV_VERBOSE=1 \
2593 - OUTPUTDIR=. \
2594 - RANLIB="$(tc-getRANLIB)"
2595 -
2596 - emake -C "${S}"/nvidia-settings-${PV}/src \
2597 - DO_STRIP= \
2598 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
2599 - LIBDIR="$(get_libdir)" \
2600 - NVLD="$(tc-getLD)" \
2601 - NVML_ENABLED=0 \
2602 - NV_USE_BUNDLED_LIBJANSSON=0 \
2603 - NV_VERBOSE=1 \
2604 - OUTPUTDIR=.
2605 - fi
2606 -}
2607 -
2608 -# Install nvidia library:
2609 -# the first parameter is the library to install
2610 -# the second parameter is the provided soversion
2611 -# the third parameter is the target directory if it is not /usr/lib
2612 -donvidia() {
2613 - # Full path to library
2614 - nv_LIB="${1}"
2615 -
2616 - # SOVER to use
2617 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
2618 -
2619 - # Where to install
2620 - nv_DEST="${2}"
2621 -
2622 - # Get just the library name
2623 - nv_LIBNAME=$(basename "${nv_LIB}")
2624 -
2625 - if [[ "${nv_DEST}" ]]; then
2626 - exeinto ${nv_DEST}
2627 - action="doexe"
2628 - else
2629 - nv_DEST="/usr/$(get_libdir)"
2630 - action="dolib.so"
2631 - fi
2632 -
2633 - # Install the library
2634 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
2635 -
2636 - # If the library has a SONAME and SONAME does not match the library name,
2637 - # then we need to create a symlink
2638 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
2639 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
2640 - fi
2641 -
2642 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
2643 -}
2644 -
2645 -src_install() {
2646 - if use driver && use kernel_linux; then
2647 - linux-mod_src_install
2648 -
2649 - # Add the aliases
2650 - # This file is tweaked with the appropriate video group in
2651 - # pkg_preinst, see bug #491414
2652 - insinto /etc/modprobe.d
2653 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
2654 -
2655 - if use uvm; then
2656 - doins "${FILESDIR}"/nvidia-rmmod.conf
2657 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
2658 - else
2659 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
2660 - > "${T}"/nvidia-rmmod.conf || die
2661 - doins "${T}"/nvidia-rmmod.conf
2662 - fi
2663 -
2664 - # Ensures that our device nodes are created when not using X
2665 - exeinto "$(get_udevdir)"
2666 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
2667 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
2668 - elif use kernel_FreeBSD; then
2669 - if use x86-fbsd; then
2670 - insinto /boot/modules
2671 - doins "${S}/src/nvidia.kld"
2672 - fi
2673 -
2674 - exeinto /boot/modules
2675 - doexe "${S}/src/nvidia.ko"
2676 - fi
2677 -
2678 - # NVIDIA kernel <-> userspace driver config lib
2679 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
2680 -
2681 - # NVIDIA framebuffer capture library
2682 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
2683 -
2684 - # NVIDIA video encode/decode <-> CUDA
2685 - if use kernel_linux; then
2686 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
2687 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
2688 - fi
2689 -
2690 - if use X; then
2691 - # Xorg DDX driver
2692 - insinto /usr/$(get_libdir)/xorg/modules/drivers
2693 - doins ${NV_X11}/nvidia_drv.so
2694 -
2695 - # Xorg GLX driver
2696 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
2697 - /usr/$(get_libdir)/xorg/modules/extensions
2698 -
2699 - # Xorg nvidia.conf
2700 - if has_version '>=x11-base/xorg-server-1.16'; then
2701 - insinto /usr/share/X11/xorg.conf.d
2702 - newins {,50-}nvidia-drm-outputclass.conf
2703 - fi
2704 -
2705 - insinto /usr/share/glvnd/egl_vendor.d
2706 - doins ${NV_X11}/10_nvidia.json
2707 - fi
2708 -
2709 - if use wayland; then
2710 - insinto /usr/share/egl/egl_external_platform.d
2711 - doins ${NV_X11}/10_nvidia_wayland.json
2712 - fi
2713 -
2714 - # OpenCL ICD for NVIDIA
2715 - if use kernel_linux; then
2716 - insinto /etc/OpenCL/vendors
2717 - doins ${NV_OBJ}/nvidia.icd
2718 - fi
2719 -
2720 - # Helper Apps
2721 - exeinto /opt/bin/
2722 -
2723 - if use X; then
2724 - doexe ${NV_OBJ}/nvidia-xconfig
2725 -
2726 - insinto /etc/vulkan/icd.d
2727 - doins nvidia_icd.json
2728 -
2729 - insinto /etc/vulkan/implicit_layer.d
2730 - doins nvidia_layers.json
2731 - fi
2732 -
2733 - if use kernel_linux; then
2734 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
2735 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
2736 - doexe ${NV_OBJ}/nvidia-debugdump
2737 - doexe ${NV_OBJ}/nvidia-persistenced
2738 - doexe ${NV_OBJ}/nvidia-smi
2739 -
2740 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
2741 - doexe ${NV_OBJ}/nvidia-modprobe
2742 - fowners root:video /opt/bin/nvidia-modprobe
2743 - fperms 4710 /opt/bin/nvidia-modprobe
2744 - dosym /{opt,usr}/bin/nvidia-modprobe
2745 -
2746 - doman nvidia-cuda-mps-control.1
2747 - doman nvidia-modprobe.1
2748 - doman nvidia-persistenced.1
2749 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
2750 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
2751 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
2752 - fi
2753 -
2754 - if use tools; then
2755 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
2756 - DESTDIR="${D}" \
2757 - DO_STRIP= \
2758 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
2759 - LIBDIR="${D}/usr/$(get_libdir)" \
2760 - NV_USE_BUNDLED_LIBJANSSON=0 \
2761 - NV_VERBOSE=1 \
2762 - OUTPUTDIR=. \
2763 - PREFIX=/usr \
2764 - install
2765 -
2766 - if use static-libs; then
2767 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
2768 -
2769 - insinto /usr/include/NVCtrl
2770 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
2771 - fi
2772 -
2773 - insinto /usr/share/nvidia/
2774 - doins nvidia-application-profiles-${PV}-key-documentation
2775 -
2776 - insinto /etc/nvidia
2777 - newins \
2778 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
2779 -
2780 - # There is no icon in the FreeBSD tarball.
2781 - use kernel_FreeBSD || \
2782 - doicon ${NV_OBJ}/nvidia-settings.png
2783 -
2784 - domenu "${FILESDIR}"/nvidia-settings.desktop
2785 -
2786 - exeinto /etc/X11/xinit/xinitrc.d
2787 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
2788 - fi
2789 -
2790 - dobin ${NV_OBJ}/nvidia-bug-report.sh
2791 -
2792 - systemd_dounit *.service
2793 - dobin nvidia-sleep.sh
2794 - exeinto /lib/systemd/system-sleep
2795 - doexe nvidia
2796 -
2797 - if has_multilib_profile && use multilib; then
2798 - local OABI=${ABI}
2799 - for ABI in $(get_install_abis); do
2800 - src_install-libs
2801 - done
2802 - ABI=${OABI}
2803 - unset OABI
2804 - else
2805 - src_install-libs
2806 - fi
2807 -
2808 - is_final_abi || die "failed to iterate through all ABIs"
2809 -
2810 - # Documentation
2811 - if use kernel_FreeBSD; then
2812 - dodoc "${NV_DOC}/README"
2813 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
2814 - use tools && doman "${NV_MAN}"/nvidia-settings.1
2815 - else
2816 - # Docs
2817 - newdoc "${NV_DOC}/README.txt" README
2818 - dodoc "${NV_DOC}/NVIDIA_Changelog"
2819 - doman "${NV_MAN}"/nvidia-smi.1
2820 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
2821 - use tools && doman "${NV_MAN}"/nvidia-settings.1
2822 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
2823 - fi
2824 -
2825 - readme.gentoo_create_doc
2826 -
2827 - docinto html
2828 - dodoc -r ${NV_DOC}/html/*
2829 -}
2830 -
2831 -src_install-libs() {
2832 - local inslibdir=$(get_libdir)
2833 - if use libglvnd; then
2834 - local GL_ROOT="/usr/$(get_libdir)"
2835 - else
2836 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
2837 - fi
2838 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
2839 - local nv_libdir="${NV_OBJ}"
2840 -
2841 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
2842 - nv_libdir="${NV_OBJ}"/32
2843 - fi
2844 -
2845 - if use X; then
2846 - NV_GLX_LIBRARIES=(
2847 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2848 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2849 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2850 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
2851 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
2852 - "libcuda.so.${NV_SOVER}"
2853 - "libnvcuvid.so.${NV_SOVER}"
2854 - "libnvidia-compiler.so.${NV_SOVER}"
2855 - "libnvidia-eglcore.so.${NV_SOVER}"
2856 - "libnvidia-encode.so.${NV_SOVER}"
2857 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
2858 - "libnvidia-fbc.so.${NV_SOVER}"
2859 - "libnvidia-glcore.so.${NV_SOVER}"
2860 - "libnvidia-glsi.so.${NV_SOVER}"
2861 - "libnvidia-glvkspirv.so.${NV_SOVER}"
2862 - "libnvidia-ifr.so.${NV_SOVER}"
2863 - "libnvidia-opencl.so.${NV_SOVER}"
2864 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
2865 - "libvdpau_nvidia.so.${NV_SOVER}"
2866 - )
2867 - if ! use libglvnd; then
2868 - NV_GLX_LIBRARIES+=(
2869 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
2870 - "libGL.so.1.7.0 ${GL_ROOT}"
2871 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
2872 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
2873 - "libGLX.so.0 ${GL_ROOT}"
2874 - "libGLdispatch.so.0 ${GL_ROOT}"
2875 - "libOpenGL.so.0 ${GL_ROOT}"
2876 - )
2877 - fi
2878 -
2879 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
2880 - then
2881 - NV_GLX_LIBRARIES+=(
2882 - "libnvidia-egl-wayland.so.1.1.4"
2883 - )
2884 - fi
2885 -
2886 - if use kernel_FreeBSD; then
2887 - NV_GLX_LIBRARIES+=(
2888 - "libnvidia-tls.so.${NV_SOVER}"
2889 - )
2890 - fi
2891 -
2892 - if use kernel_linux; then
2893 - NV_GLX_LIBRARIES+=(
2894 - "libnvidia-ml.so.${NV_SOVER}"
2895 - "libnvidia-tls.so.${NV_SOVER}"
2896 - )
2897 - fi
2898 -
2899 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
2900 - then
2901 - NV_GLX_LIBRARIES+=(
2902 - "libnvidia-cbl.so.${NV_SOVER}"
2903 - "libnvidia-rtcore.so.${NV_SOVER}"
2904 - "libnvoptix.so.${NV_SOVER}"
2905 - )
2906 - fi
2907 -
2908 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
2909 - donvidia "${nv_libdir}"/${NV_LIB}
2910 - done
2911 - fi
2912 -}
2913 -
2914 -pkg_preinst() {
2915 - if use driver && use kernel_linux; then
2916 - linux-mod_pkg_preinst
2917 -
2918 - local videogroup="$(getent group video | cut -d ':' -f 3)"
2919 - if [ -z "${videogroup}" ]; then
2920 - eerror "Failed to determine the video group gid"
2921 - die "Failed to determine the video group gid"
2922 - else
2923 - sed -i \
2924 - -e "s:PACKAGE:${PF}:g" \
2925 - -e "s:VIDEOGID:${videogroup}:" \
2926 - "${D}"/etc/modprobe.d/nvidia.conf || die
2927 - fi
2928 - fi
2929 -
2930 - # Clean the dynamic libGL stuff's home to ensure
2931 - # we dont have stale libs floating around
2932 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
2933 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
2934 - fi
2935 - # Make sure we nuke the old nvidia-glx's env.d file
2936 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
2937 - rm -f "${ROOT}"/etc/env.d/09nvidia
2938 - fi
2939 -}
2940 -
2941 -pkg_postinst() {
2942 - use driver && use kernel_linux && linux-mod_pkg_postinst
2943 -
2944 - # Switch to the nvidia implementation
2945 - if ! use libglvnd; then
2946 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
2947 - fi
2948 -
2949 - readme.gentoo_print_elog
2950 -
2951 - if ! use X; then
2952 - elog "You have elected to not install the X.org driver. Along with"
2953 - elog "this the OpenGL libraries and VDPAU libraries were not"
2954 - elog "installed. Additionally, once the driver is loaded your card"
2955 - elog "and fan will run at max speed which may not be desirable."
2956 - elog "Use the 'nvidia-smi' init script to have your card and fan"
2957 - elog "speed scale appropriately."
2958 - elog
2959 - fi
2960 - if ! use tools; then
2961 - elog "USE=tools controls whether the nvidia-settings application"
2962 - elog "is installed. If you would like to use it, enable that"
2963 - elog "flag and re-emerge this ebuild. Optionally you can install"
2964 - elog "media-video/nvidia-settings"
2965 - elog
2966 - fi
2967 -
2968 - elog "To enable nvidia sleep services under systemd, run these commands:"
2969 - elog " systemctl enable nvidia-suspend.service"
2970 - elog " systemctl enable nvidia-hibernate.service"
2971 - elog " systemctl enable nvidia-resume.service"
2972 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
2973 - elog "suitable path in case the default of /tmp does not work for you"
2974 - elog "For more information see:"
2975 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
2976 -}
2977 -
2978 -pkg_prerm() {
2979 - if ! use libglvnd; then
2980 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
2981 - fi
2982 -}
2983 -
2984 -pkg_postrm() {
2985 - use driver && use kernel_linux && linux-mod_pkg_postrm
2986 - if ! use libglvnd; then
2987 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
2988 - fi
2989 -}
2990
2991 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.51.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.51.ebuild
2992 deleted file mode 100644
2993 index 7341c1529ac..00000000000
2994 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.51.ebuild
2995 +++ /dev/null
2996 @@ -1,586 +0,0 @@
2997 -# Copyright 1999-2020 Gentoo Authors
2998 -# Distributed under the terms of the GNU General Public License v2
2999 -
3000 -EAPI=7
3001 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
3002 - nvidia-driver portability systemd toolchain-funcs unpacker udev
3003 -
3004 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
3005 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
3006 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
3007 -
3008 -NV_URI="https://us.download.nvidia.com/XFree86/"
3009 -SRC_URI="
3010 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
3011 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
3012 - tools? (
3013 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
3014 - )
3015 -"
3016 -
3017 -EMULTILIB_PKG="true"
3018 -KEYWORDS="-* ~amd64"
3019 -LICENSE="GPL-2 NVIDIA-r2"
3020 -SLOT="0/${PV%.*}"
3021 -
3022 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
3023 -REQUIRED_USE="
3024 - tools? ( X )
3025 - static-libs? ( tools )
3026 -"
3027 -
3028 -COMMON="
3029 - driver? ( kernel_linux? ( acct-group/video ) )
3030 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
3031 - tools? (
3032 - dev-libs/atk
3033 - dev-libs/glib:2
3034 - dev-libs/jansson
3035 - gtk3? (
3036 - x11-libs/gtk+:3
3037 - )
3038 - x11-libs/cairo
3039 - x11-libs/gdk-pixbuf[X]
3040 - x11-libs/gtk+:2
3041 - x11-libs/libX11
3042 - x11-libs/libXext
3043 - x11-libs/libXrandr
3044 - x11-libs/libXv
3045 - x11-libs/libXxf86vm
3046 - x11-libs/pango[X]
3047 - )
3048 - X? (
3049 - !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
3050 - libglvnd? (
3051 - media-libs/libglvnd[${MULTILIB_USEDEP}]
3052 - !app-eselect/eselect-opengl
3053 - )
3054 - app-misc/pax-utils
3055 - )
3056 -"
3057 -DEPEND="
3058 - ${COMMON}
3059 - kernel_linux? ( virtual/linux-sources )
3060 - tools? ( sys-apps/dbus )
3061 -"
3062 -RDEPEND="
3063 - ${COMMON}
3064 - tools? ( !media-video/nvidia-settings )
3065 - uvm? ( >=virtual/opencl-3 )
3066 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
3067 - X? (
3068 - <x11-base/xorg-server-1.20.99:=
3069 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
3070 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
3071 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
3072 - sys-libs/zlib[${MULTILIB_USEDEP}]
3073 - )
3074 - kernel_linux? ( net-libs/libtirpc )
3075 -"
3076 -QA_PREBUILT="opt/* usr/lib*"
3077 -S=${WORKDIR}/
3078 -PATCHES=(
3079 - "${FILESDIR}"/${PN}-440.26-locale.patch
3080 -)
3081 -NV_KV_MAX_PLUS="5.8"
3082 -CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
3083 -
3084 -pkg_pretend() {
3085 - nvidia-driver_check
3086 -}
3087 -
3088 -pkg_setup() {
3089 - nvidia-driver_check
3090 -
3091 - # try to turn off distcc and ccache for people that have a problem with it
3092 - export DISTCC_DISABLE=1
3093 - export CCACHE_DISABLE=1
3094 -
3095 - if use driver && use kernel_linux; then
3096 - MODULE_NAMES="nvidia(video:${S}/kernel)"
3097 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
3098 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
3099 -
3100 - # This needs to run after MODULE_NAMES (so that the eclass checks
3101 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
3102 - # is set (so that KV_DIR is populated).
3103 - linux-mod_pkg_setup
3104 -
3105 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
3106 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
3107 -
3108 - # linux-mod_src_compile calls set_arch_to_kernel, which
3109 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
3110 - # expects x86_64 or i386 and then converts it to x86
3111 - # later on in the build process
3112 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
3113 - fi
3114 -
3115 - if use kernel_linux && kernel_is lt 2 6 9; then
3116 - eerror "You must build this against 2.6.9 or higher kernels."
3117 - fi
3118 -
3119 - # set variables to where files are in the package structure
3120 - if use kernel_FreeBSD; then
3121 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
3122 - NV_DOC="${S}/doc"
3123 - NV_OBJ="${S}/obj"
3124 - NV_SRC="${S}/src"
3125 - NV_MAN="${S}/x11/man"
3126 - NV_X11="${S}/obj"
3127 - NV_SOVER=1
3128 - elif use kernel_linux; then
3129 - NV_DOC="${S}"
3130 - NV_OBJ="${S}"
3131 - NV_SRC="${S}/kernel"
3132 - NV_MAN="${S}"
3133 - NV_X11="${S}"
3134 - NV_SOVER=${PV}
3135 - else
3136 - die "Could not determine proper NVIDIA package"
3137 - fi
3138 -}
3139 -
3140 -src_configure() {
3141 - tc-export AR CC LD OBJCOPY
3142 -
3143 - default
3144 -}
3145 -
3146 -src_prepare() {
3147 - local man_file
3148 - for man_file in "${NV_MAN}"/*1.gz; do
3149 - gunzip $man_file || die
3150 - done
3151 -
3152 - if use tools; then
3153 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
3154 - sed -i \
3155 - -e "s:@PV@:${PV}:g" \
3156 - "${WORKDIR}"/nvidia-settings-linker.patch \
3157 - || die
3158 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
3159 - fi
3160 -
3161 - default
3162 -
3163 - if ! [ -f nvidia_icd.json ]; then
3164 - cp nvidia_icd.json.template nvidia_icd.json || die
3165 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
3166 - fi
3167 -}
3168 -
3169 -src_compile() {
3170 - cd "${NV_SRC}"
3171 - if use kernel_FreeBSD; then
3172 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
3173 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
3174 - elif use driver && use kernel_linux; then
3175 - BUILD_TARGETS=module linux-mod_src_compile \
3176 - KERNELRELEASE="${KV_FULL}" \
3177 - src="${KERNEL_DIR}"
3178 - fi
3179 -
3180 - if use tools; then
3181 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
3182 - DO_STRIP= \
3183 - LIBDIR="$(get_libdir)" \
3184 - NVLD="$(tc-getLD)" \
3185 - NV_VERBOSE=1 \
3186 - OUTPUTDIR=. \
3187 - RANLIB="$(tc-getRANLIB)"
3188 -
3189 - emake -C "${S}"/nvidia-settings-${PV}/src \
3190 - DO_STRIP= \
3191 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
3192 - LIBDIR="$(get_libdir)" \
3193 - NVLD="$(tc-getLD)" \
3194 - NVML_ENABLED=0 \
3195 - NV_USE_BUNDLED_LIBJANSSON=0 \
3196 - NV_VERBOSE=1 \
3197 - OUTPUTDIR=.
3198 - fi
3199 -}
3200 -
3201 -# Install nvidia library:
3202 -# the first parameter is the library to install
3203 -# the second parameter is the provided soversion
3204 -# the third parameter is the target directory if it is not /usr/lib
3205 -donvidia() {
3206 - # Full path to library
3207 - nv_LIB="${1}"
3208 -
3209 - # SOVER to use
3210 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
3211 -
3212 - # Where to install
3213 - nv_DEST="${2}"
3214 -
3215 - # Get just the library name
3216 - nv_LIBNAME=$(basename "${nv_LIB}")
3217 -
3218 - if [[ "${nv_DEST}" ]]; then
3219 - exeinto ${nv_DEST}
3220 - action="doexe"
3221 - else
3222 - nv_DEST="/usr/$(get_libdir)"
3223 - action="dolib.so"
3224 - fi
3225 -
3226 - # Install the library
3227 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
3228 -
3229 - # If the library has a SONAME and SONAME does not match the library name,
3230 - # then we need to create a symlink
3231 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
3232 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
3233 - fi
3234 -
3235 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
3236 -}
3237 -
3238 -src_install() {
3239 - if use driver && use kernel_linux; then
3240 - linux-mod_src_install
3241 -
3242 - # Add the aliases
3243 - # This file is tweaked with the appropriate video group in
3244 - # pkg_preinst, see bug #491414
3245 - insinto /etc/modprobe.d
3246 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
3247 -
3248 - if use uvm; then
3249 - doins "${FILESDIR}"/nvidia-rmmod.conf
3250 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
3251 - else
3252 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
3253 - > "${T}"/nvidia-rmmod.conf || die
3254 - doins "${T}"/nvidia-rmmod.conf
3255 - fi
3256 -
3257 - # Ensures that our device nodes are created when not using X
3258 - exeinto "$(get_udevdir)"
3259 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
3260 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
3261 - elif use kernel_FreeBSD; then
3262 - if use x86-fbsd; then
3263 - insinto /boot/modules
3264 - doins "${S}/src/nvidia.kld"
3265 - fi
3266 -
3267 - exeinto /boot/modules
3268 - doexe "${S}/src/nvidia.ko"
3269 - fi
3270 -
3271 - # NVIDIA kernel <-> userspace driver config lib
3272 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
3273 -
3274 - # NVIDIA framebuffer capture library
3275 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
3276 -
3277 - # NVIDIA video encode/decode <-> CUDA
3278 - if use kernel_linux; then
3279 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
3280 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
3281 - fi
3282 -
3283 - if use X; then
3284 - # Xorg DDX driver
3285 - insinto /usr/$(get_libdir)/xorg/modules/drivers
3286 - doins ${NV_X11}/nvidia_drv.so
3287 -
3288 - # Xorg GLX driver
3289 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
3290 - /usr/$(get_libdir)/xorg/modules/extensions
3291 -
3292 - # Xorg nvidia.conf
3293 - if has_version '>=x11-base/xorg-server-1.16'; then
3294 - insinto /usr/share/X11/xorg.conf.d
3295 - newins {,50-}nvidia-drm-outputclass.conf
3296 - fi
3297 -
3298 - insinto /usr/share/glvnd/egl_vendor.d
3299 - doins ${NV_X11}/10_nvidia.json
3300 - fi
3301 -
3302 - if use wayland; then
3303 - insinto /usr/share/egl/egl_external_platform.d
3304 - doins ${NV_X11}/10_nvidia_wayland.json
3305 - fi
3306 -
3307 - # OpenCL ICD for NVIDIA
3308 - if use kernel_linux; then
3309 - insinto /etc/OpenCL/vendors
3310 - doins ${NV_OBJ}/nvidia.icd
3311 - fi
3312 -
3313 - # Helper Apps
3314 - exeinto /opt/bin/
3315 -
3316 - if use X; then
3317 - doexe ${NV_OBJ}/nvidia-xconfig
3318 -
3319 - insinto /etc/vulkan/icd.d
3320 - doins nvidia_icd.json
3321 -
3322 - insinto /etc/vulkan/implicit_layer.d
3323 - doins nvidia_layers.json
3324 - fi
3325 -
3326 - if use kernel_linux; then
3327 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
3328 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
3329 - doexe ${NV_OBJ}/nvidia-debugdump
3330 - doexe ${NV_OBJ}/nvidia-persistenced
3331 - doexe ${NV_OBJ}/nvidia-smi
3332 -
3333 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
3334 - doexe ${NV_OBJ}/nvidia-modprobe
3335 - fowners root:video /opt/bin/nvidia-modprobe
3336 - fperms 4710 /opt/bin/nvidia-modprobe
3337 - dosym /{opt,usr}/bin/nvidia-modprobe
3338 -
3339 - doman nvidia-cuda-mps-control.1
3340 - doman nvidia-modprobe.1
3341 - doman nvidia-persistenced.1
3342 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
3343 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
3344 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
3345 - fi
3346 -
3347 - if use tools; then
3348 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
3349 - DESTDIR="${D}" \
3350 - DO_STRIP= \
3351 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
3352 - LIBDIR="${D}/usr/$(get_libdir)" \
3353 - NV_USE_BUNDLED_LIBJANSSON=0 \
3354 - NV_VERBOSE=1 \
3355 - OUTPUTDIR=. \
3356 - PREFIX=/usr \
3357 - install
3358 -
3359 - if use static-libs; then
3360 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
3361 -
3362 - insinto /usr/include/NVCtrl
3363 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
3364 - fi
3365 -
3366 - insinto /usr/share/nvidia/
3367 - doins nvidia-application-profiles-${PV}-key-documentation
3368 -
3369 - insinto /etc/nvidia
3370 - newins \
3371 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
3372 -
3373 - # There is no icon in the FreeBSD tarball.
3374 - use kernel_FreeBSD || \
3375 - doicon ${NV_OBJ}/nvidia-settings.png
3376 -
3377 - domenu "${FILESDIR}"/nvidia-settings.desktop
3378 -
3379 - exeinto /etc/X11/xinit/xinitrc.d
3380 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
3381 - fi
3382 -
3383 - dobin ${NV_OBJ}/nvidia-bug-report.sh
3384 -
3385 - systemd_dounit *.service
3386 - dobin nvidia-sleep.sh
3387 - exeinto $(systemd_get_utildir)/system-sleep
3388 - doexe nvidia
3389 -
3390 - if has_multilib_profile && use multilib; then
3391 - local OABI=${ABI}
3392 - for ABI in $(get_install_abis); do
3393 - src_install-libs
3394 - done
3395 - ABI=${OABI}
3396 - unset OABI
3397 - else
3398 - src_install-libs
3399 - fi
3400 -
3401 - is_final_abi || die "failed to iterate through all ABIs"
3402 -
3403 - # Documentation
3404 - if use kernel_FreeBSD; then
3405 - dodoc "${NV_DOC}/README"
3406 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
3407 - use tools && doman "${NV_MAN}"/nvidia-settings.1
3408 - else
3409 - # Docs
3410 - newdoc "${NV_DOC}/README.txt" README
3411 - dodoc "${NV_DOC}/NVIDIA_Changelog"
3412 - doman "${NV_MAN}"/nvidia-smi.1
3413 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
3414 - use tools && doman "${NV_MAN}"/nvidia-settings.1
3415 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
3416 - fi
3417 -
3418 - readme.gentoo_create_doc
3419 -
3420 - docinto html
3421 - dodoc -r ${NV_DOC}/html/*
3422 -}
3423 -
3424 -src_install-libs() {
3425 - local inslibdir=$(get_libdir)
3426 - if use libglvnd; then
3427 - local GL_ROOT="/usr/$(get_libdir)"
3428 - else
3429 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
3430 - fi
3431 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
3432 - local nv_libdir="${NV_OBJ}"
3433 -
3434 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
3435 - nv_libdir="${NV_OBJ}"/32
3436 - fi
3437 -
3438 - if use X; then
3439 - NV_GLX_LIBRARIES=(
3440 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
3441 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
3442 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
3443 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
3444 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
3445 - "libcuda.so.${NV_SOVER}"
3446 - "libnvcuvid.so.${NV_SOVER}"
3447 - "libnvidia-compiler.so.${NV_SOVER}"
3448 - "libnvidia-eglcore.so.${NV_SOVER}"
3449 - "libnvidia-encode.so.${NV_SOVER}"
3450 - "libnvidia-fbc.so.${NV_SOVER}"
3451 - "libnvidia-glcore.so.${NV_SOVER}"
3452 - "libnvidia-glsi.so.${NV_SOVER}"
3453 - "libnvidia-glvkspirv.so.${NV_SOVER}"
3454 - "libnvidia-ifr.so.${NV_SOVER}"
3455 - "libnvidia-opencl.so.${NV_SOVER}"
3456 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
3457 - "libvdpau_nvidia.so.${NV_SOVER}"
3458 - )
3459 - if ! use libglvnd; then
3460 - NV_GLX_LIBRARIES+=(
3461 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
3462 - "libGL.so.1.7.0 ${GL_ROOT}"
3463 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
3464 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
3465 - "libGLX.so.0 ${GL_ROOT}"
3466 - "libGLdispatch.so.0 ${GL_ROOT}"
3467 - "libOpenGL.so.0 ${GL_ROOT}"
3468 - )
3469 - fi
3470 -
3471 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
3472 - then
3473 - NV_GLX_LIBRARIES+=(
3474 - "libnvidia-egl-wayland.so.1.1.4"
3475 - )
3476 - fi
3477 -
3478 - if use kernel_FreeBSD; then
3479 - NV_GLX_LIBRARIES+=(
3480 - "libnvidia-tls.so.${NV_SOVER}"
3481 - )
3482 - fi
3483 -
3484 - if use kernel_linux; then
3485 - NV_GLX_LIBRARIES+=(
3486 - "libnvidia-ml.so.${NV_SOVER}"
3487 - "libnvidia-tls.so.${NV_SOVER}"
3488 - )
3489 - fi
3490 -
3491 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
3492 - then
3493 - NV_GLX_LIBRARIES+=(
3494 - "libnvidia-cbl.so.${NV_SOVER}"
3495 - "libnvidia-ngx.so.${NV_SOVER}"
3496 - "libnvidia-rtcore.so.${NV_SOVER}"
3497 - "libnvoptix.so.${NV_SOVER}"
3498 - )
3499 - fi
3500 -
3501 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
3502 - donvidia "${nv_libdir}"/${NV_LIB}
3503 - done
3504 - fi
3505 -}
3506 -
3507 -pkg_preinst() {
3508 - if use driver && use kernel_linux; then
3509 - linux-mod_pkg_preinst
3510 -
3511 - local videogroup="$(getent group video | cut -d ':' -f 3)"
3512 - if [ -z "${videogroup}" ]; then
3513 - eerror "Failed to determine the video group gid"
3514 - die "Failed to determine the video group gid"
3515 - else
3516 - sed -i \
3517 - -e "s:PACKAGE:${PF}:g" \
3518 - -e "s:VIDEOGID:${videogroup}:" \
3519 - "${D}"/etc/modprobe.d/nvidia.conf || die
3520 - fi
3521 - fi
3522 -
3523 - # Clean the dynamic libGL stuff's home to ensure
3524 - # we dont have stale libs floating around
3525 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
3526 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
3527 - fi
3528 - # Make sure we nuke the old nvidia-glx's env.d file
3529 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
3530 - rm -f "${ROOT}"/etc/env.d/09nvidia
3531 - fi
3532 -}
3533 -
3534 -pkg_postinst() {
3535 - use driver && use kernel_linux && linux-mod_pkg_postinst
3536 -
3537 - # Switch to the nvidia implementation
3538 - if ! use libglvnd; then
3539 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
3540 - fi
3541 -
3542 - readme.gentoo_print_elog
3543 -
3544 - if ! use X; then
3545 - elog "You have elected to not install the X.org driver. Along with"
3546 - elog "this the OpenGL libraries and VDPAU libraries were not"
3547 - elog "installed. Additionally, once the driver is loaded your card"
3548 - elog "and fan will run at max speed which may not be desirable."
3549 - elog "Use the 'nvidia-smi' init script to have your card and fan"
3550 - elog "speed scale appropriately."
3551 - elog
3552 - fi
3553 - if ! use tools; then
3554 - elog "USE=tools controls whether the nvidia-settings application"
3555 - elog "is installed. If you would like to use it, enable that"
3556 - elog "flag and re-emerge this ebuild. Optionally you can install"
3557 - elog "media-video/nvidia-settings"
3558 - elog
3559 - fi
3560 -
3561 - elog "To enable nvidia sleep services under systemd, run these commands:"
3562 - elog " systemctl enable nvidia-suspend.service"
3563 - elog " systemctl enable nvidia-hibernate.service"
3564 - elog " systemctl enable nvidia-resume.service"
3565 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
3566 - elog "suitable path in case the default of /tmp does not work for you"
3567 - elog "For more information see:"
3568 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
3569 -}
3570 -
3571 -pkg_prerm() {
3572 - if ! use libglvnd; then
3573 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
3574 - fi
3575 -}
3576 -
3577 -pkg_postrm() {
3578 - use driver && use kernel_linux && linux-mod_pkg_postrm
3579 - if ! use libglvnd; then
3580 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
3581 - fi
3582 -}