diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2024-07-23 11:02:40 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2024-07-23 11:14:19 -0400 |
commit | fb3dd086ea71237da702842c104b4eb320dad2cc (patch) | |
tree | c44dcc05762fc98900622808364d2ab47602172d /x11-drivers | |
parent | gui-libs/egl-wayland: add multilib support (diff) | |
download | gentoo-fb3dd086ea71237da702842c104b4eb320dad2cc.tar.gz gentoo-fb3dd086ea71237da702842c104b4eb320dad2cc.tar.bz2 gentoo-fb3dd086ea71237da702842c104b4eb320dad2cc.zip |
x11-drivers/nvidia-drivers: add 560.28.03 (unkeyworded beta)
Have not tried booting these yet (do not want to reboot atm), but
users using unkeyworded betas hopefully know what they got into
and not too worried if broken.
Note that since NVIDIA newly ships 32bit libs for egl-gbm+egl-wayland,
this now depends on USE=abi_x86_32 being set on both and may disrupt
some world updates for users that set USE="abi_x86_32 wayland" and
did not set abi_x86_32 globally. Also pulls mesa+libdrm+wayland
with USE=abi_x86_32 and maybe more indirectly.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r-- | x11-drivers/nvidia-drivers/Manifest | 8 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/metadata.xml | 6 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-560.28.03.ebuild | 515 |
3 files changed, 528 insertions, 1 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 83af14636551..446e8e01eb40 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -4,6 +4,7 @@ DIST NVIDIA-Linux-aarch64-550.100.run 236302320 BLAKE2B 8f3fa9112ad17b385d86a6c0 DIST NVIDIA-Linux-aarch64-550.90.07.run 236478345 BLAKE2B dba3321c10e14afcf95a7d97173635b066881e56bcbaff3e9ba1ef4dafa132342f3ad39f4ffe0359259f9f3e1b2fd95746a84be09f6d30de5effde1c7fcd4731 SHA512 79b956ad890a096bfb00c9dd996cba0673200b1d61f702ea6c5c64ca3fe2cefdd61e2bc844fdb7b4668c2796af5399be51e6f511565c3799cf731de2a7e9efaa DIST NVIDIA-Linux-aarch64-555.58.02.run 236745104 BLAKE2B 342f5b99aeea0a569974b62322608138a845f197d7ab08fc2e37314187861814f3c1d8d017be07744816aa9d691e8161a60980e1d005701e3f67ab3a07fa03ae SHA512 9c4d78ec381bb6163c6591309a9a40f1dfdb5f3d6b983e1728c17383c5f0871bf3879b32f93c7892d33577a9dacf2dcb1d14639bcc4ca510104f33cb54e83df0 DIST NVIDIA-Linux-aarch64-555.58.run 236884430 BLAKE2B e84528f1e662409c1fe779ac7c7137808d1c858517cbfe0a5eb5bd992de616be17fbf4b11f8cf5f96f48ec38b6588dc8c74bbda4c3cbf965486db786fa221b5c SHA512 35a2dc801b41f2e5cc5954bbcf26d1d38e1d346353ae2e2a40016f28a7e0d39607d5b9ad2f78600af58642e06935011159386702c5a43a1da272b34061e07bf8 +DIST NVIDIA-Linux-aarch64-560.28.03.run 251063126 BLAKE2B c2d38dca6d8ce95e82d512a42e15b428b5559acfd6cc0d7c117eed920e9f98e3dfac9525e4e831c1133c91e503620ec7a9c8a8f6390bb2f6f6505bb65f94ef84 SHA512 be09b9a57b048b757d1f1392e0d7775b4fd9810c0e651354f224740258889a20f5f7154c541b9227839cce0a0a808a1b5f880cb2a073c53774dec060977256f7 DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0 DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88 @@ -14,12 +15,14 @@ DIST NVIDIA-Linux-x86_64-550.40.65.run 311996071 BLAKE2B 467e98fa2b50b3789667fce DIST NVIDIA-Linux-x86_64-550.90.07.run 307583808 BLAKE2B 2bb4c03d4df42c0f6847bb0b088e9f0094382acac4a87204721dfe09a4b555373b4a9f0e6984ad65bdf98ade7cc70b316222413a94824bdc89926bb9b46db0a4 SHA512 b8c2cdc918ec74b44517fc181f9eb08ea44d0d9a53f221c0aa243e34872203721a9a7fb27628d35e3028a6aa68917abd2962cc13d5d4b09e92866e14678567a4 DIST NVIDIA-Linux-x86_64-555.58.02.run 304107617 BLAKE2B df9774e6b33e3600e7425734c91f49ba40956f28391df47d946f7612e28984812fbf0f4d95ffc06d1cb545dd9001b5b956c5816eda50de77063cbafe866835ae SHA512 7a8c84c15d87d2cf5f6261b12d3d683e0a7a1847d7c5461b3995f78b8dd862272fd11be07018593a8d5ef5d8274040f15b9e6fe92e9212dcd7a97be668852433 DIST NVIDIA-Linux-x86_64-555.58.run 304117789 BLAKE2B cbb7911f11789da886814104d253c5f0784357cadfbfde3def602456386e351f48b4ab7060237d23417ddeb2051e887c3b872574e3ee180416e7f00684509788 SHA512 69ce5a35ab0b3129605ede75a5a9e2575062a8a30e92d2a1a9c6576d1bad8e924c46909a438ffa1d9c22b616060950d52a6a967a96ed1cb1646e6535cf4dcfa9 +DIST NVIDIA-Linux-x86_64-560.28.03.run 325129162 BLAKE2B 89a71be83f18981c74871eee5b5a6e3c36b1140cb1e1d712e351f404363e65d7410d18a7f80aaa20dd11b779eb3e872d2ec73da3d783f24747ac14b54fda8841 SHA512 0ab19203be58c22f29a393280eb4aaae18949744af301c224ac9c691c168444cf9b780f5d7fb51a9987019e3dab18f706e92c6a5e40717dbf02af3a3def2e4f0 DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f SHA512 58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d DIST NVIDIA-kernel-module-source-535.183.01.tar.xz 12521824 BLAKE2B 5ae8c2c0d9d019b99c947f1581712989325815cfe88ee308df0b710b64c4bc5c501c9741c67e25c47eaf7a114c521a595aabc85d0f05854c0692216f320378c4 SHA512 1c255eeafc79d228b3d76d1d20d1a2dc4583cbbb77db6af48b389694b0daaabd7c1962cf73e1a489e0ab07cf57751770ff8ce5f2489f2489a211e39bd7436637 DIST NVIDIA-kernel-module-source-550.100.tar.xz 13522104 BLAKE2B 83abd845b7d4aac56807e1d72c1ff82db76a20a21b4d5c56ad0358390dbe7f212f41288e835aef4199c4389d73f2189c876a77c0d42d5f0dfd12db1af8eaed45 SHA512 f25a651660128a134238ca19ddeb7a149044489d2b778f3d026147de3d6ff976ee739d1f94f56dc204ddb7cab435781fa3402af0f3c2e3148d558b8df27580e7 DIST NVIDIA-kernel-module-source-550.90.07.tar.xz 13504752 BLAKE2B 0bc4e882cba6408db0a62323764b4302d77ce5dae801ec46bd1c08946358624776c2e36ee3dbc070c40ee1b77a4fa6b303c5a73ef311ba1f8d1454f48ace58eb SHA512 f2f0deabce609fbd5125110e7e0bb3b758491d365a6e8d975bb4893f588403faa9f25b7e03218a4ada54dc916a8fbe955f042dd2e8d53bcc69e81f5e22aece82 DIST NVIDIA-kernel-module-source-555.58.02.tar.xz 13676856 BLAKE2B f3bdda7afe0726c65947fb86898bfe56dbd5378112db6b292649690ef9fbc822745291c2050ce8d16c312950f0486cb54597c41ca14e1dce151b9eaa55bc5745 SHA512 28b7dd07f31a39eb3aeb1ef51872f5f7d2e9e4ffa4573244f979992014e5e04454227ee5c556d41663e0e2175e7f5cac4cdd740f441a96e3dda49303c2dc8df5 DIST NVIDIA-kernel-module-source-555.58.tar.xz 13691936 BLAKE2B 70272f51fdd2e2c41b634df28e1d28033b8401e03f66b28245b073b966631932a11f4826fc59d85edc39859c01462fc72ea3f49738c1e9de35e66092fe23a7f3 SHA512 58f10eb0b7c0f1a76c882b409b3cfd210848a262e4387a518c84236da0ea538aabbab28eed2d7e3d17f4a5a3ccf16205d102d6d589b7efade73de3c3cabe0a2d +DIST NVIDIA-kernel-module-source-560.28.03.tar.xz 15067608 BLAKE2B b51bddac7d1fd4ab301b44f3a630f2ffe9df21a3fd18bcd6fdb185fa05d6e1ed8e1f420f4fc892f907704177a43b7ba2230bf3ba3cc00045410e281263fb09c4 SHA512 a97a4232802e106189911aacb9776c8b96de07c5a6a94035f2b75c2e676287043d10a769b3f4a2f839a58ab68fbe6072395486f9a88e0d1caf0fe5c4b01dd198 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a SHA512 171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb @@ -28,6 +31,7 @@ DIST nvidia-installer-550.100.tar.bz2 155473 BLAKE2B 9e995497ba99b2a7c8ab7ffb201 DIST nvidia-installer-550.90.07.tar.bz2 155441 BLAKE2B 16a22549ac3b188933d2a0ed875aefcff01a195741d309641b343cafca4d62c7c269f5864dab94a231d23f323986b9c28c2f4472a922548f411aa569e04eb47a SHA512 7d902e2e26b752ab10945e12864624b809b48236499eeee50c838129b843ecb3ac263579ef0cfcd87cbe3292c5f3b39e3e6e33b98bb6f9ff5a2aa5c05363f20c DIST nvidia-installer-555.58.02.tar.bz2 158422 BLAKE2B 0f8da2790dcc398859ce7b2e4278b490542b5672e8005fe98b7ba095c8ff62fe3639907755630658f7241097e18f3e92196b1fba0e430da6bf697e8bbe9dc520 SHA512 ef1ce8ef4997858a053c4b6939496510605b0a5d2f1c93ab80f2002fabeae2333da2e877aeb665936ce618fdfed4a6b9a888f6426fd1fda289e6793febbedb37 DIST nvidia-installer-555.58.tar.bz2 158294 BLAKE2B 933df4e52bcf651abf6d811efd9ac2cbe9df8faabe105f42ad952b2ac1e6180d9773a07729439800d611b65eacc128b191e2b1c07cd30a9668c48d4099b6abb1 SHA512 682ab51ce4b8e939508828d1f3ba7c64aad100dc9322619b12e2425e93f7988aa5189f530fd65b1bfeb47dda600d119df607309649e2c55babe771d847caaf4a +DIST nvidia-installer-560.28.03.tar.bz2 168476 BLAKE2B dd9bbde0bef352beaae370af7d6445db761c2ca685d2eb20188effe11ae2a550c3aaa622c8c1ff57f77b6dfdbfcc09f16e003438bd58025c7d36086d3d9c1b37 SHA512 2d0424dfbcbabd908a2c4ee6c15d5598477310692f2bedd5998bb6d65207e9d3fe40bac75a626aeb5767ee57aa7e0c6c59ddf979c4b9d6a8b980bcd46418ed72 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3 DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31 DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f SHA512 25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f @@ -36,6 +40,7 @@ DIST nvidia-modprobe-550.100.tar.bz2 41477 BLAKE2B e11f8d930ae4a08ccc5dfd17417f6 DIST nvidia-modprobe-550.90.07.tar.bz2 41494 BLAKE2B c76ca53c8461af8a19b41f1e167785ad3db0c97df6e5b860300793facd5db8f3dfa1053e8e96b98eb1261850c5aefce4be77e2c8f26787eff1584c07a10114fd SHA512 40d8d1ed0a230ffa8f63b6f4dfbcecd0712347b326371552b29d5d00f3def72e145056a896bb04389095f06ffb0b4bb51b24ee226cd3ea638ff479dfd40c1139 DIST nvidia-modprobe-555.58.02.tar.bz2 41721 BLAKE2B 01e83365c1fa1d5ce172f31d180e0735e5d74a49e59c7fdec78ad26f1f70efa981f2a2429e1c815582d3200defe09389d9b84a2a8e4c2f46e1d4528779eb4305 SHA512 5fabde2e8bf534cf6ec8dafe7318c76ef560f336bdb3343d71b784713076a05d063c2e65eb8f965b0776cb02e67f8eed363d8eaea67fd92798d1bd1b74571ec7 DIST nvidia-modprobe-555.58.tar.bz2 41699 BLAKE2B 9fcac636c33c48272218ea33159b59665bbcf807e2c1dbf8e7c3d52624cb12a7ee406765db63d266ab7694140ab2f40e51a99b26ce65e5f775a24686cdd66b9c SHA512 f60f1ea6fd9ecad7c0aea00546faa32d14f905c5f68ed1ca6f9ef0f91099b3e8afe090dd74d7bd3ddfe6d435be569ea0fb889ea4cc75b7c8c0c2744ab3e1279c +DIST nvidia-modprobe-560.28.03.tar.bz2 41604 BLAKE2B bd7e75b050e0fbc3225a51595e7bd254acea519fd117aaf9072d00f598b26952ea3a100a113cd0fbe6f09a2bb07a33d2d8c29defa4992f6c2205b845501b53e5 SHA512 1d4cd89406f61f861aae3f3f2d893b76fb1d86ac13417953689e1805f64fc85a37af311476906c925dbc09a36a764c78e62f451a09758c778e058b80bb6d8054 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9 DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982 SHA512 e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe @@ -44,6 +49,7 @@ DIST nvidia-persistenced-550.100.tar.bz2 49665 BLAKE2B d0a2cf3f2eed9352982d2e855 DIST nvidia-persistenced-550.90.07.tar.bz2 49680 BLAKE2B 0055472f692f8bc0d94a0b758d63c1e3197d88ecf6bec8418e47ee354b4d9f9c367a88e9859cafa0eaebfc622927c4208fa9d6b33493e40f9ecbddaa89637b52 SHA512 60fed926b2d8778345899ea15d455ac59677f7e8b0ce0416d404403ca51269217d55a0c67c0a180d9ee08e9160899e10a28b59c48e76e9a4d3521ab422778061 DIST nvidia-persistenced-555.58.02.tar.bz2 49877 BLAKE2B 8423f34ba517ecfbb782a648ca07f99f161cd153400bfa32e04ab98e8f72cea2afa60d11d2e05e1f31ce21ed33899cc6945fa56d6e313ed8af67aebf93467879 SHA512 16f7884a53007226206761e4d9fed8d672c6ca31ca59c70e8931bcd0d772d77f0b0078071505ab1bc198f713a94a12f132b7e3fee054f859db9ca6fe25404117 DIST nvidia-persistenced-555.58.tar.bz2 49920 BLAKE2B 400b57aba66aa1dfbc17ba6d2c539aca2ee65d70c152e61cea1bc33977a64951ca7eea72b431aaa3009349131e1cca09cdae33cf48edbddb6b73e4db190f066e SHA512 3068c37966ae59de709fa7ce4d6465570657c67e10b254c6bfc7002cb44c6bebf0761aed50ffc8e64c7763116051997cf71ac56e31b1eb5d6467ad382c4ff97d +DIST nvidia-persistenced-560.28.03.tar.bz2 50023 BLAKE2B f9407b4eb410f82bd8cd5bf8b6ad271538496dd6731a6ef9f350fea64297125affc4c2eb4f4e1c7be02304571c2db4c272bbea58117bab4f46ccd8dbc44ad6a7 SHA512 5d5c3c48b1074890d342561f89b043f75e2da2e4004b8487d8890d328801f265d139ebd0c6911780b70b0feb0525124b33dda5a299ac9a9afc21e7e35082471d DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007 DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f SHA512 9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd @@ -52,6 +58,7 @@ DIST nvidia-settings-550.100.tar.bz2 1098945 BLAKE2B eef86654dc6d5db0484403e2da3 DIST nvidia-settings-550.90.07.tar.bz2 1099159 BLAKE2B de06cdc13bf6fe1f20cb9173928b6931bbd92fdb410b3914fa0425397024fe5da34493c4534b1650745082ea4deeb77db0c17d21692ce17717e022158a3e361f SHA512 b4a8d9f57c8067af78293e2522de137569dced0b23013f8bd8fcebe1558ee1bad3838eb52a792044f31cd0d380cf2bd630d2b36968c71a602b7b0889ebad0696 DIST nvidia-settings-555.58.02.tar.bz2 1100319 BLAKE2B eca06045a50d7d5963fa4f1fe9c9e4e1e693be392b42ccc069893443734a1725046803c8bd0ea06ff9b256f26b99184196a805c602710ead599e9cdb8ab1a223 SHA512 b86c4192f2b6cc5fae57bfe627b6ada0a9c936e90cd898baa448140627c7e9cdf3368021da2a94ec699ac1f5a08bb462766a573a028f81194361b9c642a1253c DIST nvidia-settings-555.58.tar.bz2 1100157 BLAKE2B 7d7077bc6844835cd9234dff5de6c9e82b388a947fd3d5deb35585eb79a00e05deb34bcd1ef205bde5bad842b1ca9bd6853c7f6b322f1bba98307b5d0ae89a43 SHA512 e764d88cfc0530d0d6e658a076fff1b0a99034704152d0962bff4a26393a5a0287f3af6f6c55cf663bfcfd02f373626cf976d48a6699a62f2ba09200e602cb7c +DIST nvidia-settings-560.28.03.tar.bz2 1115322 BLAKE2B e37c539093a297f24d4f9fe5a5026425d404cea877e3c73a6b4ec635216f43927d7fb2e2ed7ba670e05f06c9da5703e727fc827fe48d8e895292ab891d7f1966 SHA512 acd97feb6ea1239c56ab717a7ad1e876f575988232a2f60abcac195d509821eebf61e36b69171ecaad20c5c24a1515e1d0c1f9a1933c4995d7b83ad075414626 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da SHA512 4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae @@ -60,4 +67,5 @@ DIST nvidia-xconfig-550.100.tar.bz2 111231 BLAKE2B 06df20f15b17ffc43540d02e9bd5b DIST nvidia-xconfig-550.90.07.tar.bz2 111144 BLAKE2B 730986cafd56798a8cd51c06870d596ec812dc807e168b80857b323d353119c8ff28f08a7584434c5f7ff9e2eea1a754c51c680fe61f3b88c2aa527eaf9ecda4 SHA512 106c6735444f321f429e8a30ff6d1c3cfa2dca08237a6cc8e4619735895ac42e041f7bd97fc1d498a4db151b1020d88f5a506dea80a6a3325e706884c56a1feb DIST nvidia-xconfig-555.58.02.tar.bz2 111182 BLAKE2B f51275158f02687e54e856f3f7e9f92b01c6c7aba423e5384cf3d4e692dc6d3fdc73ed0b25f26fb1206dc1219b6e0bffd54767e0f0f3b4b3a63875113d55236f SHA512 673bea01fe39687ba34e19b743c61898d2ed8f34710c3a1afc8f2e71e0903950f253408b0fcf0b6306a98ddc2438cacd92fafd1d1662136b18058017dfb783c4 DIST nvidia-xconfig-555.58.tar.bz2 111298 BLAKE2B ee7559b8121014134266506306c066adc5dc3d2f919e5a98355240b1ace8335461906a562e2c21640a91ab31906cddfd63f2193a0c97ac9e105aaf79c1bdf9a3 SHA512 5f7810977a238fff15849b0fab5b31177b358275328789c581fc64459a71fed0ec12ce372b32fc927f00327d41ff83e1ebe26351c989056e19fa1a38a661a5b6 +DIST nvidia-xconfig-560.28.03.tar.bz2 111216 BLAKE2B 18c68596a04919b373a1188fca870827420c818d62c8e770c4ff7707b91688896504e8162c635e29b3978e26bf7a1d9a9f4e06a619508f556b1bc9a07c3120d8 SHA512 43a516d1e8d97eec3d79346caa8665aee908d3a62660fd413c287322d76239343318a3b4c6479df24af36d20cb128a414b200687a28591451e936433579e2e1b DIST open-gpu-kernel-modules-550.40.65.tar.gz 13812916 BLAKE2B 4eb7cff51bf2a6a30ed7c4d2270a4ebe8de6ac4782dd5943bebddee854cd1955afe8fc6c21489923bbb20f02731b378d7f5e4b6508f64c0019e497ddf2b22255 SHA512 e5e8f19ddf15a51ab48f3c38a92049c38d241991cb8a18896870b49026450bbb15d8f57369fabaa5970244643c54c906207044d6c7cec28a10399c111b347f72 diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml index b846a17d5174..86a8f688e863 100644 --- a/x11-drivers/nvidia-drivers/metadata.xml +++ b/x11-drivers/nvidia-drivers/metadata.xml @@ -10,7 +10,11 @@ <name>David Seifert</name> </maintainer> <use> - <flag name="kernel-open">Use the open source variant of the drivers (Turing/Ampere+ GPUs only, aka GTX 1650+)</flag> + <flag name="kernel-open"> + Use the open source variant of the drivers + (Turing/Ampere+ GPUs only, aka GTX 1650+ -- + recommended with >=560.xx drivers if usable) + </flag> <flag name="persistenced">Install the persistence daemon for keeping devices state when unused (e.g. for headless)</flag> <flag name="powerd">Install the NVIDIA dynamic boost support daemon (only useful with specific laptops, ignore if unsure)</flag> <flag name="static-libs">Install the XNVCtrl static library for accessing sensors and other features</flag> diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.28.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.28.03.ebuild new file mode 100644 index 000000000000..15575a6949ab --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-560.28.03.ebuild @@ -0,0 +1,515 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1 +inherit systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.10 +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/download/index.aspx" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl" +SLOT="0/${PV%%.*}" +# no keywords due to being a beta, feel free to opt-in for testing +#KEYWORDS="-* ~amd64 ~arm64" +# note: kernel-open is an upstream default in >=560 if all GPUs on the system +# support it but, since no automagic here, keeping it off for the wider support +IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland" +REQUIRED_USE="kernel-open? ( modules )" + +COMMON_DEPEND=" + acct-group/video + X? ( x11-libs/libpciaccess ) + persistenced? ( + acct-user/nvpd + net-libs/libtirpc:= + ) + tools? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/jansson:= + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/pango + ) +" +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/openssl:0/3 + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + gui-libs/egl-gbm[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.10[abi_x86_32(-)?] + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + sys-devel/m4 + virtual/pkgconfig +" + +QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~SYSVIPC + ~!LOCKDEP + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection + of drivers (no custom config), and for wayland / nvidia-drm.modeset=1. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or + DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in." + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827 + local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of another option that requires it such as CONFIG_KVM." + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die + rm nvidia-settings && mv nvidia-settings{-${PV},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die + + default + + # prevent detection of incomplete kernel DRM support (bug #603818) + sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ + -i kernel{,-module-source/kernel-open}/conftest.sh || die + + # adjust service files + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # enable nvidia-drm.modeset=1 by default with USE=wayland + cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die + use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die + + # makefile attempts to install wayland library even if not built + use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ + nvidia-settings/src/Makefile || die +} + +src_compile() { + tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG + + local xnvflags=-fPIC #840389 + # lto static libraries tend to cause problems without fat objects + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + local modlistargs=video:kernel + if use kernel-open; then + modlistargs+=-module-source:kernel-module-source/kernel-open + + # environment flags are normally unused for modules, but nvidia + # uses it for building the "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + fi + + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + ) + + # temporary workaround for bug #914468 + CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKAN_ICD_JSON]=/usr/share/vulkan + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd powerd) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + doins "${T}"/nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/opt/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + : "$(systemd_get_sleepdir)" + exeinto "${_#"${EPREFIX}"}" + doexe systemd/system-sleep/nvidia + dobin systemd/nvidia-sleep.sh + systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service + + dobin nvidia-bug-report.sh + + # MODULE:powerd extras + if use powerd; then + newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 + systemd_dounit systemd/system/nvidia-powerd.service + + insinto /usr/share/dbus-1/system.d + doins nvidia-dbus.conf + fi + + # symlink non-versioned so nvidia-settings can use it even if misdetected + dosym nvidia-application-profiles-${PV}-key-documentation \ + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation + + # don't attempt to strip firmware files (silences errors) + dostrip -x ${paths[FIRMWARE]} + + # sandbox issues with /dev/nvidiactl others (bug #904292,#921578) + # are widespread and sometime affect revdeps of packages built with + # USE=opencl/cuda making it hard to manage in ebuilds (minimal set, + # ebuilds should handle manually if need others or addwrite) + insinto /etc/sandbox.d + newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"' +} + +pkg_preinst() { + has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN= + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND= + + use modules || return + + # set video group id based on live system (bug #491414) + local g=$(egetent group video | cut -d: -f3) + [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')" + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die + + # try to find driver mismatches using temporary supported-gpus.json + # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat + for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do + g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \ + "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null) + if [[ ${g} ]]; then + g=$((${g##*\"}+1)) + if ver_test -ge ${g}; then + NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}" + break + fi + fi + done + rm "${ED}"/usr/share/nvidia/supported-gpus.json || die +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + + readme.gentoo_print_elog + + if [[ -r /proc/driver/nvidia/version && + $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then + ewarn "Currently loaded NVIDIA modules do not match the newly installed" + ewarn "libraries and may prevent launching GPU-accelerated applications." + if use modules; then + ewarn "Easiest way to fix this is normally to reboot. If still run into issues" + ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify" + ewarn "that the running kernel is ${KV_FULL} and that (if used) the" + ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)." + fi + fi + + if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then + ewarn "Detected that the current kernel command line is using 'slub_debug='," + ewarn "this may lead to system instability/freezes with this version of" + ewarn "${PN}. Bug: https://bugs.gentoo.org/796329" + fi + + if [[ -v NV_LEGACY_MASK ]]; then + ewarn + ewarn "***WARNING***" + ewarn + ewarn "You are installing a version of ${PN} known not to work" + ewarn "with a GPU of the current system. If unwanted, add the mask:" + if [[ -d ${EROOT}/etc/portage/package.mask ]]; then + ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions" + ewarn "are available or fully functional, may need to consider nouveau[2])." + ewarn "[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then + ewarn + ewarn "Open source variant of ${PN} was selected, note that it requires" + ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." + ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" + fi + + if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then + elog + elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" + elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered" + elog "experimental but is required for wayland." + elog + elog "If you experience issues, either disable wayland or edit nvidia.conf." + elog "Of note, may possibly cause issues with SLI and Reverse PRIME." + fi + + if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] && + ver_test ${REPLACING_VERSIONS##* } -lt 555 + then + elog + elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555" + elog "enables the use of the GSP firmware by default. *If* experience regressions," + elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable." + fi +} |