Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Thu, 20 Jan 2022 22:45:52
Message-Id: 1642718145.5695a91082ed680a73040ddbd87d8ec4af177707.ionen@gentoo
1 commit: 5695a91082ed680a73040ddbd87d8ec4af177707
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 20 22:35:12 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 20 22:35:45 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5695a910
7
8 x11-drivers/nvidia-drivers: drop 470.62.16:0/vulkan
9
10 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
11
12 x11-drivers/nvidia-drivers/Manifest | 1 -
13 .../nvidia-drivers/nvidia-drivers-470.62.16.ebuild | 444 ---------------------
14 2 files changed, 445 deletions(-)
15
16 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
17 index aae3934c075d..156210b3484f 100644
18 --- a/x11-drivers/nvidia-drivers/Manifest
19 +++ b/x11-drivers/nvidia-drivers/Manifest
20 @@ -6,7 +6,6 @@ DIST NVIDIA-Linux-aarch64-510.39.01.run 211307577 BLAKE2B 15d6a21ac81edbaa939044
21 DIST NVIDIA-Linux-x86-390.147.run 49303088 BLAKE2B 5a3a02b88af1ee8699b0c6c3fa222d9176338f10437a88c874126c7bacf64ddc44d03d8a44542cba989129af6336e46cae775713458a16d78ea75e4e004dfffb SHA512 c5d47e2a8c034e158093feeefa2455ec49d676fbd1700118aedba0c3b84be4e2060402d0e27e50d1a674de10f369f8e5ca2da8c61f1d0560d2105d33d7238359
22 DIST NVIDIA-Linux-x86_64-390.147.run 85930997 BLAKE2B a8085c9abc1c31251788a8f5abdc2090c9085b3028e364184244bbf24d822dc3266877c88b30f403507fa2dd511c68ec67e1f188d6b0f1f4d7d792881d5253fc SHA512 0d8bda32e916d71da2ea74bc12a4f3cb0a0c2ddda27511cf3c89bbf4aeb28db68f6b7261639d88dd1c0180b91213c09de930d233158268c5d9ab3b223510e964
23 DIST NVIDIA-Linux-x86_64-460.91.03.run 178201292 BLAKE2B 4d407b7bb3a99ab71c62c3cd18dc3549c98a24e7af28276e6e6a21dd33efcab017fed3f782f6dfb060c4437cd718f19c2f9900de367cc47bf19fa2718a18ad55 SHA512 4ac11130fe5a8f1c26f459e9c19660b3ff6f23011e9f77b09ca948fc42609e523ecea70d3bf6def50a75b4a3079ab280018753fb6e53875d9bb8093a033e3b70
24 -DIST NVIDIA-Linux-x86_64-470.62.16.run 270377842 BLAKE2B 6f6263a8652c07e8da7dfc6663f31125ecb605620cd2da05e0972c0787cd43f49779b5354c38f55dafe468b7adb5ddccbdad1a5a361a599f26175156aca8410f SHA512 bb541d59eb908d6b2a255f11af01257f34fe4d7e6807ba19de957da8f0a3b428854bf5b97c71134d3a705ea27598fe0b940bd1c4055026bd90ffe04c1880ca9b
25 DIST NVIDIA-Linux-x86_64-470.62.20.run 271563606 BLAKE2B 3e0e75ce866fff218af1f908adc051b964ceb8c64d0c87132dbd7fd1b82eaf34e2ec8624dab1a0f20041012e5bd7e22a1c1fd99f4fb50aa19d47015b025c8b03 SHA512 023d0b352114310caf6b70d863c5593e4a2b16b78bee08c87d27e48d03f70e63b608f9a6b262c8d8b6fc7450bca7729b34c716ec8b196a0ea72e4686654c3508
26 DIST NVIDIA-Linux-x86_64-470.94.run 272262854 BLAKE2B 23785ec9d434f48793547a3a0d8708c0928b1926f9d8973d872f1745291095cba494310b2fa25a62f3d29bfb4f660fa1ef78d49da651d8a094a23d64ca110e8a SHA512 b70542af04691da623b494d49fcbd58c58b83388fdb1c7ea6dcc779755b595444a324f613840ccbba0d9029456668376fe6049a3e4496c6054efbbf1e0a59c0f
27 DIST NVIDIA-Linux-x86_64-495.44.run 282259831 BLAKE2B ca11406a5b1b25d9691ec61d4125457c22438b8f0af0651043235f72ee75c4b264cfde7b04840bbec15c22bc5eb657a46326b49941e6c776a8990430cf052818 SHA512 bc9054e6028ba172906e6eb9a0b8f5cfc3ae74d57f3e95e0f9057879e3af07a4b19479e80d81e948872bc47bbd674f77f5f81d4debd2e2c3ce45058cd9211802
28
29 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.16.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.16.ebuild
30 deleted file mode 100644
31 index 831c5ece32fc..000000000000
32 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.16.ebuild
33 +++ /dev/null
34 @@ -1,444 +0,0 @@
35 -# Copyright 1999-2022 Gentoo Authors
36 -# Distributed under the terms of the GNU General Public License v2
37 -
38 -EAPI=7
39 -
40 -MODULES_OPTIONAL_USE="driver"
41 -inherit desktop flag-o-matic linux-mod multilib readme.gentoo-r1 \
42 - systemd toolchain-funcs unpacker
43 -
44 -NV_KERNEL_MAX="5.15"
45 -NV_URI="https://download.nvidia.com/XFree86/"
46 -NV_PIN="470.86"
47 -
48 -DESCRIPTION="NVIDIA Accelerated Graphics Driver"
49 -HOMEPAGE="https://developer.nvidia.com/vulkan-driver"
50 -SRC_URI="
51 - https://developer.nvidia.com/vulkan-beta-${PV//.}-linux -> NVIDIA-Linux-x86_64-${PV}.run
52 - $(printf "${NV_URI}%s/%s-${NV_PIN}.tar.bz2 " \
53 - nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})"
54 -# nvidia-installer is unused but here for GPL-2's "distribute sources"
55 -S="${WORKDIR}"
56 -
57 -LICENSE="NVIDIA-r2 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
58 -SLOT="0/vulkan"
59 -KEYWORDS="-* ~amd64"
60 -IUSE="+X abi_x86_32 abi_x86_64 +driver persistenced static-libs +tools wayland"
61 -
62 -COMMON_DEPEND="
63 - acct-group/video
64 - persistenced? (
65 - acct-user/nvpd
66 - net-libs/libtirpc:=
67 - )
68 - tools? (
69 - dev-libs/atk
70 - dev-libs/glib:2
71 - dev-libs/jansson:=
72 - media-libs/harfbuzz:=
73 - x11-libs/cairo
74 - x11-libs/gdk-pixbuf:2
75 - x11-libs/gtk+:3
76 - x11-libs/libX11
77 - x11-libs/libXext
78 - x11-libs/libXxf86vm
79 - x11-libs/pango
80 - )"
81 -RDEPEND="
82 - ${COMMON_DEPEND}
83 - X? (
84 - media-libs/libglvnd[X,abi_x86_32(-)?]
85 - x11-libs/libX11[abi_x86_32(-)?]
86 - x11-libs/libXext[abi_x86_32(-)?]
87 - )
88 - wayland? (
89 - ~gui-libs/egl-wayland-1.1.7
90 - media-libs/libglvnd
91 - )"
92 -DEPEND="
93 - ${COMMON_DEPEND}
94 - static-libs? (
95 - x11-libs/libX11
96 - x11-libs/libXext
97 - )
98 - tools? (
99 - media-libs/libglvnd
100 - sys-apps/dbus
101 - x11-base/xorg-proto
102 - x11-libs/libXrandr
103 - x11-libs/libXv
104 - x11-libs/libvdpau
105 - )"
106 -BDEPEND="
107 - sys-devel/m4
108 - virtual/pkgconfig"
109 -
110 -QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
111 -
112 -PATCHES=(
113 - "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
114 - "${FILESDIR}"/nvidia-settings-390.144-desktop.patch
115 - "${FILESDIR}"/nvidia-settings-390.144-no-gtk2.patch
116 - "${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
117 -)
118 -
119 -pkg_setup() {
120 - use driver || return
121 -
122 - local CONFIG_CHECK="
123 - PROC_FS
124 - ~DRM_KMS_HELPER
125 - ~SYSVIPC
126 - ~!LOCKDEP
127 - ~!SLUB_DEBUG_ON
128 - !DEBUG_MUTEXES"
129 - local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
130 - of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
131 - Cannot be directly selected in the kernel's menuconfig, and may need
132 - selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
133 - DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
134 -
135 - use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
136 -
137 - MODULE_NAMES="
138 - nvidia(video:kernel)
139 - nvidia-drm(video:kernel)
140 - nvidia-modeset(video:kernel)
141 - nvidia-peermem(video:kernel)
142 - nvidia-uvm(video:kernel)"
143 -
144 - linux-mod_pkg_setup
145 -
146 - [[ ${MERGE_TYPE} == binary ]] && return
147 -
148 - BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
149 - BUILD_TARGETS="modules"
150 -
151 - if linux_chkconfig_present CC_IS_CLANG; then
152 - ewarn "Warning: building ${PN} with a clang-built kernel is experimental"
153 -
154 - BUILD_PARAMS+=' CC=${CHOST}-clang'
155 - if linux_chkconfig_present LD_IS_LLD; then
156 - BUILD_PARAMS+=' LD=ld.lld'
157 - if linux_chkconfig_present LTO_CLANG_THIN; then
158 - # kernel enables cache by default leading to sandbox violations
159 - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
160 - fi
161 - fi
162 - fi
163 -
164 - if kernel_is -gt ${NV_KERNEL_MAX/./ }; then
165 - ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}"
166 - ewarn "or was not tested with it. It is recommended to use one of:"
167 - ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}.x"
168 - ewarn " <=sys-kernel/gentoo-sources-${NV_KERNEL_MAX}.x"
169 - ewarn "You are free to try or use /etc/portage/patches, but support will"
170 - ewarn "not be given and issues wait until NVIDIA releases a fixed version."
171 - ewarn
172 - ewarn "Do _not_ file a bug report if run into issues."
173 - ewarn
174 - fi
175 -}
176 -
177 -src_prepare() {
178 - # make patches usable across versions
179 - rm nvidia-modprobe && mv nvidia-modprobe{-${NV_PIN},} || die
180 - rm nvidia-persistenced && mv nvidia-persistenced{-${NV_PIN},} || die
181 - rm nvidia-settings && mv nvidia-settings{-${NV_PIN},} || die
182 - rm nvidia-xconfig && mv nvidia-xconfig{-${NV_PIN},} || die
183 -
184 - default
185 -
186 - # prevent detection of incomplete kernel DRM support (bug #603818)
187 - sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
188 - -i kernel/conftest.sh || die
189 -
190 - sed 's/__USER__/nvpd/' \
191 - nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
192 - > "${T}"/nvidia-persistenced.service || die
193 -
194 - # enable nvidia-drm.modeset=1 by default with USE=wayland
195 - cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die
196 - use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
197 -}
198 -
199 -src_compile() {
200 - tc-export AR CC LD OBJCOPY
201 -
202 - NV_ARGS=(
203 - PREFIX="${EPREFIX}"/usr
204 - HOST_CC="$(tc-getBUILD_CC)"
205 - HOST_LD="$(tc-getBUILD_LD)"
206 - NV_USE_BUNDLED_LIBJANSSON=0
207 - NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
208 - )
209 -
210 - use driver && linux-mod_src_compile
211 -
212 - emake "${NV_ARGS[@]}" -C nvidia-modprobe
213 - use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
214 - use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
215 -
216 - if use tools; then
217 - # cflags: avoid noisy logs, only use here and set first to let override
218 - # ldflags: abi currently needed if LD=ld.lld
219 - CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
220 - RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" \
221 - emake "${NV_ARGS[@]}" -C nvidia-settings
222 - elif use static-libs; then
223 - emake "${NV_ARGS[@]}" -C nvidia-settings/src out/libXNVCtrl.a
224 - fi
225 -}
226 -
227 -src_install() {
228 - local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
229 -
230 - NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
231 -
232 - local -A paths=(
233 - [APPLICATION_PROFILE]=/usr/share/nvidia
234 - [CUDA_ICD]=/etc/OpenCL/vendors
235 - [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
236 - [FIRMWARE]=/lib/firmware/nvidia/${PV}
237 - [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
238 - [VULKAN_ICD_JSON]=/usr/share/vulkan
239 - [WINE_LIB]=/usr/${libdir}/nvidia/wine
240 - [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
241 -
242 - [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
243 - [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
244 - [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
245 - )
246 -
247 - local skip_files=(
248 - $(usex X '' '
249 - libGLX_nvidia libglxserver_nvidia
250 - libnvidia-ifr
251 - nvidia_icd.json nvidia_layers.json')
252 - $(usex wayland '' 'libnvidia-vulkan-producer')
253 - libGLX_indirect # non-glvnd unused fallback
254 - libnvidia-gtk nvidia-{settings,xconfig} # built from source
255 - libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
256 - )
257 - local skip_modules=(
258 - $(usex X '' 'nvfbc vdpau xdriver')
259 - $(usex driver '' 'gsp')
260 - installer nvpd # handled separately / built from source
261 - )
262 - local skip_types=(
263 - GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
264 - OPENCL_WRAPPER.\* # virtual/opencl
265 - DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF # handled separately / unused
266 - )
267 -
268 - local DOCS=(
269 - README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
270 - nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
271 - )
272 - local HTML_DOCS=( html/. )
273 - einstalldocs
274 -
275 - local DISABLE_AUTOFORMATTING=yes
276 - local DOC_CONTENTS="\
277 -Trusted users should be in the 'video' group to use NVIDIA devices.
278 -You can add yourself by using: gpasswd -a my-user video\
279 -$(usex driver "
280 -
281 -Like all out-of-tree kernel modules, it is necessary to rebuild
282 -${PN} after upgrading or rebuilding the Linux kernel
283 -by for example running \`emerge @module-rebuild\`. Alternatively,
284 -if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
285 -this can be automated by setting USE=dist-kernel globally.
286 -
287 -Loaded kernel modules also must not mismatch with the installed
288 -${PN} version (excluding -r revision), meaning should
289 -ensure \`eselect kernel list\` points to the kernel that will be
290 -booted before building and preferably reboot after upgrading
291 -${PN} (the ebuild will emit a warning if mismatching).
292 -
293 -See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options." '')\
294 -$(use amd64 && usex abi_x86_32 '' "
295 -
296 -Note that without USE=abi_x86_32 on ${PN}, 32bit applications
297 -(typically using wine / steam) will not be able to use GPU acceleration.")
298 -
299 -For general information on using ${PN}, please see:
300 -https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
301 - readme.gentoo_create_doc
302 -
303 - if use driver; then
304 - linux-mod_src_install
305 -
306 - insinto /etc/modprobe.d
307 - doins "${T}"/nvidia.conf
308 -
309 - # used for gpu verification with binpkgs (not kept, see pkg_preinst)
310 - insinto /usr/share/nvidia
311 - doins supported-gpus/supported-gpus.json
312 - fi
313 -
314 - emake "${NV_ARGS[@]}" -C nvidia-modprobe install
315 - fowners :video /usr/bin/nvidia-modprobe #505092
316 - fperms 4710 /usr/bin/nvidia-modprobe
317 -
318 - if use persistenced; then
319 - emake "${NV_ARGS[@]}" -C nvidia-persistenced install
320 - newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
321 - newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
322 - systemd_dounit "${T}"/nvidia-persistenced.service
323 - fi
324 -
325 - if use tools; then
326 - emake "${NV_ARGS[@]}" -C nvidia-settings install
327 -
328 - doicon nvidia-settings/doc/nvidia-settings.png
329 - domenu nvidia-settings/doc/nvidia-settings.desktop
330 -
331 - exeinto /etc/X11/xinit/xinitrc.d
332 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
333 - fi
334 -
335 - if use static-libs; then
336 - dolib.a nvidia-settings/src/out/libXNVCtrl.a
337 -
338 - insinto /usr/include/NVCtrl
339 - doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
340 - fi
341 -
342 - use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
343 -
344 - # mimic nvidia-installer by reading .manifest to install files
345 - # 0:file 1:perms 2:type 3+:subtype/arguments -:module
346 - local m into
347 - while IFS=' ' read -ra m; do
348 - ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
349 - eval '[[ " ${m[0]##*/}" =~ ^(\ '${skip_files[*]/%/.*|\\}' )$ ]]' ||
350 - eval '[[ " ${m[2]}" =~ ^(\ '${skip_types[*]/%/|\\}' )$ ]]' ||
351 - has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
352 -
353 - case ${m[2]} in
354 - MANPAGE)
355 - gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
356 - continue
357 - ;;
358 - VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
359 - esac
360 -
361 - if [[ -v paths[${m[2]}] ]]; then
362 - into=${paths[${m[2]}]}
363 - elif [[ ${m[2]} =~ _BINARY$ ]]; then
364 - into=/opt/bin
365 - elif [[ ${m[3]} == COMPAT32 ]]; then
366 - use abi_x86_32 || continue
367 - into=/usr/${libdir32}
368 - elif [[ ${m[2]} =~ _LIB$|_SYMLINK$ ]]; then
369 - into=/usr/${libdir}
370 - else
371 - die "No known installation path for ${m[0]}"
372 - fi
373 - [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
374 - [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
375 -
376 - if [[ ${m[2]} =~ _SYMLINK$ ]]; then
377 - [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
378 - dosym ${m[4]} ${into}/${m[0]}
379 - continue
380 - fi
381 - [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
382 - dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
383 -
384 - printf -v m[1] %o $((m[1] | 0200)) # 444->644
385 - insopts -m${m[1]}
386 - insinto ${into}
387 - doins ${m[0]}
388 - done < .manifest || die
389 -
390 - # MODULE:installer non-skipped extras
391 - exeinto /lib/systemd/system-sleep
392 - doexe systemd/system-sleep/nvidia
393 - dobin systemd/nvidia-sleep.sh
394 - systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
395 -
396 - dobin nvidia-bug-report.sh
397 -}
398 -
399 -pkg_preinst() {
400 - has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=
401 - has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
402 -
403 - use driver || return
404 - linux-mod_pkg_preinst
405 -
406 - # set video group id based on live system (bug #491414)
407 - local g=$(getent group video | cut -d: -f3)
408 - [[ ${g} ]] || die "Failed to determine video group id"
409 - sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
410 -
411 - # try to find driver mismatches using temporary supported-gpus.json
412 - for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
413 - g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
414 - "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
415 - if [[ ${g} ]]; then
416 - g=$((${g##*\"}+1))
417 - if ver_test -ge ${g}; then
418 - NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
419 - break
420 - fi
421 - fi
422 - done
423 - rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
424 -}
425 -
426 -pkg_postinst() {
427 - use driver && linux-mod_pkg_postinst
428 -
429 - readme.gentoo_print_elog
430 -
431 - if [[ -r /proc/driver/nvidia/version &&
432 - $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
433 - ewarn "Currently loaded NVIDIA modules do not match the newly installed"
434 - ewarn "libraries and may prevent launching GPU-accelerated applications."
435 - use driver && ewarn "The easiest way to fix this is usually to reboot."
436 - fi
437 -
438 - if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
439 - ewarn "Detected that the current kernel command line is using 'slub_debug=',"
440 - ewarn "this may lead to system instability/freezes with this version of"
441 - ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
442 - fi
443 -
444 - if [[ -v NV_LEGACY_MASK ]]; then
445 - ewarn
446 - ewarn "***WARNING***"
447 - ewarn
448 - ewarn "You are installing a version of ${PN} known not to work"
449 - ewarn "with a GPU of the current system. If unwanted, add the mask:"
450 - if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
451 - ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
452 - else
453 - ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
454 - fi
455 - ewarn "...then downgrade to a legacy branch if possible. For details, see:"
456 - ewarn "https://www.nvidia.com/object/IO_32667.html"
457 - fi
458 -
459 - if use !abi_x86_32 && [[ -v NV_HAD_ABI32 ]]; then
460 - elog
461 - elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to"
462 - elog "use nvidia-drivers for acceleration without it (e.g. commonly used"
463 - elog "with app-emulation/wine-* or steam). Re-enable if needed."
464 - fi
465 -
466 - if use wayland && use driver && [[ ! -v NV_HAD_WAYLAND ]]; then
467 - elog
468 - elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
469 - elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
470 - elog "experimental but is required for wayland."
471 - elog
472 - elog "If you experience issues, either disable wayland or edit nvidia.conf."
473 - elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
474 - elog
475 - elog "This version of ${PN} only supports EGLStream which is only"
476 - elog "supported by a few wayland compositors (e.g. kwin / mutter, not sway)."
477 - fi
478 -}