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() { |