commit:     cd5f6c0f60f68ebc51efe08797b9c267a64a188e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 12 14:41:02 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 12 14:58:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd5f6c0f

x11-drivers/nvidia-drivers: add 580.76.05

Keyworded given no longer a beta and marked as a production/stable
branch by NVIDIA.

...but I believe it's still on the flaky side and should not be
a stable candidate here (works fine for me, but I keep hearing
of all sort of issues), will likely wait until the next version
to consider this.

If do run into problems, please use stable 570.x instead for
now (ideally not 575.x, that branch is dead and will be dropped
sooner than later).

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-drivers/nvidia-drivers/Manifest                |   8 +
 .../nvidia-drivers/nvidia-drivers-580.76.05.ebuild | 587 +++++++++++++++++++++
 2 files changed, 595 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index 44d4e84ddecb..63cb749506d7 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -3,6 +3,7 @@ DIST NVIDIA-Linux-aarch64-570.172.08.run 290144917 BLAKE2B 
095a9362f8729f854e0a9
 DIST NVIDIA-Linux-aarch64-570.181.run 292998832 BLAKE2B 
259da795e0498b379b663fdff6b120a5bc1d7851b2f32803d87e8ee42e2c8e52158c7fd98aa0ecba2507512361d068e033305d383bcf0cb218dcec1dd9bd988c
 SHA512 
ef49d7572eaca2c2bf2b8c5b53ca818499b9f622d4aa4d0601672173571fab6559bbbb9ffefbc2247f51ec33837d2a23e11bd9eca7279ba1402540ef6ad150ac
 DIST NVIDIA-Linux-aarch64-575.64.05.run 304943447 BLAKE2B 
277aed01ab2be1cbbfe7780c4cb9dcbfaebc69824ba4b5a620113829f713d5407829769c7fab224f183656408944d9d6c4dcf6400a333c1116a89d072eb79223
 SHA512 
0b9b9c6b3316723fba4549fcd346215e5315a7b4c80196f0cd9ada9ecd6a23e8fc1691ae8bda5b246a3c44519cc7f503116023ff5427718fbffb67fe49a12a75
 DIST NVIDIA-Linux-aarch64-580.65.06.run 315886352 BLAKE2B 
337c80f460a5ba215f52c201670ef9cc4de96100324e7c408136b57b81adfd0487cf380edd7e62ea22f34bffc4d2726ec5402379279ffc85f5873d270bc5538d
 SHA512 
c4f2902412e9f47006e50c7f687e8f3cfc4580877c945b5da35c9e3a00f5e72eba8b0aaf250ff51d382fcf611177c9115f72f23b7858a520f0a7e1b27354d3e6
+DIST NVIDIA-Linux-aarch64-580.76.05.run 313061150 BLAKE2B 
f4a32cca4c92ebd2ab43aba0a6fb4fbf86ff5442544fba4fe48d49d9b283213a0e552c8fd94e96163f8eaa93a6dfe9e193f644a19377ea76527f112db7665d3c
 SHA512 
3f2f7a223f083e75178de9773b12d6945c89273b162defa251155af1d6f394b447bc51c13099b221acb2a80576362ea0aaddb10ee66bf0ef8bd25d0b5a1a47c8
 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
@@ -12,11 +13,13 @@ DIST NVIDIA-Linux-x86_64-570.172.08.run 375905456 BLAKE2B 
58418e039f378d78950345
 DIST NVIDIA-Linux-x86_64-570.181.run 375778425 BLAKE2B 
e448f20117379c3428e1dd322e369e5d396c3471b0ed99b9c88492917e273f0f169d2f69bb380d2f7dec9244284e8612b2359f0f51efee51705fca5144f31bdf
 SHA512 
5c6423554c634eb22c286689b28cec92262f36180bf264df83b0526df9923e4f9f9bc7b835a9082cbcfbf7b7a4621c0007b784bd79303bfd6c3fbb03dd3ce53e
 DIST NVIDIA-Linux-x86_64-575.64.05.run 386961985 BLAKE2B 
d8b5e5cdff3d2166c4fdf8328ae22bc4419509144ad0427b17636696e7398240a3601ded850893412198fc0d4ba76e72a64ed31d6ceaf58149d83a741ad62a05
 SHA512 
1f5ea98478c913b044cccb25934e12d58561643b83074e5967d84126baac9a5ddc092a6ea017956957abae174520718d747415d09c6fb2da110de51629df98a2
 DIST NVIDIA-Linux-x86_64-580.65.06.run 393832804 BLAKE2B 
2e27d607f0a1fdf4112f4f9debbb3afa408ec5550fe6dee8737a3b319bda7e03ee7f67ede8b23823e01ce5006f7f41f772da1c9c439e8ae52cd24b0c390d0db2
 SHA512 
e9149873cc83c250f601be58ea919cbdc891773157587366d78f505ee1db96bf392bc5e689d39ce8fa339287699118897b8d6eba2b2a9caf163126a9bb2a6044
+DIST NVIDIA-Linux-x86_64-580.76.05.run 393683997 BLAKE2B 
b4b37e036f936a395092de722ce0774bd6d23d558a841acb3524bded3fa96fac7a5225aa264f34e1e6d8ab5474f73c60922c5a59e4dbc1c732542e43093eda18
 SHA512 
109b11c10445e24d94fa00495d8d117e7fa866248c0c33e213e8bf3de6c3d264581f1feffa4837c1efe2b8cdb1b39b96b35d58ac88850b59de7b8ea28ce6282c
 DIST NVIDIA-kernel-module-source-535.261.03.tar.xz 12521372 BLAKE2B 
214f52874a3cac43ad135e57577f8879b605d67d4cec1756ee2a5ee3986568ce621bae603637fdb9ff0be9295e262a1f14f9dee6d871737bce02ea163aff7505
 SHA512 
346b12fdcd1a7b5b8067e6cee6567f4ab2a89e8d246ebec4ad0eeb6dc91782c701b9b4d7ef4903c2492726fc8c242572a63a3cb8a06a9fb4a6039b65ce11b8ec
 DIST NVIDIA-kernel-module-source-570.172.08.tar.xz 17948096 BLAKE2B 
23220805e6555e556c99659d9e17f5ab822b0e221cdce2c2639377680fdda9267eea200f7ca579d28497c89fa2167d524497e4c53cdcfaa20a1b0d7eb3aa7522
 SHA512 
969158a46d70b23911f77d08832c6b307503988bf1cee0b2a0f75a49612d447c23ff1fefa3eac373b53b79475f87f3470de7df72a395fdb8cd57eefa51bc1ad8
 DIST NVIDIA-kernel-module-source-570.181.tar.xz 17932976 BLAKE2B 
56c77d3819388af54873bc6b8edcfcda97959996c1f3e61982a5143b5c84f3139af78a478d9f54dc96de719951c9e0b77294174b6aa6fc8af669de115cf72d4b
 SHA512 
3180bb89eeb13ebd1a032bca545d7de4b800a61bb7e36f702f89b3c76f1612f4d13546f224574d343f72babd3e908f4922642bbdc26cf8baffd97b11e248b78c
 DIST NVIDIA-kernel-module-source-575.64.05.tar.xz 18198316 BLAKE2B 
622781dfa93ab11993a4cabf14e2104ae7fffa0a16ca504a1257ab9eedd832128dfe73a0b9567a4401bbcf83416305794861cd18c393797ab8d43af0c26cbcc7
 SHA512 
4cbe2e2d78eab84a8a0153f68ab6b1fefa75225c145b3bd9db4fab9d0cb212a4202a89d0e6d0f2d0dedb5663389f7c9ed6cadb6a656eb32dbde0cf0f806652e2
 DIST NVIDIA-kernel-module-source-580.65.06.tar.xz 22167352 BLAKE2B 
a96dbadb18d3e4cbc4acced86c5fdcc4a57e1bb1088a70b9b22cb07d50e4c4501db6479dc4b2c8c6db390a99fe94b9087ab4f7955c67ab50c08966f7a1deb814
 SHA512 
c0e5c63529488eadaeb8added44aad8c0bd532c1aa9bfa1c3fa4e37251b225fb509ea7cef6526a5ae4b82c7f6d331ad7243d479c4cbac1510b333942a55171a2
+DIST NVIDIA-kernel-module-source-580.76.05.tar.xz 22192720 BLAKE2B 
421529ddce1e11a10937ee71eb2fb2f59150dc3692fbd001288fc72d072103ca06353fad1f49d7d83f5200d15ea561ef8f9ef6713324ce250242ea0f1adaf529
 SHA512 
4e672558aea0d690e4be8d85f1df27b1ff1de38818f2cbbdba0bdd8fec3bd7d5fc9d50494e9254eb7190c918f8cefc4dfeb1a5cc1d2bdbee86b2fe8412a31385
 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-535.261.03.tar.bz2 148694 BLAKE2B 
e113e3a548f5cb562b064f97f3f81dad952dbf8acc9158a79caf14d0868bbc673ed2b5038f51361243547792a044f8d7306c69f5ccaa36717fe6de0ae39a89d8
 SHA512 
4f899eec7ef869bf9b89732bc29a1198792a4b984d308908d3b17917d4824425640ac988bc04f0eb539ad4eace38e7462f204bdb9cc6a6ac583c2e8b6e06f8e5
@@ -25,6 +28,7 @@ DIST nvidia-installer-570.172.08.tar.bz2 169388 BLAKE2B 
44d0650e1a7cef00a47b828d
 DIST nvidia-installer-570.181.tar.bz2 169408 BLAKE2B 
bc5d33bfd7b380e5612e264636b1efeec58479fe2de579a59136770cb766349bb91e6cf8d0a45e4f3e90bd76290b1c1f07f3bab1f6e11d0728c23a27eea2d85c
 SHA512 
2e2a50933291ac40627c5b042473759e75c493e2634e2fefa6ad33d36f1393d2ad49732551048bf0c7a192b4b2cf1dde53842735924480d8bc3015e557fb1b17
 DIST nvidia-installer-575.64.05.tar.bz2 169369 BLAKE2B 
ccff48e41296d6682c72f3d25eb7d7816dc83b4c6f279a4f5213db141353772d78d8ff3e23f2fb21ff8ce81a326443d12c3f05792fe1971b1fb54da764140065
 SHA512 
5033e40762b499e9b04a080942656a0c9b49e8f56c4a8236da38a587f8e13b3935f75e8c8dbdffbd0ef895c537a69f51ce6df7e6beca7be583aab09ed62faf09
 DIST nvidia-installer-580.65.06.tar.bz2 169402 BLAKE2B 
8787cd296fe691098aca20a798530b639f02f9a5dfd03209bcae4e549a269744754c6af3e47cb238c1752b339f736a73847ac71710f88cc12a3989b6e38c9f74
 SHA512 
76fda68916b650918df5d8118b642887cbe54dac8377dc597c3a1827ae8ea7532819527fed0aa7e786eb7bd40d4cc9dcf44d135135c83cdcb63683f04eef80c9
+DIST nvidia-installer-580.76.05.tar.bz2 169100 BLAKE2B 
8f5fd7a312216cf87facca4ecc485482759e6f352a66d78a6c2a8a3fc544351321d57a9d5ce40cca0e4647efdb720e986326a91d733297998afe945dccf7c77a
 SHA512 
c478a5d1e2c7a627964f65fcedee1afca3cd70e916a36d1aa232d8425ddaa51612b35ef2cbe406dbffbb62c3207e422f500980f28fed5b157f190a07f8b9cdd8
 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-535.261.03.tar.bz2 40757 BLAKE2B 
96ecb65511ff1ca033768f1f86e10e553bf686ff42c7f995a43c0e111ad5ddf97bd7b6fe439e5fb207f9b765e2200807703489815dba76599adaa24e4fd1bebc
 SHA512 
755ec96dcdad34472f884383d104aa015ac5b964cded12046316f4dbd033ca723d225026866b59d0637294ebc185706204f889403db37552dd7d716467aea37e
@@ -33,6 +37,7 @@ DIST nvidia-modprobe-570.172.08.tar.bz2 41640 BLAKE2B 
7055228ef51da259fc93bd2047
 DIST nvidia-modprobe-570.181.tar.bz2 41624 BLAKE2B 
38dced2130273ca7f4509263a2a2c42136c504fe4c7d2e935a0d9631ca1cff8b93bbca25a48522d2ead8d11e144bc7b4ddc7df30850b4d722ba45b45c0c2ccee
 SHA512 
a4bcd6f549a1b3b2fad0e984fb2e1de56c4f7ce007a0db851887857282cbbd58009988fe6d89f47334395417cf4408548999e8129f84bd240e92dffffeeb9c6a
 DIST nvidia-modprobe-575.64.05.tar.bz2 41721 BLAKE2B 
9b8a6dda556389abe0c2bd81ed3edfa8142f773832b7d955385119b5fd525cbcfd3c01401f471ccf5dc7ce61100ba6a3c4504b8eaf86ea5b378d20a6046ff7ce
 SHA512 
221a0469a974c7db3f3c489f2637b6eef68e614c5ccd3e94c8cbe1b8841a6e9a4f0e2f05642b6c9f7113efe3c211076ac31578e9587df26b76148a198d21cd49
 DIST nvidia-modprobe-580.65.06.tar.bz2 41680 BLAKE2B 
20ef65477baf17c761b934176b3df4a8a0e67531c1710b693e1d0f0d2554fbd1560c07bbaba874ff953917ef8d0d053d447c6bf5ea8ce2eb3ccafab5d7203ef2
 SHA512 
a314a24402cdc49fd1932f7ec4f687aa29682d723bab185d770579f1a374dbebbdcbbda8c3bd33f53304b3c10e3402f1a58c16c00382ddc7a456ee64c9baf8a5
+DIST nvidia-modprobe-580.76.05.tar.bz2 41700 BLAKE2B 
3aa8f017417996377ec37f8d5463d258d392ce5e730139dda188a84c53efbe3c0e8f2daa3c496b1c87c834756bc4776551c8b021638c0b65c6453c672cf81fe7
 SHA512 
cda41ae9fd3c96ad035c1e2b882f342873c8c59b4e9fb24e0afb57d12c856cf0f589a4aee2def66e54a609380326b17570f96ce20140767188d65efff71bf67c
 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-535.261.03.tar.bz2 48574 BLAKE2B 
71e6be9fd37da2532219a025293a286d87efa31c7fb1d2827b859688f0ed433ffda848a8964980f08d61e74b888b81e694ef8622231642e46e800a346890eb9b
 SHA512 
56d079434e18397516ecf7c398f242f5a3a48781f0ed8fcea30bf844c7bbf5b2618c5817f2df7032670a99cee4f93fe0e7798ef6bff7545e9824fb34919e38d5
@@ -41,6 +46,7 @@ DIST nvidia-persistenced-570.172.08.tar.bz2 61946 BLAKE2B 
e15575f73d94614912b582
 DIST nvidia-persistenced-570.181.tar.bz2 61808 BLAKE2B 
840e248505a199cc76bc091ae679196618eba3710a29eb7ea30249d22d12a91f62555be97ca3cae28ab0573d72b5e4b26d49c8202d0439d407260e4b98278d98
 SHA512 
6703b19d06f281bd4df01e64e8d1a17319f681a8826c32b1839363f5ebf53e64da625350f5bcf4887832f18a9f9127d1b749f2419650caa1ffbd68c85470f067
 DIST nvidia-persistenced-575.64.05.tar.bz2 61961 BLAKE2B 
fa40aea873a30e7c500c2abe85a0ed7e278e4e1cceb2be9fe370752b3e44bccfd94e15e42df2f10237bc02015545b5b31ecdfbfd84b4f0400d56484a69ed96b8
 SHA512 
77a6fe5665bee6225433e383fe3016a667241e0772223d978ad42df40c8bc77207185c47961859ca9d334bebc7422d1a825ddf58e77d4caa630fcee1ecc5fa54
 DIST nvidia-persistenced-580.65.06.tar.bz2 62200 BLAKE2B 
729523f9b5c469949446d0852fef66d404b46251d51680adea9791d24ffc4484d8a8e46256c7dde7fb3c9cb2ab7ba078dec14245778952848562a544944040c9
 SHA512 
b0f8e329328eb80fd600c711f8f16f1d35dd3deeb1ca6c740b02c79aade0e5d0e4bfa98892a67d1306637b9998aa3ac423e479a5505b6b51d1270ee9b06f528f
+DIST nvidia-persistenced-580.76.05.tar.bz2 62194 BLAKE2B 
35201de796378644162308562472a799d361f5b0756235e0e6c468744bfbba832a5b91b6a505fd1908bc9d08562b2623ba9f300b5680376cea372e1a1860fe61
 SHA512 
3a26b4a801803fc60e4501fe2938e0f27f5be573db5229e1ad9281012faffe248a1fd21a5585e6007aa8242f0f2b886a673488d9a47a163bdf7d142e381ff4b1
 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-535.261.03.tar.bz2 1094587 BLAKE2B 
3be599e733be97e0a23182d9bfc2862a2ff1d386a8339a34f369ac3e7a29b951ef7c900424502b31d8a50b8a5571c440ba6fd1314874a5ca594657742ef0aca1
 SHA512 
418f078caed68e9d1feef10a3a772fb9a265fac5a74822e2637c0b8bdbdc43629a8ced83549ee1c237b327490783d7da59e749f3c284a17edea2bbab62462f68
@@ -49,6 +55,7 @@ DIST nvidia-settings-570.172.08.tar.bz2 1124326 BLAKE2B 
7f47c998b914d15af1612134
 DIST nvidia-settings-570.181.tar.bz2 1124398 BLAKE2B 
9f1df84900e763af0e88f0c2c475d0f9a96f7ef974e3fd2dfe702ee3cd9636fd7f6986e9779b3c083e9b979e8cca133b14bf5481ad1d3c16365ecc0c0f0000f6
 SHA512 
fcca18c216f6d8de1167f82cb0f170ef845f0a85d279a3e851cf5819c3afb4b18ae8f864a89009709d925ccb7a756e02307b67bf8aedd5cddd45de3f5b399be7
 DIST nvidia-settings-575.64.05.tar.bz2 1127714 BLAKE2B 
935649b61361ff9b05f34ba9770704eb945134199edbb17d2581f74188f8b122009b6d4309b225c375fcb80f26fb6a82c9528bf22e5658c5856d1752bee309bb
 SHA512 
3e3df016f1f6b34a802d872c67a9f1c0db6d38c8265343eb607c71c59bf5597c7378800641b1152af404ebc0515f8f79eff1ee0e81b87b84ff7a237c176526f6
 DIST nvidia-settings-580.65.06.tar.bz2 1130649 BLAKE2B 
b61ba9175db6bf25db878c40f5c2d41fa05f2422b6d93bbfa413e4e8a3edc2fd245fbd8431bbd9c573bd023dff7a2fac0bd1408ce50465aaf0d1c956cd5dbe46
 SHA512 
f32b2d667c7273fe4557da128e0bb26c4658f279f770e243c85081d572bb716a9809c3ad5fc9253f269619aa3b9cbf20afadbec290c02dd9bf621d25b23e662f
+DIST nvidia-settings-580.76.05.tar.bz2 1130706 BLAKE2B 
3a20ef61a2d27ec30555242358ca05965b67235b8baacb6af01a2384f837a9823bab7e35659e29d42a2487ec37a878a68cd07e6b074a1a0365bec53de09e4887
 SHA512 
89dbe0f4ddddab44e29eac441789cd55a2102d1986339507b57123795afd8f7faf50d500a41167bc2ba4159339d775eccffffbb1252f7de2d51f85fcb078665a
 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-535.261.03.tar.bz2 110637 BLAKE2B 
aafefde5e5079401951432072f27f6500bf3a4390e01b83e46b7230c75b05cd5806fffbde98f8bd8a39afe1a27bec0f52e13920fa1fd156d083b6ef81e482edb
 SHA512 
4c0ee56495dedb08d6ea0e452cadf02ebcfffb86e8649c9b7904285d5dd8959879a1e00396d1560253c755c9490643458e737afcc0613c0c36dcd37411c76607
@@ -57,4 +64,5 @@ DIST nvidia-xconfig-570.172.08.tar.bz2 111153 BLAKE2B 
ac099f751dbd81c062667eb6fd
 DIST nvidia-xconfig-570.181.tar.bz2 111274 BLAKE2B 
864181bae415b0da164b7d229b25fe0fe963f2e0b89fb0f92c3d799823d6a961b55458e2c6ce80ee3a991b3af387286a0e3d25afb5a90fe1dce8abca77ee2c9c
 SHA512 
44d1a17187f88570382073901b7e64332156cd99a916b5ab483850df496fcfb4f9980bc323df65f73cbe65c32ff70995d00865155ef05b28cba24378fc49accb
 DIST nvidia-xconfig-575.64.05.tar.bz2 111165 BLAKE2B 
87b272e12b63e6d4a393b76e4ec4c47d1433caee1e73ab50c3da8b1b3cb4ece0d0adad3e6496df4a81c0efd8aff67f8afa5de192df24cbe4ae7f8a4b86d674ac
 SHA512 
00dfe0cbf0fb1131391a38b2d1bd95e52ac90b77cf19b76cb6cd6d0a3ef83c5020ff5dd8e08f8d424a7b32338e7752675e1f700392df7efd2d9b96bbc8072541
 DIST nvidia-xconfig-580.65.06.tar.bz2 111555 BLAKE2B 
0939b3e50a6c64ef8f436f7fa96aea1320a8b74b507feb18f0ec1062b07fe476ce46f121d985d03c10893a61e4f22caca218c69047b99f3a451b98bacd95439c
 SHA512 
7a29708c548e8ad43d74550c579e603fa5936c1439a46afe97ab08d810a4d0d91527f26e55e03104bb351e765e3c2ee2905858e0b99d4b43d514c15992cb7d6a
+DIST nvidia-xconfig-580.76.05.tar.bz2 111510 BLAKE2B 
b483fc6a8d8285a35d45946d2836f82dd96aacf005c67260a6db08b311b5c21ee538c428f8280429f0f6af4d0e7fc38278e239d1654fc5827b3d6fbedf5e5fa6
 SHA512 
9daf8f8a00eb7317a3e73c6d1398fbb1154e58c181be5e6d83b4fb3c1c7ac2c50aade9192985ccfe9df08e5c7fd6c27ffaa499b8b62ab289603cf0d294517029
 DIST open-gpu-kernel-modules-570.123.19.tar.gz 18685718 BLAKE2B 
67503cefeb07be00ef16eb2d3ffb1287dc1f460f1ad908526046795cdaf2662fef01affcd23a957e97610560d8380d42c0a24d916a4cfd09d77d5b7f1ebfe7da
 SHA512 
88bb3db9f8d38b03a92f60a56ff31b1c27695151fd6cd892d562fc9e31adc8303d54e35bfca59d368ca8d0fdb847674d3b4a240aabed476d6e89c8dcdbbf2d2c

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.76.05.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-580.76.05.ebuild
new file mode 100644
index 000000000000..8581cfa94165
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.76.05.ebuild
@@ -0,0 +1,587 @@
+# Copyright 1999-2025 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 flag-o-matic linux-mod-r1
+inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
+
+MODULES_KERNEL_MAX=6.16
+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"
+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(-)?]
+               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="
+       app-alternatives/awk
+       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
+)
+
+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 powerd '~CPU_FREQ')
+       "
+
+       kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+               CONFIG_CHECK+=" DRM_TTM_HELPER"
+
+       use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
+
+       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 
needed for Xorg auto-detection
+       of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+       ${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, currently off-by-default and it could
+       be ignored, but note that is due to change in the future."
+       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."
+       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
+
+       # enable nvidia-drm.modeset=1 by default with USE=wayland
+       cp "${FILESDIR}"/nvidia-570.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
+
+       # extra flags for the libXNVCtrl.a static library
+       local xnvflags=-fPIC #840389
+       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
+
+                       LDFLAGS=$(raw-ldflags)
+               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}"
+
+                       # 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
+               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
+               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=
+       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, 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 "Note that with USE=wayland, nvidia-drm.modeset=1 will be 
enabled"
+               elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience 
issues,"
+               elog "either disable wayland or edit nvidia.conf."
+       fi
+}


Reply via email to