summaryrefslogtreecommitdiff
path: root/x11-drivers
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/Manifest.gzbin4709 -> 4708 bytes
-rw-r--r--x11-drivers/nvidia-drivers/Manifest42
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.100.ebuild500
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.40.70.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-550.40.67.ebuild)0
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild510
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-555.58.ebuild510
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-560.31.02.ebuild516
7 files changed, 3 insertions, 2075 deletions
diff --git a/x11-drivers/Manifest.gz b/x11-drivers/Manifest.gz
index f0a7160f6ab7..626d83e1ff1c 100644
--- a/x11-drivers/Manifest.gz
+++ b/x11-drivers/Manifest.gz
Binary files differ
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 0b0ca770e636..f1d906797b02 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -23,92 +23,56 @@ AUX nvidia-settings-390.144-raw-ldflags.patch 468 BLAKE2B bf4c00a76351e6c3d1587b
AUX nvidia-settings-530.30.02-desktop.patch 406 BLAKE2B 63f645d5c9f76349b405c61327bc4f6d44e0716b4ec4c2f1aa012505638be0a329bc9589812d1f164641e4725dd15ac652eed0992161e767325b1310d9cd0718 SHA512 ff0fed69d7d36b2f67f9382055490a031ef8e834119bb18b0f71d1265afe92fad44cb11d6fabc5e3750a434c51e4660cfaa3347d062036d975fd341967187494
DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 742feded05f659fa9965b2eebcc6a269b0355d08b6f2a686dad47c1acf2c20a359f9a9c33184ab2d51044b8823535bd7606180e31d348f362a016fad74cf476b SHA512 d1d9e49e16ee6cc69340a3458566f89fee7b63effdd8cae3e55e40cdfbd35d1e87b958769fd3b2ce5ab29596d88c3ac68189232d7a1dad8c16773faedcf5b568
DIST NVIDIA-Linux-aarch64-535.183.01.run 269908911 BLAKE2B 93665bfd2c66391b232c0db7faa2b7929048f4eb0ac660726bc45fcee21bcf9b255da5f4fbdc14c281092f31e7603b5b112fc42b3c7d6e4769cdbedf8d0f16b0 SHA512 d2ac1be8c19b359023c31941374911f3adfe1be34aa2821ef582df4c854ac4eefbbcb10aa22583ac8c9d5caf9326bda12ed1ce6343d67479ed37a4887bd17b5e
-DIST NVIDIA-Linux-aarch64-550.100.run 236302320 BLAKE2B 8f3fa9112ad17b385d86a6c0dacfb9ee04c21d9aa2d63981abf2b13d5fd7088044250293e7e833d855cb174f735f556f76a851aff78ced6bc35ef67282fb334d SHA512 5b0fd79be93dd52e23e5976e14a90b4d3ba8f73c3f1b9d567ad8045318712f1489ac7ee068a5d0a3df6920cc408c3c69ff7f0e99c8c6550dc31422fb34daf2c9
DIST NVIDIA-Linux-aarch64-550.107.02.run 236334785 BLAKE2B 6ed0cfddbe82566e6c9056d10454f6cb289a60e928b05cb64b65ae7ee341888f942e888c556d3e528b3d1228cc1ee14e938fa25c84750f85ab95239fb684f2ff SHA512 a62d5d13089dbc98c022cb3bdf00999d79da7ae370c6e84405ca9e32034f19fcea65ac74845323223f1a8b8f1443e506c60704ba56e6f5add04b2a007d2d443c
-DIST NVIDIA-Linux-aarch64-555.58.02.run 236745104 BLAKE2B 342f5b99aeea0a569974b62322608138a845f197d7ab08fc2e37314187861814f3c1d8d017be07744816aa9d691e8161a60980e1d005701e3f67ab3a07fa03ae SHA512 9c4d78ec381bb6163c6591309a9a40f1dfdb5f3d6b983e1728c17383c5f0871bf3879b32f93c7892d33577a9dacf2dcb1d14639bcc4ca510104f33cb54e83df0
-DIST NVIDIA-Linux-aarch64-555.58.run 236884430 BLAKE2B e84528f1e662409c1fe779ac7c7137808d1c858517cbfe0a5eb5bd992de616be17fbf4b11f8cf5f96f48ec38b6588dc8c74bbda4c3cbf965486db786fa221b5c SHA512 35a2dc801b41f2e5cc5954bbcf26d1d38e1d346353ae2e2a40016f28a7e0d39607d5b9ad2f78600af58642e06935011159386702c5a43a1da272b34061e07bf8
-DIST NVIDIA-Linux-aarch64-560.31.02.run 248528411 BLAKE2B 3da30fa9393356b3daee46f140510b4fb99c711b2a3d1a740a7880e916ef3963ff10795486ae11274f75e6ca134af0d15485efbffd29e7b55b402642babf485c SHA512 068f2ab92454679abdbfddafda36b98d3d045237baabe5f717005d73efdd6c6e36773ceea5915a9811ee21736d031131d77c41fb10b2b386878f7dbe6355ab6c
DIST NVIDIA-Linux-aarch64-560.35.03.run 251160249 BLAKE2B 3ad8c6757b980668f6483d8867f247857519636a3ea464107e90620557ecdbbfc3437cadb7916655b14e6a85e5929db1f03387494df7daa9169d8fe6b2de1849 SHA512 8df331104f3d63d4aaeeace412a986a93355be3ce69a968fbc12b7d0b21a34e71cdf37758c23a392c358a1c3ba1da21115002f55017c2a829c7bb4d41536e543
DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0
DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a
DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88
DIST NVIDIA-Linux-x86_64-525.147.05.run 414135234 BLAKE2B 77a12905771772804a5e5cf36df3e5032fe0160ac7c8a1b4ea002f65dac3732d9c900c1787a3e26d08b951a8de4893467cc7a80d424e017990d12669354d4191 SHA512 0c7b31715fce6a7bd77a2d9f9a3dca54a929a7790d748051576f62cdaeaeb6a9d0f3fbb13f0b20a51966bdb9470acdbc9ee529a9e84f38a9c834a1bd28d81773
DIST NVIDIA-Linux-x86_64-535.183.01.run 341725273 BLAKE2B a1cc782a960309a25d64d7334a818bdf9bd24be4ae7bbcf76c11c071db614d00c59e4cdca366bd36565a612a262d8b4ede7d8224f6cd3d824128178ad7d2d707 SHA512 02b6b679f4fc1d5305f32fca8ce0875eef04cb99f5611d0bb85ac7607ecdd5b2aa4d60b51bf47546477464531a07fffa5bf3db3859868648bd5e86565d85afbb
-DIST NVIDIA-Linux-x86_64-550.100.run 307021837 BLAKE2B c035aeeb2d2f0a2de283d690985a9202b482658158180cc49c03f0938075d0dc5c59a2e23e766573381f78f2f7ea1ec874f8b56dbf6e3d35a02cb6a4597f8145 SHA512 e779e373c25627430762eed4e92d377b2dcccced7e50aeff466d232e2d13a4e2b8596bfc40ac79090a9ba9260e85cb788c98770de20d4c50837f8e6ecde7a80c
DIST NVIDIA-Linux-x86_64-550.107.02.run 307251605 BLAKE2B 767300982ac4b28fc731b250141cd0f5e9531424dcecd816e995c6fe63a8e2c15c0a42f9324f93c19da12868fd48abbaa15a1de752b675b88fa45a3c4385f40a SHA512 da0a15f87a4e6562f9a5e087a76b92de873db4849c8fdbf57d7dfe9d524e55dfbd578aef38d8818b9cb712a905a31fd0b97e399c74613943810545c92cf30f9d
-DIST NVIDIA-Linux-x86_64-550.40.67.run 312229530 BLAKE2B 2108aa002c4cb1b40212a074aade5123d1caf08ea079c18ee7605cfd914740c9b77f5da4f5d5dc462a5ef3673834b8f793c9780dddbf57e34a12d1579a223b34 SHA512 21f96a59d3b07700a5f8d7eb19ec10d163d24b0b54ed0a1698ea586c03a59c92647d28e5f99a95b545a47f6e0e3ea3a4c856219d847e8ace8ffd851d9cc41915
-DIST NVIDIA-Linux-x86_64-555.58.02.run 304107617 BLAKE2B df9774e6b33e3600e7425734c91f49ba40956f28391df47d946f7612e28984812fbf0f4d95ffc06d1cb545dd9001b5b956c5816eda50de77063cbafe866835ae SHA512 7a8c84c15d87d2cf5f6261b12d3d683e0a7a1847d7c5461b3995f78b8dd862272fd11be07018593a8d5ef5d8274040f15b9e6fe92e9212dcd7a97be668852433
-DIST NVIDIA-Linux-x86_64-555.58.run 304117789 BLAKE2B cbb7911f11789da886814104d253c5f0784357cadfbfde3def602456386e351f48b4ab7060237d23417ddeb2051e887c3b872574e3ee180416e7f00684509788 SHA512 69ce5a35ab0b3129605ede75a5a9e2575062a8a30e92d2a1a9c6576d1bad8e924c46909a438ffa1d9c22b616060950d52a6a967a96ed1cb1646e6535cf4dcfa9
-DIST NVIDIA-Linux-x86_64-560.31.02.run 322472612 BLAKE2B e6d5619505154a3efd8612443b39925c5b9ba7e61cb14fae6e2228917032dbc62001fd97187a5de41a7bd6cfda4979903c105cb74d6692f1ffbf4bcb3095e10c SHA512 ac54cc6f5820b523c894df2a7591c634f0337d5de72044ef9736218c5ec1e531a7347a4faa7a11eeaa7c3156884c0c909f766dce484cb51f9c68f6b5f83c8935
+DIST NVIDIA-Linux-x86_64-550.40.70.run 312138401 BLAKE2B 0618204da91356cc5a5c8ee68c803bfa92b7325b313c942d36b7dd21e0835395632c7e43733264e1e2f37d800c86c04013638bf1a4a2f3cea41b2ce9ce952d1b SHA512 36457d0e98f3c2f15cdaf0de9957d682e92d6cad2e49c205d663643e7021d8e1fbade7b9a5f46e4dda5a48c37541dc1ff7f39af8ccf613f4fe720eaa790101b2
DIST NVIDIA-Linux-x86_64-560.35.03.run 322523941 BLAKE2B e84819e6c6b75dbe75212b695ee1e7793c16091b1861250b406cdf570a8cae2a8114627f64bdefc8538f12dd6da8d80d3d62d41deeb7211cfaf159f853feba08 SHA512 97137160b64928ff84fd6145a0ebc209c045d6a07ccc53ec6df6ba1fda2ad72038eda7ecdc0a0178a2628aa4e18819a9b3ff3b693b22bdc9de543be0a968f8aa
DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f SHA512 58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
DIST NVIDIA-kernel-module-source-535.183.01.tar.xz 12521824 BLAKE2B 5ae8c2c0d9d019b99c947f1581712989325815cfe88ee308df0b710b64c4bc5c501c9741c67e25c47eaf7a114c521a595aabc85d0f05854c0692216f320378c4 SHA512 1c255eeafc79d228b3d76d1d20d1a2dc4583cbbb77db6af48b389694b0daaabd7c1962cf73e1a489e0ab07cf57751770ff8ce5f2489f2489a211e39bd7436637
-DIST NVIDIA-kernel-module-source-550.100.tar.xz 13522104 BLAKE2B 83abd845b7d4aac56807e1d72c1ff82db76a20a21b4d5c56ad0358390dbe7f212f41288e835aef4199c4389d73f2189c876a77c0d42d5f0dfd12db1af8eaed45 SHA512 f25a651660128a134238ca19ddeb7a149044489d2b778f3d026147de3d6ff976ee739d1f94f56dc204ddb7cab435781fa3402af0f3c2e3148d558b8df27580e7
DIST NVIDIA-kernel-module-source-550.107.02.tar.xz 13521488 BLAKE2B 43996ec8a3df6684e65df4bee03d4652a0a0fab1c7892ad4e1d114abe31818c46e6c3fc0b345936414fedcb9bf0b89805f667c446502c2ba384a1487fb49c115 SHA512 2d1a1d356649cce27a90bd59dd1018f31720e223f16d7ce5c3d9d8a5c495d785269aa486e870cdf91f689f57a290e33000b9d306937667d2bbd3510485e43a2a
-DIST NVIDIA-kernel-module-source-555.58.02.tar.xz 13676856 BLAKE2B f3bdda7afe0726c65947fb86898bfe56dbd5378112db6b292649690ef9fbc822745291c2050ce8d16c312950f0486cb54597c41ca14e1dce151b9eaa55bc5745 SHA512 28b7dd07f31a39eb3aeb1ef51872f5f7d2e9e4ffa4573244f979992014e5e04454227ee5c556d41663e0e2175e7f5cac4cdd740f441a96e3dda49303c2dc8df5
-DIST NVIDIA-kernel-module-source-555.58.tar.xz 13691936 BLAKE2B 70272f51fdd2e2c41b634df28e1d28033b8401e03f66b28245b073b966631932a11f4826fc59d85edc39859c01462fc72ea3f49738c1e9de35e66092fe23a7f3 SHA512 58f10eb0b7c0f1a76c882b409b3cfd210848a262e4387a518c84236da0ea538aabbab28eed2d7e3d17f4a5a3ccf16205d102d6d589b7efade73de3c3cabe0a2d
-DIST NVIDIA-kernel-module-source-560.31.02.tar.xz 15024600 BLAKE2B 1f2371905e10e6658eda34b47b83023b6216630086f41dcc887b3add6985ab114d6d5cb8eba72cc3a4aa7524fa4873338ed7b2b00f51cde7985b4ecb87668eae SHA512 19fefd5a55794af3d8c1df3c9e4b3eb2d93f0f7c60fb4c2f998ce501b1f098afd93583a59d3b2b2646d07986f2c0279b3a635f08823e9a526d58832d35764d65
DIST NVIDIA-kernel-module-source-560.35.03.tar.xz 15023144 BLAKE2B d56ea634dd76c3031372e4be283f0348d95e87d088025aaf59ed342a550144f3a8cda22b4c56db4cc2a4c2eb5ef2563251b1aeba75c2a35bad7a4a24c2f5e4d9 SHA512 eec3263d09cc809afc4c2c9eed6e0ec1bd2fed71d43f96d2f56c5b507aead96d93c6de93d37b649fc97f1d849aed64942afeae6e0c2be399d39b1ee416c6b863
DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd
DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a SHA512 171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb
DIST nvidia-installer-535.183.01.tar.bz2 148412 BLAKE2B 6eff47169ab5b2b4bfec5917bccc0102502aade2ccf523a404e50c8925e407e225d8009ac79ddfc38a1c6b7de361740d60a0896c2e31756e0f2392b77ad44490 SHA512 76e9bdb4b94bcb103710552a1cb64ca5df0765e3248e2723a88bf70277ef52fd5b7074f7a9cf58b9f3a33af9c04b0cb848748e97ba19f02e96a4eaf081b153bb
-DIST nvidia-installer-550.100.tar.bz2 155473 BLAKE2B 9e995497ba99b2a7c8ab7ffb20117f863ad1eec02f30500bd3bbaf0edbcc96552166bf509f347e2ea0af2891b7bd0126587fabeb980838acfe3384f4d37f8282 SHA512 5641190e4502c96f8758f9d88921871a5a2039378f5e00c06f08a525e0d1451e31cc5d8bbeed79099722f62fa76f8fba0b6369dd9f27341f0a08e37ff4165db4
DIST nvidia-installer-550.107.02.tar.bz2 155423 BLAKE2B 5bd3d57dfd9ca70c38908f5b397d71802bd78ca1de4c6d9b32de147e39adac61028ca56848b2cb10f13717046204b690c86c880034d1f386df9298e7f15c4b65 SHA512 2120f31f9ab92bb3a8da6991c4d5df6cf50ed81e5c6eadcf23f6af98f08ef674e137ac2bf62f1bf76d94f005d0fc9ef2a130d2e606fca929229f358ac51377d1
-DIST nvidia-installer-555.58.02.tar.bz2 158422 BLAKE2B 0f8da2790dcc398859ce7b2e4278b490542b5672e8005fe98b7ba095c8ff62fe3639907755630658f7241097e18f3e92196b1fba0e430da6bf697e8bbe9dc520 SHA512 ef1ce8ef4997858a053c4b6939496510605b0a5d2f1c93ab80f2002fabeae2333da2e877aeb665936ce618fdfed4a6b9a888f6426fd1fda289e6793febbedb37
-DIST nvidia-installer-555.58.tar.bz2 158294 BLAKE2B 933df4e52bcf651abf6d811efd9ac2cbe9df8faabe105f42ad952b2ac1e6180d9773a07729439800d611b65eacc128b191e2b1c07cd30a9668c48d4099b6abb1 SHA512 682ab51ce4b8e939508828d1f3ba7c64aad100dc9322619b12e2425e93f7988aa5189f530fd65b1bfeb47dda600d119df607309649e2c55babe771d847caaf4a
-DIST nvidia-installer-560.31.02.tar.bz2 168962 BLAKE2B e5d1cc5a913f00e6a10781d5b3dca46e8a5765c7a76efb7630e7328c7b792044f96bb45ca5fb7dc5aa4d6027361a143881dc211ca8904b6e961094a5bd6b0ccc SHA512 89f195ac1d16cf90f39c7e19446eb5f93f02b0d6b41984a7e6194892f5fbb84d11d231b93edb833a2dd690b4aa24f3d8221f9275910a86b0e0844deb2878c528
DIST nvidia-installer-560.35.03.tar.bz2 168904 BLAKE2B 81a1e4070cc36688c8a2e768c304cad4d680f56757addf137c0544aed93345a4587a65e8df5212f1853e1d4f5a882c457866818157f303148603d50a7152f21d SHA512 685cec94e01a0a0282bd013896a1a05d1a061226863431d39bafd31d78a3224879eceed24da5da65f2a6757faef40b999aad624cdbc86de53674d7595b4c763a
DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31
DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f SHA512 25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f
DIST nvidia-modprobe-535.183.01.tar.bz2 40623 BLAKE2B 52c6f6758b6881ef61a41a7e245c166a2ab60ac372c031b5211651931f72cbc24af54b3b2ffb9a42b2f0973db7e0ae6d189cbd3cf1e0fbec8628056e4235b873 SHA512 93b802dbdc98bebed89ca72d07401e1b0801504899f30bbac4baac3d3a24bf548f78bcc0418db112299b068e1e278b379d301680cf4b13784206a80a9169c986
-DIST nvidia-modprobe-550.100.tar.bz2 41477 BLAKE2B e11f8d930ae4a08ccc5dfd17417f6a49610d6c5be362fc86f4ccd0205f7c1e8987a319c4e23efd67586d7688c54cf86e5ba74b0756314b935ff6e985175049c7 SHA512 37109981cbd251e1f4fad30b5f5efc9aa8e145a75342bf82147f6621d6c0d8b379e8748b12b0461baa6a9c0be8832edecc2c51270c1f461b9270913420fc18cb
DIST nvidia-modprobe-550.107.02.tar.bz2 41486 BLAKE2B 4c74caa2f91bda9ad96e6366986e2934776cc31ae3b0dd596fe5d0392cf023a766e2fb2fc765d5886e872935028fda0836df1826fdeea2e2a76701420021778e SHA512 6fc755b50f6ccf25812ed6936560784a7ea5766152f04631829b192a070b47ba68296bc215b60d1f7a9773f2db6388214d55e115794db8cf944a6f64d19ce34f
-DIST nvidia-modprobe-555.58.02.tar.bz2 41721 BLAKE2B 01e83365c1fa1d5ce172f31d180e0735e5d74a49e59c7fdec78ad26f1f70efa981f2a2429e1c815582d3200defe09389d9b84a2a8e4c2f46e1d4528779eb4305 SHA512 5fabde2e8bf534cf6ec8dafe7318c76ef560f336bdb3343d71b784713076a05d063c2e65eb8f965b0776cb02e67f8eed363d8eaea67fd92798d1bd1b74571ec7
-DIST nvidia-modprobe-555.58.tar.bz2 41699 BLAKE2B 9fcac636c33c48272218ea33159b59665bbcf807e2c1dbf8e7c3d52624cb12a7ee406765db63d266ab7694140ab2f40e51a99b26ce65e5f775a24686cdd66b9c SHA512 f60f1ea6fd9ecad7c0aea00546faa32d14f905c5f68ed1ca6f9ef0f91099b3e8afe090dd74d7bd3ddfe6d435be569ea0fb889ea4cc75b7c8c0c2744ab3e1279c
-DIST nvidia-modprobe-560.31.02.tar.bz2 41589 BLAKE2B 004fbd0d28ef1b154c4213af030cf0f101bada6defd9cef8ed43064ef51af5bc11c42150edce57ccc821ad8f21d3b165b3b7618704f8ffa1e68912e88237e23b SHA512 a5af92403aa6f9683a5a8b52cd886d30f4019684c739eea49420a338e7314f6e1f723c3070785a7ea0d70e978256effdf69bbf8629f8a381b702b781c37f70cf
DIST nvidia-modprobe-560.35.03.tar.bz2 41637 BLAKE2B 4a72161e3569af5b53a6372da51d6980ab6a428207db0ef2c20b87a9abe569a136ece0a332954004e24f4381889826e50fce42c0c362c749adcb0152035e8862 SHA512 ed592cfba5512fde34e1d9b3dfcf3463df447202eb99d1d792f87d0a68c73193d141f82835e9272d315f3de9e973e7d9f64b06a9cb1e6485dd7adce3e9c360f0
DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9
DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982 SHA512 e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe
DIST nvidia-persistenced-535.183.01.tar.bz2 48585 BLAKE2B 8f000f85ff959b86e7e0a4af0d7ae53cc2aa76670c04ea57c8bd2b7fdcf7ac071dd4a345b9121fcac97db7befac1f2635c41a40ecee4189a646977165a3b3bd5 SHA512 234b25fbd2e3b7573d77336047ea4898b4687d59fd0ab9cbe5c01dd33f14db610f467674120cc6ce2f3fa77ea53c9d3e23025e08afbabe07e5f6109840f6213c
-DIST nvidia-persistenced-550.100.tar.bz2 49665 BLAKE2B d0a2cf3f2eed9352982d2e8552bdc32ad72ac8feafdff0efaff0fd3196de0fa4e0ef7712220bc1aa021dcc903a40ad6ff3ff1b7dd878e69efdc0b9acacc8300f SHA512 e51af761dc50522d05aba22c91b18b1ed8c251c075691579a5ab5b80ab3507974140009041f9b74828bf7af3b9884a3aeb212c1ad7eec7c88cfa6d3c242c2907
DIST nvidia-persistenced-550.107.02.tar.bz2 49661 BLAKE2B 695bcf0211194263b38444305c5b6bd6a13331ab57c05bd85d9ea5e007af37e34b96bc450fbcb92bb12050d75c3885d51563fdc2a827f25a433283b067e204ee SHA512 6b398f53a3670d73c13be364d1c7acd563878ebe1162ff5fd0f1f3749c20284a8dd9d98cadccf1fc0b354f353006a3dd2acfd066f98601e6fe1577f0dc59631f
-DIST nvidia-persistenced-555.58.02.tar.bz2 49877 BLAKE2B 8423f34ba517ecfbb782a648ca07f99f161cd153400bfa32e04ab98e8f72cea2afa60d11d2e05e1f31ce21ed33899cc6945fa56d6e313ed8af67aebf93467879 SHA512 16f7884a53007226206761e4d9fed8d672c6ca31ca59c70e8931bcd0d772d77f0b0078071505ab1bc198f713a94a12f132b7e3fee054f859db9ca6fe25404117
-DIST nvidia-persistenced-555.58.tar.bz2 49920 BLAKE2B 400b57aba66aa1dfbc17ba6d2c539aca2ee65d70c152e61cea1bc33977a64951ca7eea72b431aaa3009349131e1cca09cdae33cf48edbddb6b73e4db190f066e SHA512 3068c37966ae59de709fa7ce4d6465570657c67e10b254c6bfc7002cb44c6bebf0761aed50ffc8e64c7763116051997cf71ac56e31b1eb5d6467ad382c4ff97d
-DIST nvidia-persistenced-560.31.02.tar.bz2 49899 BLAKE2B 1741bef9463efc46c8ffae130f881df059645894c7de2ccca90a0adb786090edc20c3e5df0556d31b7771d32c1c173457ca3abf912dd332bc38721819a6b2918 SHA512 573e260f3cc3a1a690c0dd4010f9182d9f15a78ad612258a98f882b750644a134eb4d06829c4ae03ae2fa6fa6b9e92a9a06322c74079abf8a9d9c38d6c0c9c76
DIST nvidia-persistenced-560.35.03.tar.bz2 49873 BLAKE2B 5b19e8bef623d3950948fcf2a57c097e451c846e1d3013344ce8f10b91e57d3f031c460a9a9e4d94940ed3035d4d5836e5ff672d25f0f132ea915eeac62b94de SHA512 65c12503f8b457de704c58e7f066c1938645d88cc8b986a2fa993dcc5c60f45b72b22950df9419577c37e815e65b6e3749d4ce551457ac1bd868e24093074fbe
DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007
DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f SHA512 9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd
DIST nvidia-settings-535.183.01.tar.bz2 1094944 BLAKE2B 70d8deff3b587f54fcc6eb9b4a6396493e9aa89ced07bbaecd517e3a3f18ed4ab093777c0a74ddba24cb7e3ec4bd89a91e3f3ab877345e36fa6f8b71928af2dd SHA512 b7bcfdc48d053419e58d6eca762e55814feeb9ad992a134dd870ed899f4f2fab60fbc30f2c12b655bae248bab1602efaf02d31c0cabae1dbb8044d1b7c65b834
-DIST nvidia-settings-550.100.tar.bz2 1098945 BLAKE2B eef86654dc6d5db0484403e2da39ebbbb4e7e1808d05c0c6ead8203b0934832cfb4860825b756af5c4ad707dfd40a3a781512159bd58bfd2547facea2b7ada35 SHA512 21e4d0f2effa964f1fcb8ac5b6fb1306184dcd9417b12e0e2060a68b4358a21ac967c09d18130a3fbf369893a6646ff2c7867c72bf02ab5974fcf9b925d2bec7
DIST nvidia-settings-550.107.02.tar.bz2 1099298 BLAKE2B 5a393970b1163cd082f3ab61ddacd22599d43755b059ea84f245dfc28a436ad6c000704326e1fab29ba0a60f7f0ba5ecb51928e12caa870ed87bd38bbaf2128d SHA512 aacda2c6648932c0c3558a59a8d40bd5b27750009939addd455b211962a5840a79b87ba52fbb77d4b0fe5da2184d13c31bd5bdb6ea7ed53d0b0a9552985f3551
-DIST nvidia-settings-555.58.02.tar.bz2 1100319 BLAKE2B eca06045a50d7d5963fa4f1fe9c9e4e1e693be392b42ccc069893443734a1725046803c8bd0ea06ff9b256f26b99184196a805c602710ead599e9cdb8ab1a223 SHA512 b86c4192f2b6cc5fae57bfe627b6ada0a9c936e90cd898baa448140627c7e9cdf3368021da2a94ec699ac1f5a08bb462766a573a028f81194361b9c642a1253c
-DIST nvidia-settings-555.58.tar.bz2 1100157 BLAKE2B 7d7077bc6844835cd9234dff5de6c9e82b388a947fd3d5deb35585eb79a00e05deb34bcd1ef205bde5bad842b1ca9bd6853c7f6b322f1bba98307b5d0ae89a43 SHA512 e764d88cfc0530d0d6e658a076fff1b0a99034704152d0962bff4a26393a5a0287f3af6f6c55cf663bfcfd02f373626cf976d48a6699a62f2ba09200e602cb7c
-DIST nvidia-settings-560.31.02.tar.bz2 1115599 BLAKE2B ea38654aa22a6e8b4269d742a31aa5ffb161857a0469414493d19bf45824a5e7fdd9be81a2505ed4aa7d08ee6f11e717ec4dc7710fe75eabc95d79074cc4ab4b SHA512 51f63cc3dd05cbfc4b6ba87583b4b215172d3e3825a6683d78871b4de1fa24c0d2d7d80de3404fb3a3f6f7e2dcd69cfe40c88e88e0da2392000d8c87175ccdbc
DIST nvidia-settings-560.35.03.tar.bz2 1115724 BLAKE2B 937a3ea634e9bbc4b76f6c50fd20108c783a941e021a3fe1a9fd3288248fe14069f4e7b147cb3666e1d6bab91be2c0305daaeee57d338b9af546cefc79725be1 SHA512 7ed656ebe35ce55a0064dae57fdcc5c3eecc3c6db71bfc66f001dd60c4db764c6a2565af29f84ca1246280fbd573d8da4d09e21444b71210cedea5d1462b85f0
DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca
DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da SHA512 4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae
DIST nvidia-xconfig-535.183.01.tar.bz2 110994 BLAKE2B 154f0e3885fdc2a30373daad07924b109b1763a08d8d9a53e40037471548e9068762b6ce157ae3de7c3c0d7f0f33d02b875b9bc98d0b99888edf00722b0201f1 SHA512 101c0f3da4452e1bf5f4283f17297384e320c81f1bcf20a5eef2fca4802e91795782afbc5eb73f0620285b4c43eba25a80a65eaa8cc4d126036c83f6ce710adb
-DIST nvidia-xconfig-550.100.tar.bz2 111231 BLAKE2B 06df20f15b17ffc43540d02e9bd5b5334e995234a05c36f11523e2a808c8c431f49ac7b45f2c3f1a8fafbf54c2f18204d9cf319f764288d23b93140bf6e77ec2 SHA512 83d09670c0615c47c3493abdebb4ee10aa45340b405729b477dc16cbab3f33c64e34c32faccaa408f2a4260875e0a6fce607fa0e0e041f467e72ec38f1c08b45
DIST nvidia-xconfig-550.107.02.tar.bz2 111170 BLAKE2B dbf2b0b7f7b71f17ce5a0b6ae1c5346a573ea11163b24c4bce1b18281d4af70f38458bc122c39ad948242a8cfc37b68e696141b8dd3ce16f9ae7fb3fb61af735 SHA512 a7b9ba8d542041b273deaeb354c398fba4241dfdcf68be71e1c1138c925206db0f7ce2945c5ec92eddbcdbf240c5340802b3989e6140593828d1eb79854730e3
-DIST nvidia-xconfig-555.58.02.tar.bz2 111182 BLAKE2B f51275158f02687e54e856f3f7e9f92b01c6c7aba423e5384cf3d4e692dc6d3fdc73ed0b25f26fb1206dc1219b6e0bffd54767e0f0f3b4b3a63875113d55236f SHA512 673bea01fe39687ba34e19b743c61898d2ed8f34710c3a1afc8f2e71e0903950f253408b0fcf0b6306a98ddc2438cacd92fafd1d1662136b18058017dfb783c4
-DIST nvidia-xconfig-555.58.tar.bz2 111298 BLAKE2B ee7559b8121014134266506306c066adc5dc3d2f919e5a98355240b1ace8335461906a562e2c21640a91ab31906cddfd63f2193a0c97ac9e105aaf79c1bdf9a3 SHA512 5f7810977a238fff15849b0fab5b31177b358275328789c581fc64459a71fed0ec12ce372b32fc927f00327d41ff83e1ebe26351c989056e19fa1a38a661a5b6
-DIST nvidia-xconfig-560.31.02.tar.bz2 111152 BLAKE2B 4b8a3ff45a4c696a344c8159c1ce0f07925d5484358aadbca02ac1b2f6557a384db5400466c2b7e89636cfc32ec20a8aff44c58b7fcd451acc794386b501689d SHA512 bea8f13b927721c2ce3c04166a34cb35056b5d86f2772e7606528af9345a11dd6fbc824fb177bdc5d9353b3cb68681fe5672f6be42fda0826ef4b87c93c4973e
DIST nvidia-xconfig-560.35.03.tar.bz2 111203 BLAKE2B 347d4f80b9a16da54fbd7116d0ceafbb15b3b6e78aa1640b8505674b9ffc32056197925b67506d2cbb5d130054944c13246a592d9021f0bb2410ee6e8216df4e SHA512 1a68729b8aa1d3518b43392d4f9af163e2a084c635c08343b25ce761f835801aad203778fd03564ba050ad949a9d2df84fba4c8a48bb1a7afea5e72eb364eb58
-DIST open-gpu-kernel-modules-550.40.67.tar.gz 13813143 BLAKE2B 58f4e990b28b31896c137aef5949723b50ad7ced037f28154d5368b1d69d5c52d028d379f55f328d876270681b8be80a650d593cebaf7e489572fadac67017cc SHA512 72d1b853b56f749f461cacd90eb342cea0341f13e45b1bbe3d88d700d9c1632a4bca70f92cacde81017f95db6efd75f35f294cb8b5363fdac9a291c62946a169
+DIST open-gpu-kernel-modules-550.40.70.tar.gz 13813326 BLAKE2B 083e22e1f17db869bd8fc2cc66dca1d81d8235157a7b91c1efe0be2807dab5c3636353c9c6b0fa02e639a4bf76853888f3c5aa32a75ddea2517e5a438fc77274 SHA512 4500dc9add8bd75cd89d257cc23500eee22130ec73a54a3d8b4b67c30d26d5e40d4b5b3f53e2f533f330f295696aa7a3cb2d601a101a1301421f4310b0718b8e
EBUILD nvidia-drivers-390.157.ebuild 14786 BLAKE2B 0aa98cd61987bbcd67e2c117e0acee43d28b54787f1d4dbafa3e871902dc6d066873b8b6cfb57a83b1a17e49b8701925924e4b5f2d2abb22f12494c852a65c8a SHA512 2e85077a050a546a5b6a8f4ec38c27d7269a5993ff04b6f49e6b7a96e2e27ecd84e61730e286470af63e87a314258eb5e6a64a3c93aa7347d27541d9ea30ade7
EBUILD nvidia-drivers-470.256.02.ebuild 14335 BLAKE2B 4ccf76ce3ee46fec93e8bad162c41b3e00dbdc61eca1225993ec8a68ab3d3c078012ef152b75e5fd2cff6e33f710db588f6bc0b56ddb2b6970a552039bb655fe SHA512 921307b5d9013bfdb04ff23f03884ac8da32d880327c2d52eb85894f216af0359e5319923220a08012b15a572805d870660d5c332a09fb8b7faeb70038f908a9
EBUILD nvidia-drivers-525.147.05.ebuild 17649 BLAKE2B c587c8ec8f356844b95c4f5dc77cc4c4c684f79c8b67ad745e472c4760925c1e4b736dfaa111fa462ccfe6ebb7e20792937a374aaa347e697180f0087a341bb8 SHA512 4dfd604a3692d4330999617bb96f02dfec0ced6a07dd393113a3ee9dee8c3aa1b9792c3bf17af1d5da6181cbf3c79873ac2cd78ce7b13fb00041696d3f0a6ef1
EBUILD nvidia-drivers-535.183.01.ebuild 17499 BLAKE2B e06cd90559e3af3ec6f6f3890426b46d10c61a761a4e7e01c8e7b4e86898c43eed802aa06f185b6b4650ad1572c866e55267ce4b0d8b0c626e364976119c2ea6 SHA512 f9d0dbc07c068e4e28de61f81d878b87ef9fe63e31f02f0d3f7587a5fef7c2fa6b237b5cde736f78623db9073244240c2818424633bf8e3fff6d592c97007efa
-EBUILD nvidia-drivers-550.100.ebuild 16589 BLAKE2B 61e4bb8a4f0f397d2a5a72872b0a85b8e6dea7e3e80e4a66a7f307cf61a9e41be995e74fba3209b36feb84b9d192953f225a5f96b66eeef136fbcd72850e2e05 SHA512 0495d80551cd07d2f8dfe00bc34428ae891d2eca421d50ae86645e4fc32cf3853bf4e82677576e77e00d44f3221c86ab71666c555178bdea6aae9b41bd1639c2
EBUILD nvidia-drivers-550.107.02.ebuild 16589 BLAKE2B 61e4bb8a4f0f397d2a5a72872b0a85b8e6dea7e3e80e4a66a7f307cf61a9e41be995e74fba3209b36feb84b9d192953f225a5f96b66eeef136fbcd72850e2e05 SHA512 0495d80551cd07d2f8dfe00bc34428ae891d2eca421d50ae86645e4fc32cf3853bf4e82677576e77e00d44f3221c86ab71666c555178bdea6aae9b41bd1639c2
-EBUILD nvidia-drivers-550.40.67.ebuild 16642 BLAKE2B 07a8bfd5f412c20a3dc9e42668bb285bd43605994cd6d27a5fd4d1a23547535929096a791988ad2cd9d1853d1675076925e3d73078994ddff26f9414dd6157f7 SHA512 1f1109b3c68ee0594ba297d55cac251062e04c4f75bdfc2ac3cb4fa4c0251243ba22332af147ffc443dc5bd42fbb51554ad7f3ed7f86895efbaaa23239defb6b
-EBUILD nvidia-drivers-555.58.02.ebuild 17019 BLAKE2B 74605226f1c70adf13e0a928bdb90902974d23e451a447adcaf89c3b03121e73c96ee5a00a46e2c7460f4447ef406f86df08208a5f8c866c9a63bfe94ce71bff SHA512 09bb9c9d2d8f16111391b63611d6e0c896fbe8047b0182b8bc6e06187877f8608bbe42373a81cf11576b2442c91ac01738120ee7aeba4d53cdd884be24c642ad
-EBUILD nvidia-drivers-555.58.ebuild 17019 BLAKE2B 74605226f1c70adf13e0a928bdb90902974d23e451a447adcaf89c3b03121e73c96ee5a00a46e2c7460f4447ef406f86df08208a5f8c866c9a63bfe94ce71bff SHA512 09bb9c9d2d8f16111391b63611d6e0c896fbe8047b0182b8bc6e06187877f8608bbe42373a81cf11576b2442c91ac01738120ee7aeba4d53cdd884be24c642ad
-EBUILD nvidia-drivers-560.31.02.ebuild 17418 BLAKE2B 634d2cb84d80067feacc651bcf67a2a0311adaff4bbd7b9fa18af2829acc2c1e88fec76dc1b064f763427acc171f90f7734b2a94b851b33cafa90d189bdfa076 SHA512 0582154d371bbc696f321eb6a9d3fe651b442ce3501e8ad3a789143c6dd7702c46a28d917622afa6e5b02477949dbf68af5a76c2c90073e19460c9924fc3349c
+EBUILD nvidia-drivers-550.40.70.ebuild 16642 BLAKE2B 07a8bfd5f412c20a3dc9e42668bb285bd43605994cd6d27a5fd4d1a23547535929096a791988ad2cd9d1853d1675076925e3d73078994ddff26f9414dd6157f7 SHA512 1f1109b3c68ee0594ba297d55cac251062e04c4f75bdfc2ac3cb4fa4c0251243ba22332af147ffc443dc5bd42fbb51554ad7f3ed7f86895efbaaa23239defb6b
EBUILD nvidia-drivers-560.35.03.ebuild 17350 BLAKE2B c2e380495b2bdfc7c998a4de6584b27235c0688d1a63b2d755481219d9418f95e421e5ddd227afa9d9ea7707e3eb5d5c367d0f8aee27e97924f9a3cda7fbca47 SHA512 430b76702ba826b65bacb4fe883681736b45971ffa8446bab8497909541fc3ac810a757a65cb160a0c986003693dcc43e4745c7d57d0e288eb630ccf5a033f24
MISC metadata.xml 1457 BLAKE2B 10fccbffe28ab58e012aae439123f947acea95eb3bdc4d0e2eb1ec14a92ad24fc2e3e0c248dcce87d9fdec54a65b8e040b2ed048d9ef11054f762f295c24ce39 SHA512 8469884c614a0275f438a0f8d583f2823d1159905ee27402e859c824cc458ac31daf69f2b7960533daaf86e1ca203be745c03e4e67ff12e9bbb2c08b91c667a0
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.100.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.100.ebuild
deleted file mode 100644
index 42c25308f23a..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.100.ebuild
+++ /dev/null
@@ -1,500 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.10
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- 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="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-545.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, be warned it is experimental"
- ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
- ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.67.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.70.ebuild
index 0b678cefa151..0b678cefa151 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.67.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.70.ebuild
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild
deleted file mode 100644
index a8ac9c421423..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.10
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- 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="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.ebuild
deleted file mode 100644
index a8ac9c421423..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.ebuild
+++ /dev/null
@@ -1,510 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.10
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- 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="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.31.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.31.02.ebuild
deleted file mode 100644
index 662958bb9a1b..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.31.02.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.10
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-# no keywords due to being a beta, feel free to opt-in for testing
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [VULKANSC_ICD_JSON]=/usr/share/vulkansc
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ .*((libnvidia-ngx.so|libnvidia-egl-gbm.so).*) ]] &&
- dosym ${BASH_REMATCH[1]} ${into}/${BASH_REMATCH[2]}.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}