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: Wed, 11 May 2022 23:53:35
Message-Id: 1652313021.ff4f7290be98925de84cd773d3b9e546057bf4ef.ionen@gentoo
1 commit: ff4f7290be98925de84cd773d3b9e546057bf4ef
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 11 23:18:46 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Wed May 11 23:50:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff4f7290
7
8 x11-drivers/nvidia-drivers: kernel-open improvements
9
10 - use full source rather than bundled kernel-open which comes
11 with a prebuilt .o_binary similarly to closed source blob
12 - enable NVreg_OpenRmEnableUnsupportedGpus=1 by default or
13 else it's unlikely to work on the average GPUs
14 - symlink application profile to help nvidia-settings start
15
16 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
17
18 x11-drivers/nvidia-drivers/Manifest | 1 +
19 .../nvidia-drivers/nvidia-drivers-515.43.04.ebuild | 23 ++++++++++++++++++----
20 2 files changed, 20 insertions(+), 4 deletions(-)
21
22 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
23 index 2dda492175eb..46ab3eb7cf50 100644
24 --- a/x11-drivers/nvidia-drivers/Manifest
25 +++ b/x11-drivers/nvidia-drivers/Manifest
26 @@ -6,6 +6,7 @@ DIST NVIDIA-Linux-x86_64-470.103.01.run 272484410 BLAKE2B 42a19ed990f49d4ceefc10
27 DIST NVIDIA-Linux-x86_64-470.62.29.run 271041614 BLAKE2B c49c1861e0ac1741e8e270d78327d75abd9c58fc06f23f4d8508976276afc69b9a83958ba855884767a82018b424bed9cf7b89c0514db56f55c2a3cff70d2d99 SHA512 bdd8dd25b2fa07c15a4e14bab9d7154f2be5c3d08960caf7d419247ff5d12c8366962346c2f38efee6daa935b020d8de09d9c145c08cdd0835a6fef0c2c3c76d
28 DIST NVIDIA-Linux-x86_64-510.68.02.run 329247384 BLAKE2B 44107d04df20533aa904146465d069ad30aa2aabc68c3588480d0c8e85e3e0eec7515d81bd411d63e02ee893343088e6805235386a8d3eb0f4cefb72083dc0ea SHA512 eb31ed729555075bcc307acc576cb6fdfdd7e397c9e47dd80fc2f55cac6902c3924b69bb91036e5ded1001e81d4b81082ba093dd63d6d97bc313fe78e510131b
29 DIST NVIDIA-Linux-x86_64-515.43.04.run 358747732 BLAKE2B 295284c951deee77905a386e7c960c5ba715358ce47afa5f9bd03dfc3f14cc5aeb37dacf2d42f35a15ef3a48b59cf1bdc8a36074d48b06aa98112b60496dcdce SHA512 07dfcfc297d8dc3072ddf5d719ab5fe3de0aaa2d9b2b7329d86a1cc167c79bd3854c0644cc0080689e2529b3e375dc3ffb370afc3904362722b338d2c1c2837a
30 +DIST NVIDIA-kernel-module-source-515.43.04.tar.xz 7600032 BLAKE2B 6da3cbc2d09b7c6c9a9d61df6adfb6cb50e268a1c367a6eda7f750cd27f54d188b713147051d884561a7440708ab8bb2e0f09cb66386101f955861de92346dde SHA512 ad919e6fbcf5c830ed6c2566372b2675731546a3ffc008b009cd172fb529ed34f6f9b436acd6d7ccab744296dd9da15c6aa8c2f7edb0355d5b2633ae92e79d69
31 DIST nvidia-installer-390.147.tar.bz2 150157 BLAKE2B 3bf5317aaa3bdb0e6dc3b3e21ad3dbacf6dc782a643b0fa9badf354361891ab25660b57dd408e346f219d469af317a4851937e1cb77ffe59a39e9d98a92f3a40 SHA512 24bd8a2959062551abf2ea039ac95eba224d58c175f59f1386a6d43459ad43b2bddf17f00b53c1c71c45eca3b7a2281dcf05cc65030f6f8bed16d0f0b9f9c282
32 DIST nvidia-installer-470.103.01.tar.bz2 146121 BLAKE2B 06da3693cf8edba849b802f2255dcf2086ba3846f83ef19a02cb813ea2c07a6904f8a49e263018fb8b40c9fece7ab4422d95a50d12030ae6815ec60a7edac055 SHA512 b080f32394a6163c34e152561b80cca9277a53e0b38c5225b91daddc2169403e2ff4cf63a30b488ee0c3a954b21d32065b5624fb9dd33e672313909b9096de02
33 DIST nvidia-installer-510.68.02.tar.gz 199720 BLAKE2B 69f6514e5eac74897158585d90d215d689edce720257819af5b245768029efc9a95338b3aa3de1a63c8b107658375f248a688c31ea08513224e443083a5f68ce SHA512 24831d20f79bdd5e5d6c828f02d59f9c75b30169a46ac789615be5ae014c831fc5bcf267c5f5afa8fc84208eb427a9972638db0aca68510393916c041368ff45
34
35 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.43.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.43.04.ebuild
36 index 6aa9c68dc6c0..e7a6a48de585 100644
37 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.43.04.ebuild
38 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.43.04.ebuild
39 @@ -15,8 +15,9 @@ HOMEPAGE="https://www.nvidia.com/download/index.aspx"
40 SRC_URI="
41 amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
42 arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
43 - $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
44 - nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})"
45 + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
46 + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
47 + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz"
48 # nvidia-installer is unused but here for GPL-2's "distribute sources"
49 S="${WORKDIR}"
50
51 @@ -111,7 +112,8 @@ pkg_setup() {
52 nvidia-modeset(video:kernel)
53 nvidia-peermem(video:kernel)
54 nvidia-uvm(video:kernel)"
55 - use kernel-open && MODULE_NAMES=${MODULE_NAMES//:kernel/:kernel-open}
56 + use kernel-open &&
57 + MODULE_NAMES=${MODULE_NAMES//:kernel/:kernel-module-source:kernel-module-source/kernel-open}
58
59 linux-mod_pkg_setup
60
61 @@ -153,12 +155,13 @@ src_prepare() {
62 rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
63 rm nvidia-settings && mv nvidia-settings{-${PV},} || die
64 rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
65 + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
66
67 default
68
69 # prevent detection of incomplete kernel DRM support (bug #603818)
70 sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
71 - -i kernel{,-open}/conftest.sh || die
72 + -i kernel{,-module-source/kernel-open}/conftest.sh || die
73
74 # adjust service files
75 sed 's/__USER__/nvpd/' \
76 @@ -173,6 +176,13 @@ src_prepare() {
77 # makefile attempts to install wayland library even if not built
78 use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
79 nvidia-settings/src/Makefile || die
80 +
81 + # temporary option, nvidia will remove in the future
82 + use !kernel-open ||
83 + sed -i '/blacklist/a\
84 +\
85 +# Enable using kernel-open with workstation GPUs (experimental)\
86 +options nvidia NVreg_OpenRmEnableUnsupportedGpus=1' "${T}"/nvidia.conf || die
87 }
88
89 src_compile() {
90 @@ -386,6 +396,11 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
91 insinto /usr/share/dbus-1/system.d
92 doins nvidia-dbus.conf
93 fi
94 +
95 + # symlink non-versioned profile for nvidia-settings in case
96 + # fails to detect version (i.e. mismatch, or with kernel-open)
97 + dosym nvidia-application-profiles-${PV}-key-documentation \
98 + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
99 }
100
101 pkg_preinst() {