From b49088575eb777ced2551f484da86317332d6087 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Jul 2021 02:11:45 +0100 Subject: gentoo resync : 24.07.2021 --- x11-drivers/nvidia-drivers/Manifest | 79 ++-- x11-drivers/nvidia-drivers/files/nvidia-169.07 | 14 - x11-drivers/nvidia-drivers/files/nvidia-390.conf | 28 +- x11-drivers/nvidia-drivers/files/nvidia-430.conf | 20 - x11-drivers/nvidia-drivers/files/nvidia-460.conf | 20 - x11-drivers/nvidia-drivers/files/nvidia-470.conf | 31 ++ .../files/nvidia-blacklist-nouveau.conf | 3 - .../files/nvidia-drm-outputclass-390.conf | 7 + x11-drivers/nvidia-drivers/files/nvidia-rmmod.conf | 3 - .../nvidia-drivers-390.141-r2.ebuild | 388 ----------------- .../nvidia-drivers-390.143-r1.ebuild | 52 ++- .../nvidia-drivers/nvidia-drivers-390.144.ebuild | 405 ++++++++++++++++++ .../nvidia-drivers-450.102.04-r1.ebuild | 404 ------------------ .../nvidia-drivers-450.119.03.ebuild | 409 ------------------ .../nvidia-drivers/nvidia-drivers-460.67.ebuild | 30 +- .../nvidia-drivers/nvidia-drivers-460.84.ebuild | 46 +- .../nvidia-drivers/nvidia-drivers-460.91.03.ebuild | 420 ++++++++++++++++++ .../nvidia-drivers/nvidia-drivers-465.31.ebuild | 419 ------------------ .../nvidia-drivers/nvidia-drivers-470.42.01.ebuild | 427 ------------------ .../nvidia-drivers/nvidia-drivers-470.57.02.ebuild | 475 +++++++++++++++++++++ 20 files changed, 1472 insertions(+), 2208 deletions(-) delete mode 100644 x11-drivers/nvidia-drivers/files/nvidia-169.07 delete mode 100644 x11-drivers/nvidia-drivers/files/nvidia-430.conf delete mode 100644 x11-drivers/nvidia-drivers/files/nvidia-460.conf create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-470.conf delete mode 100644 x11-drivers/nvidia-drivers/files/nvidia-blacklist-nouveau.conf create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf delete mode 100644 x11-drivers/nvidia-drivers/files/nvidia-rmmod.conf delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-390.144.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-465.31.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-470.42.01.ebuild create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild (limited to 'x11-drivers/nvidia-drivers') diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 0830c00a5e5e..f4aa8313a352 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,76 +1,57 @@ AUX 95-nvidia-settings-r1 54 BLAKE2B 598067babb48bd0f5680300cf3cbb37ac804edb3131c47510d3350511b918cd47fcf44f1ccd4746e4a41f2f8aa36511f20c2c6f313010e89a79b7869771b9ee6 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7 -AUX nvidia-169.07 639 BLAKE2B 00b279e3c338dc84258d8018fe80efc4b87f0fb1fcd61eda0ac2f698897605f4675a3ebb53d8baa3bdfa9f137aff214046464a642113a1b01a8c3e35bf5f99b8 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f -AUX nvidia-390.conf 199 BLAKE2B e7eabfb3a61cc0e95da78270964a6bb55ae71fdad81376d41c0ae0d38142f693511911ca8a9202e30f70efaa852b6b5c0ef776872e68597ed4ee14c4e9a86eed SHA512 0f691f5ba0aaedf1c670d3f2bfb632bdf253e94199fc2cf02277dbfae3055ef5887388af7922e65c39116bd0ed6ba13fc966145582933a5f35c3a1e9483a3c92 -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-390.conf 797 BLAKE2B 7cb7dc58841d2e7cf28f677939031a20ff820e2d46f799177c6004d94e73c308d2a9ee81fca476ff7ab4846a275cce996f68a53a7a9f819c3d57b5dace1d40e2 SHA512 17cabfcaa4b7323c635d1491e46710624d13396c019591499993662a20df39c8e3fa843387594aeb66d70cf38ab9fde7bee85dd1ab37eaa637a315fd52328222 +AUX nvidia-470.conf 1188 BLAKE2B f7a7dbe01021c3a4ac5a3103492e27a6e247dbba0fec8abd5e13fdd6d813eb6a3a3dcb7be46d03d1abeab092952a44f4459803e45c872686998836905cfbba80 SHA512 7b31dc492a7ba8695664992685eff9d7957bf6b3ec6fdf39d185819e04576c30a658cdbc24435242a99e5e78a0f5c2320f6494c419fc49525306463bf058e2d9 +AUX nvidia-drm-outputclass-390.conf 179 BLAKE2B 2a7d3bb2bb131db6ddf24c9fa157a1044e72a3229088654f4768f76eb871cdaacdee58e82be5504c1c0af928c343448b4d03f23d289a4479b64218d57fbd7a16 SHA512 8e5dfe54b9cf261d28c206ca1594183cba4945ed633a13ab4b1801b2ad4614ca10038ab7f0cf35dbf4eaa7b2de6e747c3be13ecb11d05740b22654626f09d774 AUX nvidia-modprobe-390.141-uvm-perms.patch 563 BLAKE2B 9befd708ad2193e507583e066f306e11d55e82912f456e738d850b804d35331df2ca5de3a35e8ab551188c1103af762941098639fa9581b4437bc5e68595ddd6 SHA512 0546d51a86554985cd7cc036e7b8f65b457cd1a1c0549ef496422fa422d2757354a47b83247b100597f908c2653314878c721b3918ebc529cae4282824d4eada AUX nvidia-persistenced.confd 213 BLAKE2B dd57e63944a97a77e83a8373dd34ef2f56824dcfadcfbbb54cdf6eeac17066d78753bd1b21a9bad8f0437c279c95492319205c15b84b7f96e0515415dfddbc26 SHA512 a311b73bb47448538e5261ba658d42e923890c909c335eeac3cc90ad0ffd3fd5fb983df8e91077f3098eaa13b07f27b23dc24a4579b1df411ae272976ef089b3 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 -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.84.run 112602151 BLAKE2B 7c8fee69c61f94d461286b2e96577b20da7e3ecfbb32fa9791e14006797bcc02d3123cb2101e718998fbc04d081f35c5802ddc52c71bc5eb51aefc27f45b8233 SHA512 76516a880fa5f28020ff7cb7a92d216f79ef9d510e0a1e696b614c1eb01702381f04bb1456588d43ff0a6c2824710f8b11f2e9788219207bd8b61821401306de -DIST NVIDIA-Linux-aarch64-465.31.run 149782108 BLAKE2B 3f0efbfe48d901538ed627df127bfe98267ed9fa055c82da3de9e64ea32de53fc2f0b2e0bc2748c3ef0732e5f25db2b51bf8e3315010c70b21dc726575c862eb SHA512 093f74f8b0b068ba1ddd6dd80024d39def935c01bc7e98a3ed9965142ace773565f6768bff118098eb574c9ba0f34e4dbfa65754930e27e153a514310470ae67 -DIST NVIDIA-Linux-aarch64-470.42.01.run 184108907 BLAKE2B ce2e35d90d7dbcecb6a3fd2e00e3d44de729cb61b5c8cbd707d6e304f9c41a5e0d8d97c80ff3428fcb121e6b993d96bf78cd28ac2edb7d6a555136a0d31b3c00 SHA512 d56fe68f0e060027191310a7144f50dead6913dc7a8759300a40c00e3c4f1a5a876358e2e32d6811d42fcfef7624280fc41efaf9ca40036a449b66700cd575bf -DIST NVIDIA-Linux-x86-390.141.run 49589744 BLAKE2B 304672806b89885adbf8459ea99ca872769e44a42ff041a5b79ef05d113d7717f505f543441e7a2fc6c569f6d66391f0380a4f23f3e68108c8de817bf251f850 SHA512 6dfde3b54520070954b45f6bc071251084e1741f55e582b1abd806eb367e4b9ce0015615bf6a887fa784d075b3db08b6940da4163b960969773d1bdc52b4961e +DIST NVIDIA-Linux-aarch64-460.91.03.run 111886330 BLAKE2B 24ab316e216caa61f7edb4dbcb34541709d3229d495e6ead95e99db7403cddee03467ee28d007f0fa3c4f2fa267e1994533c90a7a67885e9e76d501ab0f8aaa5 SHA512 edcfd3b11afe625c8996cda488a8de2e0e40eb4b95c8cf0ead9e1226d7cee8140a83c247d745ceefe997a39cfcf3e3f9bde575d97aa39090f97f88817d89cb28 +DIST NVIDIA-Linux-aarch64-470.57.02.run 184167283 BLAKE2B 8c321b60874ddc5497226515dd778e402227ff391e63ad7fd735cd23eb7e1f61550c96d5578534b06104da64f221c1db9cf2ed595be6fc11ce826efee0fbab89 SHA512 2af613184a9d2e6ebd65807beb8007dbfd69d1c08cc75bc5da404ab7eda9217c68be44a6bf61f666be2adb9b74f791007aa5b2bdd5066cb8b50977ff8882c2f7 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-390.144.run 49210937 BLAKE2B b7e6edb55af88be74e4322ff1d270388a60a9d9809314c3a0502f86ed97edb99dfcdd3c81c5f51e681c8fcc47ecbfecd124b4d733141d23726226a3965b4c1f1 SHA512 d962c7e7b4b9c4635a887767d34a49c401a89e5975a5e57fa83366ca824ab70d5b8a81f3dce2e05e0528afddc72d70b2fcd69a216bd16d75e7b88ec704390546 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-450.119.03.run 141295706 BLAKE2B 854dd0063ea1f11e052f6ba5454792ebeb41dc50cd5cde17260d8c715b4401fa19514cfd3d2fad905564607244748e8083880bc2e360a86f8dbca970ebe5e744 SHA512 5557328f445381e23358c8bce220da062cdd3b5d396764228f7eb285e8dd6419bfc3943fc9e98516ad8cd2db13d0d7c125fc9c94c1e565668f76c872140d9082 +DIST NVIDIA-Linux-x86_64-390.144.run 85000417 BLAKE2B 8ecfa768fb8fe92170ff5b82698a7fb22da8bc557ab2036464bf5650b6fffc7028e25a68e1f5638f6bc171eb45a4aba459465490c7a99aacd36dc769994062e8 SHA512 9503ebf41037a14deba995288a364768cb03fb682de8653a4b0c05955b23603443c41c4216c93eac7d7efc301734416012864ede728324ab47b93ff167d93da4 DIST NVIDIA-Linux-x86_64-460.67.run 177691692 BLAKE2B 25a7d87cc128933a98100d7c5ef37f93c3a870c096eea3228a28ef79d712ce104608f9422221cc1eadc21dccbbc8bc41ab1832795cfee75e217600ed0d76489e SHA512 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898 DIST NVIDIA-Linux-x86_64-460.84.run 177840337 BLAKE2B fbaa295c59f1af79c59c28845b79924812ac1386cf2e42aa762120a618253686f1249d777cc6c8df88b52afa34b96131663962bf0b6621dea6dcbc1bad7f9e22 SHA512 2483a4d251da63334363f4ba9f7b5d2cbf310afdf16fbcfecf1269f65beaed0325f825472feea26ddca2455ed44f284f57a73662600a3b4a270167baeb33e4fb -DIST NVIDIA-Linux-x86_64-465.31.run 236060463 BLAKE2B dfa877ddeb31961c7cdb621c30b1c61282152c27787e45542ee4a411ad8a08f732b149996a0b522638ad98f47a7c7f575a0f8b65e82413aee7823a6f0ac58426 SHA512 3ea65eda463320d0e2301e45daa5a725bd07f664ab117053f106b981801ae314faef320304f4b87dd8eb8868f9f86478b23fbca51d27ddc3968a5f5300e8cbf9 -DIST NVIDIA-Linux-x86_64-470.42.01.run 271781957 BLAKE2B c85b7fc77c1d104f0b3279f261954e200a98799929c4e763483d6bc36632dce5b9fc93545d91e4a5e58c67b96cf867082eec101e95459f8c6534dd80468370d7 SHA512 f933e249b9e0b043283ba164d56bd235240a34098e4ab9d1070809e17f8c2cd24d7319217c02c2417414f4c811216181d7ab8842755cd0d25b00ee51de70b2cc -DIST nvidia-installer-390.141.tar.gz 205299 BLAKE2B b95ddcf9a8d61247572d73faa04558564962782b0eb222601315d741d1ee71fa0636fa87d31105ecc5ec61328d3174a3ed646046e02b6b5f29f071215a0e8bdd SHA512 3848a4ec17510bf4d3060e5ef8aafa1ad921215ec39d26c54b3bbdd8a5867c46e01d247b24b05ad6906fed7fb4ae6dc37346a7da6e5aae88b5b47584c0b07a02 +DIST NVIDIA-Linux-x86_64-460.91.03.run 178201292 BLAKE2B 4d407b7bb3a99ab71c62c3cd18dc3549c98a24e7af28276e6e6a21dd33efcab017fed3f782f6dfb060c4437cd718f19c2f9900de367cc47bf19fa2718a18ad55 SHA512 4ac11130fe5a8f1c26f459e9c19660b3ff6f23011e9f77b09ca948fc42609e523ecea70d3bf6def50a75b4a3079ab280018753fb6e53875d9bb8093a033e3b70 +DIST NVIDIA-Linux-x86_64-470.57.02.run 273219658 BLAKE2B 4e9b6d0f08226f38e76157a64923a4b4bb07b46e1b37879da353a4ff39bcf6a3aa0689a04e16ebcb2ff19f453d9b265c53546f101f34cca998a5da4dba5c2826 SHA512 7123ee05aa0cc94c4cf1f0717daf85b116f0200b8f78f9322ea847db70e56386a065e0085959f27cbf0a8f9befe6fc7a0145d1bf2a28616df9bc8b5effd812f8 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-390.144.tar.bz2 150017 BLAKE2B 1a633594ecb9b54ee5a1e3620263a95db30c1ddebf547ecc7f267e1f0b799bcdb44cc3ddd6c96eda085d9be5c8f691e92556296f250495d80eec0c2f155f5bd5 SHA512 e4c624afc18bd1d61264f93bdcbc72afe42687baadf31683a6dd11a45c6257f6a5185b91f4b3d4c0316b8eb03ed79511f9ad260ee9e6f299fc136f5dc2178e42 DIST nvidia-installer-460.67.tar.gz 198484 BLAKE2B 0eaf3e3eccd6749e4fe89394905dded58e739f42cbc33c8a91575f4505030a216670fc8c0fd4d1d42659acf301c9ba59d4052a80c6eba6c5db84ed022acb2620 SHA512 8fff0fa13a82cb7eaf2fd1d05be509e9124e67bb05810f8937fb1f16c4a2362a5c1a50bc9a5155cfc90a9bbcee38a54fb5ae0ae164e205900a49f6d21779d54f DIST nvidia-installer-460.84.tar.bz2 144516 BLAKE2B 1da114e13d675198d1c011d4f32cc5da350b0d10ffaa49634c06d91d520d40bd24be60d032fd0988e7be54691dbe9755e3b7297596bd4ab88c72c0fb831aa894 SHA512 afab294eddfea19a0d70b7193d40438c209ede757d614e96a6028b2569797a24cc26c4eafb41a4f35fff4496bfa7529f276ae054c9060b714f43ac0e9d3cf301 -DIST nvidia-installer-465.31.tar.bz2 145645 BLAKE2B 455160cff1173a363d401083443f8c870d2e207c0b20ec6b8976e682c572a5d2561311dc8431ec66a022c4c99a6f9adcc38b9f5c1d29c3e365fd044de70222d0 SHA512 a9a0f377ea435a256faa0b5ee1edb8c8cec1d928f20d8c9fb8d0ded76bb6065033c7f09522a46c6d06a432a8d9486472052ada41558cb3271a05abd485fabbc2 -DIST nvidia-installer-470.42.01.tar.bz2 145890 BLAKE2B 8073cc77ec240778afb66c9fa2a86bb77ac4c154b1f58db5e05c609455945d73d28ae7299bcbffd6602a2a1c6d0208aab12030be30e9756451623565896bf8b3 SHA512 ff09bf9d6895ee78b7005c23895dc93b6458ceda37c0202983bef3ed5e3c89646c2a25cfa43b85d014e6ac862b38370d86203576526876f57d51034e1d9d8850 -DIST nvidia-modprobe-390.141.tar.gz 39965 BLAKE2B 46c01ec3e53569454a032e42561a81154712485ffb11d0393d9e9007a3825a33c8d045ea7296dd8465ad9b2cee36a639274c55ff31c70e93d334ac9fe724f7b1 SHA512 c0abec334fee4293a55a43edbcc6a7a8cd8ff6b6fbb954b428182542a24eba90f47100977c84ea9cbe557a39fc5fb90677b4f2227f49a6f30a56f6941508f40e +DIST nvidia-installer-460.91.03.tar.bz2 144463 BLAKE2B b8c381158f614331fbfd04dcfdd7227fcb3eb16cbe4e3cbcbb34ba6af2370b05ebd72dc46375b2099b950817e6a0565c418e62b6364f1d7269f78c1dce5f5535 SHA512 10c873597202a1d8aa0dc4629b1e64f8c1f65a68c91f6babe312cf9fabbb9257b77d03a3917c0f4f5d6994e90cf58c6c7d9a802a675ea3ef60b571c9b7abc391 +DIST nvidia-installer-470.57.02.tar.bz2 145923 BLAKE2B c0350e143ca3d4bd1f18c2f137df363c57f6c4bf87f1f3dd92e2dd62d1e79de5efba850fcd3638b2b25ab5c07f3b5f8484863350a35a358a764ef27cf96817e2 SHA512 8a72ae9643acaa566b05bbc400cae02dcfbad00da9084ea441ec65f3895efdb224e16075a5f4e373eac048e91b7c8fcdd877425bf76e573b4bff0233dfd5519d 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-390.144.tar.bz2 35308 BLAKE2B 1930c315aeb0e296c0d4795170d44a275da5ff8838fd8230559227852001b679fbca2830142ca7abcfa9c84626c9d9f222f7ab0cb3984d8d517f5ce431e5a9ea SHA512 d542c1a7634a8c5ff803ca79f2fc02b17b129185177226ad60625a4d246bbaf740719ff024dbde0f5aa8273949446561261d700a27cf88217c2572e69882142c DIST nvidia-modprobe-460.67.tar.gz 43140 BLAKE2B 8243d355f9d51495c9d09f25ccbcb39c0a6ef472cbfaded98f10818fae655e1cf62ff2edcf40baea72b8cca9eebc947742b2516bb057410239193201bb843538 SHA512 16c8239b54988622196e0eea113173e44ff8b60cdcdf585bf859e6440aff2c6699bb107962776e69056dd7d5e3bbd6289ea628a2255ac27e22ef79521e9baad3 DIST nvidia-modprobe-460.84.tar.bz2 38114 BLAKE2B 5e08860d3fa1a3025b413ccc9e5c24f64deab475852ca725104eea76f1e919f70a76f99809fe3d92d024f9aecb8fb9622ddced926bc51bebe663422959d358ba SHA512 4bf971b7fa3b155a25123c8a0c0305c53da1d2d3bb509f31698d1db2b821517836bdd111faccca5fb1d998dc13771568e3cee5c56f73ff497ca36fc55ade4a00 -DIST nvidia-modprobe-465.31.tar.bz2 38370 BLAKE2B 0c4c4974d8f1b017bd6676304d5714b19d494fa13bcd986641ab1b523dc20260fd050a1bf3bb729faa51420bb494ceac0b4124abb69fdca388c7e5b13e33c8f8 SHA512 37b1120a26257538ada0ab6d6af0f81ce2b59ac3ce7305ac7a448264fac2ba23156ec89c6e9adb60f4bc43ad0da9f09e7b0acf9f0ceb15bd28f3b86b926ae139 -DIST nvidia-modprobe-470.42.01.tar.bz2 38362 BLAKE2B fd00d7200d7f6423ea8accb57866220498b89358106ddfbb5e631d0e38aa6709ed33f943c1c643ce6f6f19d1214baf7d55e8960291cc18f10a5d4a0f0484763f SHA512 e140c7e36e980888f7db6d96b642a60670748ca9ef172601adb7f77a3c84066da7a6977152233a41f524b0cc4b72be3bc351eb29259d7318d1b148d2a795e27e -DIST nvidia-persistenced-390.141.tar.gz 55984 BLAKE2B c4e889d15643f6e8a4e37b32d89e14acaa792c681863c74281b17e414021dc56e4692e91e7552762ef8b8ef977284ee2f307b14216a2562a9d30b2ab7a1ba522 SHA512 d9ea32c842d8d13a59128b28ce985fe3a421d2848eac30fc8a671a391c63516b58c46d3c5b21403b4e5b016577d23aebaec1f5b4e59b25a20668120f52e231a5 +DIST nvidia-modprobe-460.91.03.tar.bz2 38144 BLAKE2B 660b381f8757fe8862f7c4a971e44d3124afa3783d52af29543b8ed67486ba03b76c0b5d8dfadc5da8fdcc2c8799ec5f9c3016fd58e9c209fcc3ae897fb0436b SHA512 aa47a9c0744b8e11e87d2c0f300b13fee435cd5225444be7fb0b6bea49af33811dfa723a9ccfe904c7de2b5a8da36b707c1024eb495e3f0b587e3231a4bc4f39 +DIST nvidia-modprobe-470.57.02.tar.bz2 38363 BLAKE2B a718d9ac5c34ee66136e7471f7ede65d268183935088d85b9fd69a0a3a5109e10ef2d2da2f8d07896aee219ca17647bbe38831cf81457f5d4f33e6bf74d4c08d SHA512 be4ade3425dd9557d4759889b1376e20c158c34136386c87b944ba24776fb056792be9bf449f04075e4e5ccc150fd065321fcc0e7c1af2d2b0be4d0a1bba7e4c 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-390.144.tar.bz2 48672 BLAKE2B 82a92a33eb40971e56b772ffab121214f5675d0a8c618e356e7b55bc38ff9605fd2701d740d00a1e26c158c9df0ab38d0ba10891a3850f8e8cbee8fb231ba52d SHA512 4432f2dd18c7c91fd0d59e4f2bdf7254f58ed2a6b652d319c4f7ce674522da1797a68dd6939c38e71710dcd3b754ae7cc8c6e7acb47a76e13d2091e8a8ee99c8 DIST nvidia-persistenced-460.67.tar.gz 53334 BLAKE2B 1354ec98fd2b95d264fd7df6219f639cf5d73173e6f0843a0880e6b18953904412cb756bd2c60432f6ae4c253d047515a9e32a128210fd94386ae6bc9a341b5c SHA512 0b4f7d8aa781c3536f6cd020225d2a3bab4b83498090419198488a2bec811534e61ba90461ae846bd09f4530f19984d77ca41edf0a851b1b700d1c0e053d537f DIST nvidia-persistenced-460.84.tar.bz2 46048 BLAKE2B e3dc6168458d5da3517167cca43373b815104894f8e01785baa3c654717f4eb4841db014a7f8c73d4c24a1e849b86ffee51c33e457fcb4804cae856cd630100c SHA512 43fbc5caa13f1e47d59054ddb4ff6129cd464dd558f8166b1103a9238b42205695e78c75aa89af89921d928bf9be07d2a9593306ce53d29a5bfaf90699917b13 -DIST nvidia-persistenced-465.31.tar.bz2 46227 BLAKE2B 57d66035908a4d7e9525538da61fa8038b9c53459d75db20cac170fa851369f5a7f143d76243889510559ed1aa251c48023319bf99947f8cc23eca2bfd1a0919 SHA512 2a447fa7a6b839db5a366f1deda33d74dfb034e664861807b3127d538d3822f9a7ef378bc6a5288a43fc447c64082e0a70551d13d92d560013c81aa48fd91bf8 -DIST nvidia-persistenced-470.42.01.tar.bz2 46695 BLAKE2B 28f51ba8a09ab9d51d0a13c3426665d4268b8f7ccb8c0235aad4489e88f58d201784c121d5fe11e06410c4ceedcd7e6f77abf23d540e2fe5157b7867b5b9eee3 SHA512 fdbf3c1284e84000060dc6c8f5cce3ba41afb664cc91591dec75dac0f8913420b2f02d2d5c43346a7c601a80e088e4dad6a020018a6911c1f9d38776314ec2e3 -DIST nvidia-settings-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04 +DIST nvidia-persistenced-460.91.03.tar.bz2 46160 BLAKE2B f7f34cc12de2a4d69184c60caf7a8e8025b58005ade0a3e9a1a0e95856055f7211a710a1145d674d8a2e97cf70a43175cbc5c9a5dabc49ce378623be1720c6ea SHA512 c3ff5875353c264cb224b3f512ff8308bf1b0b95282e34500d88da2574719c3c514581e5900841b089c2e6f0fe29198fa06a11668de8e21c59f9f96244a74757 +DIST nvidia-persistenced-470.57.02.tar.bz2 46533 BLAKE2B 8a9660b1838dd4096237200974cc8d21f9f12864b346abbb52671c84a3f4612af550905643324699d6dc6ba068e7d7b373079e8493646b58051bb85e21f386fa SHA512 774fea16044838480d809423ca498f517d95d1225b455a6e1a1a95254c7761eaab33e33fb19d407e3ed80cabaeb7de2d150de60360761b5e61f01fc27c6556a5 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-450.119.03.tar.gz 1229730 BLAKE2B 17c7f4803b1a5ead8ea6616f3575325459aa6abb4759f7146bd99b4cac8c4cde80b92fa2d82897392a5fed20d4f324418ac9990caa4557b0d457e7f3b24fcb71 SHA512 f0c2226e05063bfd78453b561a92e28f64711ba3ce3d82026c39db3cd44959a2cf98f8a781fb604108bf6ef9dfe52cad4a9270b94005d8e4e5134f6ea4966da7 +DIST nvidia-settings-390.144.tar.bz2 1109104 BLAKE2B 6724f49c7e469f580206fc17308190bd346b6167348a8b8b3886209f58aca61b65eff30658484c1fee40af8c0d89fb62f73329b05a6ac45178ea4a6870e5aa85 SHA512 90afe201361d492c3152057d3ec46d68c0cd722fe0ea0587aa1156718017d59fb5f26f3db89d91d4680b2390617867dbe93bd14e1fb3dc70402527bfacf0ae5c DIST nvidia-settings-460.67.tar.gz 1233189 BLAKE2B 33ffceefea4e184cb1873cdce97db26637e87cd20c82bcabcbfe88bcb084ac3d833ac5688cafa33a5a89383040d5c1c5d46de9c3f9a8ba6174574aa57aea2e46 SHA512 d1828379aa477394747ae3e5d3505e864d38a349dd159a04cb263613380afea9aea2081300b0d2b8ae205b800bfe6e8ba504e612989da394d757f00e4399b617 DIST nvidia-settings-460.84.tar.bz2 1061100 BLAKE2B 9098116b29dcb3124dfa2e8ae6e6e62e865ece37c4307843570753ecef1541feece3a945e0b2671da9273ec53fd97b75d6b07ed5db01a1ebb9e65a08b06f1fab SHA512 9cb7dbe97bd15e722d151cd6131c56e23eafbd8b491b774b7940165cefb446253c50d8794fcec5809d1e6c82cdf4236bc06b25059a28bdfa0dc17ce77eaf6476 -DIST nvidia-settings-465.31.tar.bz2 1061200 BLAKE2B a7085e3eddd6e978b7efe349c3f9471210db139a1911e2c57377b7890d7bc9c1d258df16e57af3f031b9c1e19c65086bc8ad01958819c06c4d104ed770bbf6c7 SHA512 1a5631ad64fa2959682c86c6188a2f5f5c864faff85bfda0554d783183f17ce61b13c6adc1125cd7dc24276de32ce152d3fe0e438c58ce57929e6c950a628143 -DIST nvidia-settings-470.42.01.tar.bz2 1061961 BLAKE2B 0b9f368ccc68b2399d1eafb2db6b231b925ef08c0d2394b190149d183ce97d88b83ae03d1fd024e6227468f96937403af77faae9c28feb71e3b584bb307b72a2 SHA512 f5b23ebe59ef3209f0ef94cfa69dca653cc3902d31109e4db28e84e8c43d24917c3c705132ffd0470c2bffb46fcdbcf63ab9885d95ab80692b44c2817335c15e -DIST nvidia-xconfig-390.141.tar.gz 140293 BLAKE2B 08ee93be953f75dbe078c557af7c062092ce8a3b53af0735d43b7feabe6d1c99390b9533027fbc5017d207a70dfa5aecf88d211905bf8f0e846f769a6ea16c2b SHA512 9fedee2f720d86bd24e393328249bf970a1f242b9e750543e757eb13ca30f6ecfda6c63441093ab96ae28d5f38d4e55cc6de6316eb82d2a2f33074144a1eef2f +DIST nvidia-settings-460.91.03.tar.bz2 1061093 BLAKE2B 13f1da07eda3a0e7e96ac69091e4a34fcd75a8f459a4db3840c64272dd54080694c4df3b7c326884ff032eb1b8708b5e19107b112afee2c80eed242281292b02 SHA512 172ea3366065aa30e71a5a47b31366d076477b8801a8a37e0d76972406e69c8872daa80011ee020960bc5e00163c4e9e5f63aa4f0dc726065671d76851b4ad71 +DIST nvidia-settings-470.57.02.tar.bz2 1062237 BLAKE2B aace056c25027ba9f139fc2a5c7714fe8207eb32e6cfbdc9ee7d64b49277ab588249fb87a1d8049c24e8d46b77e4f5ba198a7b4519078ce094f5712b486e29d3 SHA512 91e03cf7e1ed974204425e7223587987101934ddbcce52717990de244840d89b37b7f84b0222e96e85844c9ac4f3812771303ec285a32d0339f519bf38813be0 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-390.144.tar.bz2 107147 BLAKE2B 1b6ea6dfbe33474cd3e9409a7559a38716c4ce8d2583354232225a2a7ec10c7dbc2163f07c6849f4929e16c2fad179d583daad8a67d9cba950a62209b8ebebfa SHA512 09bb3558be178deda4b26031560ebad4e98e68b6186e247d4638cbcb4bb5dc05937c6baeaf1cd4db5a7b7433af97c3150c526ed972ff51b6e1c7552235ec6b51 DIST nvidia-xconfig-460.67.tar.gz 142323 BLAKE2B 09c7281de09a2c2968b5f4a48eca63110e6db988429c844b55f8efc28fbcd9d44c79ad47149c25f657c2a98ae7576c01b2c9b7f643b8321fe1393adc571ebcaa SHA512 0e65c81ec40d3eaeec036fbd8f46a3052a75ff0ad200c58438ff6c782a5764e62e51d03b4a2080770c32522894641288ac495f62bc39c3d5658b1ff87c9f6cdd DIST nvidia-xconfig-460.84.tar.bz2 108471 BLAKE2B cc3f100902778b66088bca3ff74df19f9ec47f45b4137a60c702f6c6742f011af890d67cbee685f1d3e27d337e3dbf9c23b0ba0b46e5bd341c4c679e7ff54584 SHA512 0c1060d7107a9557e90291829dd0f8728b0c7d6315a898ea17485c8932db528439aa84cb769f5c14d3c70f57942ca6e4cc4248807ffd43c961f3c145752aa5a3 -DIST nvidia-xconfig-465.31.tar.bz2 108616 BLAKE2B 3ed2e0df9e109534192df6a451bfae6c7f71db5d6f56c1d498daf64d60aa6271cab3dc7a0ed956364a14c96259e7816c62c01b73ea109696791c6282b6d0acaf SHA512 bbd0dbb1be452dff7e94ae4a58234d08d7004af02d7b4aba5623712c884b14a7828cc4d930b099231e149d6cae23336704f7a991f0b9ff87e2be967d535e54ab -DIST nvidia-xconfig-470.42.01.tar.bz2 108653 BLAKE2B f98d98d75bd8ae412b6fad5c4ea1e0068a86b3a78472ddcfa61ddd5d8090cca6629e82ffd1c60571306e24e886a55d099405b468ecc82b9e8b8d811adb53ef9d SHA512 5af9e3a2a3b2b18e777c934aec4798464fbf88c42d0eb462b6259591491e13997f5769cfebee93111d4f45f281aeb368f0273fb5588973ee5b217cab694abb2f -EBUILD nvidia-drivers-390.141-r2.ebuild 10849 BLAKE2B ddd98ffc162302957d18aa4a4688f098ad26bea8d7a12f86146998b3e23a8cac87b0e94628127f47d10b90edeb91d6c90fbfe70a5dd65c788ca40481359fa88d SHA512 c48adaff9f9f95f06a5b973036d5b885856dd954716fb04a9f8d651d2554f64bbeecce3c673db069a007f122ae2bd46c9121e376ed9a71af3eff5b089ae0ed42 -EBUILD nvidia-drivers-390.143-r1.ebuild 10851 BLAKE2B ee36a1f6addf6f8cf31751bccc831eba746e8d7e9d12bf4b92776d7a8ab03bbbe7ff342ea1c0500f8879be57d67fd3049b2a5cf62194c02d50e85821a8f421dd SHA512 e6e6e50d10d092549937101f76f526069521e3049be712bea2df493193e5388830aa37816fe5167d9a54fcd99766445b310310916ae8f7d676b9d8186a9185f2 -EBUILD nvidia-drivers-450.102.04-r1.ebuild 11071 BLAKE2B a792c5e83e93e11142ff81ef106f20826e30f374c09760584f9d50d8e49befee62fbddd7a1334b0f622557fb561d19a24c6ce8e7ea2245c2d35de899d746e2c1 SHA512 20197c57a202b1455f98b37ed5157a2996d40023ea9b5cf43c019c29a88deb54209591b45b0a71af9af001d2b92595f40fcba6543319348ca79ed56542c76ebe -EBUILD nvidia-drivers-450.119.03.ebuild 11249 BLAKE2B 8b8134afcf9303ddc8cb9d26eb0a5dfd520d770df5acbc4223ecec56004a507a58b03d78bed8054789b3aa53a3d0ccd7c26b5b7908e507af9f49cc11553425c9 SHA512 5579bbe75e10dc5888ce052869ac04783f4e929945c70b483b0f3691d3a054f72d6f67bfb4640924e602d0442028d42335f31ce93ddc995f6c940a781606badc -EBUILD nvidia-drivers-460.67.ebuild 11233 BLAKE2B ab91232fe9adbadbacbb5866f34926a2e0c306b89cda119dfa0cc637b92273badeeff045ff22e39bbdcfb43c69df6f44e61df22659c02047b21acd5914af1869 SHA512 b0b836581ee82f00c102acd46af349076386c0c29bb7a265776958cd7c4200d5265584e5d88b396ebb57e429ae50acf4eb518b0f98610750c88c771f4417c16f -EBUILD nvidia-drivers-460.84.ebuild 10911 BLAKE2B d122049e8ebcd289c73cb183e17b243a142068587226e32d99038e4575cf862896cb78e5260830517b7f7c7aaa4b2bc12bc5ad01786b1d2c06f271b70f574a4a SHA512 754061884a32dc8e17ec9528ff80f9c77a9ce4927ba0fd78f6408b4350eff74c7021758a62c3d282bd26f34bcfe0f9db5cf43edd32ff26ebc3e8e3701e27f346 -EBUILD nvidia-drivers-465.31.ebuild 11499 BLAKE2B 6378ec7e0c51b24f34bbd5acb5853c6d834af0f4055a70f1e89a2c8db77549be30f35d3b20c9c88793189eeefe7995f95a2f6eace8a02287072e3d28bf85a790 SHA512 8fc8b41f6436f8a26eb2f9f188c6d047f64dd12abba5e1198544f494ed140891122ac6851d69230d648332e53b54b5f7d4ddb41e65455fc329dfd1266b68ad54 -EBUILD nvidia-drivers-470.42.01.ebuild 11760 BLAKE2B 503988fbb0e3f008a2f22b958e387d0adc0b57bc2c4b90dc1d5a20a2ae816c5fb49f642086034ccdaec89e670109da632c99a54aeae88788fd6d26350dfa9ef6 SHA512 a1521303e0c6824944131aa2a26197eeb933b1e587c9f187e29fbd2510798dd14c9118d9b4bc6632c43a8eca441a6ae7ec3200df6f7b2ab92ad019ef91fb18ca +DIST nvidia-xconfig-460.91.03.tar.bz2 108477 BLAKE2B d95505e508ca16d8ebe8c22c445a1b686c32a626c379b1b48e2a8101969fc03b90446953cc30e945da9388237fa1b9e5f83417aba1fb062d58866a523c256769 SHA512 4bb8f7fc42e7fa5e3897884bd7e722c4fe8ab1e4a87cad4136e1764cdd91d4795f817dcee63a20279315b4839d92fe5244d073ea2310c704f8aacd38bacb28a4 +DIST nvidia-xconfig-470.57.02.tar.bz2 109072 BLAKE2B e3a8f98cb31ec323ae0055252611193669a26ff43184b42433b3089899f88b6baeb13d18ee9dd09807710601558ea1e4c6be54326bc59cbff448ec6dd30f425e SHA512 da4d5de04aadb4941837062ba28592135ee2e2344132c6f5561288e22448a40bb2467d39bd09e0bf838caaa178ccc36a0c2fdbdf80006f3769161aa15550e350 +EBUILD nvidia-drivers-390.143-r1.ebuild 11738 BLAKE2B 7812ee0aea4f6e80aa67a088c03f8f5192883e360d867a0c637f228663dc368ac5e1d4706ad8c02fbd2b3f4d3e0312785bf79c38aace63bc1e42aaef9e1717f3 SHA512 f895e434a013b444925876f90374f1ab254d7ae43b91e389ac60938eb904ce5c34be6b9754ceee5f686399c66f8b0ea2fbf55296ea9288c1f65193872cd88367 +EBUILD nvidia-drivers-390.144.ebuild 11605 BLAKE2B e7377375ad3b5e16eefebb3f12b75fe6320d8eec1d16efceccb3dfa04d24d319256cea2a7462b0a78cdd4fa65b97dace4351c1b8a830f377880203f37191e504 SHA512 b625b15f009560310629458bcc701754d16cdd8de1a8e4a0fdbfe7975f3cc74959b4126d967798cbd4cb8fe04c37887ae2833bb1221c26dea68c33b5d753aa71 +EBUILD nvidia-drivers-460.67.ebuild 11237 BLAKE2B 0084f35297377161c1a96e11c2981641f21dedca2fa1eea6d04adc31558107cc1546def9b286e81d1a912993e9b29362c27479084cd5b1a3a3c6050488406a8a SHA512 5e294a7d73c9d5b49b9e8c9c7a98dc93f5cd38f27404ab0a22b4ee1d55f215c963b2edbb942aa6cef5fc856c3e44b5a13c55f4c5027308feb49e0c2e782b8188 +EBUILD nvidia-drivers-460.84.ebuild 11769 BLAKE2B 386291ff10db832ccc664d9b8b211eb7ef8d88ab1ceb349e47ce386aefeb0a960d100672655d23b5c26259e88653c360c54f62e27505b1d82f4a42f94d3890ac SHA512 d5aaceb43c0d25ea69123d8b613840550a92cf83e407a0ee4cf38e2e9b5ff9338effe8053d6caf3aab0e19e818c9a8fe993d9443e3ec37aef27a6319243fa8c5 +EBUILD nvidia-drivers-460.91.03.ebuild 11770 BLAKE2B 8fed287207f2c927feaf0e07654b3761a6f78feb029d4e57a7e4bc69136dcfb8e331f72182eb90299af3f19fc774fe1178b9eabfad8a0fd48faf5bf03846c8b7 SHA512 3b4bc6a406b706ba04a034cb98d2ea0f782af659ce1e9c27a896737c185bbf88e65d484aa8f91946c29b1acbad0920748aca6609a1a7aa51a15911dca0840183 +EBUILD nvidia-drivers-470.57.02.ebuild 13846 BLAKE2B f0403b95170aa6582ce30fa3bbf4ae94720f988da970dae09d9854956c9166f68c4b014a0c59f957b9092da1c427fe3e73c1558419c9dee7df077c17dbd90277 SHA512 3b9916ced8648175c9f70ce60e54792f967479806fcddd7b3a1d601c05576ecd5f2bc39a48b05cdbbf323d42cd59023cc20585d5dc098976c0e712a31fd6c258 MISC metadata.xml 872 BLAKE2B 288b9c7801429c23f8f07780640c08d4108a55f79de091c6461c46524c6b1d46bf0927ad6ebb9621e587cefb59cbc18576756fd68d27b7e5bc2f8c19737bc652 SHA512 d940a03167959acb9e8c62efb8d47e3dee8c49c12ab281f419780346cbd4703d6f853cab8cd49e1680686378474d38aed8fa188e6d69ea58a404c84cb14a2e01 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-169.07 b/x11-drivers/nvidia-drivers/files/nvidia-169.07 deleted file mode 100644 index a96b0cd1e40f..000000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-169.07 +++ /dev/null @@ -1,14 +0,0 @@ -# Nvidia drivers support -alias char-major-195 nvidia -alias /dev/nvidiactl char-major-195 - -# To tweak the driver the following options can be used, note that -# you should be careful, as it could cause instability!! For more -# options see /usr/share/doc/PACKAGE/README -# -# !!! SECURITY WARNING !!! -# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW -# WHAT YOU ARE DOING. -# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH, -# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE. -options nvidia NVreg_DeviceFileMode=432 NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=VIDEOGID NVreg_ModifyDeviceFiles=1 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-390.conf b/x11-drivers/nvidia-drivers/files/nvidia-390.conf index 7666989fa475..c873f00c462c 100644 --- a/x11-drivers/nvidia-drivers/files/nvidia-390.conf +++ b/x11-drivers/nvidia-drivers/files/nvidia-390.conf @@ -1,7 +1,21 @@ -Section "OutputClass" - Identifier "nvidia" - MatchDriver "nvidia-drm" - Driver "nvidia" - Option "AllowEmptyInitialConfiguration" - ModulePath "/usr/%LIBDIR%/extensions/nvidia" -EndSection +# NVIDIA drivers options +# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information. + +# nvidia-drivers and nouveau cannot be used at same time. +# Comment out the following line if you wish to allow nouveau. +blacklist nouveau + +# !!! Security Warning !!! +# Do not change the DeviceFile options unless you know what you are doing. +# Only add trusted users to the 'video' group, these users may be able to +# crash, compromise, or irreparably damage the machine. +options nvidia \ + NVreg_DeviceFileGID=@VIDEOGID@ \ + NVreg_DeviceFileMode=432 \ + NVreg_DeviceFileUID=0 \ + NVreg_ModifyDeviceFiles=1 + +# Should be no need to touch anything below. +alias char-major-195 nvidia +alias /dev/nvidiactl char-major-195 +remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia diff --git a/x11-drivers/nvidia-drivers/files/nvidia-430.conf b/x11-drivers/nvidia-drivers/files/nvidia-430.conf deleted file mode 100644 index edd957b58c4e..000000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-430.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Nvidia drivers support -alias char-major-195 nvidia -alias /dev/nvidiactl char-major-195 - -# To tweak the driver the following options can be used, note that -# you should be careful, as it could cause instability!! For more -# options see README.txt in /usr/share/doc/PACKAGE -# -# !!! SECURITY WARNING !!! -# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW -# WHAT YOU ARE DOING. -# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH, -# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE. -options nvidia \ - NVreg_DeviceFileGID=VIDEOGID \ - NVreg_DeviceFileMode=432 \ - NVreg_DeviceFileUID=0 \ - NVreg_ModifyDeviceFiles=1 \ - NVreg_PreserveVideoMemoryAllocations=1 \ - NVreg_TemporaryFilePath=/var/tmp diff --git a/x11-drivers/nvidia-drivers/files/nvidia-460.conf b/x11-drivers/nvidia-drivers/files/nvidia-460.conf deleted file mode 100644 index 03967faa577a..000000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-460.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Nvidia drivers support -alias char-major-195 nvidia -alias /dev/nvidiactl char-major-195 - -# To tweak the driver the following options can be used, note that -# you should be careful, as it could cause instability!! For more -# options see README.txt in /usr/share/doc/PACKAGE -# -# !!! SECURITY WARNING !!! -# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW -# WHAT YOU ARE DOING. -# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH, -# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE. -options nvidia \ - NVreg_DeviceFileGID=VIDEOGID \ - NVreg_DeviceFileMode=432 \ - NVreg_DeviceFileUID=0 \ - NVreg_ModifyDeviceFiles=1 \ - NVreg_PreserveVideoMemoryAllocations=0 \ - NVreg_TemporaryFilePath=/var/tmp diff --git a/x11-drivers/nvidia-drivers/files/nvidia-470.conf b/x11-drivers/nvidia-drivers/files/nvidia-470.conf new file mode 100644 index 000000000000..f5b187ae530d --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-470.conf @@ -0,0 +1,31 @@ +# NVIDIA drivers options +# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information. + +# nvidia-drivers and nouveau cannot be used at same time. +# Comment out the following line if you wish to allow nouveau. +blacklist nouveau + +# Kernel Mode Setting (needed EGLStream/Wayland) +# Enabling may possibly cause issues with SLI and Reverse PRIME. +#options nvidia-drm modeset=1 + +# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's +# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend). +options nvidia \ + NVreg_PreserveVideoMemoryAllocations=0 \ + NVreg_TemporaryFilePath=/var/tmp + +# !!! Security Warning !!! +# Do not change the DeviceFile options unless you know what you are doing. +# Only add trusted users to the 'video' group, these users may be able to +# crash, compromise, or irreparably damage the machine. +options nvidia \ + NVreg_DeviceFileGID=@VIDEOGID@ \ + NVreg_DeviceFileMode=432 \ + NVreg_DeviceFileUID=0 \ + NVreg_ModifyDeviceFiles=1 + +# Should be no need to touch anything below. +alias char-major-195 nvidia +alias /dev/nvidiactl char-major-195 +remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia diff --git a/x11-drivers/nvidia-drivers/files/nvidia-blacklist-nouveau.conf b/x11-drivers/nvidia-drivers/files/nvidia-blacklist-nouveau.conf deleted file mode 100644 index b15fe0a3d92b..000000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-blacklist-nouveau.conf +++ /dev/null @@ -1,3 +0,0 @@ -# NVIDIA's official drivers and nouveau cannot be used at same time. -# Comment out the following line if you wish to allow nouveau. -blacklist nouveau diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf b/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf new file mode 100644 index 000000000000..f459c69dad8d --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf @@ -0,0 +1,7 @@ +Section "OutputClass" + Identifier "nvidia" + MatchDriver "nvidia-drm" + Driver "nvidia" + Option "AllowEmptyInitialConfiguration" + ModulePath "@LIBDIR@/extensions/nvidia" +EndSection diff --git a/x11-drivers/nvidia-drivers/files/nvidia-rmmod.conf b/x11-drivers/nvidia-drivers/files/nvidia-rmmod.conf deleted file mode 100644 index 618b9b30b86d..000000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-rmmod.conf +++ /dev/null @@ -1,3 +0,0 @@ -# Nvidia UVM support - -remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild deleted file mode 100644 index 50b08991c3fb..000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r2.ebuild +++ /dev/null @@ -1,388 +0,0 @@ -# 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.143-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild index 296ab2902aa6..d90fd0158f56 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.143-r1.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_USE="driver" inherit desktop linux-info linux-mod multilib-build \ readme.gentoo-r1 systemd toolchain-funcs unpacker -NV_KERNEL_MAX="5.13" +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" SLOT="0/${PV%%.*}" -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" IUSE="+X +driver static-libs +tools" COMMON_DEPEND=" @@ -76,19 +76,13 @@ 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 @@ -163,8 +157,8 @@ src_prepare() { 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 + sed "s|@LIBDIR@|${EPREFIX}/usr/$(get_libdir)|" \ + "${FILESDIR}"/nvidia-drm-outputclass-390.conf > nvidia-drm-outputclass.conf || die gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die } @@ -268,9 +262,7 @@ src_install() { 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 + newins "${FILESDIR}"/nvidia-390.conf nvidia.conf fi if use X; then @@ -345,8 +337,19 @@ src_install() { # install prebuilt-only libraries multilib_foreach_abi nvidia-drivers_libs_install - einstalldocs + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" readme.gentoo_create_doc + + einstalldocs } pkg_preinst() { @@ -358,8 +361,7 @@ 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 + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die } pkg_postinst() { @@ -385,4 +387,20 @@ pkg_postinst() { 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 + + # Try to show this message only to users that may really need it + # given the workaround is discouraged and usage isn't widespread. + if use X && [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 390.143 && + grep -qr Coolbits "${EROOT}"/etc/X11/{xorg.conf,xorg.conf.d/*.conf} 2>/dev/null; then + elog + elog "Coolbits support with ${PN} has been restricted to require Xorg" + elog "with root privilege by NVIDIA (being in video group is not sufficient)." + elog "e.g. attempting to change fan speed with nvidia-settings would fail." + elog + elog "Depending on your display manager (e.g. sddm starts X as root, gdm doesn't)" + elog "or if using startx, it may be necessary to emerge x11-base/xorg-server with" + elog 'USE="suid -elogind -systemd" if wish to keep using this feature.' + elog "Bug: https://bugs.gentoo.org/784248" + fi } diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.144.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.144.ebuild new file mode 100644 index 000000000000..24a3a3618ea9 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.144.ebuild @@ -0,0 +1,405 @@ +# 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.13" +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/download/index.aspx" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + x86? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-x86-${PV}.run ) + ${NV_URI}nvidia-installer/nvidia-installer-${PV}.tar.bz2 + ${NV_URI}nvidia-modprobe/nvidia-modprobe-${PV}.tar.bz2 + ${NV_URI}nvidia-persistenced/nvidia-persistenced-${PV}.tar.bz2 + ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 + ${NV_URI}nvidia-xconfig/nvidia-xconfig-${PV}.tar.bz2" +# 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/. ) + +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@|${EPREFIX}/usr/$(get_libdir)|" \ + "${FILESDIR}"/nvidia-drm-outputclass-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 || die) \ + common_cflags=$($(tc-getPKG_CONFIG) --cflags libtirpc || die) \ + 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-390.conf nvidia.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 + + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" + readme.gentoo_create_doc + + einstalldocs +} + +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 -i "s/@VIDEOGID@/${g}/" "${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 + + # Try to show this message only to users that may really need it + # given the workaround is discouraged and usage isn't widespread. + if use X && [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 390.143 && + grep -qr Coolbits "${EROOT}"/etc/X11/{xorg.conf,xorg.conf.d/*.conf} 2>/dev/null; then + elog + elog "Coolbits support with ${PN} has been restricted to require Xorg" + elog "with root privilege by NVIDIA (being in video group is not sufficient)." + elog "e.g. attempting to change fan speed with nvidia-settings would fail." + elog + elog "Depending on your display manager (e.g. sddm starts X as root, gdm doesn't)" + elog "or if using startx, it may be necessary to emerge x11-base/xorg-server with" + elog 'USE="suid -elogind -systemd" if wish to keep using this feature.' + elog "Bug: https://bugs.gentoo.org/784248" + 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 deleted file mode 100644 index e68be3dba2a4..000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild +++ /dev/null @@ -1,404 +0,0 @@ -# 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.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 ) - 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." - - 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-450.119.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild deleted file mode 100644 index 696f3805efd2..000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.119.03.ebuild +++ /dev/null @@ -1,409 +0,0 @@ -# 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.13" -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.67.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild index fe76a9a51978..44fb2c8fbf5e 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild @@ -7,7 +7,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.13" +NV_KERNEL_MAX="5.12" NV_BIN_URI="https://download.nvidia.com/XFree86/Linux-" NV_GIT_URI="https://github.com/NVIDIA/nvidia-" @@ -75,19 +75,13 @@ 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 @@ -262,9 +256,7 @@ src_install() { 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 + newins "${FILESDIR}"/nvidia-470.conf nvidia.conf # used for gpu verification with binpkgs (not kept) insinto /usr/share/nvidia @@ -351,8 +343,19 @@ src_install() { dobin nvidia-sleep.sh systemd_dounit nvidia-{hibernate,resume,suspend}.service - einstalldocs + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" readme.gentoo_create_doc + + einstalldocs } pkg_preinst() { @@ -362,8 +365,7 @@ 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 + sed -i "s/@VIDEOGID@/${g}/" "${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 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.84.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.84.ebuild index f87b9c480628..8931c3443b48 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.84.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.84.ebuild @@ -25,7 +25,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=" @@ -74,19 +74,13 @@ 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 @@ -256,9 +250,7 @@ src_install() { 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 + newins "${FILESDIR}"/nvidia-470.conf nvidia.conf # used for gpu verification with binpkgs (not kept) insinto /usr/share/nvidia @@ -345,8 +337,19 @@ src_install() { dobin nvidia-sleep.sh systemd_dounit nvidia-{hibernate,resume,suspend}.service - einstalldocs + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" readme.gentoo_create_doc + + einstalldocs } pkg_preinst() { @@ -356,8 +359,7 @@ 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 + sed -i "s/@VIDEOGID@/${g}/" "${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 @@ -399,4 +401,20 @@ pkg_postinst() { ewarn "...then downgrade to a legacy branch if possible. For details, see:" ewarn "https://www.nvidia.com/object/IO_32667.html" fi + + # Try to show this message only to users that may really need it + # given the workaround is discouraged and usage isn't widespread. + if use X && [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 460.73.01 && + grep -qr Coolbits "${EROOT}"/etc/X11/{xorg.conf,xorg.conf.d/*.conf} 2>/dev/null; then + elog + elog "Coolbits support with ${PN} has been restricted to require Xorg" + elog "with root privilege by NVIDIA (being in video group is not sufficient)." + elog "e.g. attempting to change fan speed with nvidia-settings would fail." + elog + elog "Depending on your display manager (e.g. sddm starts X as root, gdm doesn't)" + elog "or if using startx, it may be necessary to emerge x11-base/xorg-server with" + elog 'USE="suid -elogind -systemd" if wish to keep using this feature.' + elog "Bug: https://bugs.gentoo.org/784248" + fi } diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03.ebuild new file mode 100644 index 000000000000..f244d91a9477 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03.ebuild @@ -0,0 +1,420 @@ +# 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.13" +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/download/index.aspx" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + ${NV_URI}nvidia-installer/nvidia-installer-${PV}.tar.bz2 + ${NV_URI}nvidia-modprobe/nvidia-modprobe-${PV}.tar.bz2 + ${NV_URI}nvidia-persistenced/nvidia-persistenced-${PV}.tar.bz2 + ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 + ${NV_URI}nvidia-xconfig/nvidia-xconfig-${PV}.tar.bz2" +# 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/. ) + +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." + + 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-470.conf nvidia.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 + + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" + readme.gentoo_create_doc + + einstalldocs +} + +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 -i "s/@VIDEOGID@/${g}/" "${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 + + # Try to show this message only to users that may really need it + # given the workaround is discouraged and usage isn't widespread. + if use X && [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 460.73.01 && + grep -qr Coolbits "${EROOT}"/etc/X11/{xorg.conf,xorg.conf.d/*.conf} 2>/dev/null; then + elog + elog "Coolbits support with ${PN} has been restricted to require Xorg" + elog "with root privilege by NVIDIA (being in video group is not sufficient)." + elog "e.g. attempting to change fan speed with nvidia-settings would fail." + elog + elog "Depending on your display manager (e.g. sddm starts X as root, gdm doesn't)" + elog "or if using startx, it may be necessary to emerge x11-base/xorg-server with" + elog 'USE="suid -elogind -systemd" if wish to keep using this feature.' + elog "Bug: https://bugs.gentoo.org/784248" + fi +} diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-465.31.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-465.31.ebuild deleted file mode 100644 index d0bc741402b7..000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-465.31.ebuild +++ /dev/null @@ -1,419 +0,0 @@ -# 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.13" -NV_URI="https://download.nvidia.com/XFree86/" - -DESCRIPTION="NVIDIA Accelerated Graphics Driver" -HOMEPAGE="https://www.nvidia.com/download/index.aspx" -SRC_URI=" - amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) - arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) - ${NV_URI}nvidia-installer/nvidia-installer-${PV}.tar.bz2 - ${NV_URI}nvidia-modprobe/nvidia-modprobe-${PV}.tar.bz2 - ${NV_URI}nvidia-persistenced/nvidia-persistenced-${PV}.tar.bz2 - ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 - ${NV_URI}nvidia-xconfig/nvidia-xconfig-${PV}.tar.bz2" -# 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." - - 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 - - [[ ${MERGE_TYPE} == binary ]] && return - - BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"' - BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules - - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi - - if 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/nvidia-drivers/nvidia-drivers-470.42.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.42.01.ebuild deleted file mode 100644 index d68e85fb35b5..000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.42.01.ebuild +++ /dev/null @@ -1,427 +0,0 @@ -# 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.13" -NV_URI="https://download.nvidia.com/XFree86/" - -DESCRIPTION="NVIDIA Accelerated Graphics Driver" -HOMEPAGE="https://www.nvidia.com/download/index.aspx" -SRC_URI=" - amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) - arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) - ${NV_URI}nvidia-installer/nvidia-installer-${PV}.tar.bz2 - ${NV_URI}nvidia-modprobe/nvidia-modprobe-${PV}.tar.bz2 - ${NV_URI}nvidia-persistenced/nvidia-persistenced-${PV}.tar.bz2 - ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 - ${NV_URI}nvidia-xconfig/nvidia-xconfig-${PV}.tar.bz2" -# 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="lib/firmware/* opt/bin/* 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." - - MODULE_NAMES=" - nvidia(video:kernel) - nvidia-drm(video:kernel) - nvidia-modeset(video:kernel) - nvidia-peermem(video:kernel) - nvidia-uvm(video:kernel)" - - linux-mod_pkg_setup - - [[ ${MERGE_TYPE} == binary ]] && return - - BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"' - BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules - - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi - - if 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+=( - libnvidia-nvvm.so.4.0.0 - 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} - - # 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 - dolib.so ${libdir}/${soname} - fi - ln -s ${lib} ${libdir}/${lib%.so*}.so || die - dolib.so ${libdir}/{${lib},${lib%.so*}.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 - - insinto /lib/firmware/nvidia/${PV} - doins firmware/gsp.bin - - # 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 dlls for optional use with proton/wine - insinto /usr/$(get_libdir)/nvidia/wine - use amd64 && doins {_,}nvngx.dll - - # 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/nvidia-drivers/nvidia-drivers-470.57.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild new file mode 100644 index 000000000000..dc6c66192c96 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.57.02.ebuild @@ -0,0 +1,475 @@ +# 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.13" +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/download/index.aspx" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + ${NV_URI}nvidia-installer/nvidia-installer-${PV}.tar.bz2 + ${NV_URI}nvidia-modprobe/nvidia-modprobe-${PV}.tar.bz2 + ${NV_URI}nvidia-persistenced/nvidia-persistenced-${PV}.tar.bz2 + ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 + ${NV_URI}nvidia-xconfig/nvidia-xconfig-${PV}.tar.bz2" +# 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 wayland" + +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}] + ) + wayland? ( >=gui-libs/egl-wayland-1.1.7-r1 )" +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="lib/firmware/* opt/bin/* 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/. ) + +pkg_setup() { + use driver || return + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~SYSVIPC + ~!LOCKDEP + ~!SLUB_DEBUG_ON + !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." + + MODULE_NAMES=" + nvidia(video:kernel) + nvidia-drm(video:kernel) + nvidia-modeset(video:kernel) + nvidia-peermem(video:kernel) + nvidia-uvm(video:kernel)" + + linux-mod_pkg_setup + + [[ ${MERGE_TYPE} == binary ]] && return + + BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"' + BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules + + if linux_chkconfig_present CC_IS_CLANG; then + ewarn "Warning: building ${PN} with a clang-built kernel is experimental." + + BUILD_PARAMS+=' CC=${CHOST}-clang' + if linux_chkconfig_present LD_IS_LLD; then + BUILD_PARAMS+=' LD=ld.lld' + if linux_chkconfig_present LTO_CLANG_THIN; then + # kernel enables cache by default leading to sandbox violations + BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' + fi + fi + fi + + if 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 + + # enable nvidia-drm.modeset=1 by default with USE=wayland + cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die + if use wayland; then + sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die + fi + + 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+=( + libnvidia-nvvm.so.4.0.0 + 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} + + # 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 + dolib.so ${libdir}/${soname} + fi + ln -s ${lib} ${libdir}/${lib%.so*}.so || die + dolib.so ${libdir}/{${lib},${lib%.so*}.so} + done + } + + if use driver; then + linux-mod_src_install + + insinto /etc/modprobe.d + doins "${T}"/nvidia.conf + + insinto /lib/firmware/nvidia/${PV} + doins firmware/gsp.bin + + # 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 dlls for optional use with proton/wine + insinto /usr/$(get_libdir)/nvidia/wine + use amd64 && doins {_,}nvngx.dll + + # 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 + + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options. + +For general information on using nvidia-drivers, please see: +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" + readme.gentoo_create_doc + + einstalldocs +} + +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 -i "s/@VIDEOGID@/${g}/" "${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 + + has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 +} + +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 [[ $( ${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 + + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then + elog + elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" + elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered" + elog "experimental but is required for EGLStream (used for wayland acceleration" + elog "in compositors that support it)." + elog + elog "If you experience issues, please comment out the option from nvidia.conf." + elog "Of note, may possibly cause issues with SLI and Reverse PRIME." + if has_version "gnome-base/gdm[wayland]"; then + elog + elog "This also cause gnome-base/gdm to use a wayland session by default," + elog "select 'GNOME on Xorg' if you wish to continue using it." + fi + fi + + # Try to show this message only to users that may really need it + # given the workaround is discouraged and usage isn't widespread. + if use X && [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 460.73.01 && + grep -qr Coolbits "${EROOT}"/etc/X11/{xorg.conf,xorg.conf.d/*.conf} 2>/dev/null; then + elog + elog "Coolbits support with ${PN} has been restricted to require Xorg" + elog "with root privilege by NVIDIA (being in video group is not sufficient)." + elog "e.g. attempting to change fan speed with nvidia-settings would fail." + elog + elog "Depending on your display manager (e.g. sddm starts X as root, gdm doesn't)" + elog "or if using startx, it may be necessary to emerge x11-base/xorg-server with" + elog 'USE="suid -elogind -systemd" if wish to keep using this feature.' + elog "Bug: https://bugs.gentoo.org/784248" + fi +} -- cgit v1.2.3