summaryrefslogtreecommitdiff
path: root/x11-drivers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
commit40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch)
tree758c221bad35c9288d0bd6df9c7dfc226728e52c /x11-drivers
parent8d5dbd847cbc704a6a06405856e94b461011afe3 (diff)
gentoo resync : 28.04.2021
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/Manifest.gzbin5039 -> 5026 bytes
-rw-r--r--x11-drivers/nvidia-drivers/Manifest60
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch13
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf8
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.init24
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-fno-common.patch22
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch22
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings.desktop7
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-smi.init24
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r120
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule1
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia.udev-rule6
-rw-r--r--x11-drivers/nvidia-drivers/metadata.xml3
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild388
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.141.ebuild470
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild)207
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild205
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild485
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild409
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-460.39-r1.ebuild485
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild485
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild211
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-460.73.01.ebuild408
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-465.24.02.ebuild409
-rw-r--r--x11-drivers/xf86-input-libinput/Manifest4
-rw-r--r--x11-drivers/xf86-input-libinput/xf86-input-libinput-0.30.0.ebuild4
-rw-r--r--x11-drivers/xf86-input-libinput/xf86-input-libinput-1.0.0.ebuild22
-rw-r--r--x11-drivers/xf86-input-void/Manifest2
-rw-r--r--x11-drivers/xf86-input-void/xf86-input-void-1.4.1.ebuild2
-rw-r--r--x11-drivers/xf86-video-dummy/Manifest2
-rw-r--r--x11-drivers/xf86-video-dummy/xf86-video-dummy-0.3.8.ebuild2
-rw-r--r--x11-drivers/xf86-video-nouveau/Manifest2
-rw-r--r--x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild22
-rw-r--r--x11-drivers/xf86-video-qxl/Manifest4
-rw-r--r--x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5.ebuild23
-rw-r--r--x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5_p20200205.ebuild2
36 files changed, 2021 insertions, 2442 deletions
diff --git a/x11-drivers/Manifest.gz b/x11-drivers/Manifest.gz
index 86f42aa098c8..ff9b24fd3306 100644
--- a/x11-drivers/Manifest.gz
+++ b/x11-drivers/Manifest.gz
Binary files differ
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index bfd51a59ab92..49f93464672d 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -4,53 +4,65 @@ AUX nvidia-390.conf 199 BLAKE2B e7eabfb3a61cc0e95da78270964a6bb55ae71fdad81376d4
AUX nvidia-430.conf 734 BLAKE2B 8332fcce02f603e84598cf817a4ba6c948f198c962b699d5d765f868eb0f4e88586390b3d0ebb14f9b3defa8ab84db9196358c9cd5754b5f4e336ace441abf95 SHA512 51691436b9ccd2e21b2a1a8b5f431865aa811ec9ca07899b1f4d8f9ff8e38a71a8c7f910a06df5b686e274447e2e570e96c07bd13bbb69bc6a570c8dd393daec
AUX nvidia-460.conf 734 BLAKE2B c266b4ffcc3f8f3666c8838273da1eb21527dfc29ab1c276fbd77c4bad993e4f206112e0e0bf6e4a899f417ccbe4522053df8e019bbbeac29ec9364ae2fa3bef SHA512 4f716c9c67f269f361ad48cd18039df3cc4495e29a8a74d1b162fc0db96942afbdc440ef21a8477271b9e561483715ce7e0c2863f382d8721f235406fcaa3095
AUX nvidia-blacklist-nouveau.conf 150 BLAKE2B ab88433271de205cd928589eda1c5b7ca88d5febb9ca5f6a743e038d461e0d1bf4a1abddf272c8f15633c04a8ed1c09daed4eb81391768dfe96586b966186f33 SHA512 f345998328e28a34ba578e96f0ff08a94b909b151f9fe883fb59dfcffe754d0eb324caa8bbb1f42ca1c9604960b6ab1dc4e72b5edb773c3c7ade59d7adbb3057
-AUX nvidia-drivers-440.26-locale.patch 299 BLAKE2B ad9065b968f1ad62c90e3aeddaa5af9fe007f89e5e80fc74f4c200c642b968196d8880511cc05d1f2fd04e5ab4f189cd2935eda993f9f174f0f0f4d58b7de711 SHA512 1723963b3e7562332909322ee28373dff83f253db4805d4c77c837abec04a73946afdd2837a699d0babd989090ddfcc33574993c2f8d3857eb24cf0e9ad4e6ce
AUX nvidia-modprobe-390.141-uvm-perms.patch 563 BLAKE2B 9befd708ad2193e507583e066f306e11d55e82912f456e738d850b804d35331df2ca5de3a35e8ab551188c1103af762941098639fa9581b4437bc5e68595ddd6 SHA512 0546d51a86554985cd7cc036e7b8f65b457cd1a1c0549ef496422fa422d2757354a47b83247b100597f908c2653314878c721b3918ebc529cae4282824d4eada
-AUX nvidia-persistenced.conf 250 BLAKE2B 8b3514f981d992d34c949011a25fda5737d85ade831f15481843db14f67494e6f271eb7947a459a28c7991cdeb86092a2a7920e6f40213bcded90b7f9f15dae0 SHA512 9c9562bb15bf4552754dd50a1b01dec5df76f7f5666fba2fff642a169f87e9ed421a260f2258ab469f7e4cd9ef8161653355795624387fe7ad5ae6a0d71e5f46
AUX nvidia-persistenced.confd 213 BLAKE2B dd57e63944a97a77e83a8373dd34ef2f56824dcfadcfbbb54cdf6eeac17066d78753bd1b21a9bad8f0437c279c95492319205c15b84b7f96e0515415dfddbc26 SHA512 a311b73bb47448538e5261ba658d42e923890c909c335eeac3cc90ad0ffd3fd5fb983df8e91077f3098eaa13b07f27b23dc24a4579b1df411ae272976ef089b3
-AUX nvidia-persistenced.init 650 BLAKE2B 3be9ea563ecb9741bad4de1516ab9cf373c5b412eea52cf4d8e6446ee09f6adee47bcd1f65217c7379b55d99de1966b2335ecdfa940f9c7544cd103992ba280f SHA512 864c90573a033e30d151c9adb9f0f12c5bcba2b5a7eaaa62f86fc11747f13956825fc5acb4fb1fb453a32acefe850e73264a650fafa6014cc96bbc7e3b56fdaa
AUX nvidia-persistenced.initd 404 BLAKE2B 2115075a9b0c9d0eeee55e2b3c531da82ae6aea5bf25bcedc618b108aeddab95c0ac852d6d9b96bd9bf6dba62a13db487d7c3627b244ef29c047bb7a137f2413 SHA512 34143639ca5456cacfbfcb2bc30e51dce02d9af4784791a84ba93a26f2f7f31f2dc75685bbed52138c35df310cca1c19072a5fab2b067f854550f5ee4d96aa9c
AUX nvidia-rmmod.conf 108 BLAKE2B 8a14963d7498c08f22c60f0e7286b66375c22e9db081454d973738bf847bfd4343c82f4e1c529ec6b904ae3e8cf29e2570dd4cf2fbb8c8aa9bd33491d2e4f543 SHA512 cb6b70ba0fc9c6d81d43f31d724538beff79e7e9b02c610485f1e46757d7bf16410d5cb2853d8d67ea6e4da59e7e1687ad14dc4b494415c6db6fab517a03b28b
AUX nvidia-settings-390.141-fno-common.patch 478 BLAKE2B 2b222b26049aeb6692350618bd1e4dff3c4f25452c1e18c5789fd3e85ffb3edba4c54c4cdf02aec95f65c7eafb2c01e39a76b888a4f0691de6279d2981ab4f5f SHA512 a6574bc7be6299ab6f7aa3b7872506cc135ffda5591f6d385f6828ca5691e964852b4461fde771130a17b315798f986c2af6e1108e9d2298dcdf3f786e665a93
-AUX nvidia-settings-fno-common.patch 762 BLAKE2B 7a4895d004ca9f5468e88f41fdb86cd14c9ffc8267c308e372722008487f0b10037dfb683fa5dc007eb99107c4f798504470a4aebc42b1f787770be0fd522226 SHA512 830bf286ff708655c358b47e6260b318b5d06eb40cb73a5e03e511a04d048440a925e47c5ca0c2da53d445cee8f5f7bcb5273a1141f5edd83e7e8d43d6c08c95
-AUX nvidia-settings-linker.patch 1048 BLAKE2B a4a0a26d93514c3c43a0bc0db87b5b8dd8c20d0a9f15942db2a2f34662886436371e72c6e033d4bb2eb4d8996962f048144b93c1493149ea603ef71044cbed41 SHA512 11cd04a3efe95046d01c749df9fc055473284cb99a6138768916db841c8fadf2af5c93646b52f7bce6454e43b8621aa518964ef734c18283162fb2671f6dd9f9
-AUX nvidia-settings.desktop 185 BLAKE2B 5fab31cdfad3e882095bf0fb5c3821b5d934992f1d330b80dd825da727b7cf587177f21ad6d2f83eabc6a451c15e2dc4bbe88684deb5892199da53fdef77f428 SHA512 30cab269daf282b9716e53ecf2f8993289e8d4ad05c40d6ddaad3ea6e95477c36a4d65a28d0ec3c1c9c7e845fde140df9012944306f70131a02c9ffef0a9f523
-AUX nvidia-smi.init 545 BLAKE2B f4a0743f1fa5136c9c0f327645d8b66932492f2539b5c2b0bd45d29b2010fff6bbdc9e97b619e67d38bce38104d29fc4d00a9e0efc31b8ff408cb02370785bec SHA512 f7f04a73d646b90cdc14a408f53650324d7c1d7754a1d92acc9a8acaef163bda1eef33acb831df77657786e7ceebe0d7f9d25d2edd57d1590be340ce12fea6e5
-AUX nvidia-udev.sh-r1 285 BLAKE2B 6ea76f2f913b2bc2c9955e7564c770368ea6a0327887684d086040047fb95a0088387c5f87f22bc1f5a093cc79299ad72dd1495719bb344c504a342d03f34db3 SHA512 493b0d5f2698d299e3b8d5782ac7fb8174e7ee93f1dae66bc1161eb4dd16d4db91048444dc6e7bea344960936c0a5c825041f6909af004438d8009a3d3fe71c9
-AUX nvidia-uvm.udev-rule 167 BLAKE2B c4606309aaa522f4c86568928b072f09578d4e78540517eda38e50f9f372e62c312a8962f190f9715ebda18cadd8fb0513c07d9083e34591512350144a267a1b SHA512 9420f9b80abed3660a33c973554603c2db477e1779c03b79093076719feee7d84e2f1c47c1b337e88318f20bd1a10b2715b098f7bd065a5c825f26c13bca038d
-AUX nvidia.udev-rule 462 BLAKE2B d417e0e4f5a64c5cee235f4640554ff1ba4d34590a6c3459fd8b4e10dc7581010c006f96cfd01f2c9a847c79979631f6e5afbef01724d110201377e8f8c75966 SHA512 96f9edaa0b46bea5fce17596f868bea5265b303d7185af6ba81527bbd7b8fdf92de9311317cbde51a29d222083d451c25ab77c3d6837cbc4072a50d9af89aa86
DIST NVIDIA-Linux-aarch64-450.102.04.run 80469462 BLAKE2B dcabed08bdd2c4c328794238e175e96831ceb0ff683c7727a1873b5aaf07612f997d47c915ef7d3c5dcfcd1d40e75f9a51a83fb28eb84d4200e7e5bc41245d9f SHA512 6b0fcdbe8a0ef3a86357bcd7a48d38c2bb65d9608bfbde0fa270b7cec198acaf9b60d458406fc7c841c75c98089644e8dcfb87bd9d0d3c45bc77ec3c936d9371
+DIST NVIDIA-Linux-aarch64-450.119.03.run 80498137 BLAKE2B 1834fb1d1f6254665339b7c0476466223240e8e8fc61223825d7aa51b23becef0c88106dc0b01a59922f815309836f5c03bd6c0dc44096ca150432a83a6201f3 SHA512 60d757be68714aa8d0da754ccdd760858ad787216822766f34ec3c1b85feef37b247feb4d369eef1f2c73be08c99f5d9d6acd344a15058f6d7f71a6eccc2ce25
DIST NVIDIA-Linux-aarch64-460.67.run 112551235 BLAKE2B cc1166454f6e8771c7fe97010906919e9f2afd74ac86321006628f90f4d8dee033c3e09b2d9cac9063fe3fd313c0b529b347bcf38c051588ca7a972617c45026 SHA512 6ba17844dd215967f2f55a6620535464f244075a13f4b2b6d0ffaeeb6d97397fae0ba0de032d971847556d7b78ac8a1010ecec5127f45eb7ec73db87b1507ca1
+DIST NVIDIA-Linux-aarch64-460.73.01.run 112529526 BLAKE2B 64481ebba998cf168e4b9b1ad47f474a174e3f5e384889695d5f240a9f8f5f3265efb344b9082e3d1ad74da9fc90381b5d6e72064cde463c6b3bc7bf62d9c520 SHA512 e6a7d0ecbd99b763f7bfc793c6dbea1a64e290e9d200d7e500896dffdc97aca01f14bf0d4d26286f381c8c986210e7cfb0345b004be085aa58578c30a4ba118e
+DIST NVIDIA-Linux-aarch64-465.24.02.run 149677255 BLAKE2B 0478850c66ed4cc5c204b4634fd60879d9de11566b087f561eaddc819e2e51f8c48c1997f49758c70844c92736b928832b5f81cbc150c291850c2b161515a84a SHA512 0d5f9c1320ffcb540ac32eb6ca8147fee2d732087d15b6f062a783b6e12a37de33e8f1645349ec442d602a75a6375e908be351d73113b169f64b4291277826cc
DIST NVIDIA-Linux-x86-390.141.run 49589744 BLAKE2B 304672806b89885adbf8459ea99ca872769e44a42ff041a5b79ef05d113d7717f505f543441e7a2fc6c569f6d66391f0380a4f23f3e68108c8de817bf251f850 SHA512 6dfde3b54520070954b45f6bc071251084e1741f55e582b1abd806eb367e4b9ce0015615bf6a887fa784d075b3db08b6940da4163b960969773d1bdc52b4961e
+DIST NVIDIA-Linux-x86-390.143.run 49327068 BLAKE2B c6e0600885bfd834be6dca18346259a58e05640afe4b1ea394d5795e4c8a4b0fa9fdf5c4a331a128843708ece9e95df2ff7e0b3cf2ac5875b5d731c73423c112 SHA512 17bbcc2f5e9dde3f131b7924ea1e99a591b5e18b835dd324c528d17f74eded94e087c6a9a2b364189851e9972ad27bcd47e901c9ec14eedc568b99890f1e0a4f
DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c
+DIST NVIDIA-Linux-x86_64-390.143.run 85686808 BLAKE2B 0ad3ec661565cc52553c0b4f73256665fd3b505e39bffbfbffb3d148193369471b5160d59717dbecbd5f00bd28d9d17c9c7b5284e493f57f84ce19e310e477dc SHA512 79b61bd274964ed2e6a7ce99f0066d616d65b5a074de2ed84cdebb9ec6e8a608f71e511105e9a03e0c6e6d259f0111fed5772638ea72b08951eb2712c80505d0
DIST NVIDIA-Linux-x86_64-450.102.04.run 141391114 BLAKE2B 019f928464b23d2a86bfdd255b7651e3cfe2b0b6ebf58d1b4a6ba1f27990e1d050d1e2429ba4aa60b966b04e775939084a04d82d1dd3482a10b39375b17b1c31 SHA512 1d13de540da36274a360ea6bcd1ce01eaae103fe417b42aa8f9ac757c382b06da455a78cf6798310179f90e2afeadf3a8c9f3398186490c3c0f9079021e850ed
-DIST NVIDIA-Linux-x86_64-460.39.run 178310565 BLAKE2B 65931f34ff47de02933797f60128c66c8774f3b217b79e82f781cd50560835ec79c37b7e63fb50231a22646f0cd7cf968d1fbe1ec6c2b3732a1c565b68de7bcb SHA512 9275a58ff0e72c3ee033bd18fa9e9dbb0203d2961a63e7cc04444889118eb4029c60bb10c2af8f230c1aa4aa30769131ea8c01f3bc4e7453336ad9c03ba23b42
-DIST NVIDIA-Linux-x86_64-460.56.run 178496173 BLAKE2B 8f84a403ccaa9a92186cac9fb2dee9600cd29915cdacf475b6a1105772ffd52c671ef217a1201fbcd9192e858ec17796fd77b817887c79c43c266d32671fe7d0 SHA512 a61855576a27cdd2e48906ecb49cd1e9f88d14a8358aa4bdc57d59e2dfa64b394b2dcee45184d75e889fac6ebedcaaff902a07428c7f9eb011cf265228c6eb4e
+DIST NVIDIA-Linux-x86_64-450.119.03.run 141295706 BLAKE2B 854dd0063ea1f11e052f6ba5454792ebeb41dc50cd5cde17260d8c715b4401fa19514cfd3d2fad905564607244748e8083880bc2e360a86f8dbca970ebe5e744 SHA512 5557328f445381e23358c8bce220da062cdd3b5d396764228f7eb285e8dd6419bfc3943fc9e98516ad8cd2db13d0d7c125fc9c94c1e565668f76c872140d9082
DIST NVIDIA-Linux-x86_64-460.67.run 177691692 BLAKE2B 25a7d87cc128933a98100d7c5ef37f93c3a870c096eea3228a28ef79d712ce104608f9422221cc1eadc21dccbbc8bc41ab1832795cfee75e217600ed0d76489e SHA512 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898
+DIST NVIDIA-Linux-x86_64-460.73.01.run 177241975 BLAKE2B 5a43076c4f2c64ee7761824f8e4bf29dc053cf6ccd143b730ea062303124dbb5afe95882b752cd25e707375bafbca3beaabaee955cd2cf7b73a96190b9340bae SHA512 fa468747770f092b94658ef8c7896f69e05a8818f1269ce219c293cc02b0a042b73b755ef28a3012576dae54984a989cd3262ead674f62bdce4af13feac3c064
+DIST NVIDIA-Linux-x86_64-465.24.02.run 235706017 BLAKE2B 383e7ceee60de40ff74f31ce380c0d4bc6a2f4200a1b1a2e0cb54ce1ce17e216fe953cab18cf6b888de51ab25bdec3c7bc068bbbe1128fb11ac9f40399508752 SHA512 1beb59554a8fafdd61f4ebe6ffc1b714eb2cf67efe0aa7ddae5b146c9c4d932820f93dd91ec79162b65582364cab8ba9559ebf8f5174814eb670bb522f0e357f
DIST nvidia-installer-390.141.tar.gz 205299 BLAKE2B b95ddcf9a8d61247572d73faa04558564962782b0eb222601315d741d1ee71fa0636fa87d31105ecc5ec61328d3174a3ed646046e02b6b5f29f071215a0e8bdd SHA512 3848a4ec17510bf4d3060e5ef8aafa1ad921215ec39d26c54b3bbdd8a5867c46e01d247b24b05ad6906fed7fb4ae6dc37346a7da6e5aae88b5b47584c0b07a02
+DIST nvidia-installer-390.143.tar.gz 205320 BLAKE2B 5c27dd769ec5a2effc56ea86474ee45b86362c26844d2f902d7bb2ab8e58b2763f4f761341ce4051e85cfd8189eab9d441744f1b9946a6dc46105888dc5ba58a SHA512 a45cbae70e8d9f1108d5e2c04b4beee350b8469df987ff80793dda7fc4e6efe3a787db0d47e7dfe22b88b29647b99cc24ab418666d1ef2fc038143f574faba36
DIST nvidia-installer-450.102.04.tar.gz 197642 BLAKE2B 5d94dee76057eaea236090e2eb8cba4fdf90f4959a0ae26805bc771262a0eb05640846c191f2a5a5485e0584ae07ba64d2989201118594df747c3ac13503f90d SHA512 2c1608c0dd971122978a395edc5a51de6cb76d72aac45b4f9303e1a99e292ec0ddd9c03f2e95b10c357c0da1dc2824197c2553828eedbd0c4434b431aa593f6f
+DIST nvidia-installer-450.119.03.tar.gz 197635 BLAKE2B 01581676e11622e3c6c32171e699f13483e08a9b5256f6248cad190008a875b0b06561ff4d6732265c35b2429aaf6ba4cddf1a618d46730c88c5de63550bca9e SHA512 7491873e6324aefbe0dcbe57edeb2d1194352c6a9738c3b47f2562eb9e3ad58ca9519e5499f56d1208c2151900e2b43582fdbbe8ca80b6ebee824f8f8050c552
DIST nvidia-installer-460.67.tar.gz 198484 BLAKE2B 0eaf3e3eccd6749e4fe89394905dded58e739f42cbc33c8a91575f4505030a216670fc8c0fd4d1d42659acf301c9ba59d4052a80c6eba6c5db84ed022acb2620 SHA512 8fff0fa13a82cb7eaf2fd1d05be509e9124e67bb05810f8937fb1f16c4a2362a5c1a50bc9a5155cfc90a9bbcee38a54fb5ae0ae164e205900a49f6d21779d54f
+DIST nvidia-installer-460.73.01.tar.gz 198500 BLAKE2B 4036c8385e7ac59019ba2d189e227f46c52543d619aa9aa91bca726694bc0635e642a9e40b8fc785d7f7fe239062ca3bb7f4815f2c8f4722e6345b8a6f2a8493 SHA512 910e8dfb86147ecba6336f00d09f22d7505337832d0c0ace5d15fdfb355c22b6cd9d350bf469352db13971abb7379d980b05cd0c05271fe654122b92b4fa99ab
+DIST nvidia-installer-465.24.02.tar.gz 200388 BLAKE2B 94a8b7daab32195b065ed950149fae31eee155161c4fca3370c61754566693b4034207576436ae09cb6f17d33c9df7f7022dff7f5c95a7fb9dbaebe9b181ec95 SHA512 3a7bb9dbc752fdef0846095966fe4fd064931a94cf98e6de7107184918ce1ec02b81310d8d31ae6146eceee592985c2170e81fe8d78998d9223912d67a7d5e26
DIST nvidia-modprobe-390.141.tar.gz 39965 BLAKE2B 46c01ec3e53569454a032e42561a81154712485ffb11d0393d9e9007a3825a33c8d045ea7296dd8465ad9b2cee36a639274c55ff31c70e93d334ac9fe724f7b1 SHA512 c0abec334fee4293a55a43edbcc6a7a8cd8ff6b6fbb954b428182542a24eba90f47100977c84ea9cbe557a39fc5fb90677b4f2227f49a6f30a56f6941508f40e
+DIST nvidia-modprobe-390.143.tar.gz 39968 BLAKE2B 09f043521f195327630c0ca575473da42e051e2d34def22dcfb54295a94ca85e95ff41ee9564765567df19b88f90aba3d8cfffd489054779f2ce7d29f6e64b76 SHA512 066aaf031907fe2ba424e3b92e677ae78b4a938308bea82b7aa20cf0ba5c3678f93b6c9bf8a41fcd4fadcdcc870674a2be777ddcc2a5018974bd56b09a9ef271
DIST nvidia-modprobe-450.102.04.tar.gz 42139 BLAKE2B 79218a4e76dacdafadd31e45a27d3578924db6a74894064ce856498121fbf9d80e7b07046dfc36426340e0cefd78b416b017202bc93858fdf8cc77ba335bbaf8 SHA512 ac9d8d8849606d7ef3772570c976e5efab36f66e83a62f959b28c88cd798bba860052033dc5eb18c0f9e4a6f2d8e6082456d9b1586977a23f240cfa3a750d7ef
+DIST nvidia-modprobe-450.119.03.tar.gz 42137 BLAKE2B 054879187d33fbaaf4debdaa530b5f70bf19347891b905ac519bcb612146f0c4481629b88b07a872a4aed0f13e25fbbba3d1ed7f96ec3bb8a5c8da0855a1822a SHA512 c299d08c82b3f226f5861a61c523100809eeca90f4573ef5c2d3968f74945aae652b7ad07c859ef31f1df5c3a8687f34af6cf1f5f26e45b928a702de4bc19e73
DIST nvidia-modprobe-460.67.tar.gz 43140 BLAKE2B 8243d355f9d51495c9d09f25ccbcb39c0a6ef472cbfaded98f10818fae655e1cf62ff2edcf40baea72b8cca9eebc947742b2516bb057410239193201bb843538 SHA512 16c8239b54988622196e0eea113173e44ff8b60cdcdf585bf859e6440aff2c6699bb107962776e69056dd7d5e3bbd6289ea628a2255ac27e22ef79521e9baad3
+DIST nvidia-modprobe-460.73.01.tar.gz 43136 BLAKE2B eca07b2573b0771989c6fa78a97336151a4ce157f363af0fabe3636d734c5ef4086e3e8e93913a20b0ac2bc1feb2e558575e128f5bc3a5264c13a32de406a055 SHA512 1b8462197cabd99116aeafcae26440eb3b6a535e3fa1de8a941b2fa14dc83944d1722fd58a4a99c76695f1e301cefdd805a3ad7eceee1b0d8a432b91e0c12ffc
+DIST nvidia-modprobe-465.24.02.tar.gz 43380 BLAKE2B 83930261cd5aa6b1407fe9f6678c3c2695c19fa905561aedde4f11e86c3f7cd2d722af60acf29d4f7e8d54ce0a4cc9546951318937a69b7ec7140f7cbb87157d SHA512 82b9091a634ed94513e6b557bba8ce701609312d5e664db0f098800e345e58d9b7bdcfe032902c17c1b089b18edc9b4431e4d0b1e40812ddbe147d837638037d
DIST nvidia-persistenced-390.141.tar.gz 55984 BLAKE2B c4e889d15643f6e8a4e37b32d89e14acaa792c681863c74281b17e414021dc56e4692e91e7552762ef8b8ef977284ee2f307b14216a2562a9d30b2ab7a1ba522 SHA512 d9ea32c842d8d13a59128b28ce985fe3a421d2848eac30fc8a671a391c63516b58c46d3c5b21403b4e5b016577d23aebaec1f5b4e59b25a20668120f52e231a5
+DIST nvidia-persistenced-390.143.tar.gz 55994 BLAKE2B 1cfa469b84ecc9abdf0423d624244e7023a63225dfb16ac93223c462230b50099e4b59493be2d10cd6f2717e31c02655c76797e3222947d561f02ff72a52dd46 SHA512 37c3eb0bcce83e9b9ac5bdefa736e26e94b82de379a0f5c29e1611631c79103a797e58f5d1dea34221dd3a3f1a521b6db556eed48b1f38465481da2509d2f21a
DIST nvidia-persistenced-450.102.04.tar.gz 52485 BLAKE2B 1fec24c86875789303aee8bf4362c9c35f76957a2906e2682aa5c07e914cc2acde769439d88007420904a71526e9f0d03ab9d0a3c5dcd1355047e03958d006f9 SHA512 6c51daaed3e7ecdb8d98bdcf0618e50962895895f88cc45a5f861c08d3c10f590d4a6a3f0a683ce0dce0e327d5977da1a76fdde974a97031dc698120ef990b07
+DIST nvidia-persistenced-450.119.03.tar.gz 52488 BLAKE2B bb6c759ce73f8c143d04e0cc5cb05cd0cb39f12f330485a0a4fc628b0ba3752f0bdee686f55675e60c1365ee7d9e0f9dd8c3c883ecb6fab9a1b78903664c20c9 SHA512 b8040d8bff15cb97252b6a7311c1cd0dbcf3dda17f91e8b46a1f950a388a0e2ed72d9ac59c808376dfdb1d1fd64fc721b55b95022f59afef17a37c20c646171b
DIST nvidia-persistenced-460.67.tar.gz 53334 BLAKE2B 1354ec98fd2b95d264fd7df6219f639cf5d73173e6f0843a0880e6b18953904412cb756bd2c60432f6ae4c253d047515a9e32a128210fd94386ae6bc9a341b5c SHA512 0b4f7d8aa781c3536f6cd020225d2a3bab4b83498090419198488a2bec811534e61ba90461ae846bd09f4530f19984d77ca41edf0a851b1b700d1c0e053d537f
-DIST nvidia-settings-390.141.tar.bz2 1108755 BLAKE2B 210c33d4bb483dd9abe13275feb641a00d7c39a7222cbe828c925b9cfca6d4422f8fa3333dd77b73f2ba4071a7badf77625be88e02a1835177bda490c3c3c368 SHA512 44bf5f6b5bfbe3146f97d9ac82a75cc5653b6002002623ac6fa6cd233bbd3ef0d15f0b8091b59de5dbfdbde4fbe1b5212c9f9a1653ec98597c9049c9b137902e
+DIST nvidia-persistenced-460.73.01.tar.gz 53338 BLAKE2B 5dac040fbc20a8fa94dd91845d71a78e437ef32a5d80751e7328c40b2e41c2ddf1966eba6dd23455a128e982a5cdb16fe9f5f80fb586d93842a27e103b111cac SHA512 00274992853e4d518b2cd1c8674fc56b8466da134320c318476ac94c1e8526a8f8511f040d68d7ebf62761029c8ce2e84de740d11b4e49c7a829a4cccc2c61ea
+DIST nvidia-persistenced-465.24.02.tar.gz 53563 BLAKE2B c21bcd7e9013de984a78a1283f371bf8ff8849ffb2190b2e46288cb07e6703ccfb138542fe5cecc5d728b20e791368bcde2d3cd9f61193fc651d69181bc17616 SHA512 44f0b78809b22139ff05d3645cb056966f4a6e2144ecef79be5c2e2897cd38a1831ecfacaccecaeeb336ce928d25a841800acffb7cc19007b6a11388579370e0
DIST nvidia-settings-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04
-DIST nvidia-settings-450.102.04.tar.bz2 1057126 BLAKE2B 4e27ac75441d455122860b3834f2584e4736fff1f641e9a1d3ced4a354cb0e0e35c4e7a71e7bc05940d585e0ceca576f726fdfffbb84aae8057d06355b91293f SHA512 33f27b9a2832f7f24603d3a741b6c34cdd3f27a7075b523f8b98ae89325f810e13c134fcc7503e72d44a6f6c7a0d8587bfdad898a4ab5fa252bd9c7360a32341
+DIST nvidia-settings-390.143.tar.gz 1297258 BLAKE2B d63b48c03069d4d2ae7f7034b4bc13ff3a1004bd64ce54ee553e614cb88cb081842b6c1428fd556e031ce69361927074822c5c620d2cde8d37a5887051ff56de SHA512 7bbef03e77e73bb1e05585cfaf6823913e2446b1df8353044ae01f80693bb884fdcc1b38fa51b171756edaa234479cda027d6569d025b120b7b64f226f8eedce
DIST nvidia-settings-450.102.04.tar.gz 1229675 BLAKE2B 166b73a0e9fe1cc1c16f83128aa94f3b9ef44fc71004e80c2681299dd564df6b458b52bedfd60eaaecf6142d0ea7d5147cb9c509d4db4e6b85bc72dd4dc75751 SHA512 c514bb3cc72954a52f4821674f9b783ebc0bd8c7294a296716619ddad15f2b63f50ada47797dee1386709deb7d407cb1d6c04532b7ca6e03d84234555751c9a9
-DIST nvidia-settings-460.39.tar.bz2 1060391 BLAKE2B badfe9e5fa3ca7f5389369b01f839aa37b687e99bac47663b320602ada4d4e8dfb7c6fa4f64cee358a25ced7d9393ddfa4242147d9b645ae4fbd1b68310f3363 SHA512 a5f01d2a627695932399804776923a90050ec66b19c9d95ed34d11fc79e41604fe25474ed7b7bfec68b2115dd6fccb444b66427ce78c1d67b1b01f072bc8892a
-DIST nvidia-settings-460.56.tar.bz2 1060604 BLAKE2B cd1480e42ab2b25b399f19b458a1d5252d1b77d263ddecbad2d61f0445ba9f0ddf81fc944ac1136c273dfd1d21d06385bcfac9bdd7a7dc02f75302a6b8276df4 SHA512 018eb3cb7f25b926aa620201979b0efaaa82e7f036c4870a1e1234f5aac3ab9cfd48846d7eedd7ed38c3035eface3f2afe1a0d5de7a67e53e6bea760aa99fa72
+DIST nvidia-settings-450.119.03.tar.gz 1229730 BLAKE2B 17c7f4803b1a5ead8ea6616f3575325459aa6abb4759f7146bd99b4cac8c4cde80b92fa2d82897392a5fed20d4f324418ac9990caa4557b0d457e7f3b24fcb71 SHA512 f0c2226e05063bfd78453b561a92e28f64711ba3ce3d82026c39db3cd44959a2cf98f8a781fb604108bf6ef9dfe52cad4a9270b94005d8e4e5134f6ea4966da7
DIST nvidia-settings-460.67.tar.gz 1233189 BLAKE2B 33ffceefea4e184cb1873cdce97db26637e87cd20c82bcabcbfe88bcb084ac3d833ac5688cafa33a5a89383040d5c1c5d46de9c3f9a8ba6174574aa57aea2e46 SHA512 d1828379aa477394747ae3e5d3505e864d38a349dd159a04cb263613380afea9aea2081300b0d2b8ae205b800bfe6e8ba504e612989da394d757f00e4399b617
+DIST nvidia-settings-460.73.01.tar.gz 1233791 BLAKE2B 7f32764907f1444ed8a819e5cde7bc6306134eb69afeee8bb4dc2e0c2eb2b929ca00b16b5b698c0fe9dc0cdd3589814442fe008462896f9f02e760e320bb5253 SHA512 12ea1eb791b7b11b54a4e9518efc9c40ac8e33325996e23ff7cedcb33d32e0f83f6b15695b93c7adc9f95aaa7c6a56a6838c900796733cd5d9b642124cc1b207
+DIST nvidia-settings-465.24.02.tar.gz 1233945 BLAKE2B 183d74af414d5e61ac75b61f32312e8a63fab6e5fc174d3f7ba11379e30bd2d28740674aa6452fea09bea2d13999ed6718c5d875935101ceadd9b5d594ca5b61 SHA512 0cefc7111476c9206e373d9af50018721c88df899758786d155a0f51806b13adddf139805d41fb19437c824ba1cdcee20703100c78a068afc7ccce49204e7466
DIST nvidia-xconfig-390.141.tar.gz 140293 BLAKE2B 08ee93be953f75dbe078c557af7c062092ce8a3b53af0735d43b7feabe6d1c99390b9533027fbc5017d207a70dfa5aecf88d211905bf8f0e846f769a6ea16c2b SHA512 9fedee2f720d86bd24e393328249bf970a1f242b9e750543e757eb13ca30f6ecfda6c63441093ab96ae28d5f38d4e55cc6de6316eb82d2a2f33074144a1eef2f
+DIST nvidia-xconfig-390.143.tar.gz 140282 BLAKE2B 3de0fe4bc0a049381e4504002bbe94887334310ca7b17d83add1237d7c15b7783e4f418acba3e261da564b1c00ca244f4ad02f3d2cbca0f0f68ee2900098fb36 SHA512 0c82dda4dd6db0c21cd9a2b88e4a77129bc4a0be8a17b398497328f4f1cb5c319f0428d7fbc3b0177d69246d55f96b03dd740d3480d67bb03049cd0cbe190132
DIST nvidia-xconfig-450.102.04.tar.gz 141072 BLAKE2B 0d299429ccb10f351de0e7b81fa7ce8199da83db346483a7d791fd77276ff6d70b46ba153cdf6503b945d80f4a0108a6ec02a3955c9d7310de901f0e3b1e6e36 SHA512 f5752d7c49d1cb3c0061caace8cf5899c8d61e76f0b7080e05d70cd77758496dd8646a1551d93a12c8ad5f9fcfd53a49c51206af96f36ec1eec7ccfe59505f2d
+DIST nvidia-xconfig-450.119.03.tar.gz 141079 BLAKE2B 15200bdc8cfecb2575d95803b62fd110c4ff5bbfbe529ffda35455caba1ce3de91b26b21e40604cf5f57bdca0d6da2754a578ffb376a5582d46c6bbdf0adccbe SHA512 d30f46d56dc3dc0e2ee4c26acb8a229ffb47b5fc45dc288c1c25d197d0138b2cc0a0e94f4a821d5613b359f12b5a34872d7631a9d606916e9f92c61e87cfb0cb
DIST nvidia-xconfig-460.67.tar.gz 142323 BLAKE2B 09c7281de09a2c2968b5f4a48eca63110e6db988429c844b55f8efc28fbcd9d44c79ad47149c25f657c2a98ae7576c01b2c9b7f643b8321fe1393adc571ebcaa SHA512 0e65c81ec40d3eaeec036fbd8f46a3052a75ff0ad200c58438ff6c782a5764e62e51d03b4a2080770c32522894641288ac495f62bc39c3d5658b1ff87c9f6cdd
-EBUILD nvidia-drivers-390.141-r1.ebuild 10347 BLAKE2B 4208a7f622d515327845c067b007bb8bf262e48153741af240445927d3b828951af664e603e50993128869276f8f9c05e26d66f33f55c390046dfdf699032cf8 SHA512 654dc5e93d4e9b17f0e4508bcd39e4155068d2e5555f97cb2bf69383e432829d984f62d590709fbf5e584ce6fde1b06431a9780d7544f14bc8a4bc80fb67feea
-EBUILD nvidia-drivers-390.141.ebuild 11741 BLAKE2B a8b6d64c68c56980d9084ae0efc1714595c0b25bb837136c7bec532e1a039bb6879d436fb7bca12590034b63e582435b921f017febece4308a387ba00caf49ee SHA512 1ec93229573d15474a14065e1b33a09a932428bb09a86e628488396270f7b0623674cfe6437dfd62ed35ca76ecefd0891ec3d5f5b231b013fa70b7967ac870aa
-EBUILD nvidia-drivers-450.102.04-r1.ebuild 10837 BLAKE2B b661a414a336b025934b40bf9e22cf784fda726145ae46b9146b656d8513243169eb60c65e0ad92100422fd00766517788dd1773816747acab89edc08d73907b SHA512 8004363510c302da8b373980adcd0595271bfe072f16ea36939ae27bd2a0cef392c5ea39654f0dba858c6911906929bfdd22a1033877a3f9be6e904ee46c417a
-EBUILD nvidia-drivers-450.102.04.ebuild 12181 BLAKE2B c4b10edd2bdf5042c4b45b604782e515330dda0143863559351f089ad33ed397fa918dd12b2b516847bf066a73e74e2ab068b3a1b247d798ecb91734bc0d33a4 SHA512 da3857f183185af4303cf26891f029b8906f80c5ec97b241ec397d97cde188dac3af1dcb1f11d443806b4abfca85bbb44012c36060f2d680b360e2d972df4967
-EBUILD nvidia-drivers-460.39-r1.ebuild 12179 BLAKE2B 58e1872093075700d88b6679eb4a1bb6c8368836c9214eded9e084a70c411a0fc245b176b1a97a983f1a85d29efc22cd8e89d04467665f31b1bf5d3dfbff1041 SHA512 71a904989afd4b82e36356e0842c2ca67dbb8efae186b7074a3a6d20c9572f6911681f3ca89ab2a179d4f0699256c2228e40a5d3094ef98cd9704c47aefcd138
-EBUILD nvidia-drivers-460.56.ebuild 12180 BLAKE2B 44da00ff67edfee139d1ea40eb6c5db417daf299d7280bdfc5d7a318f9d29d1553b3490814e98042f92338bf008656a1dff7667def2eef127caf379acac28268 SHA512 cab248b945b07096a35d6f6f77df191d7bc4b3660d754fd5e43882dc11d0fe7f4048395994a10189ab70895af64a27fd8a116fa5d6feff7012f6353279bc1672
-EBUILD nvidia-drivers-460.67.ebuild 10867 BLAKE2B 7a7a30f071407628e016534c879c8b63115d188ba0104513f51ae8c5b48788c499809390fa878382d71ebcd296ddb2aab2671397cb40dfda3290ed3f6fafbe92 SHA512 9052dbc6db2e3a71d2f0bcafea12435bdbc9fcfe6b797f4f0da661cb2dc57d8b23489f7dac09a66901d4dde550c2bc93ff393d63d11fd81fc5b960fcd8887ed1
-MISC metadata.xml 1176 BLAKE2B 1042aa6da7f868c83e5d5beff5edc2ffef8345053bc2e9d9c45c0ac27651c880fa3f967d9849a7398792c0ed86ed57b84af478f5f21a35428824d440d273831d SHA512 ba249c97d7c2d07019dafdad6b8886e8a159670a116324777f9ca8d45cbde631c5c2ba3e5125a81a58686eb8d004c253496a7cc7e8674161cf34a24a18a0392a
+DIST nvidia-xconfig-460.73.01.tar.gz 142326 BLAKE2B eb833095365c18fd264086d333d366bf18b312055c59cfe3c50df5d94e4ff3e8dafcd11aab4de1ddfc8594b99216f14054d77263a02063497f6b665a9339a09c SHA512 3e292232a1593cc2893d673b176c1c9738b5c3d8127432d35d5a87d1a142311aec91ff5d59cc2074b1ea2411ac9c188c898fbc6a4c032718f1def92bd862b6dc
+DIST nvidia-xconfig-465.24.02.tar.gz 142550 BLAKE2B d0247e4c3cbbd093f8e6a4af4873cc9f85f2b07440bf2aa37c54a54c0e66c7e81dd6dda9381880b0b49a0a3a568cd9bcc8688e9d3534305ec8ceb9857e91293c SHA512 549f6e961eb9406837b02f7a2d0ef8ae61b67117b3e72c0a0edd44cade00ff881a9e14c6101253097021f7950ed7a32fb7df94ef79887a07d5a13098969c1e13
+EBUILD nvidia-drivers-390.141-r2.ebuild 10849 BLAKE2B ddd98ffc162302957d18aa4a4688f098ad26bea8d7a12f86146998b3e23a8cac87b0e94628127f47d10b90edeb91d6c90fbfe70a5dd65c788ca40481359fa88d SHA512 c48adaff9f9f95f06a5b973036d5b885856dd954716fb04a9f8d651d2554f64bbeecce3c673db069a007f122ae2bd46c9121e376ed9a71af3eff5b089ae0ed42
+EBUILD nvidia-drivers-390.143-r1.ebuild 10851 BLAKE2B 2297d5aae4dee4d7acac7a29fd3070b3037e2c05aec47854e6519a1977acc1bd71b658739fb5ffb1ee277734c19218369ece3f1fba22cd6a2a51cf0faa88c23d SHA512 6b8e80f74528fe4abbac946d0815e61c65420fc20f466a287ded5887cce13bb5880fb3fc76737dd44fdd7b74c36a1be45289eff0e0d7917df458671fddc91785
+EBUILD nvidia-drivers-450.102.04-r1.ebuild 11071 BLAKE2B a792c5e83e93e11142ff81ef106f20826e30f374c09760584f9d50d8e49befee62fbddd7a1334b0f622557fb561d19a24c6ce8e7ea2245c2d35de899d746e2c1 SHA512 20197c57a202b1455f98b37ed5157a2996d40023ea9b5cf43c019c29a88deb54209591b45b0a71af9af001d2b92595f40fcba6543319348ca79ed56542c76ebe
+EBUILD nvidia-drivers-450.119.03.ebuild 11249 BLAKE2B a45267cb693c1ca82ad161798570f384cb4db962f483eeee4616c2369cf811f5342ef1d772e35def0637a98989a73ce9b691665f316658c17838e5da47b334e2 SHA512 337a91bb85c3b00f31ef4c54abcbc2b289325ff569536a2f69d8634b6927d0e3a6765b1907ccd3336f8ab2462a1af14352317fb60775c9df6e0cc7e161208528
+EBUILD nvidia-drivers-460.67.ebuild 11233 BLAKE2B c7b180f613c520a5a450af53354d7ef22a25e9a88f85fa6c43b60a2a8626e41515a3e77b6e7d1e745c381a218ed45705c08c3befe92ac1feb072c9cc9e524594 SHA512 89046a08b8b968d9b0146455b70761924b867c0bbe2e6a0145a8f698d329f592bdc332632f50bca998e7d2fcf369d2c61262d12bdd65f513f1d6df07ee61d313
+EBUILD nvidia-drivers-460.73.01.ebuild 11234 BLAKE2B d718ff03860759fcbd523a1bedde81500efda774a9a9d36415e8bf8845ce54bdb6f12ec9f37e4e72adaef962a3836ddb199222a40e0095cbc982f7221f1af7f1 SHA512 afe1c81ca6985151af389f9c230392ceafadc743fe5c025171b6729157cb97ed59cb35489742d6c7baf7b09f8353459467e2bf7148f712fc834c658dbbb306d4
+EBUILD nvidia-drivers-465.24.02.ebuild 11353 BLAKE2B 3f0e866da5fd8db8ff96ca6e1aa978b2a3b6273132e66a3bd543d456b2cda6076ffcd9e96c4360af1329e0b2ed0fb223b819629dc9eb65e4819da38968fd8a80 SHA512 fe6ff772b8579cf69d57073419a3f393e474d448de0a925388c576ff0e6aa05ecf79d988a53d192cbe13475e5e60dad0d9c9d66958d413d781f1a0a5ebafbead
+MISC metadata.xml 888 BLAKE2B c1692e287a60432083543e47445339c17c3bbfb8d61fa58b8205e7dc8bbed33bea60f47fa6674c563c72c3c56e9766ae4f33b4a943dfae76c30e51603b158156 SHA512 c8d9975e1c5be02971bbfbcb545686034f6f02956d0dde98afd5d9779478e883c2ead731e9ccab8cd0b695437dd1d1cbcc41dd234210b78d40294bfcb07128ab
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch
deleted file mode 100644
index aa2a74349f2f..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/kernel/conftest.sh
-+++ b/kernel/conftest.sh
-@@ -6,6 +6,10 @@
- SCRIPTDIR=`dirname $0`
- cd $SCRIPTDIR
-
-+# translate_and_compile_header_files() expects the default locale
-+# https://bugs.gentoo.org/698238
-+export LC_ALL=C
-+
- CC="$1"
- ARCH=$2
- ISYSTEM=`$CC -print-file-name=include 2> /dev/null`
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
deleted file mode 100644
index 637ac1afb415..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# run-time configuration file for /etc/init.d/nvidia-persistenced
-
-# NVPD_USER: The user nvidia-persistenced is intended to run for
-NVPD_USER=""
-
-# ARGS: Additional arguments to set the default persistence mode
-# (see nvidia-persistenced(1))
-ARGS=""
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
deleted file mode 100644
index f80456d16036..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid"
-
-start() {
- if ! [ "${NVPD_USER}x" = x ]; then
- ebegin "Starting nvidia-persistenced for ${NVPD_USER}"
- NVPD_USER_ARG="--user ${NVPD_USER}"
- else
- ebegin "Starting nvidia-persistenced"
- fi
- start-stop-daemon --start --quiet --pidfile ${pidfile} \
- --background --exec /opt/bin/nvidia-persistenced \
- -- ${NVPD_USER_ARG} ${ARGS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping nvidia-persistenced"
- start-stop-daemon --stop --quiet --pidfile ${pidfile}
- eend $?
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-fno-common.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-fno-common.patch
deleted file mode 100644
index 06e046ff61d3..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-fno-common.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/nvidia-settings-@PV@/src/gtk+-2.x/ctkvdpau.c
-+++ b/nvidia-settings-@PV@/src/gtk+-2.x/ctkvdpau.c
-@@ -103,6 +103,8 @@
- const gchar* __video_mixer_attribute_help =
- "This shows the video mixer attributes and any applicable ranges.";
-
-+struct VDPAUDeviceImpl VDPAUDeviceFunctions;
-+
- static int queryOutputSurface(CtkVDPAU *ctk_vdpau, VdpDevice device,
- VdpGetProcAddress *getProcAddress);
-
---- a/nvidia-settings-@PV@/src/gtk+-2.x/ctkvdpau.h
-+++ b/nvidia-settings-@PV@/src/gtk+-2.x/ctkvdpau.h
-@@ -46,7 +46,7 @@
- (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_VDPAU, CtkVDPAUClass))
-
-
--struct VDPAUDeviceImpl {
-+extern struct VDPAUDeviceImpl {
-
- VdpGetErrorString *GetErrorString;
- VdpGetProcAddress *GetProcAddress;
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
deleted file mode 100644
index fe9d336413fd..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/nvidia-settings-@PV@/utils.mk
-+++ b/nvidia-settings-@PV@/utils.mk
-@@ -475,7 +475,7 @@
- define READ_ONLY_OBJECT_FROM_FILE_RULE
- $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
- $$(call quiet_cmd,OBJCOPY) \
- --rename-section .data=.rodata,contents,alloc,load,data,readonly \
---- a/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
-+++ b/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
-@@ -475,7 +475,7 @@
- define READ_ONLY_OBJECT_FROM_FILE_RULE
- $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
- $$(call quiet_cmd,OBJCOPY) \
- --rename-section .data=.rodata,contents,alloc,load,data,readonly \
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop b/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
deleted file mode 100644
index b4b452ec829a..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=NVIDIA X Server Settings
-Comment=Configure NVIDIA X Server Settings
-Exec=/usr/bin/nvidia-settings
-Icon=nvidia-settings
-Categories=System;Settings;
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-smi.init b/x11-drivers/nvidia-drivers/files/nvidia-smi.init
deleted file mode 100644
index 8ee51e348939..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-smi.init
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/run/nvidia-smi.pid"
-
-depend() {
- after modules
-}
-
-start() {
- ebegin "Starting NVIDIA System Management Interface"
- rm -f ${pidfile}
- start-stop-daemon --start --quiet --pidfile ${pidfile} \
- --make-pidfile --background --exec /opt/bin/nvidia-smi -- \
- -q -l 300
- eend $?
-}
-
-stop() {
- ebegin "Stopping NVIDIA System Management Interface"
- start-stop-daemon --stop --quiet --pidfile ${pidfile}
- eend $?
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
deleted file mode 100644
index 6579bf74adb2..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-if [ $# -ne 1 ]; then
- echo "Invalid args" >&2
- exit 1
-fi
-
-case $1 in
- add|ADD)
- #hopefully this prevents infinite loops like bug #454740
- if lsmod | grep -iq nvidia; then
- /opt/bin/nvidia-smi > /dev/null
- fi
- ;;
- remove|REMOVE)
- rm -f /dev/nvidia*
- ;;
-esac
-
-exit 0
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
deleted file mode 100644
index 0602a4353fef..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
+++ /dev/null
@@ -1 +0,0 @@
-KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/bin/mknod -m 660 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0; /bin/chgrp video /dev/nvidia-uvm'"
diff --git a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
deleted file mode 100644
index 2eb30bb0eba5..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
+++ /dev/null
@@ -1,6 +0,0 @@
-ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
-# Previously the ACTION was "add|remove" but one user on bug #376527 had a
-# problem until he recompiled udev-171-r5, which is one of the versions I
-# tested with and it was fine. I'm breaking the rules out just to be safe
-# so someone else doesn't have an issue
-ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml
index 294430ee9cfd..107804d69d10 100644
--- a/x11-drivers/nvidia-drivers/metadata.xml
+++ b/x11-drivers/nvidia-drivers/metadata.xml
@@ -9,11 +9,8 @@
<email>soap@gentoo.org</email>
</maintainer>
<use>
- <flag name="compat">Install non-GLVND libGL for backwards compatibility</flag>
<flag name="driver">Install kernel driver modules</flag>
- <flag name="kms">Enable support for kernel mode setting (KMS)</flag>
<flag name="tools">Install additional tools such as nvidia-settings</flag>
- <flag name="uvm">Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:nvidia:gpu_driver</remote-id>
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild
new file mode 100644
index 000000000000..50b08991c3fb
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MODULES_OPTIONAL_USE="driver"
+inherit desktop linux-info linux-mod multilib-build \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
+
+NV_KERNEL_MAX="5.10"
+NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
+NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/download/index.aspx"
+SRC_URI="
+ amd64? ( ${NV_BIN_URI}x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+ x86? ( ${NV_BIN_URI}x86/${PV}/NVIDIA-Linux-x86-${PV}.run )
+ ${NV_GIT_URI}installer/archive/${PV}.tar.gz -> nvidia-installer-${PV}.tar.gz
+ ${NV_GIT_URI}modprobe/archive/${PV}.tar.gz -> nvidia-modprobe-${PV}.tar.gz
+ ${NV_GIT_URI}persistenced/archive/${PV}.tar.gz -> nvidia-persistenced-${PV}.tar.gz
+ ${NV_GIT_URI}settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz
+ ${NV_GIT_URI}xconfig/archive/${PV}.tar.gz -> nvidia-xconfig-${PV}.tar.gz"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S="${WORKDIR}"
+
+LICENSE="GPL-2 MIT NVIDIA-r2"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* amd64 x86"
+IUSE="+X +driver static-libs +tools"
+
+COMMON_DEPEND="
+ acct-group/video
+ acct-user/nvpd
+ net-libs/libtirpc
+ tools? (
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/jansson
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ X? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )"
+DEPEND="
+ ${COMMON_DEPEND}
+ static-libs? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ tools? (
+ media-libs/libglvnd
+ sys-apps/dbus
+ x11-base/xorg-proto
+ x11-libs/libXrandr
+ x11-libs/libXv
+ x11-libs/libvdpau
+ )"
+BDEPEND="
+ app-misc/pax-utils
+ virtual/pkgconfig"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+PATCHES=(
+ "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+ "${FILESDIR}"/nvidia-settings-390.141-fno-common.patch
+)
+DOCS=(
+ README.txt NVIDIA_Changelog
+ nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+)
+HTML_DOCS=( html/. )
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
+pkg_setup() {
+ use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead.
+ 390.xx branch: also used by a GLX workaround needed for OpenGL."
+
+ BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
+ use x86 && BUILD_PARAMS+=' ARCH=i386' # needed for recognition
+ BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
+ MODULE_NAMES="
+ nvidia(video:kernel)
+ nvidia-drm(video:kernel)
+ nvidia-modeset(video:kernel)"
+ use amd64 && MODULE_NAMES+=" nvidia-uvm(video:kernel)" # no x86 support
+
+ linux-mod_pkg_setup
+
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
+ ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
+ ewarn "or was not tested with it. It is recommended to use one of:"
+ ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
+ ewarn " <=sys-kernel/gentoo-sources-${NV_KERNEL_MAX}"
+ ewarn "You are free to try or use /etc/portage/patches, but support will"
+ ewarn "not be given and issues wait until NVIDIA releases a fixed version."
+ ewarn
+ ewarn "Do _not_ file a bug report if run into issues."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # make user 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
+
+ default
+
+ # alternate tls library needed for 390's libglx.so (bug #785289)
+ mv tls/libnvidia-tls.so.${PV} . || die
+ if [[ -d 32 ]]; then
+ mv 32/tls/libnvidia-tls.so.${PV} 32 || die
+ fi
+
+ # prevent detection of incomplete kernel DRM support (bug #603818)
+ sed 's/defined(CONFIG_DRM)/defined(CONFIG_DRM_KMS_HELPER)/' \
+ -i kernel/conftest.sh || die
+
+ sed -e '/Exec=\|Icon=/s/_.*/nvidia-settings/' \
+ -e '/Categories=/s/_.*/System;Settings;/' \
+ -i nvidia-settings/doc/nvidia-settings.desktop || die
+
+ # remove gtk2 support (bug #592730)
+ sed '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
+ -i nvidia-settings/src/Makefile || die
+
+ sed 's/__USER__/nvpd/' \
+ nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+ > nvidia-persistenced.service || die
+
+ sed 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' \
+ nvidia_icd.json.template > nvidia_icd.json || die
+
+ sed "s/%LIBDIR%/$(get_libdir)/g" "${FILESDIR}/nvidia-390.conf" \
+ > nvidia-drm-outputclass.conf || die
+
+ gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
+}
+
+src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
+ tc-export AR CC LD OBJCOPY
+
+ # may no longer be relevant but kept as a safety
+ export DISTCC_DISABLE=1 CCACHE_DISABLE=1
+
+ use driver && linux-mod_src_compile
+
+ # 390.xx persistenced doesn't auto-detect libtirpc
+ LIBS=$($(tc-getPKG_CONFIG) --libs libtirpc) \
+ common_cflags=$($(tc-getPKG_CONFIG) --cflags libtirpc) \
+ nvidia-drivers_make persistenced
+
+ nvidia-drivers_make modprobe
+ use X && nvidia-drivers_make xconfig
+
+ if use tools; then
+ nvidia-drivers_make settings
+ elif use static-libs; then
+ nvidia-drivers_make settings/src build-xnvctrl
+ fi
+}
+
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-compiler
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-fatbinaryloader
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-ml
+ nvidia-opencl
+ nvidia-ptxjitcompiler
+ nvidia-tls
+ )
+
+ if use X; then
+ libs+=(
+ GLX_nvidia
+ nvidia-fbc
+ nvidia-ifr
+ vdpau_nvidia
+ )
+ fi
+
+ local libdir=.
+ if [[ -d 32 && ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cfg
+ nvidia-wfb
+ )
+ fi
+
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
+
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
+
+ if use driver; then
+ linux-mod_src_install
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ doins "${FILESDIR}"/nvidia-blacklist-nouveau.conf
+ doins "${FILESDIR}"/nvidia-rmmod.conf
+ fi
+
+ if use X; then
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe nvidia_drv.so
+
+ # 390 has legacy glx needing a modified .conf (bug #713546)
+ exeinto /usr/$(get_libdir)/extensions/nvidia
+ newexe libglx.so{.${PV},}
+ insinto /usr/share/X11/xorg.conf.d
+ newins {,50-}nvidia-drm-outputclass.conf
+
+ # vulkan icd uses libGLX_nvidia.so and so requires X
+ insinto /usr/share/vulkan/icd.d
+ doins nvidia_icd.json
+ fi
+
+ insinto /usr/share/glvnd/egl_vendor.d
+ doins 10_nvidia.json
+
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+
+ insinto /etc/nvidia
+ newins nvidia-application-profiles{-${PV},}-rc
+
+ # install built helpers
+ nvidia-drivers_make_install modprobe
+ # allow video group to load mods and create devs (bug #505092)
+ fowners root:video /usr/bin/nvidia-modprobe
+ fperms 4710 /usr/bin/nvidia-modprobe
+
+ nvidia-drivers_make_install persistenced
+ newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
+ newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
+ systemd_dounit nvidia-persistenced.service
+
+ use X && nvidia-drivers_make_install xconfig
+
+ if use tools; then
+ nvidia-drivers_make_install settings
+ doicon nvidia-settings/doc/nvidia-settings.png
+ domenu nvidia-settings/doc/nvidia-settings.desktop
+
+ insinto /usr/share/nvidia
+ newins nvidia-application-profiles{-${PV},}-key-documentation
+
+ 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/libXNVCtrl/libXNVCtrl.a
+
+ insinto /usr/include/NVCtrl
+ doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
+ fi
+
+ # install prebuilt-only helpers
+ exeinto /opt/bin
+
+ doexe nvidia-cuda-mps-control
+ doman nvidia-cuda-mps-control.1
+ doexe nvidia-cuda-mps-server
+
+ doexe nvidia-debugdump
+ dobin nvidia-bug-report.sh
+
+ doexe nvidia-smi
+ doman nvidia-smi.1
+
+ # install prebuilt-only libraries
+ multilib_foreach_abi nvidia-drivers_libs_install
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1
+
+ use driver || return
+ linux-mod_pkg_preinst
+
+ # set video group id based on live system (bug #491414)
+ local g=$(getent group video | cut -d: -f3)
+ [[ ${g} ]] || die "Failed to determine video group id"
+ sed "s/PACKAGE/${PF}/;s/VIDEOGID/${g}/" \
+ -i "${ED}"/etc/modprobe.d/nvidia.conf || die
+}
+
+pkg_postinst() {
+ use driver && linux-mod_pkg_postinst
+
+ readme.gentoo_print_elog
+
+ if [[ -r /proc/driver/nvidia/version &&
+ $(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
+ ewarn "Currently loaded NVIDIA modules do not match the newly installed"
+ ewarn "libraries and will lead to GPU-using application issues."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
+ fi
+
+ if use x86 && [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "Note that NVIDIA is no longer offering support for the unified memory"
+ elog "module (nvidia-uvm) on x86 (32bit), as such the module was not built."
+ elog "This means OpenCL/CUDA (and related, like nvenc) cannot be used."
+ elog "Other functions, like OpenGL, will continue to work."
+ fi
+
+ if [[ ${NV_HAD_WAYLAND} ]]; then
+ elog "Support for EGLStream (egl-wayland) is no longer offered with legacy"
+ elog "nvidia-drivers. It is recommended to use nouveau drivers for wayland."
+ fi
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141.ebuild
deleted file mode 100644
index d2473bd071db..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141.ebuild
+++ /dev/null
@@ -1,470 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver toolchain-funcs unpacker udev
-
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )"
-
-EMULTILIB_PKG="true"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* amd64 x86"
-IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )"
-
-COMMON="
- driver? ( acct-group/video )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- app-misc/pax-utils
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- )"
-DEPEND="
- ${COMMON}
- virtual/linux-sources
- tools? ( sys-apps/dbus )"
-RDEPEND="
- ${COMMON}
- uvm? ( >=virtual/opencl-3 )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )"
-
-QA_PREBUILT="opt/* usr/lib*"
-S="${WORKDIR}"
-NV_KV_MAX_PLUS="5.11"
-CONFIG_CHECK="
- !DEBUG_MUTEXES
- ~!I2C_NVIDIA_GPU
- ~!LOCKDEP
- ~DRM
- ~DRM_KMS_HELPER
- ~SYSVIPC"
-
-pkg_pretend() {
- use x86 && CONFIG_CHECK+=" ~HIGHMEM"
- nvidia-driver_check
-}
-
-pkg_setup() {
- use x86 && CONFIG_CHECK+=" ~HIGHMEM"
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-}
-
-src_prepare() {
- gunzip *1.gz || die
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-fno-common.patch \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
-
- # remove GTK2 support entirely (#592730)
- sed -i \
- -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
- nvidia-settings-${PV}/src/Makefile || die
- fi
-
- default
-
- if ! [[ -f nvidia_icd.json ]]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-
- sed "s:%LIBDIR%:$(get_libdir):g" "${FILESDIR}/nvidia-390.conf" \
- > "${T}"/nvidia-390.conf || die
-}
-
-src_configure() {
- tc-export AR CC LD OBJCOPY
- default
-}
-
-src_compile() {
- pushd kernel >/dev/null || die
- if use driver; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
- popd >/dev/null || die
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- RANLIB="$(tc-getRANLIB)" \
- build-xnvctrl
-
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ -n ${nv_DEST} ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia libnvidia-cfg.so.${PV}
-
- # NVIDIA framebuffer capture library
- donvidia libnvidia-fbc.so.${PV}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia libnvcuvid.so.${PV}
- donvidia libnvidia-encode.so.${PV}
-
- if use X; then
- # Xorg DDX driver
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe nvidia_drv.so
-
- # Xorg GLX driver
- donvidia libglx.so.${PV} \
- /usr/$(get_libdir)/extensions/nvidia
-
- # Xorg nvidia.conf
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins 10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins 10_nvidia_wayland.json
- fi
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- if use X; then
- doexe nvidia-xconfig
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/X11/xorg.conf.d
- doins "${T}"/nvidia-390.conf
- fi
-
- doexe nvidia-cuda-mps-control
- doexe nvidia-cuda-mps-server
- doexe nvidia-debugdump
- doexe nvidia-persistenced
- doexe nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/ \
- DESTDIR="${ED}" \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- doicon nvidia-settings.png
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin nvidia-bug-report.sh
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(multilib_get_enabled_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- newdoc README.txt README
- dodoc NVIDIA_Changelog
- doman nvidia-smi.1
- use X && doman nvidia-xconfig.1
- use tools && doman nvidia-settings.1
- doman nvidia-cuda-mps-control.1
-
- readme.gentoo_create_doc
-
- docinto html
- dodoc -r html/.
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)"
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${S}"
-
- if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${S}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
- "libGLX_nvidia.so.${PV} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${PV}"
- "libnvcuvid.so.${PV}"
- "libnvidia-compiler.so.${PV}"
- "libnvidia-eglcore.so.${PV}"
- "libnvidia-encode.so.${PV}"
- "libnvidia-fatbinaryloader.so.${PV}"
- "libnvidia-fbc.so.${PV}"
- "libnvidia-glcore.so.${PV}"
- "libnvidia-glsi.so.${PV}"
- "libnvidia-ifr.so.${PV}"
- "libnvidia-opencl.so.${PV}"
- "libnvidia-ptxjitcompiler.so.${PV}"
- "libvdpau_nvidia.so.${PV}"
- )
-
- if use wayland && [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.0.2"
- )
- fi
-
- if [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-wfb.so.${PV}"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${PV}"
- "tls/libnvidia-tls.so.${PV}"
- )
-
- local nv_lib
- for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${nv_lib}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [[ -z ${videogroup} ]]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${ED}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
- # Make sure we nuke the old nvidia-glx's env.d file
- rm -f "${EROOT}"/etc/env.d/09nvidia || die
-}
-
-pkg_postinst() {
- use driver && linux-mod_pkg_postinst
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-}
-
-pkg_postrm() {
- use driver && linux-mod_pkg_postrm
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild
index c639458a22d9..8cb722145a59 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild
@@ -5,9 +5,9 @@ EAPI=7
MODULES_OPTIONAL_USE="driver"
inherit desktop linux-info linux-mod multilib-build \
- optfeature systemd toolchain-funcs unpacker
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
-NV_KERNEL_MAX="5.10"
+NV_KERNEL_MAX="5.12"
NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
@@ -72,18 +72,6 @@ BDEPEND="
QA_PREBUILT="opt/* usr/lib*"
-CONFIG_CHECK="
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
- ~!LOCKDEP
- !DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and optional nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, so enable
- options such as CONFIG_DRM_FBDEV_EMULATION instead.
- 390.xx branch: also used by a GLX workaround needed for OpenGL."
-
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-390.141-fno-common.patch
@@ -94,8 +82,29 @@ DOCS=(
)
HTML_DOCS=( html/. )
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
pkg_setup() {
use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead.
+ 390.xx branch: also used by a GLX workaround needed for OpenGL."
+
BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
use x86 && BUILD_PARAMS+=' ARCH=i386' # needed for recognition
BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
@@ -104,9 +113,10 @@ pkg_setup() {
nvidia-drm(video:kernel)
nvidia-modeset(video:kernel)"
use amd64 && MODULE_NAMES+=" nvidia-uvm(video:kernel)" # no x86 support
+
linux-mod_pkg_setup
- if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
ewarn "or was not tested with it. It is recommended to use one of:"
ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -128,6 +138,12 @@ src_prepare() {
default
+ # alternate tls library needed for 390's libglx.so (bug #785289)
+ mv tls/libnvidia-tls.so.${PV} . || die
+ if [[ -d 32 ]]; then
+ mv 32/tls/libnvidia-tls.so.${PV} 32 || die
+ fi
+
# prevent detection of incomplete kernel DRM support (bug #603818)
sed 's/defined(CONFIG_DRM)/defined(CONFIG_DRM_KMS_HELPER)/' \
-i kernel/conftest.sh || die
@@ -153,16 +169,18 @@ src_prepare() {
gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
}
-nvidia-drivers_make() {
- emake -C nvidia-${1} ${2} \
- DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
- HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
- DO_STRIP= MANPAGE_GZIP= \
- NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
tc-export AR CC LD OBJCOPY
+
# may no longer be relevant but kept as a safety
export DISTCC_DISABLE=1 CCACHE_DISABLE=1
@@ -183,60 +201,69 @@ src_compile() {
fi
}
-nvidia-drivers_libs_install() {
- local libs=(
- EGL_nvidia
- GLESv1_CM_nvidia
- GLESv2_nvidia
- cuda
- nvcuvid
- nvidia-compiler
- nvidia-eglcore
- nvidia-encode
- nvidia-fatbinaryloader
- nvidia-glcore
- nvidia-glsi
- nvidia-ml
- nvidia-opencl
- nvidia-ptxjitcompiler
- nvidia-tls
- )
-
- if use X; then
- libs+=(
- GLX_nvidia
- nvidia-fbc
- nvidia-ifr
- vdpau_nvidia
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-compiler
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-fatbinaryloader
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-ml
+ nvidia-opencl
+ nvidia-ptxjitcompiler
+ nvidia-tls
)
- fi
- local libdir=.
- if multilib_is_native_abi; then
- libs+=(
- nvidia-cfg
- nvidia-wfb
- )
- else
- libdir+=/32
- fi
-
- local lib soname
- for lib in "${libs[@]}"; do
- [[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+ if use X; then
+ libs+=(
+ GLX_nvidia
+ nvidia-fbc
+ nvidia-ifr
+ vdpau_nvidia
+ )
+ fi
- # auto-detect soname and create appropriate symlinks
- soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
- if [[ ${soname} && ${soname} != ${lib} ]]; then
- ln -s ${lib} ${libdir}/${soname} || die
+ local libdir=.
+ if [[ -d 32 && ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cfg
+ nvidia-wfb
+ )
fi
- ln -s ${lib} ${libdir}/${lib%.so*}.so || die
- dolib.so ${libdir}/${lib%.so*}*
- done
-}
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
+
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
-src_install() {
if use driver; then
linux-mod_src_install
@@ -271,20 +298,20 @@ src_install() {
newins nvidia-application-profiles{-${PV},}-rc
# install built helpers
- nvidia-drivers_make modprobe install
+ nvidia-drivers_make_install modprobe
# allow video group to load mods and create devs (bug #505092)
fowners root:video /usr/bin/nvidia-modprobe
fperms 4710 /usr/bin/nvidia-modprobe
- nvidia-drivers_make persistenced install
+ nvidia-drivers_make_install persistenced
newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
systemd_dounit nvidia-persistenced.service
- use X && nvidia-drivers_make xconfig install
+ use X && nvidia-drivers_make_install xconfig
if use tools; then
- nvidia-drivers_make settings install
+ nvidia-drivers_make_install settings
doicon nvidia-settings/doc/nvidia-settings.png
domenu nvidia-settings/doc/nvidia-settings.desktop
@@ -316,13 +343,15 @@ src_install() {
doman nvidia-smi.1
# install prebuilt-only libraries
- mv tls/* . || die # alternate tls lib needed for libglx.so
multilib_foreach_abi nvidia-drivers_libs_install
einstalldocs
+ readme.gentoo_create_doc
}
pkg_preinst() {
+ has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1
+
use driver || return
linux-mod_pkg_preinst
@@ -336,30 +365,24 @@ pkg_preinst() {
pkg_postinst() {
use driver && linux-mod_pkg_postinst
- optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
+ readme.gentoo_print_elog
if [[ -r /proc/driver/nvidia/version &&
$(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
ewarn "Currently loaded NVIDIA modules do not match the newly installed"
ewarn "libraries and will lead to GPU-using application issues."
- use driver && ewarn "The easiest way to fix this is to reboot."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
fi
- if ! [[ ${REPLACING_VERSIONS} && $(getent group video | cut -d: -f4) ]]; then
- elog "***** WARNING *****"
- elog "Users should be in the 'video' group to use NVIDIA devices."
- elog "You can add yourself by using: gpasswd -a myuser video"
+ if use x86 && [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "Note that NVIDIA is no longer offering support for the unified memory"
+ elog "module (nvidia-uvm) on x86 (32bit), as such the module was not built."
+ elog "This means OpenCL/CUDA (and related, like nvenc) cannot be used."
+ elog "Other functions, like OpenGL, will continue to work."
fi
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- if use x86; then
- elog "Note that NVIDIA is no longer offering support for the unified memory"
- elog "module (nvidia-uvm) on x86 (32bit), as such the module was not built."
- elog "This means OpenCL/CUDA (and related, like nvenc) cannot be used."
- elog "Other functions, like OpenGL, will continue to work."
- elog
- fi
- elog "For general information with using NVIDIA on Gentoo, please see:"
- elog "https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+ if [[ ${NV_HAD_WAYLAND} ]]; then
+ elog "Support for EGLStream (egl-wayland) is no longer offered with legacy"
+ elog "nvidia-drivers. It is recommended to use nouveau drivers for wayland."
fi
}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
index d28ef6effc7b..e68be3dba2a4 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
@@ -4,8 +4,8 @@
EAPI=7
MODULES_OPTIONAL_USE="driver"
-inherit desktop linux-info linux-mod multilib-build \
- optfeature systemd toolchain-funcs unpacker
+inherit desktop linux-info linux-mod multilib-build optfeature \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
NV_KERNEL_MAX="5.10"
NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
@@ -26,7 +26,7 @@ S="${WORKDIR}"
LICENSE="GPL-2 MIT NVIDIA-r2 ZLIB"
SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* amd64"
IUSE="+X +driver static-libs +tools"
COMMON_DEPEND="
@@ -72,17 +72,6 @@ BDEPEND="
QA_PREBUILT="opt/* usr/lib*"
-CONFIG_CHECK="
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
- ~!LOCKDEP
- !DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and optional nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, so enable
- options such as CONFIG_DRM_FBDEV_EMULATION instead."
-
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
)
@@ -92,8 +81,28 @@ DOCS=(
)
HTML_DOCS=( html/. )
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
pkg_setup() {
use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
MODULE_NAMES="
@@ -101,9 +110,10 @@ pkg_setup() {
nvidia-drm(video:kernel)
nvidia-modeset(video:kernel)
nvidia-uvm(video:kernel)"
+
linux-mod_pkg_setup
- if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
ewarn "or was not tested with it. It is recommended to use one of:"
ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -144,16 +154,18 @@ src_prepare() {
gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
}
-nvidia-drivers_make() {
- emake -C nvidia-${1} ${2} \
- DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
- HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
- DO_STRIP= MANPAGE_GZIP= \
- NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
tc-export AR CC LD OBJCOPY
+
# may no longer be relevant but kept as a safety
export DISTCC_DISABLE=1 CCACHE_DISABLE=1
@@ -170,69 +182,78 @@ src_compile() {
fi
}
-nvidia-drivers_libs_install() {
- local libs=(
- EGL_nvidia
- GLESv1_CM_nvidia
- GLESv2_nvidia
- cuda
- nvcuvid
- nvidia-allocator
- nvidia-eglcore
- nvidia-encode
- nvidia-glcore
- nvidia-glsi
- nvidia-glvkspirv
- nvidia-ml
- nvidia-opencl
- nvidia-opticalflow
- nvidia-ptxjitcompiler
- nvidia-tls
- )
- use amd64 && libs+=( nvidia-compiler )
-
- if use X; then
- libs+=(
- GLX_nvidia
- vdpau_nvidia
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-allocator
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-glvkspirv
+ nvidia-ml
+ nvidia-opencl
+ nvidia-opticalflow
+ nvidia-ptxjitcompiler
+ nvidia-tls
)
- if use amd64; then
+ use amd64 && libs+=( nvidia-compiler )
+
+ if use X; then
libs+=(
- nvidia-fbc
- nvidia-ifr
+ GLX_nvidia
+ vdpau_nvidia
)
+ if use amd64; then
+ libs+=(
+ nvidia-fbc
+ nvidia-ifr
+ )
+ fi
fi
- fi
- local libdir=.
- if multilib_is_native_abi; then
- libs+=(
- nvidia-cbl
- nvidia-cfg
- nvidia-rtcore
- nvoptix
- )
- use amd64 && libs+=( nvidia-ngx )
- else
- libdir+=/32
- fi
+ local libdir=.
+ if [[ ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cbl
+ nvidia-cfg
+ nvidia-rtcore
+ nvoptix
+ )
+ use amd64 && libs+=( nvidia-ngx )
+ fi
- local lib soname
- for lib in "${libs[@]}"; do
- [[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
- # auto-detect soname and create appropriate symlinks
- soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
- if [[ ${soname} && ${soname} != ${lib} ]]; then
- ln -s ${lib} ${libdir}/${soname} || die
- fi
- ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
- dolib.so ${libdir}/${lib%.so*}*
- done
-}
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
-src_install() {
if use driver; then
linux-mod_src_install
@@ -273,20 +294,20 @@ src_install() {
newins nvidia-application-profiles{-${PV},}-rc
# install built helpers
- nvidia-drivers_make modprobe install
+ nvidia-drivers_make_install modprobe
# allow video group to load mods and create devs (bug #505092)
fowners root:video /usr/bin/nvidia-modprobe
fperms 4710 /usr/bin/nvidia-modprobe
- nvidia-drivers_make persistenced install
+ nvidia-drivers_make_install persistenced
newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
systemd_dounit nvidia-persistenced.service
- use X && nvidia-drivers_make xconfig install
+ use X && nvidia-drivers_make_install xconfig
if use tools; then
- nvidia-drivers_make settings install
+ nvidia-drivers_make_install settings
doicon nvidia-settings/doc/nvidia-settings.png
domenu nvidia-settings/doc/nvidia-settings.desktop
@@ -320,12 +341,14 @@ src_install() {
# install prebuilt-only libraries
multilib_foreach_abi nvidia-drivers_libs_install
+ # install systemd sleep services
exeinto /lib/systemd/system-sleep
doexe nvidia
dobin nvidia-sleep.sh
- systemd_dounit *.service
+ systemd_dounit nvidia-{hibernate,resume,suspend}.service
einstalldocs
+ readme.gentoo_create_doc
}
pkg_preinst() {
@@ -340,7 +363,7 @@ pkg_preinst() {
# try to find driver mismatches using temporary supported-gpus.json
for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
+ 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))
@@ -356,17 +379,18 @@ pkg_preinst() {
pkg_postinst() {
use driver && linux-mod_pkg_postinst
+ readme.gentoo_print_elog
+
optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
if [[ -r /proc/driver/nvidia/version &&
$(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
ewarn "Currently loaded NVIDIA modules do not match the newly installed"
ewarn "libraries and will lead to GPU-using application issues."
- use driver && ewarn "The easiest way to fix this is to reboot."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
fi
if [[ ${NV_LEGACY_MASK} ]]; then
- ewarn "***** WARNING *****"
ewarn "You are installing a version of nvidia-drivers 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
@@ -377,15 +401,4 @@ pkg_postinst() {
ewarn "...then downgrade to a legacy branch if possible. For details, see:"
ewarn "https://www.nvidia.com/object/IO_32667.html"
fi
-
- if ! [[ ${REPLACING_VERSIONS} && $(getent group video | cut -d: -f4) ]]; then
- elog "***** WARNING *****"
- elog "Users should be in the 'video' group to use NVIDIA devices."
- elog "You can add yourself by using: gpasswd -a myuser video"
- fi
-
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "For general information with using NVIDIA on Gentoo, please see:"
- elog "https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
- fi
}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild
deleted file mode 100644
index 5e638d857b41..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver systemd toolchain-funcs unpacker udev
-
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )"
-
-EMULTILIB_PKG="true"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%%.*}"
-# TODO: for arm64, keyword virtual/opencl on arm64
-KEYWORDS="-* amd64"
-IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )"
-
-COMMON="
- driver? ( acct-group/video )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- app-misc/pax-utils
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- )"
-DEPEND="
- ${COMMON}
- virtual/linux-sources
- tools? ( sys-apps/dbus )"
-RDEPEND="
- ${COMMON}
- net-libs/libtirpc
- uvm? ( >=virtual/opencl-3 )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )"
-
-QA_PREBUILT="opt/* usr/lib*"
-S="${WORKDIR}"
-NV_KV_MAX_PLUS="5.11"
-CONFIG_CHECK="
- !DEBUG_MUTEXES
- ~!I2C_NVIDIA_GPU
- ~!LOCKDEP
- ~DRM
- ~DRM_KMS_HELPER
- ~SYSVIPC"
-
-PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
-
-pkg_pretend() {
- nvidia-driver_check
-}
-
-pkg_setup() {
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-}
-
-src_prepare() {
- gunzip *1.gz || die
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
-
- # remove GTK2 support entirely (#592730)
- sed -i \
- -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
- nvidia-settings-${PV}/src/Makefile || die
- fi
-
- default
-
- if ! [[ -f nvidia_icd.json ]]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-}
-
-src_configure() {
- tc-export AR CC LD OBJCOPY
- default
-}
-
-src_compile() {
- pushd kernel >/dev/null || die
- if use driver; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
- popd >/dev/null || die
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/libXNVCtrl \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- RANLIB="$(tc-getRANLIB)"
-
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=.
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ -n ${nv_DEST} ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
-
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia libnvidia-cfg.so.${PV}
-
- # NVIDIA framebuffer capture library
- donvidia libnvidia-fbc.so.${PV}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia libnvcuvid.so.${PV}
- donvidia libnvidia-encode.so.${PV}
-
- if use X; then
- # Xorg DDX driver
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe nvidia_drv.so
-
- # Xorg GLX driver
- donvidia libglxserver_nvidia.so.${PV} \
- /usr/$(get_libdir)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins 10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins 10_nvidia_wayland.json
- fi
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- use X && doexe nvidia-xconfig
-
- doexe nvidia-cuda-mps-control
- doexe nvidia-cuda-mps-server
- doexe nvidia-debugdump
- doexe nvidia-persistenced
- doexe nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/ \
- DESTDIR="${ED}" \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- doicon nvidia-settings.png
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin nvidia-bug-report.sh
-
- systemd_dounit *.service
- dobin nvidia-sleep.sh
- exeinto /lib/systemd/system-sleep
- doexe nvidia
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(multilib_get_enabled_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- newdoc README.txt README
- dodoc NVIDIA_Changelog
- doman nvidia-smi.1
- use X && doman nvidia-xconfig.1
- use tools && doman nvidia-settings.1
- doman nvidia-cuda-mps-control.1
-
- readme.gentoo_create_doc
-
- dodoc supported-gpus.json
-
- docinto html
- dodoc -r html/.
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)"
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${S}"
-
- if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${S}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
- "libGLX_nvidia.so.${PV} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${PV}"
- "libnvcuvid.so.${PV}"
- "libnvidia-compiler.so.${PV}"
- "libnvidia-eglcore.so.${PV}"
- "libnvidia-encode.so.${PV}"
- "libnvidia-fbc.so.${PV}"
- "libnvidia-glcore.so.${PV}"
- "libnvidia-glsi.so.${PV}"
- "libnvidia-glvkspirv.so.${PV}"
- "libnvidia-ifr.so.${PV}"
- "libnvidia-opencl.so.${PV}"
- "libnvidia-ptxjitcompiler.so.${PV}"
- "libvdpau_nvidia.so.${PV}"
- )
-
- if use wayland && [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.4"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${PV}"
- "libnvidia-tls.so.${PV}"
- )
-
- if [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.so.${PV}"
- "libnvidia-ngx.so.${PV}"
- "libnvidia-rtcore.so.${PV}"
- "libnvoptix.so.${PV}"
- )
- fi
-
- local nv_lib
- for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${nv_lib}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [[ -z ${videogroup} ]]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${ED}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
- # Make sure we nuke the old nvidia-glx's env.d file
- rm -f "${EROOT}"/etc/env.d/09nvidia || die
-}
-
-pkg_postinst() {
- use driver && linux-mod_pkg_postinst
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-
- elog "To enable nvidia sleep services under systemd, run these commands:"
- elog " systemctl enable nvidia-suspend.service"
- elog " systemctl enable nvidia-hibernate.service"
- elog " systemctl enable nvidia-resume.service"
- elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
- elog "suitable path in case the default of /tmp does not work for you"
- elog "For more information see:"
- elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
-}
-
-pkg_postrm() {
- use driver && linux-mod_pkg_postrm
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild
new file mode 100644
index 000000000000..0f37a333d294
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild
@@ -0,0 +1,409 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MODULES_OPTIONAL_USE="driver"
+inherit desktop linux-info linux-mod multilib-build optfeature \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
+
+NV_KERNEL_MAX="5.12"
+NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
+NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/download/index.aspx"
+SRC_URI="
+ amd64? ( ${NV_BIN_URI}x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+ arm64? ( ${NV_BIN_URI}aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
+ ${NV_GIT_URI}installer/archive/${PV}.tar.gz -> nvidia-installer-${PV}.tar.gz
+ ${NV_GIT_URI}modprobe/archive/${PV}.tar.gz -> nvidia-modprobe-${PV}.tar.gz
+ ${NV_GIT_URI}persistenced/archive/${PV}.tar.gz -> nvidia-persistenced-${PV}.tar.gz
+ ${NV_GIT_URI}settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz
+ ${NV_GIT_URI}xconfig/archive/${PV}.tar.gz -> nvidia-xconfig-${PV}.tar.gz"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S="${WORKDIR}"
+
+LICENSE="GPL-2 MIT NVIDIA-r2 ZLIB"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64"
+IUSE="+X +driver static-libs +tools"
+
+COMMON_DEPEND="
+ acct-group/video
+ acct-user/nvpd
+ net-libs/libtirpc
+ tools? (
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/jansson
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ X? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )"
+DEPEND="
+ ${COMMON_DEPEND}
+ static-libs? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ tools? (
+ media-libs/libglvnd
+ sys-apps/dbus
+ x11-base/xorg-proto
+ x11-libs/libXrandr
+ x11-libs/libXv
+ x11-libs/libvdpau
+ )"
+BDEPEND="
+ app-misc/pax-utils
+ virtual/pkgconfig"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+PATCHES=(
+ "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+)
+DOCS=(
+ README.txt NVIDIA_Changelog supported-gpus.json
+ nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+)
+HTML_DOCS=( html/. )
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
+pkg_setup() {
+ use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
+ if kernel_is -lt 5 10; then
+ CONFIG_CHECK+=" PM" # needed for 460.67 backport (bug #778920)
+ local ERROR_PM="CONFIG_PM: is not set but needed with kernel version <5.10"
+ fi
+
+ BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
+ BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
+ MODULE_NAMES="
+ nvidia(video:kernel)
+ nvidia-drm(video:kernel)
+ nvidia-modeset(video:kernel)
+ nvidia-uvm(video:kernel)"
+
+ linux-mod_pkg_setup
+
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
+ ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
+ ewarn "or was not tested with it. It is recommended to use one of:"
+ ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
+ ewarn " <=sys-kernel/gentoo-sources-${NV_KERNEL_MAX}"
+ ewarn "You are free to try or use /etc/portage/patches, but support will"
+ ewarn "not be given and issues wait until NVIDIA releases a fixed version."
+ ewarn
+ ewarn "Do _not_ file a bug report if run into issues."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # make user 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
+
+ default
+
+ # prevent detection of incomplete kernel DRM support (bug #603818)
+ sed 's/defined(CONFIG_DRM)/defined(CONFIG_DRM_KMS_HELPER)/' \
+ -i kernel/conftest.sh || die
+
+ sed -e '/Exec=\|Icon=/s/_.*/nvidia-settings/' \
+ -e '/Categories=/s/_.*/System;Settings;/' \
+ -i nvidia-settings/doc/nvidia-settings.desktop || die
+
+ # remove gtk2 support (bug #592730)
+ sed '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
+ -i nvidia-settings/src/Makefile || die
+
+ sed 's/__USER__/nvpd/' \
+ nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+ > nvidia-persistenced.service || die
+
+ gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
+}
+
+src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
+ tc-export AR CC LD OBJCOPY
+
+ # may no longer be relevant but kept as a safety
+ export DISTCC_DISABLE=1 CCACHE_DISABLE=1
+
+ use driver && linux-mod_src_compile
+
+ nvidia-drivers_make modprobe
+ nvidia-drivers_make persistenced
+ use X && nvidia-drivers_make xconfig
+
+ if use tools; then
+ nvidia-drivers_make settings
+ elif use static-libs; then
+ nvidia-drivers_make settings/src out/libXNVCtrl.a
+ fi
+}
+
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-allocator
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-glvkspirv
+ nvidia-ml
+ nvidia-opencl
+ nvidia-opticalflow
+ nvidia-ptxjitcompiler
+ nvidia-tls
+ )
+ use amd64 && libs+=( nvidia-compiler )
+
+ if use X; then
+ libs+=(
+ GLX_nvidia
+ vdpau_nvidia
+ )
+ if use amd64; then
+ libs+=(
+ nvidia-fbc
+ nvidia-ifr
+ )
+ fi
+ fi
+
+ local libdir=.
+ if [[ ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cbl
+ nvidia-cfg
+ nvidia-rtcore
+ nvoptix
+ )
+ use amd64 && libs+=( nvidia-ngx )
+ fi
+
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
+
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
+
+ if use driver; then
+ linux-mod_src_install
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
+ doins "${FILESDIR}"/nvidia-blacklist-nouveau.conf
+ doins "${FILESDIR}"/nvidia-rmmod.conf
+
+ # used for gpu verification with binpkgs (not kept)
+ insinto /usr/share/nvidia
+ doins supported-gpus.json
+ fi
+
+ if use X; then
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe nvidia_drv.so
+
+ exeinto /usr/$(get_libdir)/xorg/modules/extensions
+ newexe libglxserver_nvidia.so{.${PV},}
+
+ insinto /usr/share/X11/xorg.conf.d
+ newins {,50-}nvidia-drm-outputclass.conf
+
+ # vulkan icd uses libGLX_nvidia.so and so requires X
+ insinto /usr/share/vulkan/icd.d
+ doins nvidia_icd.json
+ insinto /usr/share/vulkan/implicit_layer.d
+ doins nvidia_layers.json
+ fi
+
+ insinto /usr/share/glvnd/egl_vendor.d
+ doins 10_nvidia.json
+
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+
+ insinto /etc/nvidia
+ newins nvidia-application-profiles{-${PV},}-rc
+
+ # install built helpers
+ nvidia-drivers_make_install modprobe
+ # allow video group to load mods and create devs (bug #505092)
+ fowners root:video /usr/bin/nvidia-modprobe
+ fperms 4710 /usr/bin/nvidia-modprobe
+
+ nvidia-drivers_make_install persistenced
+ newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
+ newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
+ systemd_dounit nvidia-persistenced.service
+
+ use X && nvidia-drivers_make_install xconfig
+
+ if use tools; then
+ nvidia-drivers_make_install settings
+ doicon nvidia-settings/doc/nvidia-settings.png
+ domenu nvidia-settings/doc/nvidia-settings.desktop
+
+ insinto /usr/share/nvidia
+ newins nvidia-application-profiles{-${PV},}-key-documentation
+
+ 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
+
+ # install prebuilt-only helpers
+ exeinto /opt/bin
+
+ doexe nvidia-cuda-mps-control
+ doman nvidia-cuda-mps-control.1
+ doexe nvidia-cuda-mps-server
+
+ doexe nvidia-debugdump
+ dobin nvidia-bug-report.sh
+
+ doexe nvidia-smi
+ doman nvidia-smi.1
+
+ # install prebuilt-only libraries
+ multilib_foreach_abi nvidia-drivers_libs_install
+
+ # install systemd sleep services
+ exeinto /lib/systemd/system-sleep
+ doexe nvidia
+ dobin nvidia-sleep.sh
+ systemd_dounit nvidia-{hibernate,resume,suspend}.service
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ use driver || return
+ linux-mod_pkg_preinst
+
+ # set video group id based on live system (bug #491414)
+ local g=$(getent group video | cut -d: -f3)
+ [[ ${g} ]] || die "Failed to determine video group id"
+ sed "s/PACKAGE/${PF}/;s/VIDEOGID/${g}/" \
+ -i "${ED}"/etc/modprobe.d/nvidia.conf || die
+
+ # try to find driver mismatches using temporary supported-gpus.json
+ 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() {
+ use driver && linux-mod_pkg_postinst
+
+ readme.gentoo_print_elog
+
+ optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
+
+ if [[ -r /proc/driver/nvidia/version &&
+ $(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
+ ewarn "Currently loaded NVIDIA modules do not match the newly installed"
+ ewarn "libraries and will lead to GPU-using application issues."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
+ fi
+
+ if [[ ${NV_LEGACY_MASK} ]]; then
+ ewarn "You are installing a version of nvidia-drivers 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 branch if possible. For details, see:"
+ ewarn "https://www.nvidia.com/object/IO_32667.html"
+ fi
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.39-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.39-r1.ebuild
deleted file mode 100644
index 4867ebc5e195..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.39-r1.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver systemd toolchain-funcs unpacker udev
-
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )"
-
-EMULTILIB_PKG="true"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%%.*}"
-# TODO: for arm64, keyword virtual/opencl on arm64
-KEYWORDS="-* amd64"
-IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )"
-
-COMMON="
- driver? ( acct-group/video )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- app-misc/pax-utils
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- )"
-DEPEND="
- ${COMMON}
- virtual/linux-sources
- tools? ( sys-apps/dbus )"
-RDEPEND="
- ${COMMON}
- net-libs/libtirpc
- uvm? ( >=virtual/opencl-3 )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )"
-
-QA_PREBUILT="opt/* usr/lib*"
-S="${WORKDIR}"
-NV_KV_MAX_PLUS="5.11"
-CONFIG_CHECK="
- !DEBUG_MUTEXES
- ~!I2C_NVIDIA_GPU
- ~!LOCKDEP
- ~DRM
- ~DRM_KMS_HELPER
- ~SYSVIPC"
-
-PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
-
-pkg_pretend() {
- nvidia-driver_check
-}
-
-pkg_setup() {
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-}
-
-src_prepare() {
- gunzip *1.gz || die
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
-
- # remove GTK2 support entirely (#592730)
- sed -i \
- -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
- nvidia-settings-${PV}/src/Makefile || die
- fi
-
- default
-
- if ! [[ -f nvidia_icd.json ]]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-}
-
-src_configure() {
- tc-export AR CC LD OBJCOPY
- default
-}
-
-src_compile() {
- pushd kernel >/dev/null || die
- if use driver; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
- popd >/dev/null || die
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/libXNVCtrl \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- RANLIB="$(tc-getRANLIB)"
-
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=.
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ -n ${nv_DEST} ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
-
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia libnvidia-cfg.so.${PV}
-
- # NVIDIA framebuffer capture library
- donvidia libnvidia-fbc.so.${PV}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia libnvcuvid.so.${PV}
- donvidia libnvidia-encode.so.${PV}
-
- if use X; then
- # Xorg DDX driver
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe nvidia_drv.so
-
- # Xorg GLX driver
- donvidia libglxserver_nvidia.so.${PV} \
- /usr/$(get_libdir)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins 10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins 10_nvidia_wayland.json
- fi
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- use X && doexe nvidia-xconfig
-
- doexe nvidia-cuda-mps-control
- doexe nvidia-cuda-mps-server
- doexe nvidia-debugdump
- doexe nvidia-persistenced
- doexe nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/ \
- DESTDIR="${ED}" \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- doicon nvidia-settings.png
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin nvidia-bug-report.sh
-
- systemd_dounit *.service
- dobin nvidia-sleep.sh
- exeinto /lib/systemd/system-sleep
- doexe nvidia
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(multilib_get_enabled_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- newdoc README.txt README
- dodoc NVIDIA_Changelog
- doman nvidia-smi.1
- use X && doman nvidia-xconfig.1
- use tools && doman nvidia-settings.1
- doman nvidia-cuda-mps-control.1
-
- readme.gentoo_create_doc
-
- dodoc -r supported-gpus
-
- docinto html
- dodoc -r html/.
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)"
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${S}"
-
- if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${S}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
- "libGLX_nvidia.so.${PV} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${PV}"
- "libnvcuvid.so.${PV}"
- "libnvidia-compiler.so.${PV}"
- "libnvidia-eglcore.so.${PV}"
- "libnvidia-encode.so.${PV}"
- "libnvidia-fbc.so.${PV}"
- "libnvidia-glcore.so.${PV}"
- "libnvidia-glsi.so.${PV}"
- "libnvidia-glvkspirv.so.${PV}"
- "libnvidia-ifr.so.${PV}"
- "libnvidia-opencl.so.${PV}"
- "libnvidia-ptxjitcompiler.so.${PV}"
- "libvdpau_nvidia.so.${PV}"
- )
-
- if use wayland && [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.5"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${PV}"
- "libnvidia-tls.so.${PV}"
- )
-
- if [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.so.${PV}"
- "libnvidia-ngx.so.${PV}"
- "libnvidia-rtcore.so.${PV}"
- "libnvoptix.so.${PV}"
- )
- fi
-
- local nv_lib
- for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${nv_lib}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [[ -z ${videogroup} ]]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${ED}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
- # Make sure we nuke the old nvidia-glx's env.d file
- rm -f "${EROOT}"/etc/env.d/09nvidia || die
-}
-
-pkg_postinst() {
- use driver && linux-mod_pkg_postinst
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-
- elog "To enable nvidia sleep services under systemd, run these commands:"
- elog " systemctl enable nvidia-suspend.service"
- elog " systemctl enable nvidia-hibernate.service"
- elog " systemctl enable nvidia-resume.service"
- elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
- elog "suitable path in case the default of /tmp does not work for you"
- elog "For more information see:"
- elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
-}
-
-pkg_postrm() {
- use driver && linux-mod_pkg_postrm
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
deleted file mode 100644
index 8f678c958a97..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver systemd toolchain-funcs unpacker udev
-
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )"
-
-EMULTILIB_PKG="true"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%%.*}"
-# TODO: for arm64, keyword virtual/opencl on arm64
-KEYWORDS="-* ~amd64"
-IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )"
-
-COMMON="
- driver? ( acct-group/video )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- app-misc/pax-utils
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- )"
-DEPEND="
- ${COMMON}
- virtual/linux-sources
- tools? ( sys-apps/dbus )"
-RDEPEND="
- ${COMMON}
- net-libs/libtirpc
- uvm? ( >=virtual/opencl-3 )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )"
-
-QA_PREBUILT="opt/* usr/lib*"
-S="${WORKDIR}"
-NV_KV_MAX_PLUS="5.12"
-CONFIG_CHECK="
- !DEBUG_MUTEXES
- ~!I2C_NVIDIA_GPU
- ~!LOCKDEP
- ~DRM
- ~DRM_KMS_HELPER
- ~SYSVIPC"
-
-PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
-
-pkg_pretend() {
- nvidia-driver_check
-}
-
-pkg_setup() {
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-}
-
-src_prepare() {
- gunzip *1.gz || die
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
-
- # remove GTK2 support entirely (#592730)
- sed -i \
- -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
- nvidia-settings-${PV}/src/Makefile || die
- fi
-
- default
-
- if ! [[ -f nvidia_icd.json ]]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-}
-
-src_configure() {
- tc-export AR CC LD OBJCOPY
- default
-}
-
-src_compile() {
- pushd kernel >/dev/null || die
- if use driver; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
- popd >/dev/null || die
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/libXNVCtrl \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- RANLIB="$(tc-getRANLIB)"
-
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=.
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ -n ${nv_DEST} ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
-
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia libnvidia-cfg.so.${PV}
-
- # NVIDIA framebuffer capture library
- donvidia libnvidia-fbc.so.${PV}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia libnvcuvid.so.${PV}
- donvidia libnvidia-encode.so.${PV}
-
- if use X; then
- # Xorg DDX driver
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe nvidia_drv.so
-
- # Xorg GLX driver
- donvidia libglxserver_nvidia.so.${PV} \
- /usr/$(get_libdir)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins 10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins 10_nvidia_wayland.json
- fi
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- use X && doexe nvidia-xconfig
-
- doexe nvidia-cuda-mps-control
- doexe nvidia-cuda-mps-server
- doexe nvidia-debugdump
- doexe nvidia-persistenced
- doexe nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/ \
- DESTDIR="${ED}" \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- doicon nvidia-settings.png
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin nvidia-bug-report.sh
-
- systemd_dounit *.service
- dobin nvidia-sleep.sh
- exeinto /lib/systemd/system-sleep
- doexe nvidia
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(multilib_get_enabled_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- newdoc README.txt README
- dodoc NVIDIA_Changelog
- doman nvidia-smi.1
- use X && doman nvidia-xconfig.1
- use tools && doman nvidia-settings.1
- doman nvidia-cuda-mps-control.1
-
- readme.gentoo_create_doc
-
- dodoc -r supported-gpus
-
- docinto html
- dodoc -r html/.
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)"
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${S}"
-
- if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${S}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
- "libGLX_nvidia.so.${PV} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${PV}"
- "libnvcuvid.so.${PV}"
- "libnvidia-compiler.so.${PV}"
- "libnvidia-eglcore.so.${PV}"
- "libnvidia-encode.so.${PV}"
- "libnvidia-fbc.so.${PV}"
- "libnvidia-glcore.so.${PV}"
- "libnvidia-glsi.so.${PV}"
- "libnvidia-glvkspirv.so.${PV}"
- "libnvidia-ifr.so.${PV}"
- "libnvidia-opencl.so.${PV}"
- "libnvidia-ptxjitcompiler.so.${PV}"
- "libvdpau_nvidia.so.${PV}"
- )
-
- if use wayland && [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.5"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${PV}"
- "libnvidia-tls.so.${PV}"
- )
-
- if [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.so.${PV}"
- "libnvidia-ngx.so.${PV}"
- "libnvidia-rtcore.so.${PV}"
- "libnvoptix.so.${PV}"
- )
- fi
-
- local nv_lib
- for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${nv_lib}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [[ -z ${videogroup} ]]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${ED}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
- # Make sure we nuke the old nvidia-glx's env.d file
- rm -f "${EROOT}"/etc/env.d/09nvidia || die
-}
-
-pkg_postinst() {
- use driver && linux-mod_pkg_postinst
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-
- elog "To enable nvidia sleep services under systemd, run these commands:"
- elog " systemctl enable nvidia-suspend.service"
- elog " systemctl enable nvidia-hibernate.service"
- elog " systemctl enable nvidia-resume.service"
- elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
- elog "suitable path in case the default of /tmp does not work for you"
- elog "For more information see:"
- elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
-}
-
-pkg_postrm() {
- use driver && linux-mod_pkg_postrm
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
index e6d9570a2714..81f6e62f3d37 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
@@ -4,10 +4,10 @@
EAPI=7
MODULES_OPTIONAL_USE="driver"
-inherit desktop linux-info linux-mod multilib-build \
- optfeature systemd toolchain-funcs unpacker
+inherit desktop linux-info linux-mod multilib-build optfeature \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
-NV_KERNEL_MAX="5.11"
+NV_KERNEL_MAX="5.12"
NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
@@ -26,7 +26,7 @@ S="${WORKDIR}"
LICENSE="GPL-2 MIT NVIDIA-r2 ZLIB"
SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* amd64"
IUSE="+X +driver static-libs +tools"
COMMON_DEPEND="
@@ -72,17 +72,6 @@ BDEPEND="
QA_PREBUILT="opt/* usr/lib*"
-CONFIG_CHECK="
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
- ~!LOCKDEP
- !DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and optional nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, so enable
- options such as CONFIG_DRM_FBDEV_EMULATION instead."
-
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
)
@@ -92,8 +81,32 @@ DOCS=(
)
HTML_DOCS=( html/. )
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
pkg_setup() {
use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
+ if kernel_is -lt 5 10; then
+ CONFIG_CHECK+=" PM" # needed since 460.67 (bug #778920)
+ local ERROR_PM="CONFIG_PM: is not set but needed with kernel version <5.10"
+ fi
+
BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
MODULE_NAMES="
@@ -101,9 +114,10 @@ pkg_setup() {
nvidia-drm(video:kernel)
nvidia-modeset(video:kernel)
nvidia-uvm(video:kernel)"
+
linux-mod_pkg_setup
- if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
ewarn "or was not tested with it. It is recommended to use one of:"
ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -144,16 +158,18 @@ src_prepare() {
gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
}
-nvidia-drivers_make() {
- emake -C nvidia-${1} ${2} \
- DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
- HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
- DO_STRIP= MANPAGE_GZIP= \
- NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
tc-export AR CC LD OBJCOPY
+
# may no longer be relevant but kept as a safety
export DISTCC_DISABLE=1 CCACHE_DISABLE=1
@@ -170,69 +186,78 @@ src_compile() {
fi
}
-nvidia-drivers_libs_install() {
- local libs=(
- EGL_nvidia
- GLESv1_CM_nvidia
- GLESv2_nvidia
- cuda
- nvcuvid
- nvidia-allocator
- nvidia-eglcore
- nvidia-encode
- nvidia-glcore
- nvidia-glsi
- nvidia-glvkspirv
- nvidia-ml
- nvidia-opencl
- nvidia-opticalflow
- nvidia-ptxjitcompiler
- nvidia-tls
- )
- use amd64 && libs+=( nvidia-compiler )
-
- if use X; then
- libs+=(
- GLX_nvidia
- vdpau_nvidia
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-allocator
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-glvkspirv
+ nvidia-ml
+ nvidia-opencl
+ nvidia-opticalflow
+ nvidia-ptxjitcompiler
+ nvidia-tls
)
- if use amd64; then
+ use amd64 && libs+=( nvidia-compiler )
+
+ if use X; then
libs+=(
- nvidia-fbc
- nvidia-ifr
+ GLX_nvidia
+ vdpau_nvidia
)
+ if use amd64; then
+ libs+=(
+ nvidia-fbc
+ nvidia-ifr
+ )
+ fi
fi
- fi
- local libdir=.
- if multilib_is_native_abi; then
- libs+=(
- nvidia-cbl
- nvidia-cfg
- nvidia-rtcore
- nvoptix
- )
- use amd64 && libs+=( nvidia-ngx )
- else
- libdir+=/32
- fi
+ local libdir=.
+ if [[ ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cbl
+ nvidia-cfg
+ nvidia-rtcore
+ nvoptix
+ )
+ use amd64 && libs+=( nvidia-ngx )
+ fi
- local lib soname
- for lib in "${libs[@]}"; do
- [[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
- # auto-detect soname and create appropriate symlinks
- soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
- if [[ ${soname} && ${soname} != ${lib} ]]; then
- ln -s ${lib} ${libdir}/${soname} || die
- fi
- ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
- dolib.so ${libdir}/${lib%.so*}*
- done
-}
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
-src_install() {
if use driver; then
linux-mod_src_install
@@ -273,20 +298,20 @@ src_install() {
newins nvidia-application-profiles{-${PV},}-rc
# install built helpers
- nvidia-drivers_make modprobe install
+ nvidia-drivers_make_install modprobe
# allow video group to load mods and create devs (bug #505092)
fowners root:video /usr/bin/nvidia-modprobe
fperms 4710 /usr/bin/nvidia-modprobe
- nvidia-drivers_make persistenced install
+ nvidia-drivers_make_install persistenced
newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
systemd_dounit nvidia-persistenced.service
- use X && nvidia-drivers_make xconfig install
+ use X && nvidia-drivers_make_install xconfig
if use tools; then
- nvidia-drivers_make settings install
+ nvidia-drivers_make_install settings
doicon nvidia-settings/doc/nvidia-settings.png
domenu nvidia-settings/doc/nvidia-settings.desktop
@@ -320,12 +345,14 @@ src_install() {
# install prebuilt-only libraries
multilib_foreach_abi nvidia-drivers_libs_install
+ # install systemd sleep services
exeinto /lib/systemd/system-sleep
doexe nvidia
dobin nvidia-sleep.sh
- systemd_dounit *.service
+ systemd_dounit nvidia-{hibernate,resume,suspend}.service
einstalldocs
+ readme.gentoo_create_doc
}
pkg_preinst() {
@@ -340,7 +367,7 @@ pkg_preinst() {
# try to find driver mismatches using temporary supported-gpus.json
for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
+ 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))
@@ -356,17 +383,18 @@ pkg_preinst() {
pkg_postinst() {
use driver && linux-mod_pkg_postinst
+ readme.gentoo_print_elog
+
optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
if [[ -r /proc/driver/nvidia/version &&
$(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
ewarn "Currently loaded NVIDIA modules do not match the newly installed"
ewarn "libraries and will lead to GPU-using application issues."
- use driver && ewarn "The easiest way to fix this is to reboot."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
fi
if [[ ${NV_LEGACY_MASK} ]]; then
- ewarn "***** WARNING *****"
ewarn "You are installing a version of nvidia-drivers 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
@@ -377,15 +405,4 @@ pkg_postinst() {
ewarn "...then downgrade to a legacy branch if possible. For details, see:"
ewarn "https://www.nvidia.com/object/IO_32667.html"
fi
-
- if ! [[ ${REPLACING_VERSIONS} && $(getent group video | cut -d: -f4) ]]; then
- elog "***** WARNING *****"
- elog "Users should be in the 'video' group to use NVIDIA devices."
- elog "You can add yourself by using: gpasswd -a myuser video"
- fi
-
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "For general information with using NVIDIA on Gentoo, please see:"
- elog "https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
- fi
}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.73.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.73.01.ebuild
new file mode 100644
index 000000000000..8e7b3dafc24f
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.73.01.ebuild
@@ -0,0 +1,408 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MODULES_OPTIONAL_USE="driver"
+inherit desktop linux-info linux-mod multilib-build optfeature \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
+
+NV_KERNEL_MAX="5.12"
+NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
+NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/download/index.aspx"
+SRC_URI="
+ amd64? ( ${NV_BIN_URI}x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+ arm64? ( ${NV_BIN_URI}aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
+ ${NV_GIT_URI}installer/archive/${PV}.tar.gz -> nvidia-installer-${PV}.tar.gz
+ ${NV_GIT_URI}modprobe/archive/${PV}.tar.gz -> nvidia-modprobe-${PV}.tar.gz
+ ${NV_GIT_URI}persistenced/archive/${PV}.tar.gz -> nvidia-persistenced-${PV}.tar.gz
+ ${NV_GIT_URI}settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz
+ ${NV_GIT_URI}xconfig/archive/${PV}.tar.gz -> nvidia-xconfig-${PV}.tar.gz"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S="${WORKDIR}"
+
+LICENSE="GPL-2 MIT NVIDIA-r2 ZLIB"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64"
+IUSE="+X +driver static-libs +tools"
+
+COMMON_DEPEND="
+ acct-group/video
+ acct-user/nvpd
+ net-libs/libtirpc
+ tools? (
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/jansson
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ X? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )"
+DEPEND="
+ ${COMMON_DEPEND}
+ static-libs? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ tools? (
+ media-libs/libglvnd
+ sys-apps/dbus
+ x11-base/xorg-proto
+ x11-libs/libXrandr
+ x11-libs/libXv
+ x11-libs/libvdpau
+ )"
+BDEPEND="
+ app-misc/pax-utils
+ virtual/pkgconfig"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+PATCHES=(
+ "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+)
+DOCS=(
+ README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
+ nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+)
+HTML_DOCS=( html/. )
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
+pkg_setup() {
+ use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
+ if kernel_is -lt 5 10; then
+ CONFIG_CHECK+=" PM" # needed since 460.67 (bug #778920)
+ local ERROR_PM="CONFIG_PM: is not set but needed with kernel version <5.10"
+ fi
+
+ BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
+ BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
+ MODULE_NAMES="
+ nvidia(video:kernel)
+ nvidia-drm(video:kernel)
+ nvidia-modeset(video:kernel)
+ nvidia-uvm(video:kernel)"
+
+ linux-mod_pkg_setup
+
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
+ ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
+ ewarn "or was not tested with it. It is recommended to use one of:"
+ ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
+ ewarn " <=sys-kernel/gentoo-sources-${NV_KERNEL_MAX}"
+ ewarn "You are free to try or use /etc/portage/patches, but support will"
+ ewarn "not be given and issues wait until NVIDIA releases a fixed version."
+ ewarn
+ ewarn "Do _not_ file a bug report if run into issues."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # make user 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
+
+ default
+
+ # prevent detection of incomplete kernel DRM support (bug #603818)
+ sed 's/defined(CONFIG_DRM)/defined(CONFIG_DRM_KMS_HELPER)/' \
+ -i kernel/conftest.sh || die
+
+ sed -e '/Exec=\|Icon=/s/_.*/nvidia-settings/' \
+ -e '/Categories=/s/_.*/System;Settings;/' \
+ -i nvidia-settings/doc/nvidia-settings.desktop || die
+
+ # remove gtk2 support (bug #592730)
+ sed '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
+ -i nvidia-settings/src/Makefile || die
+
+ sed 's/__USER__/nvpd/' \
+ nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+ > nvidia-persistenced.service || die
+
+ gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
+}
+
+src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
+ tc-export AR CC LD OBJCOPY
+
+ # may no longer be relevant but kept as a safety
+ export DISTCC_DISABLE=1 CCACHE_DISABLE=1
+
+ use driver && linux-mod_src_compile
+
+ nvidia-drivers_make modprobe
+ nvidia-drivers_make persistenced
+ use X && nvidia-drivers_make xconfig
+
+ if use tools; then
+ nvidia-drivers_make settings
+ elif use static-libs; then
+ nvidia-drivers_make settings/src out/libXNVCtrl.a
+ fi
+}
+
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-allocator
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-glvkspirv
+ nvidia-ml
+ nvidia-opencl
+ nvidia-opticalflow
+ nvidia-ptxjitcompiler
+ nvidia-tls
+ )
+ use amd64 && libs+=( nvidia-compiler )
+
+ if use X; then
+ libs+=(
+ GLX_nvidia
+ vdpau_nvidia
+ )
+ if use amd64; then
+ libs+=(
+ nvidia-fbc
+ nvidia-ifr
+ )
+ fi
+ fi
+
+ local libdir=.
+ if [[ ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cbl
+ nvidia-cfg
+ nvidia-rtcore
+ nvoptix
+ )
+ use amd64 && libs+=( nvidia-ngx )
+ fi
+
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
+
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
+
+ if use driver; then
+ linux-mod_src_install
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
+ doins "${FILESDIR}"/nvidia-blacklist-nouveau.conf
+ doins "${FILESDIR}"/nvidia-rmmod.conf
+
+ # used for gpu verification with binpkgs (not kept)
+ insinto /usr/share/nvidia
+ doins supported-gpus/supported-gpus.json
+ fi
+
+ if use X; then
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe nvidia_drv.so
+
+ exeinto /usr/$(get_libdir)/xorg/modules/extensions
+ newexe libglxserver_nvidia.so{.${PV},}
+
+ insinto /usr/share/X11/xorg.conf.d
+ newins {,50-}nvidia-drm-outputclass.conf
+
+ # vulkan icd uses libGLX_nvidia.so and so requires X
+ insinto /usr/share/vulkan/icd.d
+ doins nvidia_icd.json
+ insinto /usr/share/vulkan/implicit_layer.d
+ doins nvidia_layers.json
+ fi
+
+ insinto /usr/share/glvnd/egl_vendor.d
+ doins 10_nvidia.json
+
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+
+ insinto /etc/nvidia
+ newins nvidia-application-profiles{-${PV},}-rc
+
+ # install built helpers
+ nvidia-drivers_make_install modprobe
+ # allow video group to load mods and create devs (bug #505092)
+ fowners root:video /usr/bin/nvidia-modprobe
+ fperms 4710 /usr/bin/nvidia-modprobe
+
+ nvidia-drivers_make_install persistenced
+ newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
+ newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
+ systemd_dounit nvidia-persistenced.service
+
+ use X && nvidia-drivers_make_install xconfig
+
+ if use tools; then
+ nvidia-drivers_make_install settings
+ doicon nvidia-settings/doc/nvidia-settings.png
+ domenu nvidia-settings/doc/nvidia-settings.desktop
+
+ insinto /usr/share/nvidia
+ newins nvidia-application-profiles{-${PV},}-key-documentation
+
+ 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
+
+ # install prebuilt-only helpers
+ exeinto /opt/bin
+
+ doexe nvidia-cuda-mps-control
+ doman nvidia-cuda-mps-control.1
+ doexe nvidia-cuda-mps-server
+
+ doexe nvidia-debugdump
+ dobin nvidia-bug-report.sh
+
+ doexe nvidia-smi
+ doman nvidia-smi.1
+
+ # install prebuilt-only libraries
+ multilib_foreach_abi nvidia-drivers_libs_install
+
+ # install systemd sleep services
+ exeinto /lib/systemd/system-sleep
+ doexe nvidia
+ dobin nvidia-sleep.sh
+ systemd_dounit nvidia-{hibernate,resume,suspend}.service
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ use driver || return
+ linux-mod_pkg_preinst
+
+ # set video group id based on live system (bug #491414)
+ local g=$(getent group video | cut -d: -f3)
+ [[ ${g} ]] || die "Failed to determine video group id"
+ sed "s/PACKAGE/${PF}/;s/VIDEOGID/${g}/" \
+ -i "${ED}"/etc/modprobe.d/nvidia.conf || die
+
+ # try to find driver mismatches using temporary supported-gpus.json
+ 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() {
+ use driver && linux-mod_pkg_postinst
+
+ readme.gentoo_print_elog
+
+ optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
+
+ if [[ -r /proc/driver/nvidia/version &&
+ $(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
+ ewarn "Currently loaded NVIDIA modules do not match the newly installed"
+ ewarn "libraries and will lead to GPU-using application issues."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
+ fi
+
+ if [[ ${NV_LEGACY_MASK} ]]; then
+ ewarn "You are installing a version of nvidia-drivers 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 branch if possible. For details, see:"
+ ewarn "https://www.nvidia.com/object/IO_32667.html"
+ fi
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-465.24.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-465.24.02.ebuild
new file mode 100644
index 000000000000..c5544af8ebf7
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-465.24.02.ebuild
@@ -0,0 +1,409 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MODULES_OPTIONAL_USE="driver"
+inherit desktop linux-info linux-mod multilib-build optfeature \
+ readme.gentoo-r1 systemd toolchain-funcs unpacker
+
+NV_KERNEL_MAX="5.12"
+NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-"
+NV_GIT_URI="https://github.com/NVIDIA/nvidia-"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/download/index.aspx"
+SRC_URI="
+ amd64? ( ${NV_BIN_URI}x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+ arm64? ( ${NV_BIN_URI}aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
+ ${NV_GIT_URI}installer/archive/${PV}.tar.gz -> nvidia-installer-${PV}.tar.gz
+ ${NV_GIT_URI}modprobe/archive/${PV}.tar.gz -> nvidia-modprobe-${PV}.tar.gz
+ ${NV_GIT_URI}persistenced/archive/${PV}.tar.gz -> nvidia-persistenced-${PV}.tar.gz
+ ${NV_GIT_URI}settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz
+ ${NV_GIT_URI}xconfig/archive/${PV}.tar.gz -> nvidia-xconfig-${PV}.tar.gz"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S="${WORKDIR}"
+
+LICENSE="GPL-2 MIT NVIDIA-r2 ZLIB"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64"
+IUSE="+X +driver static-libs +tools"
+
+COMMON_DEPEND="
+ acct-group/video
+ acct-user/nvpd
+ net-libs/libtirpc
+ tools? (
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/jansson
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ X? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )"
+DEPEND="
+ ${COMMON_DEPEND}
+ static-libs? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ tools? (
+ media-libs/libglvnd
+ sys-apps/dbus
+ x11-base/xorg-proto
+ x11-libs/libXrandr
+ x11-libs/libXv
+ x11-libs/libvdpau
+ )"
+BDEPEND="
+ app-misc/pax-utils
+ virtual/pkgconfig"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+PATCHES=(
+ "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+)
+DOCS=(
+ README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
+ nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+)
+HTML_DOCS=( html/. )
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video
+
+For general information on using nvidia-drivers, please see:
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
+
+pkg_setup() {
+ use driver || return
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~SYSVIPC
+ ~!LOCKDEP
+ !DEBUG_MUTEXES"
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and optional nvidia-drm.modeset=1.
+ Cannot be directly selected in the kernel's menuconfig, so enable
+ options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
+ if kernel_is -lt 5 10; then
+ CONFIG_CHECK+=" PM" # needed since 460.67 (bug #778920)
+ local ERROR_PM="CONFIG_PM: is not set but needed with kernel version <5.10"
+ fi
+
+ BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
+ BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
+ MODULE_NAMES="
+ nvidia(video:kernel)
+ nvidia-drm(video:kernel)
+ nvidia-modeset(video:kernel)
+ nvidia-uvm(video:kernel)"
+ # nvidia-peermem(video:kernel) - skipping unless there is a demand for it
+
+ linux-mod_pkg_setup
+
+ if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
+ ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
+ ewarn "or was not tested with it. It is recommended to use one of:"
+ ewarn " <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
+ ewarn " <=sys-kernel/gentoo-sources-${NV_KERNEL_MAX}"
+ ewarn "You are free to try or use /etc/portage/patches, but support will"
+ ewarn "not be given and issues wait until NVIDIA releases a fixed version."
+ ewarn
+ ewarn "Do _not_ file a bug report if run into issues."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # make user 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
+
+ default
+
+ # prevent detection of incomplete kernel DRM support (bug #603818)
+ sed 's/defined(CONFIG_DRM)/defined(CONFIG_DRM_KMS_HELPER)/' \
+ -i kernel/conftest.sh || die
+
+ sed -e '/Exec=\|Icon=/s/_.*/nvidia-settings/' \
+ -e '/Categories=/s/_.*/System;Settings;/' \
+ -i nvidia-settings/doc/nvidia-settings.desktop || die
+
+ # remove gtk2 support (bug #592730)
+ sed '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
+ -i nvidia-settings/src/Makefile || die
+
+ sed 's/__USER__/nvpd/' \
+ nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+ > nvidia-persistenced.service || die
+
+ gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
+}
+
+src_compile() {
+ nvidia-drivers_make() {
+ emake -C nvidia-${1} ${2} \
+ PREFIX="${EPREFIX}/usr" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_LD="$(tc-getBUILD_LD)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+ }
+
+ tc-export AR CC LD OBJCOPY
+
+ # may no longer be relevant but kept as a safety
+ export DISTCC_DISABLE=1 CCACHE_DISABLE=1
+
+ use driver && linux-mod_src_compile
+
+ nvidia-drivers_make modprobe
+ nvidia-drivers_make persistenced
+ use X && nvidia-drivers_make xconfig
+
+ if use tools; then
+ nvidia-drivers_make settings
+ elif use static-libs; then
+ nvidia-drivers_make settings/src out/libXNVCtrl.a
+ fi
+}
+
+src_install() {
+ nvidia-drivers_make_install() {
+ emake -C nvidia-${1} install \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${ED}/usr/$(get_libdir)" \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+ }
+
+ nvidia-drivers_libs_install() {
+ local libs=(
+ EGL_nvidia
+ GLESv1_CM_nvidia
+ GLESv2_nvidia
+ cuda
+ nvcuvid
+ nvidia-allocator
+ nvidia-eglcore
+ nvidia-encode
+ nvidia-glcore
+ nvidia-glsi
+ nvidia-glvkspirv
+ nvidia-ml
+ nvidia-opencl
+ nvidia-opticalflow
+ nvidia-ptxjitcompiler
+ nvidia-tls
+ )
+ use amd64 && libs+=( nvidia-compiler )
+
+ if use X; then
+ libs+=(
+ GLX_nvidia
+ vdpau_nvidia
+ )
+ if use amd64; then
+ libs+=(
+ nvidia-fbc
+ nvidia-ifr
+ )
+ fi
+ fi
+
+ local libdir=.
+ if [[ ${ABI} == x86 ]]; then
+ libdir+=/32
+ else
+ libs+=(
+ nvidia-cbl
+ nvidia-cfg
+ nvidia-rtcore
+ nvoptix
+ )
+ use amd64 && libs+=( nvidia-ngx )
+ fi
+
+ local lib soname
+ for lib in "${libs[@]}"; do
+ lib=lib${lib}.so.${PV}
+
+ # auto-detect soname and create appropriate symlinks
+ soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+ if [[ ${soname} && ${soname} != ${lib} ]]; then
+ ln -s ${lib} ${libdir}/${soname} || die
+ fi
+ ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+ dolib.so ${libdir}/${lib%.so*}*
+ done
+ }
+
+ if use driver; then
+ linux-mod_src_install
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
+ doins "${FILESDIR}"/nvidia-blacklist-nouveau.conf
+ doins "${FILESDIR}"/nvidia-rmmod.conf
+
+ # used for gpu verification with binpkgs (not kept)
+ insinto /usr/share/nvidia
+ doins supported-gpus/supported-gpus.json
+ fi
+
+ if use X; then
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe nvidia_drv.so
+
+ exeinto /usr/$(get_libdir)/xorg/modules/extensions
+ newexe libglxserver_nvidia.so{.${PV},}
+
+ insinto /usr/share/X11/xorg.conf.d
+ newins {,50-}nvidia-drm-outputclass.conf
+
+ # vulkan icd uses libGLX_nvidia.so and so requires X
+ insinto /usr/share/vulkan/icd.d
+ doins nvidia_icd.json
+ insinto /usr/share/vulkan/implicit_layer.d
+ doins nvidia_layers.json
+ fi
+
+ insinto /usr/share/glvnd/egl_vendor.d
+ doins 10_nvidia.json
+
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+
+ insinto /etc/nvidia
+ newins nvidia-application-profiles{-${PV},}-rc
+
+ # install built helpers
+ nvidia-drivers_make_install modprobe
+ # allow video group to load mods and create devs (bug #505092)
+ fowners root:video /usr/bin/nvidia-modprobe
+ fperms 4710 /usr/bin/nvidia-modprobe
+
+ nvidia-drivers_make_install persistenced
+ newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
+ newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
+ systemd_dounit nvidia-persistenced.service
+
+ use X && nvidia-drivers_make_install xconfig
+
+ if use tools; then
+ nvidia-drivers_make_install settings
+ doicon nvidia-settings/doc/nvidia-settings.png
+ domenu nvidia-settings/doc/nvidia-settings.desktop
+
+ insinto /usr/share/nvidia
+ newins nvidia-application-profiles{-${PV},}-key-documentation
+
+ 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
+
+ # install prebuilt-only helpers
+ exeinto /opt/bin
+
+ doexe nvidia-cuda-mps-control
+ doman nvidia-cuda-mps-control.1
+ doexe nvidia-cuda-mps-server
+
+ doexe nvidia-debugdump
+ dobin nvidia-bug-report.sh
+
+ doexe nvidia-smi
+ doman nvidia-smi.1
+
+ # install prebuilt-only libraries
+ multilib_foreach_abi nvidia-drivers_libs_install
+
+ # install systemd sleep services
+ exeinto /lib/systemd/system-sleep
+ doexe systemd/system-sleep/nvidia
+ dobin systemd/nvidia-sleep.sh
+ systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ use driver || return
+ linux-mod_pkg_preinst
+
+ # set video group id based on live system (bug #491414)
+ local g=$(getent group video | cut -d: -f3)
+ [[ ${g} ]] || die "Failed to determine video group id"
+ sed "s/PACKAGE/${PF}/;s/VIDEOGID/${g}/" \
+ -i "${ED}"/etc/modprobe.d/nvidia.conf || die
+
+ # try to find driver mismatches using temporary supported-gpus.json
+ 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() {
+ use driver && linux-mod_pkg_postinst
+
+ readme.gentoo_print_elog
+
+ optfeature "wayland EGLStream with nvidia-drm.modeset=1" gui-libs/egl-wayland
+
+ if [[ -r /proc/driver/nvidia/version &&
+ $(grep -o ' [0-9.]* ' /proc/driver/nvidia/version) != " ${PV} " ]]; then
+ ewarn "Currently loaded NVIDIA modules do not match the newly installed"
+ ewarn "libraries and will lead to GPU-using application issues."
+ use driver && ewarn "The easiest way to fix this is usually to reboot."
+ fi
+
+ if [[ ${NV_LEGACY_MASK} ]]; then
+ ewarn "You are installing a version of nvidia-drivers 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 branch if possible. For details, see:"
+ ewarn "https://www.nvidia.com/object/IO_32667.html"
+ fi
+}
diff --git a/x11-drivers/xf86-input-libinput/Manifest b/x11-drivers/xf86-input-libinput/Manifest
index 36fb0fdb70eb..2b28ca606cb9 100644
--- a/x11-drivers/xf86-input-libinput/Manifest
+++ b/x11-drivers/xf86-input-libinput/Manifest
@@ -1,3 +1,5 @@
DIST xf86-input-libinput-0.30.0.tar.bz2 378270 BLAKE2B 1c24f2e73897372ae00f4b660a4fb580f854d2ae177a638c9ed74626cafa81be48617767901e9efdd12a37ae4cdf34617e9136e118128503ecd6b75fc48be0c0 SHA512 823f80f7d53866f2f06c1fb7b2d64111bf807329acaaeda4a09413cdb5f3e3235c1dd4f99183aae75adf5a01503e40e35b4449b31f977afd842b4723b062c380
-EBUILD xf86-input-libinput-0.30.0.ebuild 451 BLAKE2B 6e74b97d53d2f22504ab5c392c797acd49f46b120d82e1a7328feae8e3429a287fcd537d231e6e11249bd7a0ebfd871f005eb6e19f06d5bcaa2e09ae98107308 SHA512 ae79a4e76f81a44b79f9934f3cc7ccd32736c5fdd7de01c421a2fb785285775ac48c18a5f2029bfb27a4a755399556998d7f1024a4ba860dfef14e5e0c0a4ab2
+DIST xf86-input-libinput-1.0.0.tar.bz2 378978 BLAKE2B 7a0b565d4fdf20c27689c598b63977a79fdb75ab4894f21428ec4ae49b207adc424de455e1fd0581d927d65c79f7b823ade8ec83523eb1dfa53eeb200f6d9281 SHA512 8135afcdfd1d1bc8196c42680b2f3b3089ee25509776c52db4bdab0afca74d6ca1689a14b5e30a24834293d0377689138bd3ea4b249c9310d5ec5777ff3ebeb8
+EBUILD xf86-input-libinput-0.30.0.ebuild 452 BLAKE2B 0779a934b634a38c08d843f571c6096859a98db0460467deaba93ba73f1705ca2f8ebbdc6e0780f2e593ae0c7f204a86e2ea3779a5e8a89694264856cafafb68 SHA512 69579671a84bd692308c9de79c50a9989cddc0a079f1c01a0cc68a6ea1c175c6d501d8acd25a75b13cee876d1d56489e9848f793a05e6c782078c85a5c6b702a
+EBUILD xf86-input-libinput-1.0.0.ebuild 459 BLAKE2B 8d971f229ef128a9b5f00d4537fae3619dedeb37f2547c908111b70b596d18622a7b144d4db39060c50b2d33cf52557c53ed29bb62491b05fad584af953303c0 SHA512 f4a2abbde679130395164d0aa579d8fbcf69ac15cc9e946dbd8f030a4100df7f2706b426fc5c35edcbb5ec43be2208dc447018c6e8fa0a48eb26156a741db425
MISC metadata.xml 230 BLAKE2B 70bf59e64305ef14908197f2aa7ffbc1769ade265097da68e001245451658af5921760c91cb74aae717543ea0017e2471fd94bfc5c4c447d2d60e2c23aa3b007 SHA512 d7a2643abd1904cc5ff4d91cbb6f1baeb7f75fd1db542c5e14f19412f4f0bd4b903f8e703a7662ba7482c79dac5529057760b6427599d35e0842755fd946e057
diff --git a/x11-drivers/xf86-input-libinput/xf86-input-libinput-0.30.0.ebuild b/x11-drivers/xf86-input-libinput/xf86-input-libinput-0.30.0.ebuild
index ab9e4ddef1aa..d30c811957c7 100644
--- a/x11-drivers/xf86-input-libinput/xf86-input-libinput-0.30.0.ebuild
+++ b/x11-drivers/xf86-input-libinput/xf86-input-libinput-0.30.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit linux-info xorg-3
DESCRIPTION="X.org input driver based on libinput"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE=""
RDEPEND=">=dev-libs/libinput-1.7.0:0="
diff --git a/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.0.0.ebuild b/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.0.0.ebuild
new file mode 100644
index 000000000000..fc4c907783d8
--- /dev/null
+++ b/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info xorg-3
+
+DESCRIPTION="X.org input driver based on libinput"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/libinput-1.7.0:0="
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+DOCS=( "README.md" )
+
+pkg_pretend() {
+ CONFIG_CHECK="~TIMERFD"
+ check_extra_config
+}
diff --git a/x11-drivers/xf86-input-void/Manifest b/x11-drivers/xf86-input-void/Manifest
index 9b0f987212f0..ad0dfcbb21bc 100644
--- a/x11-drivers/xf86-input-void/Manifest
+++ b/x11-drivers/xf86-input-void/Manifest
@@ -1,3 +1,3 @@
DIST xf86-input-void-1.4.1.tar.bz2 271597 BLAKE2B c78d829dfc9aed788fc2e527f796c697546dfa9687189f5f36043fb017515307303d1bc419458e909107fdb30f6f534e9086e86708d4b8bf2447ed941d223011 SHA512 3cbcba9510635fc4a3b610fb940584417d4b3fcace88670b1289906a7da15614e9a286590cecd1840af4bb3bd0c62f246522b1203700067ec384c3cc11b7e94a
-EBUILD xf86-input-void-1.4.1.ebuild 310 BLAKE2B 9092d507843f111ff7cc12bb2cf39fd0352a3705cae26d1d58592f8bb7a0661a09a241bf0c48136d575455eb55982b790410eb132b5ebb6a88d6201004f8b177 SHA512 9d81c2311ac958e5d9d8be03e4ce50db3e141ba07235eb3133c9db05e79550e3979c31caf616493381dfee03e7248ca17d40f17b1b940bbad83e1d29e8a4fab4
+EBUILD xf86-input-void-1.4.1.ebuild 311 BLAKE2B 9258572a9a27d7717f589398e7431a07a29082a99808c184eb6a508ac0ab642adccf475ac2c299d39364359cfde0a223f970ed23f61f430da8431d695a7c8bcd SHA512 0f497e67caf01736bf35d83ea3816d7627d0c3b1f7c4ca4a5ab0acb84c0db37e7622fb67ac10b9b5df8c2afdcc7cddd7bd9fb5131b888767c6968f235a6725a3
MISC metadata.xml 230 BLAKE2B 70bf59e64305ef14908197f2aa7ffbc1769ade265097da68e001245451658af5921760c91cb74aae717543ea0017e2471fd94bfc5c4c447d2d60e2c23aa3b007 SHA512 d7a2643abd1904cc5ff4d91cbb6f1baeb7f75fd1db542c5e14f19412f4f0bd4b903f8e703a7662ba7482c79dac5529057760b6427599d35e0842755fd946e057
diff --git a/x11-drivers/xf86-input-void/xf86-input-void-1.4.1.ebuild b/x11-drivers/xf86-input-void/xf86-input-void-1.4.1.ebuild
index 8a037ad91f84..6727b99d7eba 100644
--- a/x11-drivers/xf86-input-void/xf86-input-void-1.4.1.ebuild
+++ b/x11-drivers/xf86-input-void/xf86-input-void-1.4.1.ebuild
@@ -7,7 +7,7 @@ inherit xorg-3
DESCRIPTION="null input driver"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="x11-base/xorg-server"
DEPEND="${RDEPEND}"
diff --git a/x11-drivers/xf86-video-dummy/Manifest b/x11-drivers/xf86-video-dummy/Manifest
index 14d151e756e3..db98829ecf42 100644
--- a/x11-drivers/xf86-video-dummy/Manifest
+++ b/x11-drivers/xf86-video-dummy/Manifest
@@ -1,3 +1,3 @@
DIST xf86-video-dummy-0.3.8.tar.bz2 302353 BLAKE2B 1327db3aeec2ff7e3ff0876b25eace6fcdc7fc428967dee9f0b8ee4c22dd7904dcb47d5433bdc14ab56638225b2d33f3a26543dc9e6041c60af4135c1555f798 SHA512 f534113fd9987e44d2e0d0c53bd1b71be4ba69ec239ecec4aba8fcdcc10597722c54cbc01da38e0975ac7660e4e4028330e4cdd369e755c25ec059d2dfabad80
-EBUILD xf86-video-dummy-0.3.8.ebuild 468 BLAKE2B af26748a2154671dc1893b62721d2cc9ecf94c79120396ac9a2b941d2e8ac67bb7be607cd863a863e9c70636a2591efe3573053b132a9c267f299b32f44a1151 SHA512 f9373e6e6cdd2bb63c15446fa2d2ea69104627515a1a0da1769b3382f96ec227c179ae151793c1a165a501af419ee2193849ac74e99b415d62c28bfcbf5173ff
+EBUILD xf86-video-dummy-0.3.8.ebuild 469 BLAKE2B 43ca4f0cb04bc91a620c98284a236fbcfc550d37b44830c0692a22678b390befdd60b8425bd581461a59427b473b194ad6844e0cd3b8eca621a87082e944e0b7 SHA512 ad3bde9cdb27e3580a3311315065cc1a071d947f9074a97a9d94d78ef939d8d0c8c4bd6bd5fd3367c36adedbf56f76b114110b8ca08e9f16aba335327f5e0f2d
MISC metadata.xml 230 BLAKE2B 70bf59e64305ef14908197f2aa7ffbc1769ade265097da68e001245451658af5921760c91cb74aae717543ea0017e2471fd94bfc5c4c447d2d60e2c23aa3b007 SHA512 d7a2643abd1904cc5ff4d91cbb6f1baeb7f75fd1db542c5e14f19412f4f0bd4b903f8e703a7662ba7482c79dac5529057760b6427599d35e0842755fd946e057
diff --git a/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.3.8.ebuild b/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.3.8.ebuild
index 93c6b8a3bb46..ab64adc06bea 100644
--- a/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.3.8.ebuild
+++ b/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.3.8.ebuild
@@ -7,7 +7,7 @@ inherit xorg-3
DESCRIPTION="X.Org driver for dummy cards"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="dga"
RDEPEND="x11-base/xorg-server"
diff --git a/x11-drivers/xf86-video-nouveau/Manifest b/x11-drivers/xf86-video-nouveau/Manifest
index 0aa11b45025d..b06b1c5976a5 100644
--- a/x11-drivers/xf86-video-nouveau/Manifest
+++ b/x11-drivers/xf86-video-nouveau/Manifest
@@ -1,5 +1,3 @@
-DIST xf86-video-nouveau-1.0.16.tar.bz2 629404 BLAKE2B 519ae2ddc6f895648274e10fc3b5052896734e40251dcaf35a948be051711c14054573a08192ccf15002f3a8d1e6079c982c32cf8c58e2a288c0f146155020e8 SHA512 41b7839c37372660968ab7da2bc3d9feef3cab4e994d05d4ba6e59071f0d1b1f8d7dcdbcb15a42a375a556d28dc067f9ffe45d73c1d121ad307d199107ade3e0
DIST xf86-video-nouveau-1.0.17.tar.bz2 632535 BLAKE2B 8f4a3e749dbf46f6723f65b7bdffdf32e40fb194a18cb9951af297d7c3bcc34cc4ee6eed4687c42a385c259f37d1438ca7c9eda7594a3426704b358e1cda36fb SHA512 adba58ba5298d1a5b3f9f8540f9ef2cb2e10e47bba8e374103ec2e1f92e915f5f4393ed0021168cd649646e12315135a1efcdf77e8fb1648e1295914d87279b2
-EBUILD xf86-video-nouveau-1.0.16.ebuild 616 BLAKE2B 3123d1d141ed0287b812f170c2a8e02e167b6f25a23c145870054e4bf4a3e35e1a0004ed66bf1c31d0a626cf5fe21a3000cd2c75cabcc417d3c6a92446303b86 SHA512 cf22557c666182ae9e8d954007b5f5eb23a7eb24deedf16fbfae1c89d98cbb4f66367fd6c2d3e8d7d6f26fce13a446ce8f6107fe2bb7f7541af184b28c282547
EBUILD xf86-video-nouveau-1.0.17.ebuild 612 BLAKE2B 68e1399d322f6c73932059e0393429f23ecc5ec15336c218f626e326a75f8197ea1205c711725b77ad45d6345cb694de2fa9ed445e87877a0024b55eb5474ffb SHA512 df26a2cd2fa1ca3eb23940298e36b05703adf536b0df57c1ad9a05b13a866a42396ecd810b7efe8504ed5a995fb3b733b470af07c729902c311e23503ddf4455
MISC metadata.xml 230 BLAKE2B 70bf59e64305ef14908197f2aa7ffbc1769ade265097da68e001245451658af5921760c91cb74aae717543ea0017e2471fd94bfc5c4c447d2d60e2c23aa3b007 SHA512 d7a2643abd1904cc5ff4d91cbb6f1baeb7f75fd1db542c5e14f19412f4f0bd4b903f8e703a7662ba7482c79dac5529057760b6427599d35e0842755fd946e057
diff --git a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild b/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild
deleted file mode 100644
index b74d76a47bf3..000000000000
--- a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-XORG_DRI="always"
-inherit xorg-2
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau.git"
- SRC_URI=""
-fi
-
-DESCRIPTION="Accelerated Open Source driver for nVidia cards"
-HOMEPAGE="https://nouveau.freedesktop.org/wiki/ https://cgit.freedesktop.org/nouveau/xf86-video-nouveau"
-
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE=""
-
-RDEPEND=">=x11-libs/libdrm-2.4.60[video_cards_nouveau]
- >=x11-libs/libpciaccess-0.10
- virtual/libudev:="
-DEPEND="${RDEPEND}"
diff --git a/x11-drivers/xf86-video-qxl/Manifest b/x11-drivers/xf86-video-qxl/Manifest
index 34bdaf83274f..2041e61c289b 100644
--- a/x11-drivers/xf86-video-qxl/Manifest
+++ b/x11-drivers/xf86-video-qxl/Manifest
@@ -1,5 +1,3 @@
-DIST xf86-video-qxl-0.1.5.tar.bz2 508266 BLAKE2B ca0fd43830a393d9bb1f5a6ba306f26e07a0b90233fa44f3fbe7a5f21026f1bd6960254db9cd75d947b3c42f6cc8cd3b7cfd71afc2c0a74bd84c60eafcf7e150 SHA512 7510b2d037b3e978df6063b29e2406f3d1270695a239f29fdaec9b1dc65a30ab10cb959f15eb336f78e93aa708d41c64c5ea43803958feffc64542229605b782
DIST xf86-video-qxl-0.1.5_p20200205.tar.xz 137452 BLAKE2B 1639a393dadcba251a8fe761d52112d51c29e70960524785343379ec088e69c5e2cbd1a9710d72c749dc8b7303b3eceb545fbaec82d5d22613f8ebb0a4e7aca8 SHA512 9a2ba4aa7ef61d3ea0043ff1e3a8f312b7fe00f707045bcb4e4fc1189786b9aba2b6e44696f47e7c215485044f6c953f831ed4da48d4098cd7b62555c74a79f8
-EBUILD xf86-video-qxl-0.1.5.ebuild 436 BLAKE2B 19560c57f7a7aa0446525affce826b10931d24fa5fc00acd947f3311940740c5cd6037be4da99d090f3acaa9e8df739cf7184713896a285e87dc118ca28ffb4e SHA512 b8b20bcd2b06b36f8ac835a551da75b93e062e9a4aca66b20d5ff95ac2c56804d7bdb0e0bef1dbfb762da2aad404c3fab496532f2f9ea3a9daf15ad7e63fc82f
-EBUILD xf86-video-qxl-0.1.5_p20200205.ebuild 894 BLAKE2B 1d7cb3f013081e8d345839905538222514f35da8ceebfefd151a2e76fa44fdbc34482f2e6feada4ba8a30bc4cd20303d4542f5f9ab7cbafaaea9e4a70e88553f SHA512 e7429f6dcae6400582c712bf1dff926dd58ce03c8954f5d53d8219012163024b8c4835fb8af64ba3723d4cc1cb67ad55e88f556d401ec223f9760340b6b75e6d
+EBUILD xf86-video-qxl-0.1.5_p20200205.ebuild 892 BLAKE2B 33de48fedeba8c74072393bd1862d99c42b107018d6a608109e77b4d34f8efa18f2816977d4c9d0d7e6f70aefd720dfa2a14b7c3db367ea8eaa798d56cd9f666 SHA512 4bb36255978166797b860fcb9ffbe18403f17096769001b0fe599a27177c8fa3bc45d3a1c9a63cfbaf2e58ab7a4532510cda8d2d91019d0374c75238f0204b73
MISC metadata.xml 352 BLAKE2B a2a27dbaddd9dba3c583eabdc64716ee086b679cc72a18a0f11b5ed6e7ec73069116ebb3bb0389131e65012eec56c7a213ec5bf2e6d08d211fff8e916cf524db SHA512 89c8a1813c246441cfd95098c5ca6e8e84e0e5e96e5b05bb6a30f794861b2e4660f06cd2bf45c0929e0b5425163a67e318778c502682d17b74a91f979389ac3a
diff --git a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5.ebuild b/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5.ebuild
deleted file mode 100644
index 7180a2837a42..000000000000
--- a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit xorg-2
-
-DESCRIPTION="QEMU QXL paravirt video driver"
-
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- x11-base/xorg-server[-minimal]
- >=x11-libs/libdrm-2.4.46"
-DEPEND="${RDEPEND}
- >=app-emulation/spice-protocol-0.12.0
- x11-base/xorg-proto"
-
-src_configure() {
- XORG_CONFIGURE_OPTIONS=(
- --disable-xspice
- )
- xorg-2_src_configure
-}
diff --git a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5_p20200205.ebuild b/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5_p20200205.ebuild
index e8e8ae5dc9bf..2c50c0746693 100644
--- a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5_p20200205.ebuild
+++ b/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.5_p20200205.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="QEMU QXL paravirt video driver"
SRC_URI="https://dev.gentoo.org/~slashbeast/distfiles/${PN}/${P}.tar.xz"
S="${WORKDIR}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="xspice"
REQUIRED_USE="xspice? ( ${PYTHON_REQUIRED_USE} )"