repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
"Ionen Wolkens" <[email protected]> Mon, 03 Aug 2026 15:27:22 +0000 (UTC)
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1785770822.db99504caf35471a17619d9b1ac694732c34c439.ionen@gentoo> |
commit: db99504caf35471a17619d9b1ac694732c34c439
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 3 15:03:15 2026 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Aug 3 15:27:02 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db99504c
x11-drivers/nvidia-drivers: add 580.178.04
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
x11-drivers/nvidia-drivers/Manifest | 8 +
.../nvidia-drivers-580.178.04.ebuild | 602 +++++++++++++++++++++
2 files changed, 610 insertions(+)
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 61b9b5f5848c..082833847b60 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,5 +1,6 @@
DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb35707034f41211d0c60a3711643dbae8d8f29830c9029c9c66a1e232651c9a5b9c1fb699078ab6aef0c3f2df476a14eee7cd1258e0c8141971 SHA512 ee2f59716d06652dc9083376d758a1f1ba60a11139534d67c39d8b6a4abd2290017d97cc2c8b1ed8bf5ef659e075ccd1a546125a3ce57b6ddd61ada5ba7e6cf2
DIST NVIDIA-Linux-aarch64-580.173.02.run 315169067 BLAKE2B 18864723e8f75cb84ee8edcb69213d03f9720760c5a89843abe78c43d1aae5923c9d7986573aae8d3fbc7a6d579f72d683fb78f90f87e62dd8ab24eac6ee04b5 SHA512 4bf8b21898c83fe31d1588c8f57d322584efb995b4d2706f8fd5029fe0f451b888046c439569c0d76b48fb279c11b3c4d20b57d37e9ee6da3b2ef4b050c0b40b
+DIST NVIDIA-Linux-aarch64-580.178.04.run 314757575 BLAKE2B 2dbe1f8ccd0df8ef882be9745c94732f7da691b960054b0ebaba8932486d30504251e263b2614c732c1ad15dfd9ac22962a6d0b3e00d811407a0fd41adef70cf SHA512 3753150ab1fc319137431d24d38aabab9d4dcb11d988cfe7f80813f946926a181415640ac874bf28104274b305ec2d29c7806fbea945224ea97fa5b4afb2475a
DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043
DIST NVIDIA-Linux-aarch64-610.43.03.run 354547269 BLAKE2B 81c2b03d55509b889d1c9d723e5b02e64eb6935b02785b82babda6e814b05b749d823a05fefcb06419c62be0068be7264ad903f745226f9fcc1b0cf6180ccb36 SHA512 b070e06ebb5cced56466f07efade96ef73201141e4dcf061cd87ec7e6d94357b62057ce04f8a4f3a4c3e8b006a4cce9d8db21da4cafbd8e8e6bba8d0212e12ec
DIST NVIDIA-Linux-aarch64-610.57.04.run 355850554 BLAKE2B b8fae1df1a54f793b272cabfbc35da68d0abd90739176ed308d7389304735688987ed847da4ad25f4fc30c93259f07b1cf8677faa6496f44f616d8fbe5399272 SHA512 cbb632182f4096e715cf28605ca93964e7ad329b7ac5eeffc1bd9d9338606f7ffaa4267ee3fa0e92cf00f4a50b177498bcb053686e869464db0e80ddbf7b4ecd
@@ -8,12 +9,14 @@ DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb9049
DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88
DIST NVIDIA-Linux-x86_64-535.309.01.run 341945818 BLAKE2B dc7bca19eee348648ed6ded096ed9eedc953d7e5be84bb812baf98230096c9f3a92421abb9adfcd0c257dc63a31d9f4fe4a02c7bdc4be65975229941fc39fa5a SHA512 16a505fb053d514b98bed816559279cbe2962eef8a3d64cce7aaf859b2d27602ac9018bb099a56ab4223532f70e00984e5468a4ba9c2914dc68dcbe0d8b2d64d
DIST NVIDIA-Linux-x86_64-580.173.02.run 398312209 BLAKE2B 8d5c322fc8267fabf4096d649bf2e98b0e844ec74430dd8a4a2c0bf08e4e5fd209524639a0f1578a953216ae5b16a34dd6a349fa5a83059fb608a69e2bdd0125 SHA512 ca394b1e3f6c3403dc7ffe5d5fd7301bb06607fdbf75c9ffd338d7641c06d1878790c629108162adf4289ae829568973a48b7557183dbf7588e668f6d8edf3b3
+DIST NVIDIA-Linux-x86_64-580.178.04.run 397214534 BLAKE2B 53ea96e4d1342003238aaa37495df8939b0e8813b8088347ec406a4c066bdfcf9947abc71f05da9433bfbee7b04b67f8a2bfb9729423ec776c0b1e31d5ce1b77 SHA512 b463dec07dab14370e3bd89d559e54e5f81d5b01be9de2bac6c700334c10a8bce2f9049b978a01a97d515d5ebb16ec4ecf02ce35979a8833a619bc6bd97084de
DIST NVIDIA-Linux-x86_64-595.44.09.run 423549686 BLAKE2B eb3f959b4103895db808743f6986036a275689fabadeb16be5f9e496ccc7a963447568c8d8b248ca9bd2e8843e32c676a4e63d360dcfbde5df7a32405284b59b SHA512 835f22e562d0ac362473cd6425a9065a05a360d6c9d85e4973d34e2005468b75e177283cac8140c725f5146db3e748065eb9b93787936692fd54a8ab80939f9b
DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614
DIST NVIDIA-Linux-x86_64-610.43.03.run 461538429 BLAKE2B 493c42d857ff89da94d590aee146b5f3fc0eaeef2fa7f7f876e96b29256a9b958847ba65e1ed6981f61ef1a174034f3e44411f266f4580cc40e39c0471893f88 SHA512 6844ae73d1b1fa0a3ed830d4531747298fc9c817b3cccfd87afd285221ba7d7c0f68c279c1a8a92adf6dee2616a4e9479e30724d4182c801f720d8841a7f820e
DIST NVIDIA-Linux-x86_64-610.57.04.run 463025450 BLAKE2B bcf46e1fb7d887ffdd25212f17d8f9d5925740a4a64a9503d7255b131eaf811e777ec107c3ec3f3771a6da9e1cb9999993fbd7a8fdbd7b0ff2dd3cbe860a4bd1 SHA512 4c9566625716ba7257ed2203dbbabfbc7a2dfdfc8bcb16678212ec809dc7ff470d12973ad86ce5f925b271d04239425f43088e8e591cb4ed7f77ec0c8612ffc0
DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773
DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e
+DIST NVIDIA-kernel-module-source-580.178.04.tar.xz 22267204 BLAKE2B 7566451a6b13c24bb80476c68bbcd93c0d8dbd0bc4eae2ca5fcda06690a2d386b6a0782aa1836e07061e84bf923fab479746294f229acd4c53e7a6da4a309b9f SHA512 38b5ad1895946287073e5951a88733898a805d02325eb7f23169e61663d43b73bb4db65b0d9648daef11edcc50646320a4e18af6e7584d63cec960fcd3b75de5
DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86
DIST NVIDIA-kernel-module-source-610.43.03.tar.xz 26172192 BLAKE2B cb4efc7ef551a2eeae445d9e75a2b0b08fb52fa19b96270cde6dbb0ec2c4c0a3a1a5188bc622555e414656a359e446f29a61ce9ce5e7f57e2878de0e018e0cc8 SHA512 8a950074005924b338873f3cbbefb698a6d8f9d0d609e65d3395a33063f9405f5beb42309f4d0ea4b4892853b52f45ffe8a8a8557fc9d5b4c5dd397bb34226d2
DIST NVIDIA-kernel-module-source-610.57.04.tar.xz 26177484 BLAKE2B 59bd5799cb37bdd264a683bb170efd81d3c57381d8ffa5f4cdb0e6c556f61b4485c88b3ec6513cf4e57c975d9ff9c07111463a5b50a213a6178f0530cf40dcd7 SHA512 11adc9cf3805a06f3e6f3b0884d2fbd92cf51c7f9348fca884c90202be2291882c459c8b5436732168c9739e7afefb9510b9b8f1193a0935f45fa5fca560b258
@@ -21,6 +24,7 @@ DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7ea
DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd
DIST nvidia-installer-535.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a
DIST nvidia-installer-580.173.02.tar.bz2 170003 BLAKE2B 05229520744fd6ab0b57632f7e62aad39737fd8239a32900a19a3844fabf1c3d511a74fc8b9ef702a06fcabb1cad8f8c1f0c1bc739ea7058504338da22536e8e SHA512 262595d41c02a2129d90c077b96b43eaf81d2f6257a00cfd61d6cebab3d645f34de08086a3a6dc897273498a33289f2fa5b552759e1963e25cef85fa2b2c2b90
+DIST nvidia-installer-580.178.04.tar.bz2 169996 BLAKE2B 231762680ac9dfb88ff553ad655dc9498b81f1c505d30ecd620609f2e912670c2846b16d05dc85273a4f5ec74bbf717d02f9b976adfa951dbd621a172e8a7174 SHA512 6995905e3c06ed1c284ec1302149f590ebca2278604f0206d543cc3202891044fe2badedf0608e31f522857c431dcd7d35f6c281667b2556fa0b290a9eccb62c
DIST nvidia-installer-595.71.05.tar.bz2 172399 BLAKE2B fda7ec136805aa7e481162af171206c3e6dd8c641fc60910f1336895b87ec1e4ab7469456d3fe96ec18f763df3ab158e7c707edb89833a628fe24e69ad97080a SHA512 08ebd56a639cad608db8a82cccfc386cad4f2dadb7a01a7318f5cd70b0428e0d62fc51cf6c8fef16d567c226f5cc83c8905fb3bc36404abbc5a6bf36c0b26403
DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1
DIST nvidia-installer-610.43.03.tar.bz2 171921 BLAKE2B 54772b0ba8528971266a566b09655110a3e637632ff124da8f3655ea15e0481cffab76c498be0b51da34d14c87849400a2ebc0e0dbabef0789b25ee1c3b85d30 SHA512 c78d266f677ea5713744bc151da009898ee732eac7cc8ee71b38c33d7cdf950163c332607fb4b5efda6533d57ba524f38c5f52c6b48daa8a46d483e2cef3329c
@@ -29,6 +33,7 @@ DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e10
DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31
DIST nvidia-modprobe-535.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66
DIST nvidia-modprobe-580.173.02.tar.bz2 41711 BLAKE2B 4524b0a7c8928c3c9a76b3190adc7e1886fa769a55ba824a6970776b1c28d603bd42125d190e8b0aae603f5d2e5786813c58b538d564894e4c4012de0f0ec348 SHA512 54848c4d7c95f66d6c892716615e6ff4a4ac9c94ae822d8124030d82a792aacfb3a32e9b84dce6297cb95efd66de94dfb967f34769476d0b50f91aa83aa3aa9d
+DIST nvidia-modprobe-580.178.04.tar.bz2 41668 BLAKE2B 9d7f239a3189db7528a5a9c0f2565f6dc785d48cabb5a2d12857d8fc69cc4ef00a1a6c4f1b75e8a0af989b48764878c3cb80b21756a908a1bb2140ab56376f95 SHA512 80ee138546022b0bca3824a563fe5df26f14337e9ee3df7b28917455525f9ef4606d12d5394f74e53089d7ba3955fa077b1dd3702beb5688c4c6b1d6e796fa68
DIST nvidia-modprobe-595.71.05.tar.bz2 41724 BLAKE2B 23a0fd55e50106341a4196af7bca568c96555c6b0583ae41b860ac73ed4cd6d5222709a88768662fd18a2e4f7686ff092e5603497af71ea7dcbebaf50235c54e SHA512 97fa81a96884f4c2fa6ecdb86d513121b00e8bc955b9bea0947c8ab34271a016458e405df451fb6340e4b8243572980b5e7a4f24af2775310d3cae35a1bcee0b
DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753
DIST nvidia-modprobe-610.43.03.tar.bz2 41748 BLAKE2B 057e1bf62a818651a60713a48103841acfa6e008217f45734a9d4d832d1c89dd62ae8838916753941b3f779da5716882b0bf631f3d679f6d483a31c34ea08d6a SHA512 a3875982dcd00bc8f4f1f853e56cbb10893ecbac099ae07f9043a64cf4da76b8246aff75eba7cdba3b8c12c57e62974d48230336325c189bd54ae28f2a7c3d91
@@ -37,6 +42,7 @@ DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a0
DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9
DIST nvidia-persistenced-535.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1
DIST nvidia-persistenced-580.173.02.tar.bz2 62225 BLAKE2B e8f1111175e0447910aebbfce1309c1df1c92c655a957e06ff18fb932b75bbaf42f1b23d5d5507cf87c84e750f8402564daa0400d9203483e493b8c7067221c9 SHA512 9b007c430a92137a914b7b977bc142ad8367e26880102ecf51acc153ecf061c369c94b8dbb87bb23cde5b870aeb31139702a544e7547e00e75bacec4b4a39876
+DIST nvidia-persistenced-580.178.04.tar.bz2 62230 BLAKE2B 387f778b3ec3e48112e35bd3cd3e161527005ff5dc52774755acbcee5e18a1d02f7dd88c7a58d2632863262ff0f4a7b1e091c60caf8f8823d49fe38e3791a0f9 SHA512 2b9e26833e63a81401d3c83c0379f2d86bb0f8f44e1fcbe3ff235739f284a0adf46d76520d802274d8e19df0de656d9a2e9b52dac539ced6ca7bb7b1f4be6629
DIST nvidia-persistenced-595.71.05.tar.bz2 62538 BLAKE2B ebf86357c81689d553d0f1f8a602932ec466781f81402a9bcfd1d4155de6ceaa795dec0ae0b9937b3e02ba2605cc11849bad36847df30aae673fbccb52bc2e3a SHA512 a3fa79468d7b3e8eccfab4f52a6e9240e3d65dec9454a10d350f45e5c27781922bc7ceffcbe6d40d9cf63694d84b4a7678c1f1268b72b821f08d22bbd05f7a78
DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c
DIST nvidia-persistenced-610.43.03.tar.bz2 63321 BLAKE2B 20a35e6706b3a3cd3af7b805c5126fe3be82c4a068a25c0c3d17315febfdd483c714c94b681329b1a844dd5790b86f8db66bdf711fb9690dfba93b20880e46a7 SHA512 abd18c85229ccfe3da07bee9f894d035601ecc7aef63db87329d970715608d6787201bfdf33c849528659831840b4384b4b05560f17f5c643219f1330cd5d78f
@@ -45,6 +51,7 @@ DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf7
DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007
DIST nvidia-settings-535.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8
DIST nvidia-settings-580.173.02.tar.bz2 1133131 BLAKE2B 393e2be8551db1b8c509c446f76086681a89d7dcec3670552cda8b5e84af78a9e091600727a5f0950c78866b282d8f9dc4ba51b85bcc7707288eee9d46c89404 SHA512 4ccb991fa522d5e2833480722bc741905d0abe1226f96f8a2e2a51c99ab1137cf7f5564b50cc55115b3fd535345b11b7bd07fe74c7e356f93b0082b04e880211
+DIST nvidia-settings-580.178.04.tar.bz2 1132866 BLAKE2B d17b698a73be1c1346eb2ba10f50432250b4167cffdc8cde40610f2dc733b9ff6e1ba5214ee0c0509c59e82f6984c1ab686d39379f7a00edba94e45166c6fa97 SHA512 2d336afd1ebbe6272404bd43f8756ac35932a3d7650c6d524fae0d77ee33cffc71cba94f6fe038c001964d5de20d7814d1e6092c062fb9cea946e8b60766a140
DIST nvidia-settings-595.71.05.tar.bz2 1136100 BLAKE2B 8b0af1e7a81b63042c762794c2f8f3094b40c4a9fc845dae9c39b63c02c613ce6893cb2451806ba775df8128b498259435ad49dd4ea27dafccf0c6c7bfcfda6c SHA512 8f7286863e1306cb50860f83aca046bf4743d3c8c72ddb9e6461e240bb741aa7c03e795081d821808832923ba0e736a4676cf137c84adc8ea770c6d0a28d8dc5
DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c
DIST nvidia-settings-610.43.03.tar.bz2 1138062 BLAKE2B 1f820257ecaed293189252d7ba70e943891497a96046be516cd756e8129360c9be325194abe86551e8dd27f66113ce82d81727e813c886c3838ea1b214a91e9c SHA512 918944acfdfd11f799ba30eea10f3de93c6298030e8c86f10270ff6f2f3b7b1c4814d7e595ce008a1fd41f14c8c958210d4f78b3a5db75c116abc8c0827f4952
@@ -53,6 +60,7 @@ DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b3
DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca
DIST nvidia-xconfig-535.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d
DIST nvidia-xconfig-580.173.02.tar.bz2 111531 BLAKE2B f0825338455d511bd2a273e7094c9ed7f1f9e21d7fa24c761d241d2db45e8179cc43d2d6888713aaecc866cc1a0c37e2c35e5f7d9b62af5771db1109f35008f7 SHA512 54a1962fa3ba710ca67e38829f12fa6f6128f45d17e5a0a7a1cca47ca6190caf9c9460459a21549d4ccfe71bc0062769818fb824a218d46e284d2b5011f5abfc
+DIST nvidia-xconfig-580.178.04.tar.bz2 111557 BLAKE2B 0ad4c36edafa3086ccd0189ad0b1768cdddd7159b8bc2153830ec95ec4b06b5d41215dd1c2408bb5ea2a529ea54996d9be952ad1effd437ce7eb82926e56dd74 SHA512 9cb3060e62c56686dab3d6ba75ac42998a5a16ac34b2785d47c15f50df67a85eefb475507fd0a605f4e60203e0cdecbe38a7d8d9e579687cb529d72806874d01
DIST nvidia-xconfig-595.71.05.tar.bz2 111096 BLAKE2B 8b6f7e043319577f0b21780cc88ce189b99123ee079a4e5188e7c12d7d2859776f5d47efc1625ba70542df300ba88bf555e8d4638816322966d04c9a316b5a56 SHA512 bf705b1916633d8dfd4742d94358607901bc843f1280954391d9ee7be98da36f0f895811057b8666f59ab3b850bc6e5bb2bf80a88923827497cf0b5a852db6fa
DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3
DIST nvidia-xconfig-610.43.03.tar.bz2 111077 BLAKE2B a165db53d12a512a6bb0dc86a49899cdcf2b7fd58883a4000637b92e6b9e5d58c6fa5f25b42d7cc28ee1357fb40c45767a670ee0409827baf8e2b75c43e4a9a6 SHA512 81edf463055eb595a6211ce3692c0eb80badb78aefd64151203faf30c753ff5060f2ec19b972531d43dee65f93072fba3906eb081d388f86ccd2223b6db40f15
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild
new file mode 100644
index 000000000000..aa8031fdae5f
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.178.04.ebuild
@@ -0,0 +1,602 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_IUSE=+modules
+inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1
+inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
+
+MODULES_KERNEL_MAX=7.1
+NV_URI="https://download.nvidia.com/XFree86/"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/"
+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-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
+ curl openssl public-domain
+"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64 ~arm64"
+IUSE="
+ +X abi_x86_32 abi_x86_64 kernel-open persistenced powerd
+ +static-libs +tools wayland
+"
+
+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-compat:3
+ 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(-)?]
+ X? ( gui-libs/egl-x11[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
+"
+
+# there is some non-prebuilt exceptions but rather not maintain a list
+QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
+
+PATCHES=(
+ "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+ "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+ "${FILESDIR}"/nvidia-drivers-580.159.03-null-deref.patch
+)
+
+pkg_setup() {
+ use modules && [[ ${MERGE_TYPE} != binary ]] || return
+
+ # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
+ get_version
+ require_configured_kernel
+
+ local CONFIG_CHECK="
+ PROC_FS
+ ~DRM_KMS_HELPER
+ ~DRM_FBDEV_EMULATION
+ ~SYSVIPC
+ ~!LOCKDEP
+ ~!PREEMPT_RT
+ ~!SLUB_DEBUG_ON
+ !DEBUG_MUTEXES
+ $(usev amd64 'X86_PAT')
+ $(usev powerd '~CPU_FREQ')
+ "
+
+ kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+ CONFIG_CHECK+=" DRM_TTM_HELPER"
+
+ use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+ local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
+ selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
+ DRM_AMDGPU=m (among others, consult the kernel config's help), can
+ also use DRM_NOUVEAU=m as long as built as module *not* built-in."
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but is needed for nvidia-drm.modeset=1
+ support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf) which is needed for wayland
+ and for config-less Xorg auto-detection.
+ ${drm_helper_msg}"
+ local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
+ kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+ ${drm_helper_msg}"
+ local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
+ nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may
+ result in a blank console/tty."
+ 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_AMD_IOMMU=y,
+ or DRM_I915=m (among others, consult the kernel config's help)."
+ local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
+ will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
+ set. Please do not report issues if run into e.g. kernel panics while
+ ignoring this."
+
+ 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
+
+ sed 's/__USER__/nvpd/' \
+ nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+ > "${T}"/nvidia-persistenced.service || die
+
+ # use alternative vulkan icd option if USE=-X (bug #909181)
+ use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || 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
+
+ # extra flags for the libXNVCtrl.a static library
+ local xnvflags=-fPIC #840389
+ tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
+ # same as uname -m
+ local target_arch
+ case ${ARCH} in
+ amd64) target_arch=x86_64;;
+ arm64) target_arch=aarch64;;
+ *) die "Unrecognised architecture: ${ARCH}";;
+ esac
+
+ 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
+ TARGET_ARCH="${target_arch}"
+ 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
+
+ LDFLAGS=$(raw-ldflags)
+
+ # the "blob" uses C++ which is an issue if there is debug symbols
+ # when running pahole, there is a pahole.sh wrapper that tries to
+ # exclude C++ but it did not seem to be enough last time tried
+ linux_chkconfig_present DEBUG_INFO_BTF_MODULES && append-flags -g0
+ 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}"
+ TARGET_ARCH="${target_arch}"
+
+ # kernel takes "x86" and "x86_64" as meaning the same, but nvidia
+ # makes the distinction (since 550.135) and is not happy with "x86"
+ # TODO?: it should be ok/better for tc-arch-kernel to do x86_64
+ $(usev amd64 ARCH=x86_64)
+ )
+
+ # temporary workaround for bug #914468
+ 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
+ [VULKANSC_ICD_JSON]=/usr/share/vulkansc
+ [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-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11
+ libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11
+ libnvidia-pkcs11.so # using the openssl3 version instead
+ )
+ local skip_modules=(
+ $(usev !X "nvfbc vdpau xdriver")
+ $(usev !modules gsp)
+ $(usev !powerd nvtopps)
+ 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.")
+
+Be warned that USE=kernel-open may need to be either enabled or
+disabled for certain cards to function:
+- GTX 50xx (blackwell) and higher require it to be enabled
+- GTX 1650 and higher (pre-blackwell) should work either way
+- Older cards require it to be disabled
+
+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
+ newins "${FILESDIR}"/nvidia-580.conf 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
+ strip-lto-bytecode
+
+ 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}
+ pipestatus || die
+ 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=/usr/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 ]] &&
+ dosym ${m[0]} ${into}/${m[0]%.so*}.so.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,suspend-then-hibernate}.service
+
+ dobin nvidia-bug-report.sh
+
+ insinto /usr/share/nvidia/files.d
+ doins sandboxutils-filelist.json
+
+ # 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
+
+ # enabling is needed for sleep to work properly and little reason not to do
+ # it unconditionally for a better user experience
+ : "$(systemd_get_systemunitdir)"
+ local unitdir=${_#"${EPREFIX}"}
+ # not using relative symlinks to match systemd's own links
+ dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
+ dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
+ dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
+ dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
+ dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
+ dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
+ # also add a custom elogind hook to do the equivalent of the above
+ exeinto /usr/lib/elogind/system-sleep
+ newexe "${FILESDIR}"/system-sleep.elogind nvidia
+ # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
+ # TODO: cleanup after 255.5 been stable for a few months
+ dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
+
+ # needed with >=systemd-256 or may fail to resume with some setups
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
+ insinto "${unitdir}"/systemd-homed.service.d
+ newins - 10-nvidia.conf <<-EOF
+ [Service]
+ Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
+ EOF
+ insinto "${unitdir}"/systemd-suspend.service.d
+ newins - 10-nvidia.conf <<-EOF
+ [Service]
+ Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
+ EOF
+ dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
+ dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
+ dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
+
+ # 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 and 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"'
+
+ # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
+ # our settings are used for bug 932781#c8 and nouveau blacklist if either
+ # modules are included (however, just best-effort without initramfs regen)
+ if use modules; then
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
+ fi
+}
+
+pkg_preinst() {
+ has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
+
+ 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 "\nCurrently 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 "\nDetected 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 "\n***WARNING***"
+ ewarn "\nYou 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 "\n echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
+ else
+ ewarn "\n echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
+ fi
+ ewarn "\n...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 "\n[1] https://www.nvidia.com/object/IO_32667.html"
+ ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
+ fi
+
+ if use kernel-open && use modules && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
+ ewarn "\nOpen 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 ver_replacing -lt 580.126.09-r1; then
+ elog "\n>=nvidia-drivers-580.126.09-r1 changes some defaults that may or may"
+ elog "not need attention:"
+ elog "1. nvidia-drm.modeset=1 is now default regardless of USE=wayland"
+ elog "2. nvidia-drm.fbdev=1 is now also tentatively default to match upstream"
+ elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed,"
+ elog "fbdev=1 *could* cause issues for the console display with some setups."
+ fi
+}