commit:     230f091f451f3f3f1415844fee39bbd48693792f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 31 15:56:02 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Oct 31 16:19:55 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=230f091f

x11-drivers/nvidia-drivers: add 545.29.02 (newly keyworded NFB)

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

 x11-drivers/nvidia-drivers/Manifest                |   8 +
 .../nvidia-drivers/nvidia-drivers-545.29.02.ebuild | 501 +++++++++++++++++++++
 2 files changed, 509 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index fd18f4d8e4b6..840533d7bbea 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -3,6 +3,7 @@ DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 
742feded05f659fa9965b
 DIST NVIDIA-Linux-aarch64-535.113.01.run 269687456 BLAKE2B 
712f7d18ac566338fd87f57a686bb66ef987a1a1a244271be398f5b4566ab746e52ed9c65f04daef858b996fd3e1a12b70c0262dc28afa658764d3b27d7cd1f6
 SHA512 
b096ffb63d2f113bb1ac5a8cec9a79a643ccab7fc8e9b20e547d96bda4960f0bc70fa2be806d19d47eae5fe2ee6e762e0638f1600ceb54744f46af38251a7f73
 DIST NVIDIA-Linux-aarch64-535.129.03.run 269691457 BLAKE2B 
b621d0347cacde195b7c4710e1260bc5e134d214c821be10de3cb36e69eb0c8aea0d1fb0bf7b7d109afd7ae38080abc10069f8032b411606db2f37b87fad799c
 SHA512 
706de7e53b81f909d8bc6a12a39c594754a164c49f5d23c7939dc3abcfc04f5d5b12b7d65762ae574582149a098f06ee5fe95be4f8ad1056a3307a6ce93f3c00
 DIST NVIDIA-Linux-aarch64-545.23.06.run 255875887 BLAKE2B 
83be798d96f5ec23e6008475d71f2a8ce5fe68f7271bec262d775d3a4641317ee83a6929fd07745946bdac03f39aced6ccc1778d1349185cc835efbe20f92db0
 SHA512 
0de770e0871a909f8738acc14eb0eca53a947201cd5acd2af7852f93fce82a6e0de3f52309357a3777f1041a902be9790e7a1531437108d0eec6897f6a62501b
+DIST NVIDIA-Linux-aarch64-545.29.02.run 255825777 BLAKE2B 
039d6cc9857be1a7cd02eba3ff38d6c2c32e72dd04b0aad48e05c95c50365a7aacb7253c6ab25c412c32f703992f7f39cc835fe315adbfb1b4275f24ee3ff8d7
 SHA512 
4595756a74a1afa8a1a1d6ea29d74be667038ae7b9b06764296a0f3768b567a13d9cbc473185113f10e3cdd0ed3c7bd68bd29427773b28ad2b91674f78b8e528
 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.199.02.run 273256770 BLAKE2B 
5ceca89da4b4c7de701602d3dbf26e71a1163be26e0e5eac65354ecd40bfc8d68c981a6ef75b13e95079835c95ef7f9e10e5f95a0ed09beffd5bc22cb81a5330
 SHA512 
e1265b6266473af652e9d7bf85dcd76e312af281c5f4f158ab322e34d378738acb87c30cfff7bf1f6e1b238883e7f665d9fc5151b1e0078dd9aece5a52655405
@@ -13,10 +14,12 @@ DIST NVIDIA-Linux-x86_64-535.113.01.run 341515532 BLAKE2B 
2fe0564771f14618010bd1
 DIST NVIDIA-Linux-x86_64-535.129.03.run 341660534 BLAKE2B 
46c79bad145524098b246e70294a9f9a513a8f0890b7ea57d9fb9dc761ae858bb69b9dd9308075ce80081e4dd28fb9ce9b336a2bf6280393b7d4c903f808d38c
 SHA512 
3d7142658fe836e1debf7786857bdb293490ef33351e9b7d39face245fe8596b0f46052b86fae08350fcda1e2a9fd68d7309b94e107d1b016bd529d8fc37e31f
 DIST NVIDIA-Linux-x86_64-535.43.15.run 341023520 BLAKE2B 
50964ffbb9a8dc5518b0302e5bf0e63ee18b2e9cd8fb3536fc4bd2a7aee0568b8211ea018b86cec4a092c56eb15bc40c36de687d3a72a711ca865048eb827cf2
 SHA512 
3853be4ae890d1e8e9c21f6a6aac9402eaf3a46b0b775baad944e18a3d02be3d392c2fcc1414d04749310fdbab629c5edecb709fbab19081dd9993122670371d
 DIST NVIDIA-Linux-x86_64-545.23.06.run 324826559 BLAKE2B 
5cdf6f9c0ddd43a57e0d740bf027a98d003a0a44b07a920670439e3c218e2c4385667b86deed60afacf567c186fd5869a80af4fa4498a8724d0548e407b98032
 SHA512 
5b36accd10b5d5768ac6c6865148c750485f24ad4346f9f2f7e9d7d323297b0b5c5e7369bd8b82bca10e3d518b0ca820ae4865df8beaa49eb3fd5ad184702194
+DIST NVIDIA-Linux-x86_64-545.29.02.run 324785376 BLAKE2B 
b9cdad9d4e2d221c39b845033929ff5a02784cd97f9204315204707fdf48f65761bca9fb69449ecd0ef3e608f2bebb8d7df4ed7f993efc110257aaf0b8e019f7
 SHA512 
b3d31d19f2912e4926446b609c07f181fae00b1dc4b025ddb52f8c28a1f14904d29ff6514fd04c734776bec82a351476009d60be9293968fbea7dc62ed580de8
 DIST NVIDIA-kernel-module-source-525.125.06.tar.xz 10100204 BLAKE2B 
1a7a9f56be4533b8106df25ddf65cd7756cde11fd3e01f96f1f34c7d18af764fcfefc1cf980fed6c0e586e614ccacef9e2cddbabb87c7d7f06a1b27d94f63466
 SHA512 
1319a2333988795f5b0850cfe769ab0f4c4364bdb516147b85890abb4695aea2553ca0febf9cfcf2f8eafb4c05c3e21f56356ad75e64416c9782b027495028e6
 DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B 
a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f
 SHA512 
58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
 DIST NVIDIA-kernel-module-source-535.113.01.tar.xz 12469512 BLAKE2B 
832d1468a35d9d5677b3fdae30a7db7518173d9b657124669634380568b19ea63659fbfe07f06e82dd8f77331d34d34e8b1a7505e8875594ee06426407528f8c
 SHA512 
a9f1bfcb01c8ccf80ceeb2750111bbc7feec8c0b549e115c7afdcd7f3c8814d4591efa10964e8c1d2e82db38a7ef1cfe9303983ee559435211b8aff543011475
 DIST NVIDIA-kernel-module-source-535.129.03.tar.xz 12498528 BLAKE2B 
908d77fd438c40c31b96ee8f631dd8ca4f60f0ddf7523dec434b76bd0ae983267d5a2d92cd84c8918cd821d3022dbb14bf87e1e3ffc00646a439ae0b5498dd50
 SHA512 
9e6af58286193070eb4b53a10ce35834b118a4bd27c8f22faee1d869d70ba28cff5bb2d650e16b5d395e2b6487ab0dbec953aefae33967e60bd3634c05f8b800
+DIST NVIDIA-kernel-module-source-545.29.02.tar.xz 12630960 BLAKE2B 
e99f348ae25ca4859fb30851ac77087266b9bd513aad1874a498f91b7cf5455e9a62c55f9c703da911284fa3670668ee9ee14c50f86b3e2208b010bca8d25f34
 SHA512 
30983da73b0a354a708db5448827afb37828a5155c0e17ca92bed4042a92c3e98df9b52f211e590fcdec7cd450d2c6cfe1886aabce812e303a476215e128ddd5
 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 
8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524
 SHA512 
93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
 DIST nvidia-installer-470.199.02.tar.bz2 146367 BLAKE2B 
0b49350a884c1e2e39fbb3a393aec0e00678ba84d8f15b3a031628593724ec2a91b162075bcb282d2d2efdc199f8c58bbd0a3c2657592bc548d4c0ec35101518
 SHA512 
e3a2bca22dfc8618a52e5b188bc76718bce0d5a09a136154fbc664aae32c54a6bebaab279f7830e36116bb93e514e81b845f5a7e745dbbdaa0cc6f9284dcc3c3
 DIST nvidia-installer-470.223.02.tar.bz2 146233 BLAKE2B 
8a9b1396289a0a9ca381084e9e4e0256d8b05e12f75b60ad324bd3e9f1797126a7149631ab081d1abaa74727524d372b6cc4fc99fa4646a366bd34e889116534
 SHA512 
ba7121ece68b5596238ae9b15b51fad8f753144859e314ea3b25eece7b583b86cf1d4e0c777152a4ba74eefadb6c3005152096b0049f7ba273ca06e6581ffccb
@@ -25,6 +28,7 @@ DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 
982e1a95bc255b960913cba1
 DIST nvidia-installer-535.113.01.tar.bz2 148653 BLAKE2B 
9a2d39a2a2ee7a9af872596e3d6b735fea0d3e24e030bf870cec0849cdde747acef8bd4daa7864165b0c30e99c8a53528c42b43789dbd7824df4249ca4969370
 SHA512 
397e982833ef6dcefb21fd4866ca4b52d33c3b5da0beb43fb4a5dace422d88b0742e22ddf8b2988d1cd5ffadf30f7730ed70d0f243e9d319ce954e205dae2a00
 DIST nvidia-installer-535.129.03.tar.bz2 148633 BLAKE2B 
9c833a934e636780bea3788e0060163051728534e206e17b5b982330a16587a340cef5710bf17c0fc74a1656393f894132d7789f597ebad26d6ddcb64e1874a8
 SHA512 
f44cd835b727572235dabaaaaccc4d0ef38e01c6b7931ed306718ad9838c7dc95c72ff4876ebcf3ad0ad2527d03341f4375e2f6addb1e494dd99aea6a7819f5e
 DIST nvidia-installer-545.23.06.tar.gz 214792 BLAKE2B 
d35f4b385e8ff85337ec683db451ae7e8d29b3afb33123154d8a8377764b618060875a9e3145d301f3819ebf57bf7af6ae351bbe0d8d6dd12f7abd6bad135d6b
 SHA512 
a3750f271c30c9407ec517a76bd647b9b1f96f458e65cd5bbb341964783b935dfbfde967c073f9ad4ea32ee66389b43c6e63858e6c60bda618880edd5ba3593a
+DIST nvidia-installer-545.29.02.tar.bz2 154789 BLAKE2B 
5ff986006b614b512b8dff0cdc66cb3fbd4c0a1fca42b3d996adf6d96cde2823d553eef330785241dbec4a89bddc1d8dbb0b37a76e0fb24881edc32d1fd82ab4
 SHA512 
2c31b4860abf94c7ab0dbe8c2e7a22542a9c69661e3e7c1d2c25a80e7e5b312be6b2f8d861ba356b42adedbdd45802a014ed672553f8a685414f2f8c7fa7534d
 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 
80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c
 SHA512 
109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
 DIST nvidia-modprobe-470.199.02.tar.bz2 38786 BLAKE2B 
e72ea8d97f94c804411bcd8ad52653bf4a00114c4c65822a006a28076a51803a39b7168273c46cd0391c094837593ff8bd415357541fe73222c9c87b554e0798
 SHA512 
f66707d1e754d55ebc109d0d03f21143f5702d42ab56785c451b93aa577007de99526d453d732e32ddd273647e041bfe4cd5f4305c7535f2420bac17878c843d
 DIST nvidia-modprobe-470.223.02.tar.bz2 38796 BLAKE2B 
f3d7dfaa21a2d65e0ef18144c00342b85dfc7d1a0bc8ae6d242139da5ec6a99ab65cb28ee559db3e6df6c9d5c1cb31185608a8b8f95c716ae28279972f0892df
 SHA512 
e111c75c91f0369da77eb1793be93e785b9f658c537f5af9e1631370d66a6328d464aab13c788d02bf5f9ff7977e76c97aea9432b70f55e7024f8d0461031743
@@ -33,6 +37,7 @@ DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 
3029d39cce928b3f6a6baeb573
 DIST nvidia-modprobe-535.113.01.tar.bz2 40699 BLAKE2B 
d114e93626f8173e19ff26488274e6f1e04d6db17eb003583e6ae0dcadce43a16f8077809b5cb4f8f1013b89fd9b2f0de19764fd6f0feaf5fe14d21910a3bd3d
 SHA512 
90726229ddd8fbb4e6e90a5bbde290cbf5daaf4e9faa68c936aa21d2c4e1b534c67ab2e87f9d787dcf29df1b6b328ef92dbac48d6ee935ba5eb8e81da83db95b
 DIST nvidia-modprobe-535.129.03.tar.bz2 40696 BLAKE2B 
3b29d2adad164b350b7468261a0fc2a27f36358d010519d78d472162d29fbe87643823fb25a199262ffb1a206c8f37a91167405551ec9bb3854292d37392ef37
 SHA512 
d149114dae52142b7f8f6a8bded658fb83c162d3099a5bdb2605f37eadae7d86b20c9ca576d3f2f39d057b3435b8b050778f69891d8bde92e5f9485469e4339f
 DIST nvidia-modprobe-545.23.06.tar.gz 46550 BLAKE2B 
212d97c04d8b54462ed7d614299cf4f5be585ba38517084917975636b54b4b3e63c5f2d1b9cff90f68f222440d6887cc55347b560494d52b53cacc7f90ebfbaf
 SHA512 
b363f3609ab27103f1d137be87cded4be4802cb9abad620f2b83cf0a8d0eea8de123dea9a73efb7b00a580b014d9603ff4dfe1e33991666533088d89d2e144ee
+DIST nvidia-modprobe-545.29.02.tar.bz2 41125 BLAKE2B 
5d0ed913be6d0b5c52e3019dd1df9bed0c18dd265d2846a7293545ebe805d2d90d313dddf5696e1179f2b02d55b45fee3e9fd7934612c5d9064eb730bf4d8ea9
 SHA512 
f59ac9562544be3e7d31035ffe72ca36ff39972e40346a10b6d97d6bc7ba1a594370e2c9290c90af4c5108bbe2f354bc4bb78fef5f6f651bbf99007841e0f489
 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 
2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8
 SHA512 
70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
 DIST nvidia-persistenced-470.199.02.tar.bz2 46558 BLAKE2B 
67cf26b1915d29898769ffe91399c5204e61a71a0bd205d35daae4516bfe06b978323aea5a8af3341dfd497ac6bf7bb7519e33030a3d622d84f3f8f70e5d510f
 SHA512 
8c4ac45954db02311f323d2dd79cbfeb7d6724e96b881069f1dd2d156be089ad2b3723cdc43c83d5a65bee28d45558fc55ebdc74f971abc4640cc5be0444f5e4
 DIST nvidia-persistenced-470.223.02.tar.bz2 46659 BLAKE2B 
d024e3d4d0062789eb3fb49325434737741b347e262571725d24d0e7e9d6a92316cd6e94d1d34b2b3ced8ace3ce7b5c88d3387dae162af29fb745ff94ed69b7c
 SHA512 
c8b8d04390579d885076c401cbe27e1e103bc82fa4fd0f4182590721df9999078b6358f762f6c00a98c1aeda64aea4790a11556f26d4a68a55bdc889eb580a03
@@ -41,6 +46,7 @@ DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B 
a9cbf291fae9d7af50a963
 DIST nvidia-persistenced-535.113.01.tar.bz2 48577 BLAKE2B 
fd3886f3f72b13f5270fe1f642f25e842f8a8d88ac312aec6e6ce0e0ce4d3eb96b9571257f53500577fad70ca0ded474e19562e1e27d30c69026b89730efc8cf
 SHA512 
ac708d7aede4acc81c6c6d7cc46dad8e6f3503d7f6e6fa8526d04c47cede505208f6bfc7a644d7102f6cfd3ebf2315f8dd2dbac16c5bfc365f608b9814a76ed5
 DIST nvidia-persistenced-535.129.03.tar.bz2 48607 BLAKE2B 
063d076cddf5fdbfb82759e0d408f6d12897118bb3c47510fea3b9fac1bd22ea3f3fa7999e0ad5b5177bc442348896b0ed0ddd5dd11460efb12fa4509636ab80
 SHA512 
6f9725ad534ffff2ccc42696bde793e6803b1d0be6ed9fea25cfa5115e486dbc8b2344d83e994cbb6e4bf4157a411e5edc577b9d652ab53ad137187a0807c6aa
 DIST nvidia-persistenced-545.23.06.tar.gz 56644 BLAKE2B 
a12cb82c3c6031480f29dfa5784a756cfc148d987999b38d43f3db1e78788a04434275411a3292b5f25a66b512ca31bfb09e22b7223fbb17f81dd4ea3e73d74f
 SHA512 
50ca02b0306bab1684fb32d5aca9e9f3dd27db3696ca973a11c51c246854183fba8c96b3096c484ca3521010346d8bbb5609a7872fed92f37381ce9310811fa1
+DIST nvidia-persistenced-545.29.02.tar.bz2 49153 BLAKE2B 
3c6534a85e20c199fbf6bf93f4c5ee221ee59bf89f2f392f3525650d0c8605c1ffa0e7268b1ffe42f2751e358d942600f68133c2087d0721b3ec2935aa3415cc
 SHA512 
db56c3ed3806d794051c7f3204ef88cb5f58adc03d6485c057630500a9263993f131bf03e852434a49941fdeb9fff8f49c96c144cd21d038bd48740c89307004
 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B 
d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd
 SHA512 
b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
 DIST nvidia-settings-470.199.02.tar.bz2 1062171 BLAKE2B 
d247b4a9e8d836b3e37116b51e8dfc36fa23ffc45bf4e21e84d6174adbc45ea8605675b146cf109311412e736995a51d0d0503d182a35507690f384e87202005
 SHA512 
0a2794e795ddf579f6bc27de2795119e62c6b9cc8e1641ada3e4954a89ef2a7796e88e3299cea113f269838b5bf084ed3c07304d5d34d410c5483c135b13b356
 DIST nvidia-settings-470.223.02.tar.bz2 1062462 BLAKE2B 
1d1403d3c2a0a242bdb61403a533b7e7ae2876ff5440fcc837706e428371dc07008e1ea4616cff00dafa426782efadd7013acddd2e3bad92a3e5aa44f8e416c4
 SHA512 
3fb21133cb4bc48d564d04f0bfedeb4527d7c031f3ff8a185eb87ed9ed008fa77863f65fc3f8aa6bfd6674a8ccc707b90761b271809ffd1ba543bb71dcc01954
@@ -49,6 +55,7 @@ DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B 
cea74a20ed8208f99cb586bd
 DIST nvidia-settings-535.113.01.tar.bz2 1094127 BLAKE2B 
6244271200f7123893f4575bda83a3c0d8462b14dc29139a47781f2247c17852adff57a4a1a714878c76d5dbe7108a28420d3459a299a75991a34745131b3b64
 SHA512 
d1c20143ae575296bf969e3eb7cde126997aad30792ca8ec7666782d26a913b099ed029cd4e362636d0f2b4797749331e773e5ea02f2cd3cb3f4e883c6c7e5af
 DIST nvidia-settings-535.129.03.tar.bz2 1094040 BLAKE2B 
790dc9dc6127a5d8f766ebf817e19b86b49b2787067d15eb23f98d1b83ca32f33730130114e452e357bc0ccbde759f2ceb67fb2f525d6a8451f42967cbf1f8b7
 SHA512 
28990739675003fd70e91437f0de11fa7a76399a51cacd4fad2d63b836fb9600e9849747a2f97e235eb76d6c58a0d0e95fc476d98b6dbece381b147f5dccaf16
 DIST nvidia-settings-545.23.06.tar.gz 1273729 BLAKE2B 
7dc8f60f9e6ed5789ad7ad71203c937f4dcf88d3d040f974736cfba2b8f7f037db323a2c6404fc8920f8f901ac47c4c993950ceba38ab61d8c3551952e06900c
 SHA512 
6cd905181db8037bf5b1b2a86106cf0c0e3637bf2522859f3f0be73b9419c19af43a97acfaaac35643ebc8ef9a7293fe6016f9b3ac08c573d2672387fd58448c
+DIST nvidia-settings-545.29.02.tar.bz2 1095339 BLAKE2B 
ca0cf972a2cd5538f73fbae070a1bb47aa18b3c658bbb0d3a09745fb22c10eae32f9bd902b7d47c3c8d642924e47433ab4e2410d5ca55c9ac5c1f18575ee81b8
 SHA512 
63bfd07ff3daee4a2e1155dc29e33aa616ac8ac12474ec43bc871b1d5330ae73fcaaa3aa361eec031ba3218567c70c165a68692ab27179acad7c9094a37dd2ed
 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 
0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb
 SHA512 
50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
 DIST nvidia-xconfig-470.199.02.tar.bz2 108683 BLAKE2B 
80e5b356f1b2a10b2f0d1a139b511fa79af925d5cdac80ebd04fe53b4ec26df599985a3ee4be1cb466415ec8fb292e3b8b85013aaa21226a9301351490ddb28b
 SHA512 
0c1d18af896b8cb3a4992025ed207c9bcf2211e6a8e904755d51ce1d3791db89c0baa4571f9eb5198a5fcd13ffd41deec416c622f8207bb7dd23decd9864ad89
 DIST nvidia-xconfig-470.223.02.tar.bz2 109065 BLAKE2B 
824a4cfbfc2bc56005a4c7fae79268c4fa52aec935c30c2b39e3ee595826731e5472a3a25e6781ada5576e132fe91728d8c3902dd3c24755bed548f7e007a0a1
 SHA512 
c32974ca248854977a5a3107750c24321ddc269a5e95f3ef81e0de6854504fe08df2033240c6225a6b49d38cb2b8edebd71a07064c99f09add371cba67fbce1d
@@ -57,5 +64,6 @@ DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 
49116c8922b5c14eaa88b6230a
 DIST nvidia-xconfig-535.113.01.tar.bz2 110630 BLAKE2B 
ca6d9f5c5b2d841049322af19dcf3ed668a1140d3dc6be80a4e32a0c480dfda6c86ce09f60b6bf1eeb67b5fdf86c5776b544d2e5e9d2497c06db6e9280f0ac41
 SHA512 
1f238525cdb9bf6f2e27b703cec144ff03400e2fa7ca79cb425b455aa9b8c21de9473dcfe7b212aefff5f69eba0537f76560b0be7953bbf6ec0c7bb47bf984fe
 DIST nvidia-xconfig-535.129.03.tar.bz2 110605 BLAKE2B 
45bfeb73a89bb4e74f52ce713bf9bdb099ec5e8421e27f5d4750906e18ddc7787a972e6d21ddc12e5bdab41f60f5524932183997739c3255bb4b61c1c32b9ec8
 SHA512 
c26a3b5698150c617ac3c6a088b6934044e201702f295f71ce66434d4d2d2ea93682eb580d772837a433947704591e979e1c45e7d2f3fb0b7224a22a849583b2
 DIST nvidia-xconfig-545.23.06.tar.gz 145333 BLAKE2B 
434fb3baf7bed05d9d174faf223d6947bb880a6290a347beb17bf1be197cefbf49b4337a84d0c7c58758bb15808efb8a95164c0cfb0b9242d93ca5ee7c4e47fd
 SHA512 
ac8a0a40da7124afd74e170af90f5782dccf39e64f54640fae2a1bc13e138341c8c7178b907f02a8b90c4978e3f0421287a17f83da369653bd97bbd6b4015198
+DIST nvidia-xconfig-545.29.02.tar.bz2 110982 BLAKE2B 
bdab0370fda3ea2a0dcf8e50be56a15965a90fce9544e14b9528cedd20e0c232160f6a156d1c850359f23fb31776ba789c30d253f2c54e2c991444d7608de19f
 SHA512 
ac51e6e674cff313841b0de29960ecd098f401bc866185dc61e5dc898b2e4ea521e684803223f7f6455c7493e9fc7e37f1ddb7d27455e6643414463cfa01c32d
 DIST open-gpu-kernel-modules-535.43.15.tar.gz 12754224 BLAKE2B 
1b1854c4976ba999bfe2f186456f3d3640883bb408e80ff843fe74492dd5692f24abca765e519e84139218f877d46b40b4ff641b78574157ae9b0fc63bd7f5ac
 SHA512 
ab9fa1d15b0545058bdb102e356b3f5a4eea97a74fa38adb6c8ed537e405d73fba636086d47fc8e312e8a2d9c95169c7699e482d2db85fa075d8d93b858af77e
 DIST open-gpu-kernel-modules-545.23.06.tar.gz 12946143 BLAKE2B 
0449f6132e724d8b2ad9ff8fbed89da05d7de48a5448dbdcfdc32eb6a5e1c7ddfb9c595e18a6a98da8163f3462b086d2200f4e49eb6e4d0a0373921d2d4ce78f
 SHA512 
ec4a9cbdd32e27f3a1b9b16858adc6cedd0c167a86611e3d1249e969ef199baa21ac5c02bad7037c2af512966ea605bb355bc592ed8eb5f7d655535787b85aee

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.02.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.02.ebuild
new file mode 100644
index 000000000000..2525545e81b9
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.02.ebuild
@@ -0,0 +1,501 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_IUSE=+modules
+inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
+inherit systemd toolchain-funcs unpacker user-info
+
+MODULES_KERNEL_MAX=6.6
+NV_URI="https://download.nvidia.com/XFree86/";
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/download/index.aspx";
+SRC_URI="
+       amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+       arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
+       $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
+               nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
+       
${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
+"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S=${WORKDIR}
+
+LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64 ~arm64"
+IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced +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(-)?]
+       )
+       wayland? (
+               gui-libs/egl-gbm
+               >=gui-libs/egl-wayland-1.1.10
+       )
+"
+DEPEND="
+       ${COMMON_DEPEND}
+       static-libs? (
+               x11-libs/libX11
+               x11-libs/libXext
+       )
+       tools? (
+               media-libs/libglvnd
+               sys-apps/dbus
+               x11-base/xorg-proto
+               x11-libs/libXrandr
+               x11-libs/libXv
+               x11-libs/libvdpau
+       )
+"
+BDEPEND="
+       sys-devel/m4
+       virtual/pkgconfig
+"
+
+QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
+
+PATCHES=(
+       "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+       "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+)
+
+pkg_setup() {
+       use modules && [[ ${MERGE_TYPE} != binary ]] || return
+
+       local CONFIG_CHECK="
+               PROC_FS
+               ~DRM_KMS_HELPER
+               ~SYSVIPC
+               ~!LOCKDEP
+               ~!SLUB_DEBUG_ON
+               !DEBUG_MUTEXES
+       "
+
+       local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but 
needed for Xorg auto-detection
+       of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+       Cannot be directly selected in the kernel's menuconfig, and may need
+       selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
+       DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
+
+       local ERROR_X86_KERNEL_IBT="CONFIG_X86_KERNEL_IBT: is set and, if the 
CPU supports the feature,
+       this *could* lead to modules load failure with ENDBR errors, or to
+       broken CUDA/NVENC. Please ignore if not having issues, but otherwise
+       try to unset or pass ibt=off to the kernel's command line." #911142
+       use kernel-open || CONFIG_CHECK+=" ~!X86_KERNEL_IBT"
+
+       use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
+
+       use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+       local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to 
build with USE=kernel-open.
+       Cannot be directly selected in the kernel's menuconfig, and may need
+       selection of another option that requires it such as CONFIG_KVM."
+
+       linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+       # make patches usable across versions
+       rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
+       rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
+       rm nvidia-settings && mv nvidia-settings{-${PV},} || die
+       rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
+       mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
+
+       default
+
+       # prevent detection of incomplete kernel DRM support (bug #603818)
+       sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
+               -i kernel{,-module-source/kernel-open}/conftest.sh || die
+
+       # adjust service files
+       sed 's/__USER__/nvpd/' \
+               
nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+               > "${T}"/nvidia-persistenced.service || die
+       use !amd64 || sed -i "s|/usr|${EPREFIX}/opt|" 
systemd/system/nvidia-powerd.service || die
+
+       # use alternative vulkan icd option if USE=-X (bug #909181)
+       use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
+
+       # enable nvidia-drm.modeset=1 by default with USE=wayland
+       cp "${FILESDIR}"/nvidia-545.conf "${T}"/nvidia.conf || die
+       use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || 
die
+
+       # makefile attempts to install wayland library even if not built
+       use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
+               nvidia-settings/src/Makefile || die
+}
+
+src_compile() {
+       tc-export AR CC CXX LD OBJCOPY OBJDUMP
+
+       local xnvflags=-fPIC #840389
+       # lto static libraries tend to cause problems without fat objects
+       is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC 
-ffat-lto-objects)"
+
+       NV_ARGS=(
+               PREFIX="${EPREFIX}"/usr
+               HOST_CC="$(tc-getBUILD_CC)"
+               HOST_LD="$(tc-getBUILD_LD)"
+               BUILD_GTK2LIB=
+               NV_USE_BUNDLED_LIBJANSSON=0
+               NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+               WAYLAND_AVAILABLE=$(usex wayland 1 0)
+               XNVCTRL_CFLAGS="${xnvflags}"
+       )
+
+       if use modules; then
+               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
+
+               local modlistargs=video:kernel
+               if use kernel-open; then
+                       
modlistargs+=-module-source:kernel-module-source/kernel-open
+
+                       # environment flags are normally unused for modules, 
but nvidia
+                       # uses it for building the "blob" and it is a bit 
fragile
+                       filter-flags -fno-plt #912949
+                       filter-lto
+                       CC=${KERNEL_CC} CXX=${KERNEL_CXX} 
strip-unsupported-flags
+               fi
+
+               local modlist=( 
nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
+               local modargs=(
+                       IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
+                       SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
+               )
+
+               # temporary workaround for bug #914468
+               CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
+
+               linux-mod-r1_src_compile
+               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
+       fi
+
+       emake "${NV_ARGS[@]}" -C nvidia-modprobe
+       use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
+       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
+
+       if use tools; then
+               # avoid noisy *very* noisy logs with deprecation warnings
+               CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
+                       emake "${NV_ARGS[@]}" -C nvidia-settings
+       elif use static-libs; then
+               # pretend GTK+3 is available, not actually used (bug #880879)
+               emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
+                       -C nvidia-settings/src out/libXNVCtrl.a
+       fi
+}
+
+src_install() {
+       local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
+
+       NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
+
+       local -A paths=(
+               [APPLICATION_PROFILE]=/usr/share/nvidia
+               [CUDA_ICD]=/etc/OpenCL/vendors
+               
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
+               [FIRMWARE]=/lib/firmware/nvidia/${PV}
+               [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
+               [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
+               [OPENGL_DATA]=/usr/share/nvidia
+               [VULKAN_ICD_JSON]=/usr/share/vulkan
+               [WINE_LIB]=/usr/${libdir}/nvidia/wine
+               [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
+
+               [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
+               [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
+               [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
+       )
+
+       local skip_files=(
+               $(usev !X "libGLX_nvidia libglxserver_nvidia")
+               libGLX_indirect # non-glvnd unused fallback
+               libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from 
source
+               libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
+               libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
+               libnvidia-pkcs11.so # using the openssl3 version instead
+       )
+       local skip_modules=(
+               $(usev !X "nvfbc vdpau xdriver")
+               $(usev !modules gsp)
+               installer nvpd # handled separately / built from source
+       )
+       local skip_types=(
+               GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # 
media-libs/libglvnd
+               OPENCL_WRAPPER.\* # virtual/opencl
+               DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # 
handled separately / unused
+       )
+
+       local DOCS=(
+               README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
+               nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+       )
+       local HTML_DOCS=( html/. )
+       einstalldocs
+
+       local DISABLE_AUTOFORMATTING=yes
+       local DOC_CONTENTS="\
+Trusted users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video\
+$(usev modules "
+
+Like all out-of-tree kernel modules, it is necessary to rebuild
+${PN} after upgrading or rebuilding the Linux kernel
+by for example running \`emerge @module-rebuild\`. Alternatively,
+if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
+this can be automated by setting USE=dist-kernel globally.
+
+Loaded kernel modules also must not mismatch with the installed
+${PN} version (excluding -r revision), meaning should
+ensure \`eselect kernel list\` points to the kernel that will be
+booted before building and preferably reboot after upgrading
+${PN} (the ebuild will emit a warning if mismatching).
+
+See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
+$(use amd64 && usev !abi_x86_32 "
+
+Note that without USE=abi_x86_32 on ${PN}, 32bit applications
+(typically using wine / steam) will not be able to use GPU acceleration.")
+
+For additional information or for troubleshooting issues, please see
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
+documentation that is installed alongside this README."
+       readme.gentoo_create_doc
+
+       if use modules; then
+               linux-mod-r1_src_install
+
+               insinto /etc/modprobe.d
+               doins "${T}"/nvidia.conf
+
+               # used for gpu verification with binpkgs (not kept, see 
pkg_preinst)
+               insinto /usr/share/nvidia
+               doins supported-gpus/supported-gpus.json
+       fi
+
+       emake "${NV_ARGS[@]}" -C nvidia-modprobe install
+       fowners :video /usr/bin/nvidia-modprobe #505092
+       fperms 4710 /usr/bin/nvidia-modprobe
+
+       if use persistenced; then
+               emake "${NV_ARGS[@]}" -C nvidia-persistenced install
+               newconfd "${FILESDIR}"/nvidia-persistenced.confd 
nvidia-persistenced
+               newinitd "${FILESDIR}"/nvidia-persistenced.initd 
nvidia-persistenced
+               systemd_dounit "${T}"/nvidia-persistenced.service
+       fi
+
+       if use tools; then
+               emake "${NV_ARGS[@]}" -C nvidia-settings install
+
+               doicon nvidia-settings/doc/nvidia-settings.png
+               domenu nvidia-settings/doc/nvidia-settings.desktop
+
+               exeinto /etc/X11/xinit/xinitrc.d
+               newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
+       fi
+
+       if use static-libs; then
+               dolib.a nvidia-settings/src/out/libXNVCtrl.a
+
+               insinto /usr/include/NVCtrl
+               doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
+       fi
+
+       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
+
+       # mimic nvidia-installer by reading .manifest to install files
+       # 0:file 1:perms 2:type 3+:subtype/arguments -:module
+       local m into
+       while IFS=' ' read -ra m; do
+               ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
+                       [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] 
||
+                       [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
+                       has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
+
+               case ${m[2]} in
+                       MANPAGE)
+                               gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
+                               continue
+                       ;;
+                       GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
+                       VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so 
to vdpau/
+               esac
+
+               if [[ -v 'paths[${m[2]}]' ]]; then
+                       into=${paths[${m[2]}]}
+               elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
+                       into=${m[3]}
+               elif [[ ${m[2]} == *_BINARY ]]; then
+                       into=/opt/bin
+               elif [[ ${m[3]} == COMPAT32 ]]; then
+                       use abi_x86_32 || continue
+                       into=/usr/${libdir32}
+               elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
+                       into=/usr/${libdir}
+               else
+                       die "No known installation path for ${m[0]}"
+               fi
+               [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
+               [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
+
+               if [[ ${m[2]} =~ _SYMLINK$ ]]; then
+                       [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
+                       dosym ${m[4]} ${into}/${m[0]}
+                       continue
+               fi
+               [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
+                       dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in 
.manifest
+
+               printf -v m[1] %o $((m[1] | 0200)) # 444->644
+               insopts -m${m[1]}
+               insinto ${into}
+               doins ${m[0]}
+       done < .manifest || die
+       insopts -m0644 # reset
+
+       # MODULE:installer non-skipped extras
+       : "$(systemd_get_sleepdir)"
+       exeinto "${_#"${EPREFIX}"}"
+       doexe systemd/system-sleep/nvidia
+       dobin systemd/nvidia-sleep.sh
+       systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
+
+       dobin nvidia-bug-report.sh
+
+       # MODULE:powerd extras
+       if use amd64; then
+               systemd_dounit systemd/system/nvidia-powerd.service
+
+               insinto /usr/share/dbus-1/system.d
+               doins nvidia-dbus.conf
+       fi
+
+       # symlink non-versioned so nvidia-settings can use it even if 
misdetected
+       dosym nvidia-application-profiles-${PV}-key-documentation \
+               
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
+
+       # don't attempt to strip firmware files (silences errors)
+       dostrip -x ${paths[FIRMWARE]}
+
+       # sandbox issues with /dev/nvidiactl (and /dev/char wrt bug #904292)
+       # 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/char"'
+}
+
+pkg_preinst() {
+       has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
+       has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
+
+       use modules || return
+
+       # set video group id based on live system (bug #491414)
+       local g=$(egetent group video | cut -d: -f3)
+       [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got 
'${g}')"
+       sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
+
+       # try to find driver mismatches using temporary supported-gpus.json
+       for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
+               g=$(grep -io 
"\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
+                       "${ED}"/usr/share/nvidia/supported-gpus.json 
2>/dev/null)
+               if [[ ${g} ]]; then
+                       g=$((${g##*\"}+1))
+                       if ver_test -ge ${g}; then
+                               NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
+                               break
+                       fi
+               fi
+       done
+       rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
+}
+
+pkg_postinst() {
+       linux-mod-r1_pkg_postinst
+
+       readme.gentoo_print_elog
+
+       if [[ -r /proc/driver/nvidia/version &&
+               $(</proc/driver/nvidia/version) != *"  ${PV}  "* ]]; then
+               ewarn "Currently loaded NVIDIA modules do not match the newly 
installed"
+               ewarn "libraries and may prevent launching GPU-accelerated 
applications."
+               if use modules; then
+                       ewarn "Easiest way to fix this is normally to reboot. 
If still run into issues"
+                       ewarn "(e.g. API mismatch messages in the \`dmesg\` 
output), please verify"
+                       ewarn "that the running kernel is ${KV_FULL} and that 
(if used) the"
+                       ewarn "initramfs does not include NVIDIA modules (or at 
least, not old ones)."
+               fi
+       fi
+
+       if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
+               ewarn "Detected that the current kernel command line is using 
'slub_debug=',"
+               ewarn "this may lead to system instability/freezes with this 
version of"
+               ewarn "${PN}. Bug: https://bugs.gentoo.org/796329";
+       fi
+
+       if [[ -v NV_LEGACY_MASK ]]; then
+               ewarn
+               ewarn "***WARNING***"
+               ewarn
+               ewarn "You are installing a version of ${PN} known not to work"
+               ewarn "with a GPU of the current system. If unwanted, add the 
mask:"
+               if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
+                       ewarn "  echo '${NV_LEGACY_MASK}' > 
${EROOT}/etc/portage/package.mask/${PN}"
+               else
+                       ewarn "  echo '${NV_LEGACY_MASK}' >> 
${EROOT}/etc/portage/package.mask"
+               fi
+               ewarn "...then downgrade to a legacy[1] branch if possible (not 
all old versions"
+               ewarn "are available or fully functional, may need to consider 
nouveau[2])."
+               ewarn "[1] https://www.nvidia.com/object/IO_32667.html";
+               ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau";
+       fi
+
+       if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
+               ewarn
+               ewarn "Open source variant of ${PN} was selected, be warned it 
is experimental"
+               ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to 
disable if run into issues."
+               ewarn "Please also see: 
${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
+       fi
+
+       if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
+               elog
+               elog "With USE=wayland, this version of ${PN} sets 
nvidia-drm.modeset=1"
+               elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is 
considered"
+               elog "experimental but is required for wayland."
+               elog
+               elog "If you experience issues, either disable wayland or edit 
nvidia.conf."
+               elog "Of note, may possibly cause issues with SLI and Reverse 
PRIME."
+       fi
+}


Reply via email to