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
+}