commit:     7a48d3dd0e2bd00466e892e3cd68125cc52d182d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 20:10:59 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Oct 23 20:24:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a48d3dd

x11-drivers/nvidia-drivers: drop vuln 525.147.05-r1, 560.35.03-r1

Both branch are unsupported and so did not get security updates.
560 had short support due to being a New Feature Branch (NFB).

Users of ~testing 560.35.03-r1 are expected to downgrade to the
(newer) 550.127.05 version which is the next stable candidate if
no problems.

If for one reason or another the 550 branch was problematic for a user,
they may optionally want to opt-in the ~565.57.01 beta instead which is
not vulnerable (we do not keyword betas, see bug #941991 comment #1 --
but it can be manually accepted).

Users of 525.x are on their own, if *really* need that version and
cannot upgrade due to regressions then will have to keep it in a local
overlay. Alternatively the still supported 470.x may still be usable.

(there are still other vulnerable versions to drop but these are
awaiting stabilizations)

Bug: https://bugs.gentoo.org/942031
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-drivers/nvidia-drivers/Manifest                |  16 -
 .../nvidia-drivers-470.223.02-gpl-pfn_valid.patch  |  62 ---
 ...ia-drivers-525.116.04-clang-unused-option.patch |  17 -
 .../files/nvidia-drivers-525.147.05-gcc14.patch    |  32 --
 .../nvidia-drivers-525.147.05-r1.ebuild            | 585 --------------------
 .../nvidia-drivers-560.35.03-r1.ebuild             | 592 ---------------------
 6 files changed, 1304 deletions(-)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index 5b1c6c0c4f42..d2cf62eb78a6 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,71 +1,55 @@
-DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 
742feded05f659fa9965b2eebcc6a269b0355d08b6f2a686dad47c1acf2c20a359f9a9c33184ab2d51044b8823535bd7606180e31d348f362a016fad74cf476b
 SHA512 
d1d9e49e16ee6cc69340a3458566f89fee7b63effdd8cae3e55e40cdfbd35d1e87b958769fd3b2ce5ab29596d88c3ac68189232d7a1dad8c16773faedcf5b568
 DIST NVIDIA-Linux-aarch64-535.183.01.run 269908911 BLAKE2B 
93665bfd2c66391b232c0db7faa2b7929048f4eb0ac660726bc45fcee21bcf9b255da5f4fbdc14c281092f31e7603b5b112fc42b3c7d6e4769cdbedf8d0f16b0
 SHA512 
d2ac1be8c19b359023c31941374911f3adfe1be34aa2821ef582df4c854ac4eefbbcb10aa22583ac8c9d5caf9326bda12ed1ce6343d67479ed37a4887bd17b5e
 DIST NVIDIA-Linux-aarch64-535.216.01.run 269827921 BLAKE2B 
37e76e90411e883d0f911edc1a3883fba9db6a5e281e5bba265fab6b892382b202aa0ffb44a0d3b4a181c6855e2b9ffe54874049f331fea50a3429d8c2b298af
 SHA512 
f68794249bf18ba626c6a665880721c8cc0dada6c7c1d8b15bf17174a4cac35ca2ab534fff2410c8bc0326c48f6ab913b6d9a92630505eeb768e02610a7772d9
 DIST NVIDIA-Linux-aarch64-550.120.run 236346287 BLAKE2B 
2c700eea6e46ab1580d2ae1fb411e99601e6f9cce46727ab3c44f9ef59ca2102e83ff846bdc0280fa99c84eec9aa456654475339c79a4e0ef374061281da6f00
 SHA512 
716cef3377855bdc1a0a79a35cee578ca9e34f71709436244534b9a164fbae220ac64163a81d1d8fb6264430c8c7e6b8ba2e4e02059cff83bb54f35da01fe7da
 DIST NVIDIA-Linux-aarch64-550.127.05.run 236320537 BLAKE2B 
1b1af668a377db355ea98eee180919728396a6f149270d285f12d85b4c95ccdbdf6f39409e26a4d014a709c4cb6058106206a3dd9c7563c6bd8796ffcaedbbb2
 SHA512 
59bb8cd1efad8ff213b1409aa7f7739775560df8456d2c2fc672596509e54a1cb12f11ba00fdc19a4f16bef871fa14c9245738201f4665627b5bd94f13ee4ced
-DIST NVIDIA-Linux-aarch64-560.35.03.run 251160249 BLAKE2B 
3ad8c6757b980668f6483d8867f247857519636a3ea464107e90620557ecdbbfc3437cadb7916655b14e6a85e5929db1f03387494df7daa9169d8fe6b2de1849
 SHA512 
8df331104f3d63d4aaeeace412a986a93355be3ce69a968fbc12b7d0b21a34e71cdf37758c23a392c358a1c3ba1da21115002f55017c2a829c7bb4d41536e543
 DIST NVIDIA-Linux-aarch64-565.57.01.run 254149070 BLAKE2B 
0f4db5ac8baf10df4720e7f7a993e76f3c6e9b37b8d81854a9d2590432c73dc3a7550a5928a9691d2064227ce6fdf71e91b3050c5f22d6cca43173388da470a6
 SHA512 
16dfec7e3fdce18a0a3dc0460bae155eb61b05f27669cca8e7327bfd2400c5b02a4fd74d09d6a07096658cf50353c96f5547941379dfc2e8d1059c80a1613c6f
 DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 
435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe
 SHA512 
dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0
 DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 
44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b
 SHA512 
4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a
 DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 
0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8
 SHA512 
a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88
-DIST NVIDIA-Linux-x86_64-525.147.05.run 414135234 BLAKE2B 
77a12905771772804a5e5cf36df3e5032fe0160ac7c8a1b4ea002f65dac3732d9c900c1787a3e26d08b951a8de4893467cc7a80d424e017990d12669354d4191
 SHA512 
0c7b31715fce6a7bd77a2d9f9a3dca54a929a7790d748051576f62cdaeaeb6a9d0f3fbb13f0b20a51966bdb9470acdbc9ee529a9e84f38a9c834a1bd28d81773
 DIST NVIDIA-Linux-x86_64-535.183.01.run 341725273 BLAKE2B 
a1cc782a960309a25d64d7334a818bdf9bd24be4ae7bbcf76c11c071db614d00c59e4cdca366bd36565a612a262d8b4ede7d8224f6cd3d824128178ad7d2d707
 SHA512 
02b6b679f4fc1d5305f32fca8ce0875eef04cb99f5611d0bb85ac7607ecdd5b2aa4d60b51bf47546477464531a07fffa5bf3db3859868648bd5e86565d85afbb
 DIST NVIDIA-Linux-x86_64-535.216.01.run 341874992 BLAKE2B 
65fc3674982ecbf122f565af70121ca6c022a4df8f352e259e6b0e8892b9112b182c32ed615edae737f3354808e37b54051bed0cdd2f661c4082692f9e0477dd
 SHA512 
3b4ae3584368fcc5f81a680dd8588d8b9e48f43dafe2490f5414ed258fa8c9799ebd40d2fd115e20bd02648eeb3e5c6dff39562d89353580fa679d011cebf6f8
 DIST NVIDIA-Linux-x86_64-550.120.run 307064664 BLAKE2B 
657e69e2fb7c32c47e52a7bd5469158f9f5431cdf65f9ac5b660b8f4ae3511914a1efa837d4a81bb8dd63d09735a315a6b297023e6417d849f764c9a8dc0d88f
 SHA512 
1d7c91755faacb5accdb33314b638f9749115a1ece6150e39cfe1c07d2ada022de20992c500e96d785b3813962b6214bffbe94ed6bf58a539c48d2526b534507
 DIST NVIDIA-Linux-x86_64-550.127.05.run 307139930 BLAKE2B 
6c6bfbc4383a3a9b61e73a4bc54062d29f6cc48b209263f772bca64301f04a2f692a55f6f493762a0770d88873f8231e29c6b73d3d68263624c7daf304008afe
 SHA512 
b67364c0911aa4908192846ed855571312c9e29c47cae8c83300caf71a9c8c7277f2a0591f0c0dd669f34464e04cf420a16ec83f5db4875a32c00a678db80d06
 DIST NVIDIA-Linux-x86_64-550.40.76.run 312316341 BLAKE2B 
5b6d5c69fa06729d56d7660d7da100ad2017b84fce0c8f8c894f433c326697e92ba67f4d0f28232da61b36b528dd064145bec7d15db744036fd649cb3d839a7e
 SHA512 
6b19b72d146829587145403a51b5277f838691098b72d2f086fca642735a2108809fc4768848bb0e1bcca1621c31a3ea35bc5fabc469ad6ccf447dca7095f47c
-DIST NVIDIA-Linux-x86_64-560.35.03.run 322523941 BLAKE2B 
e84819e6c6b75dbe75212b695ee1e7793c16091b1861250b406cdf570a8cae2a8114627f64bdefc8538f12dd6da8d80d3d62d41deeb7211cfaf159f853feba08
 SHA512 
97137160b64928ff84fd6145a0ebc209c045d6a07ccc53ec6df6ba1fda2ad72038eda7ecdc0a0178a2628aa4e18819a9b3ff3b693b22bdc9de543be0a968f8aa
 DIST NVIDIA-Linux-x86_64-565.57.01.run 339273984 BLAKE2B 
57345e9e95eae6a7ac948e68cfa7d464f8d1d3699e2012fd9381b5b1ceb62db958bcef494d972778aa24e4ca74dce88aeddf96d015e46b1f4d15fb4ae00f9849
 SHA512 
8f5c0f06e13cf84042c9ad1d628ef3fd5aaffb116f1716b099e6ededb125e973a4a2c511bb6201e3a39d7710b2850c3418bdbeac792036b7524c5a5fc8746f52
-DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B 
a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f
 SHA512 
58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
 DIST NVIDIA-kernel-module-source-535.183.01.tar.xz 12521824 BLAKE2B 
5ae8c2c0d9d019b99c947f1581712989325815cfe88ee308df0b710b64c4bc5c501c9741c67e25c47eaf7a114c521a595aabc85d0f05854c0692216f320378c4
 SHA512 
1c255eeafc79d228b3d76d1d20d1a2dc4583cbbb77db6af48b389694b0daaabd7c1962cf73e1a489e0ab07cf57751770ff8ce5f2489f2489a211e39bd7436637
 DIST NVIDIA-kernel-module-source-535.216.01.tar.xz 12517044 BLAKE2B 
f305acd878b6a8e715607d1ef330b6f60492f9291183a139520b011fe77d344556708df811eabd5f47d1e509d2ce179e243eecee8629dc480ca5a1ac4ca57529
 SHA512 
b5127fe5c29c476decea81f4c9916d2670a048f3e65ef898b1055fa1aa87c0936415c33fb271bc30d03f28fa9d3a5c2247e5f3ac67e12f93454e3da2706ff9a5
 DIST NVIDIA-kernel-module-source-550.120.tar.xz 13511404 BLAKE2B 
dc95ce1309d90672e6eb4368b087615c21bee537c37c4d662267746bc2996c158dec8f7a3f54926ba66f8ff23a5e1e039d93dda752c54b68ef1f203e4a19c3de
 SHA512 
103cb90beccf143920d9eedcaf58a89bd06e780171156c311756b035e89bddc5c0267e32b6af2d40753cd5877d0afae1060e50c55fd0334c5da7cf3f0b32f4b6
 DIST NVIDIA-kernel-module-source-550.127.05.tar.xz 13539504 BLAKE2B 
e36ab61687cf915008baa902a1295c7ae89b26b039269939b532873fb2c608eb380edf76eda2173e2801239e218357b5077886e9beb02e601a82991bc2882e59
 SHA512 
5d0d618528073d48d279dd47e0f6a1b3233fe5ed587c46b4246ae90cd43be08e5ad025cd4cc07b6fc2d1c51f04f9c1900511cd3812cabcedf0ab4743e6991aca
-DIST NVIDIA-kernel-module-source-560.35.03.tar.xz 15023144 BLAKE2B 
d56ea634dd76c3031372e4be283f0348d95e87d088025aaf59ed342a550144f3a8cda22b4c56db4cc2a4c2eb5ef2563251b1aeba75c2a35bad7a4a24c2f5e4d9
 SHA512 
eec3263d09cc809afc4c2c9eed6e0ec1bd2fed71d43f96d2f56c5b507aead96d93c6de93d37b649fc97f1d849aed64942afeae6e0c2be399d39b1ee416c6b863
 DIST NVIDIA-kernel-module-source-565.57.01.tar.xz 15376792 BLAKE2B 
5cdc43c250109fd58be1d16e5014fd1e69ec0616fbe04f992ed113c36abef493acfccfc6c082aba8e973bd65b116ccb4bad15d5876bccebde96e1c07d02df351
 SHA512 
bcc17bb5b7f04bcdc89ed471bc41904d832fb780e0a0ce9995b91a6e83e0132501b404a79e6742d827711bb6849dae026b5237098185a4e11b558f4815b325d4
 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 
8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524
 SHA512 
93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
 DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 
4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829
 SHA512 
c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd
-DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 
982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a
 SHA512 
171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb
 DIST nvidia-installer-535.183.01.tar.bz2 148412 BLAKE2B 
6eff47169ab5b2b4bfec5917bccc0102502aade2ccf523a404e50c8925e407e225d8009ac79ddfc38a1c6b7de361740d60a0896c2e31756e0f2392b77ad44490
 SHA512 
76e9bdb4b94bcb103710552a1cb64ca5df0765e3248e2723a88bf70277ef52fd5b7074f7a9cf58b9f3a33af9c04b0cb848748e97ba19f02e96a4eaf081b153bb
 DIST nvidia-installer-535.216.01.tar.bz2 148531 BLAKE2B 
1b112ba9532fab9754e8f278c5e7ee9e9f6c064caec568de678f1baa966c992f8e8e6a9711d69586d58688aa8ffd76a80c37aaaac57230284e76a9d6e52b766f
 SHA512 
7362ad1ba364505afde6ef72b4aeeaeb38b3ab11d331daba1d000efb0e3645a8b3e987bfac30579c25293a8b7e269b388701b63c1019ea9705928016e888f8c7
 DIST nvidia-installer-550.120.tar.bz2 155781 BLAKE2B 
22846a5625bf19550c4f94996e8df5b8c30455f0a9e434069b7318a3d4e7bdd10cb6cdfdbcabecb5014a96bfd46e2267b29f79242ff3e486f1a570190c885570
 SHA512 
c4b64d88da9a953b574f2de0963f69aea6441f1e3cbea80a151689b03c10d57e65dbc9780c48735b813a0a45131c8a7181fe468b8fe7a9df4bdbbdc34e68ae29
 DIST nvidia-installer-550.127.05.tar.bz2 155613 BLAKE2B 
6731d9d70b436202d1c92c026cef46bf03ed025b3032583b27e5eeb98440285516b6a097fe41a18ffb44a63260c4450db2fe419c758ded4f9e90a30cf95cd27a
 SHA512 
e0a271365df8a4f1c0ff7116b5353ec407d305d1783a9834b0cbaa935e75d3b3960ef595c9ef24ad6c8b936fcff5dd43fcace102a0fb0e2cd7d844ada6c44aaa
-DIST nvidia-installer-560.35.03.tar.bz2 168904 BLAKE2B 
81a1e4070cc36688c8a2e768c304cad4d680f56757addf137c0544aed93345a4587a65e8df5212f1853e1d4f5a882c457866818157f303148603d50a7152f21d
 SHA512 
685cec94e01a0a0282bd013896a1a05d1a061226863431d39bafd31d78a3224879eceed24da5da65f2a6757faef40b999aad624cdbc86de53674d7595b4c763a
 DIST nvidia-installer-565.57.01.tar.bz2 168523 BLAKE2B 
0adccf0b5816e67ad77281d8e6db2afd2ffaef8e488de21a1f209e73bdc4b5271c173abb863aace1e5e38a1137075280a34a8db7163eb0ff59ef24dc35aa7763
 SHA512 
e82ca3d80c6a131c0b8de1763aef1ada1b96700dae1d438e6262e2c46e98973f591215bf09f4c5fe2f4926d3ad46af6c6bd6b5358bc10851305edf4c44c95e37
 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 
80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c
 SHA512 
109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
 DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 
0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298
 SHA512 
c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31
-DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 
3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f
 SHA512 
25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f
 DIST nvidia-modprobe-535.183.01.tar.bz2 40623 BLAKE2B 
52c6f6758b6881ef61a41a7e245c166a2ab60ac372c031b5211651931f72cbc24af54b3b2ffb9a42b2f0973db7e0ae6d189cbd3cf1e0fbec8628056e4235b873
 SHA512 
93b802dbdc98bebed89ca72d07401e1b0801504899f30bbac4baac3d3a24bf548f78bcc0418db112299b068e1e278b379d301680cf4b13784206a80a9169c986
 DIST nvidia-modprobe-535.216.01.tar.bz2 40657 BLAKE2B 
7852ffd82321a68b6ee3d66e19f3fa5b4a71da264d7c75d1ede325d6ef90219bdecde8d4681537e0ae50a2caf4d746e0b6a192ee8ad38e371dc651c323fa2105
 SHA512 
dd41512568c55c58c4ad3a775819fcd2a7dc71fbb95dd13e7462d1599950f92b3207980605b443ef988a46334415c0eb18c7f39ed986b8d4108e19a557b6ebf0
 DIST nvidia-modprobe-550.120.tar.bz2 41490 BLAKE2B 
0d2d12d533bf911aeabd5147bad7f2db24a936637cff3d974a1f92e4911810a6a42b8b415c3db4a462af459b2e7580949b6f569dd4adbc686a45dbd6527b1be8
 SHA512 
12d75920131350b631856b495ed5fe0bf2b8f58b4adce8088abf9128691829fb903c8ad84c0ced7d14c5cff1dc7fb3f7bbe99f41e1d36f959b24c14e3ea5619a
 DIST nvidia-modprobe-550.127.05.tar.bz2 41498 BLAKE2B 
387945fe05f244350ec2982b6a723ba34ed8c726865ed95c2a33702233db3eb6e1937673f3eee72632bb0db6de6cc6c0dbc07abe909491187e8da6ebd2582840
 SHA512 
c229d3018589d9f52f17baa4d8eee966a198051058019f577d0455b67d0189c586b8ed64273859e4cf7d4a37cd6f6fb21aa53a8e2fe4cd926de34106e87bae6a
-DIST nvidia-modprobe-560.35.03.tar.bz2 41637 BLAKE2B 
4a72161e3569af5b53a6372da51d6980ab6a428207db0ef2c20b87a9abe569a136ece0a332954004e24f4381889826e50fce42c0c362c749adcb0152035e8862
 SHA512 
ed592cfba5512fde34e1d9b3dfcf3463df447202eb99d1d792f87d0a68c73193d141f82835e9272d315f3de9e973e7d9f64b06a9cb1e6485dd7adce3e9c360f0
 DIST nvidia-modprobe-565.57.01.tar.bz2 41607 BLAKE2B 
e0c7c817daceecd09d10b4b7d2581e4404ec67a7c3277de5b5972ca32e6ac254303d14b621bc7d3ec5dc92655ec0dc098eb73548a0e1eb3cb4018b79c8949570
 SHA512 
b42012ca700a3b9070be7362aa1a855c31907dd89d4eb21404c11459244a28c4276a4e11553944a7a74cce2d14452406686e2a703c326d88f82483375b1cade1
 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 
2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8
 SHA512 
70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
 DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 
8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282
 SHA512 
4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9
-DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B 
a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982
 SHA512 
e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe
 DIST nvidia-persistenced-535.183.01.tar.bz2 48585 BLAKE2B 
8f000f85ff959b86e7e0a4af0d7ae53cc2aa76670c04ea57c8bd2b7fdcf7ac071dd4a345b9121fcac97db7befac1f2635c41a40ecee4189a646977165a3b3bd5
 SHA512 
234b25fbd2e3b7573d77336047ea4898b4687d59fd0ab9cbe5c01dd33f14db610f467674120cc6ce2f3fa77ea53c9d3e23025e08afbabe07e5f6109840f6213c
 DIST nvidia-persistenced-535.216.01.tar.bz2 48566 BLAKE2B 
5fb17d54bf4046323d1f95c45e32dea077083ee07fd7b8f1adabbdce28d569195d61f72c849d5d26ea2dad07fa476b833a2235e9c4edfcd4a57fed3153ea9678
 SHA512 
2298df7a04d5b449491afea400fef50d406a3a393862b72cf7ee30600e026886009237ecd1669725a8802fb88f1d4c1ab99c10ada00fb57051151bf7169060de
 DIST nvidia-persistenced-550.120.tar.bz2 61251 BLAKE2B 
207a0c3a186ec40f23c06bc77614b1b869a1e4d68f5f8edcda6111df50a6a7f3474b5a3151e625584ce69b69450718b3b89207b6fe81bce8ac1676b199cd8a64
 SHA512 
afe71b9421652872aa4d3ca89a3abcc36bd617782ed3fbd4af31162d89c97c12fb27a16c82f4c4e54d2f4ee8b9b755dc19226ee877fbe70c8d2b5d5636064063
 DIST nvidia-persistenced-550.127.05.tar.bz2 61307 BLAKE2B 
5e6f8d6734062b45782b71ebc8a3d17eb9cd56bef532f89ba27e4828c3f51b1c3ad94323f3e8d331cfa9b225f406f58d13ac36dc0976f0a7de955a35fd3acb38
 SHA512 
00d1a0436afdc9c3abe3abd68f29cec20c4ef38e8f96b8b36bd5428636ad085b42109591438b4d3a776f1f9b6efdef0e97dc964bd0e2b95c740b50d821e9311d
-DIST nvidia-persistenced-560.35.03.tar.bz2 49873 BLAKE2B 
5b19e8bef623d3950948fcf2a57c097e451c846e1d3013344ce8f10b91e57d3f031c460a9a9e4d94940ed3035d4d5836e5ff672d25f0f132ea915eeac62b94de
 SHA512 
65c12503f8b457de704c58e7f066c1938645d88cc8b986a2fa993dcc5c60f45b72b22950df9419577c37e815e65b6e3749d4ce551457ac1bd868e24093074fbe
 DIST nvidia-persistenced-565.57.01.tar.bz2 49559 BLAKE2B 
5cb968e99b8732c78bfd35be260b5522c63d8025e40609fb016578d29b7817ca72ec83990e66fc39867eb385720161bd15130de1e4a424081519e491172653be
 SHA512 
15cdd99d825178addbf5e7fe6d0217986c2be892af7d110085373bfcb3a8cf1525b1705c1d36d9213e4aec093c4deafac42a47b75fdd252640a8a6a988828d70
 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B 
d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd
 SHA512 
b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
 DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 
8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19
 SHA512 
626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007
-DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B 
cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f
 SHA512 
9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd
 DIST nvidia-settings-535.183.01.tar.bz2 1094944 BLAKE2B 
70d8deff3b587f54fcc6eb9b4a6396493e9aa89ced07bbaecd517e3a3f18ed4ab093777c0a74ddba24cb7e3ec4bd89a91e3f3ab877345e36fa6f8b71928af2dd
 SHA512 
b7bcfdc48d053419e58d6eca762e55814feeb9ad992a134dd870ed899f4f2fab60fbc30f2c12b655bae248bab1602efaf02d31c0cabae1dbb8044d1b7c65b834
 DIST nvidia-settings-535.216.01.tar.bz2 1094718 BLAKE2B 
19d87eed2263fbff32a6ca1f61f28e4d46e7b98e05e07f2e9f005a94ca1a89c61351aeb568b83ec1eab6e41a7a77a121cc156730a04137c43e03113df56289e3
 SHA512 
a4100e3382486508da74474e6252b2967c9a961fc08ff6824a321ffb929bf47096c8e4cc91348b57fb07cd637436d5bd7c3b9bbf9f07a6671503b2f9a9c96114
 DIST nvidia-settings-550.120.tar.bz2 1099121 BLAKE2B 
072503d74873ac00bdb2df3689136ab60d314f1205cbbf1ba1d861ab01f2a1385f35db8c100c6271bda7b55c2e8e7148932f4fadb0dcafd428970e94c1b04b07
 SHA512 
665026474f23c027c859bd34fb8d9880522012159234ec36b432dd6f8e291b50eea460fbf288053744df42e5ec03b0cf2567fa405131da98ebf0b0e9b2d05a4f
 DIST nvidia-settings-550.127.05.tar.bz2 1099103 BLAKE2B 
7e8779be16105bef7efcca6bbf702b3b025f10bc9f1f829820ff8825dcae856916cb91661ec14d0a276f09d78f66591f95a2ffbf2fe9ab34d9b95b885526da9a
 SHA512 
5ffcd7323e95ef908c89ab4e9bafc779af8c306e4dce7aed80bfcb4630eb72efe2183c06e93b8f2b1e80e277d18f5050dcb515079d0ea30f72e50a3613f5a2d4
-DIST nvidia-settings-560.35.03.tar.bz2 1115724 BLAKE2B 
937a3ea634e9bbc4b76f6c50fd20108c783a941e021a3fe1a9fd3288248fe14069f4e7b147cb3666e1d6bab91be2c0305daaeee57d338b9af546cefc79725be1
 SHA512 
7ed656ebe35ce55a0064dae57fdcc5c3eecc3c6db71bfc66f001dd60c4db764c6a2565af29f84ca1246280fbd573d8da4d09e21444b71210cedea5d1462b85f0
 DIST nvidia-settings-565.57.01.tar.bz2 1119062 BLAKE2B 
ec63854345c27dd7cbd5a88c4b5a1cb70ac02b22456aca608e17d463abbe859a31bcbe27c5c6b23e2d18eb705149bb78b02e119023c44fbdc664aaaa41292437
 SHA512 
9283d6b7bf87922c3c14530345e07129caf24befa20c52bca449ddea09f0311bde0c0d5d60b4c0d81e30cea557815ccf5d9410f47ac661b3eb25639f781d2c27
 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 
0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb
 SHA512 
50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
 DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B 
e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236
 SHA512 
9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca
-DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 
49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da
 SHA512 
4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae
 DIST nvidia-xconfig-535.183.01.tar.bz2 110994 BLAKE2B 
154f0e3885fdc2a30373daad07924b109b1763a08d8d9a53e40037471548e9068762b6ce157ae3de7c3c0d7f0f33d02b875b9bc98d0b99888edf00722b0201f1
 SHA512 
101c0f3da4452e1bf5f4283f17297384e320c81f1bcf20a5eef2fca4802e91795782afbc5eb73f0620285b4c43eba25a80a65eaa8cc4d126036c83f6ce710adb
 DIST nvidia-xconfig-535.216.01.tar.bz2 111063 BLAKE2B 
4b7826a78ca917884399b14bd74b12d6b9f1dd8b37654a86f63c04f19dafe3048f29dbbde503dec3945484a009973575a1e969df7eb231a3723ff964af0c81aa
 SHA512 
39ae9e355efbe48d7952ae6cfce3b92a8de116516a8084d8aaede97f133b9a92555d50e0ac98db98cce6d1e29304d9ca352f9cfe999089b95e5d716560886f85
 DIST nvidia-xconfig-550.120.tar.bz2 111154 BLAKE2B 
bbb60c07497786c9947f418f2fa3e11244a53e38478db62bed4d3ccb1af8c5fd209710760df9bb727685b2f95618f91ce93b03f71aaa2e81b0001ca840e87937
 SHA512 
c286cf5f8fcc0eee25ca0459212b04292adda356b3ee3f0ed4c7d1aef0c859e5cd2498f7010950fb3834726f13a58ea19b84934635a0045e2a2cf843197a2d86
 DIST nvidia-xconfig-550.127.05.tar.bz2 111217 BLAKE2B 
a687e3e1d9e77cb5153a9732beade8c007d11fdada22cdd0a9debe464d9ac5125b435c95565f66c8cf895a9656e66ae37384b11a43e2f0785daf509746b57d62
 SHA512 
ff1a151663621320c32df1593c13e70d17d06f9d9633ea6c57463c0dd73873f8afc73676c393fdca82d7aa5085000e6b3af420228712e4c226b7b24220c454ec
-DIST nvidia-xconfig-560.35.03.tar.bz2 111203 BLAKE2B 
347d4f80b9a16da54fbd7116d0ceafbb15b3b6e78aa1640b8505674b9ffc32056197925b67506d2cbb5d130054944c13246a592d9021f0bb2410ee6e8216df4e
 SHA512 
1a68729b8aa1d3518b43392d4f9af163e2a084c635c08343b25ce761f835801aad203778fd03564ba050ad949a9d2df84fba4c8a48bb1a7afea5e72eb364eb58
 DIST nvidia-xconfig-565.57.01.tar.bz2 111256 BLAKE2B 
66c6eea83729d87ddf516bf6d6bab9dd5552bc7ff5cec0969565383f66e6dde82ee7eb9553be4d78d752f51140ae722a103008bdd1e62c21fb89479fbdc92c05
 SHA512 
567cbe0ec092b8932be7ffd41ded760d3ed7be9496bf4cf655384443ec9a90d653432986ad01c62f5ed5fd4230131cc47eaba5df6a5caedc88236c9fa3ec14cb
 DIST open-gpu-kernel-modules-550.40.76.tar.gz 13813153 BLAKE2B 
8179557721abc9c129f9e5c76a03da38419dc081be41d9bc95dcfb7f3d9e1c9c32442b44d8d1b586d25db7bca37b4b3038ebf6b43a7d31bbd928bb0c73d0ca74
 SHA512 
d51eb623a344ad2b2b3299d0b6e26ec56d9e1408850d4536ec14bcdf770202087c0701b39cd6000fa3f0fc9b5098d937100f28c937e186e5ab770cccb1edaa83

diff --git 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch
 
b/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch
deleted file mode 100644
index e0da3fcc2f87..000000000000
--- 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-linux-6.1.76, 6.6.15, and 6.7.3 have modified the non-ARCH-specific
-pfn_valid() to use __rcu_read_lock/unlock[1] that is marked GPL and
-cannot be used here[2][3][4] unless use the open source variant.
-
-As a workaround, reuse the old implementation until NVIDIA makes
-a fixed release (due to no longer be using pfn_valid[5], likely
-with its own implementation similarly to this patch).
-
-Safe to use with kernel >=5.15 or so but older ones had a different
-pfn_valid implementation. However 5.15 and older branches are
-"currently" not affected, so simply limit to >=6.1.76.
-
-[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/include/linux/mmzone.h?h=v6.7.3&id=3a01daace71b521563c38bbbf874e14c3e58adb7
-[2] https://bugs.gentoo.org/923456
-[3] https://forums.developer.nvidia.com/t/280908
-[4] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594
-[5] 
https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594#issuecomment-1916197641
---- a/kernel/common/inc/nv-linux.h
-+++ b/kernel/common/inc/nv-linux.h
-@@ -1990,2 +1990,23 @@
- 
-+#if defined(CONFIG_HAVE_ARCH_PFN_VALID) || LINUX_VERSION_CODE < 
KERNEL_VERSION(6,1,76)
-+#  define nv_pfn_valid pfn_valid
-+#else
-+/* pre-6.1.76 kernel pfn_valid version without GPL rcu_read_lock/unlock() */
-+static inline int nv_pfn_valid(unsigned long pfn)
-+{
-+        struct mem_section *ms;
-+
-+        if (PHYS_PFN(PFN_PHYS(pfn)) != pfn)
-+                return 0;
-+
-+        if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS)
-+                return 0;
-+
-+        ms = __pfn_to_section(pfn);
-+        if (!valid_section(ms))
-+                return 0;
-+
-+        return early_section(ms) || pfn_section_valid(ms, pfn);
-+}
-+#endif
- #endif  /* _NV_LINUX_H_ */
---- a/kernel/nvidia/nv-mmap.c
-+++ b/kernel/nvidia/nv-mmap.c
-@@ -576,3 +576,3 @@
-             if (!IS_REG_OFFSET(nv, access_start, access_len) &&
--                (pfn_valid(PFN_DOWN(mmap_start))))
-+                (nv_pfn_valid(PFN_DOWN(mmap_start))))
-             {
---- a/kernel/nvidia/os-mlock.c
-+++ b/kernel/nvidia/os-mlock.c
-@@ -102,3 +102,3 @@
-         if ((nv_follow_pfn(vma, (start + (i * PAGE_SIZE)), &pfn) < 0) ||
--            (!pfn_valid(pfn)))
-+            (!nv_pfn_valid(pfn)))
-         {
-@@ -176,3 +176,3 @@
- 
--    if (pfn_valid(pfn))
-+    if (nv_pfn_valid(pfn))
-     {

diff --git 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch
 
b/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch
deleted file mode 100644
index 692e1880489d..000000000000
--- 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-clang-15.0.7(?) or so may abort when the unused option -MD is passed,
-option removal is backported from the nvidia:0/535 branch.
-
-Note patch is kept without context given the lines below change constantly
-(version) preventing from applying same patch to multiple versions.
-
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/506
---- a/kernel/Kbuild
-+++ b/kernel/Kbuild
-@@ -73 +73 @@
--EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error 
-Wno-format-extra-args
-+EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error 
-Wno-format-extra-args
---- a/kernel-module-source/kernel-open/Kbuild
-+++ b/kernel-module-source/kernel-open/Kbuild
-@@ -73 +73 @@
--EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error 
-Wno-format-extra-args
-+EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error 
-Wno-format-extra-args

diff --git 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.147.05-gcc14.patch 
b/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.147.05-gcc14.patch
deleted file mode 100644
index 799f80b79f7e..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.147.05-gcc14.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/921370
-https://forums.developer.nvidia.com/t/279072
---- a/kernel/conftest.sh
-+++ b/kernel/conftest.sh
-@@ -4807,6 +4807,11 @@
-             CODE="
-             #include <drm/drm_gem.h>
-+            #if defined(NV_LINUX_IOSYS_MAP_H_PRESENT)
-+            typedef struct iosys_map nv_sysio_map_t;
-+            #else
-+            typedef struct dma_buf_map nv_sysio_map_t;
-+            #endif
-             int conftest_drm_gem_object_vmap_has_map_arg(
--                    struct drm_gem_object *obj, struct dma_buf_map *map) {
-+                    struct drm_gem_object *obj, nv_sysio_map_t *map) {
-                 return obj->funcs->vmap(obj, map);
-             }"
---- a/kernel-module-source/kernel-open/conftest.sh
-+++ b/kernel-module-source/kernel-open/conftest.sh
-@@ -4807,6 +4807,11 @@
-             CODE="
-             #include <drm/drm_gem.h>
-+            #if defined(NV_LINUX_IOSYS_MAP_H_PRESENT)
-+            typedef struct iosys_map nv_sysio_map_t;
-+            #else
-+            typedef struct dma_buf_map nv_sysio_map_t;
-+            #endif
-             int conftest_drm_gem_object_vmap_has_map_arg(
--                    struct drm_gem_object *obj, struct dma_buf_map *map) {
-+                    struct drm_gem_object *obj, nv_sysio_map_t *map) {
-                 return obj->funcs->vmap(obj, map);
-             }"

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild
deleted file mode 100644
index b4f1801cfdf9..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild
+++ /dev/null
@@ -1,585 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 multilib readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.7 # 6.6 for arm64 (see below)
-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-r2 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs 
+tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
-       acct-group/video
-       X? ( x11-libs/libpciaccess )
-       persistenced? (
-               acct-user/nvpd
-               net-libs/libtirpc:=
-       )
-       tools? (
-               >=app-accessibility/at-spi2-core-2.46:2
-               dev-libs/glib:2
-               dev-libs/jansson:=
-               media-libs/harfbuzz:=
-               x11-libs/cairo
-               x11-libs/gdk-pixbuf:2
-               x11-libs/gtk+:3[X]
-               x11-libs/libX11
-               x11-libs/libXext
-               x11-libs/libXxf86vm
-               x11-libs/pango
-       )
-"
-RDEPEND="
-       ${COMMON_DEPEND}
-       sys-libs/glibc
-       X? (
-               media-libs/libglvnd[X,abi_x86_32(-)?]
-               x11-libs/libX11[abi_x86_32(-)?]
-               x11-libs/libXext[abi_x86_32(-)?]
-       )
-       powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
-       wayland? (
-               gui-libs/egl-gbm
-               >=gui-libs/egl-wayland-1.1.10
-               media-libs/libglvnd
-       )
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       static-libs? (
-               x11-base/xorg-proto
-               x11-libs/libX11
-               x11-libs/libXext
-       )
-       tools? (
-               media-libs/libglvnd
-               sys-apps/dbus
-               x11-base/xorg-proto
-               x11-libs/libXrandr
-               x11-libs/libXv
-               x11-libs/libvdpau
-       )
-"
-BDEPEND="
-       sys-devel/m4
-       virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
-       "${FILESDIR}"/nvidia-drivers-470.223.02-gpl-pfn_valid.patch
-       "${FILESDIR}"/nvidia-drivers-525.116.04-clang-unused-option.patch
-       "${FILESDIR}"/nvidia-drivers-525.147.05-gcc14.patch
-       "${FILESDIR}"/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
-       "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
-       "${FILESDIR}"/nvidia-settings-390.144-desktop.patch
-       "${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
-)
-
-pkg_setup() {
-       use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
-       local CONFIG_CHECK="
-               PROC_FS
-               ~DRM_KMS_HELPER
-               ~SYSVIPC
-               ~!LOCKDEP
-               ~!SLUB_DEBUG_ON
-               !DEBUG_MUTEXES
-               $(usev powerd '~CPU_FREQ')
-       "
-
-       local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but 
needed for Xorg auto-detection
-       of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
-       Cannot be directly selected in the kernel's menuconfig, and may need
-       selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
-       DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
-       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."
-
-       # screen_info is marked GPL on non-x86 in 6.7 and cannot be used
-       # (patchable, but just avoid advertising compatibility for now)
-       # https://forums.developer.nvidia.com/t/278367
-       use arm64 && MODULES_KERNEL_MAX=6.6
-
-       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 !powerd || # file is missing on arm64 (masked)
-               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-470.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
-
-       # temporary option, nvidia will remove in the future
-       use !kernel-open ||
-               sed -i '/blacklist/a\
-\
-# Enable using kernel-open with workstation GPUs (experimental)\
-options nvidia NVreg_OpenRmEnableUnsupportedGpus=1' "${T}"/nvidia.conf || die
-}
-
-src_compile() {
-       tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-       local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # 
raw-ldflags.patch
-
-       local xnvflags=-fPIC #840389
-       # lto static libraries tend to cause problems without fat objects
-       tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
-       NV_ARGS=(
-               PREFIX="${EPREFIX}"/usr
-               HOST_CC="$(tc-getBUILD_CC)"
-               HOST_LD="$(tc-getBUILD_LD)"
-               BUILD_GTK2LIB=
-               NV_USE_BUNDLED_LIBJANSSON=0
-               NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
-               WAYLAND_AVAILABLE=$(usex wayland 1 0)
-               XNVCTRL_CFLAGS="${xnvflags}"
-       )
-
-       if use modules; then
-               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
-
-               local modlistargs=video:kernel
-               if use kernel-open; then
-                       
modlistargs+=-module-source:kernel-module-source/kernel-open
-
-                       # environment flags are normally unused for modules, 
but nvidia
-                       # uses it for building the "blob" and it is a bit 
fragile
-                       filter-flags -fno-plt #912949
-                       filter-lto
-                       CC=${KERNEL_CC} CXX=${KERNEL_CXX} 
strip-unsupported-flags
-               fi
-
-               local modlist=( 
nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
-               local modargs=(
-                       IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
-                       SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-               )
-
-               # temporary workaround for bug #914468
-               CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
-               linux-mod-r1_src_compile
-               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe
-       use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
-       if use tools; then
-               # avoid noisy *very* noisy logs with deprecation warnings
-               CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
-                       emake "${NV_ARGS[@]}" -C nvidia-settings
-       elif use static-libs; then
-               # pretend GTK+3 is available, not actually used (bug #880879)
-               emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
-                       -C nvidia-settings/src out/libXNVCtrl.a
-       fi
-}
-
-src_install() {
-       local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
-       NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
-       local -A paths=(
-               [APPLICATION_PROFILE]=/usr/share/nvidia
-               [CUDA_ICD]=/etc/OpenCL/vendors
-               
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
-               [FIRMWARE]=/lib/firmware/nvidia/${PV}
-               [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
-               [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
-               [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")
-               $(usev !wayland libnvidia-vulkan-producer)
-               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
-       )
-       local skip_modules=(
-               $(usev !X "nvfbc vdpau xdriver")
-               $(usev !modules gsp)
-               $(usev !powerd powerd)
-               installer nvpd # handled separately / built from source
-       )
-       local skip_types=(
-               GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # 
media-libs/libglvnd
-               OPENCL_WRAPPER.\* # virtual/opencl
-               DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # 
handled separately / unused
-       )
-
-       local DOCS=(
-               README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
-               nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
-       )
-       local HTML_DOCS=( html/. )
-       einstalldocs
-
-       local DISABLE_AUTOFORMATTING=yes
-       local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
-       readme.gentoo_create_doc
-
-       if use modules; then
-               linux-mod-r1_src_install
-
-               insinto /etc/modprobe.d
-               doins "${T}"/nvidia.conf
-
-               # used for gpu verification with binpkgs (not kept, see 
pkg_preinst)
-               insinto /usr/share/nvidia
-               doins supported-gpus/supported-gpus.json
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe install
-       fowners :video /usr/bin/nvidia-modprobe #505092
-       fperms 4710 /usr/bin/nvidia-modprobe
-
-       if use persistenced; then
-               emake "${NV_ARGS[@]}" -C nvidia-persistenced install
-               newconfd "${FILESDIR}"/nvidia-persistenced.confd 
nvidia-persistenced
-               newinitd "${FILESDIR}"/nvidia-persistenced.initd 
nvidia-persistenced
-               systemd_dounit "${T}"/nvidia-persistenced.service
-       fi
-
-       if use tools; then
-               emake "${NV_ARGS[@]}" -C nvidia-settings install
-
-               doicon nvidia-settings/doc/nvidia-settings.png
-               domenu nvidia-settings/doc/nvidia-settings.desktop
-
-               exeinto /etc/X11/xinit/xinitrc.d
-               newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
-       fi
-
-       if use static-libs; then
-               dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
-               insinto /usr/include/NVCtrl
-               doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
-       fi
-
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
-       # mimic nvidia-installer by reading .manifest to install files
-       # 0:file 1:perms 2:type 3+:subtype/arguments -:module
-       local m into
-       while IFS=' ' read -ra m; do
-               ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
-                       [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] 
||
-                       [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
-                       has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
-               case ${m[2]} in
-                       MANPAGE)
-                               gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
-                               continue
-                       ;;
-                       GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
-                       VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so 
to vdpau/
-               esac
-
-               if [[ -v 'paths[${m[2]}]' ]]; then
-                       into=${paths[${m[2]}]}
-               elif [[ ${m[2]} == *_BINARY ]]; then
-                       into=/opt/bin
-               elif [[ ${m[3]} == COMPAT32 ]]; then
-                       use abi_x86_32 || continue
-                       into=/usr/${libdir32}
-               elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
-                       into=/usr/${libdir}
-               else
-                       die "No known installation path for ${m[0]}"
-               fi
-               [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
-               [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
-               if [[ ${m[2]} =~ _SYMLINK$ ]]; then
-                       [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
-                       dosym ${m[4]} ${into}/${m[0]}
-                       continue
-               fi
-               [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
-                       dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in 
.manifest
-
-               printf -v m[1] %o $((m[1] | 0200)) # 444->644
-               insopts -m${m[1]}
-               insinto ${into}
-               doins ${m[0]}
-       done < .manifest || die
-       insopts -m0644 # reset
-
-       # MODULE:installer non-skipped extras
-       : "$(systemd_get_sleepdir)"
-       exeinto "${_#"${EPREFIX}"}"
-       doexe systemd/system-sleep/nvidia
-       dobin systemd/nvidia-sleep.sh
-       systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
-       dobin nvidia-bug-report.sh
-
-       # MODULE:powerd extras
-       if use powerd; then
-               newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
-               systemd_dounit systemd/system/nvidia-powerd.service
-
-               insinto /usr/share/dbus-1/system.d
-               doins nvidia-dbus.conf
-       fi
-
-       # 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
-       # 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
-
-       # 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"'
-
-       # 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}[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; 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
-
-       # these can be removed after some time, only to help the transition
-       # given users are unlikely to do further custom solutions if it works
-       # (see also https://github.com/elogind/elogind/issues/272)
-       if grep -riq "^[^#]*HandleNvidiaSleep=yes" 
"${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
-       then
-               ewarn
-               ewarn "!!! WARNING !!!"
-               ewarn "Detected HandleNvidiaSleep=yes in 
${EROOT}/etc/elogind/sleep.conf.d/."
-               ewarn "This 'could' cause issues if used in combination with 
the new hook"
-               ewarn "installed by the ebuild to handle sleep using the 
official upstream"
-               ewarn "script. It is recommended to disable the option."
-       fi
-       if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 
2>/dev/null | \
-               sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc 
-l) -gt 2 ]]
-       then
-               ewarn
-               ewarn "!!! WARNING !!!"
-               ewarn "Detected a custom script at 
${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
-               ewarn "referencing NVIDIA. This version of ${PN} has installed 
its own"
-               ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and 
it is recommended"
-               ewarn "to remove the custom one to avoid potential issues."
-               ewarn
-               ewarn "Feel free to ignore this warning if you know the other 
NVIDIA-related"
-               ewarn "scripts can be used together. The warning will be 
removed in the future."
-       fi
-       if [[ ${REPLACING_VERSIONS##* } ]] &&
-               ver_test ${REPLACING_VERSIONS##* } -lt 525.147.05-r1 # may get 
repeated
-       then
-               elog
-               elog "For suspend/sleep, 
'NVreg_PreserveVideoMemoryAllocations=1' is now default"
-               elog "with this version of ${PN}. This is recommended (or 
required) by"
-               elog "major DEs especially with wayland but, *if* experience 
regressions with"
-               elog "suspend, try reverting to =0 in 
'${EROOT}/etc/modprobe.d/nvidia.conf'."
-               elog
-               elog "May notably be an issue when using neither systemd nor 
elogind to suspend."
-               elog
-               elog "Also, the systemd suspend/hibernate/resume services are 
now enabled by"
-               elog "default, and for openrc+elogind a similar hook has been 
installed."
-       fi
-}

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
deleted file mode 100644
index 9a3cb1ef33e3..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
+++ /dev/null
@@ -1,592 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.11
-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-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs 
+tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
-       acct-group/video
-       X? ( x11-libs/libpciaccess )
-       persistenced? (
-               acct-user/nvpd
-               net-libs/libtirpc:=
-       )
-       tools? (
-               >=app-accessibility/at-spi2-core-2.46:2
-               dev-libs/glib:2
-               dev-libs/jansson:=
-               media-libs/harfbuzz:=
-               x11-libs/cairo
-               x11-libs/gdk-pixbuf:2
-               x11-libs/gtk+:3[X]
-               x11-libs/libX11
-               x11-libs/libXext
-               x11-libs/libXxf86vm
-               x11-libs/pango
-       )
-"
-RDEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/openssl:0/3
-       sys-libs/glibc
-       X? (
-               media-libs/libglvnd[X,abi_x86_32(-)?]
-               x11-libs/libX11[abi_x86_32(-)?]
-               x11-libs/libXext[abi_x86_32(-)?]
-       )
-       powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
-       wayland? (
-               >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
-               >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
-       )
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       static-libs? (
-               x11-base/xorg-proto
-               x11-libs/libX11
-               x11-libs/libXext
-       )
-       tools? (
-               dev-util/vulkan-headers
-               media-libs/libglvnd
-               sys-apps/dbus
-               x11-base/xorg-proto
-               x11-libs/libXrandr
-               x11-libs/libXv
-               x11-libs/libvdpau
-       )
-"
-BDEPEND="
-       sys-devel/m4
-       virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
-       "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
-       "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-       "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.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
-               ~SYSVIPC
-               ~!LOCKDEP
-               ~!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_AMDGPU=m or
-       DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *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}
-       Many DRM devices like DRM_I915 cannot currently be used to enable this."
-       local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to 
build with USE=kernel-open.
-       Cannot be directly selected in the kernel's menuconfig, and may need
-       selection of another option that requires it such as CONFIG_KVM."
-
-       linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
-       # make patches usable across versions
-       rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
-       rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
-       rm nvidia-settings && mv nvidia-settings{-${PV},} || die
-       rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
-       mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
-       default
-
-       # prevent detection of incomplete kernel DRM support (bug #603818)
-       sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
-               -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
-       # adjust service files
-       sed 's/__USER__/nvpd/' \
-               
nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
-               > "${T}"/nvidia-persistenced.service || die
-       sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || 
die
-
-       # use alternative vulkan icd option if USE=-X (bug #909181)
-       use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
-       # enable nvidia-drm.modeset=1 by default with USE=wayland
-       cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
-       use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || 
die
-
-       # makefile attempts to install wayland library even if not built
-       use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
-               nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
-       tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
-       local xnvflags=-fPIC #840389
-       # lto static libraries tend to cause problems without fat objects
-       tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
-       NV_ARGS=(
-               PREFIX="${EPREFIX}"/usr
-               HOST_CC="$(tc-getBUILD_CC)"
-               HOST_LD="$(tc-getBUILD_LD)"
-               BUILD_GTK2LIB=
-               NV_USE_BUNDLED_LIBJANSSON=0
-               NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
-               WAYLAND_AVAILABLE=$(usex wayland 1 0)
-               XNVCTRL_CFLAGS="${xnvflags}"
-       )
-
-       if use modules; then
-               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
-
-               local modlistargs=video:kernel
-               if use kernel-open; then
-                       
modlistargs+=-module-source:kernel-module-source/kernel-open
-
-                       # environment flags are normally unused for modules, 
but nvidia
-                       # uses it for building the "blob" and it is a bit 
fragile
-                       filter-flags -fno-plt #912949
-                       filter-lto
-                       CC=${KERNEL_CC} CXX=${KERNEL_CXX} 
strip-unsupported-flags
-               fi
-
-               local modlist=( 
nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
-               local modargs=(
-                       IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
-                       SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-               )
-
-               # temporary workaround for bug #914468
-               CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
-               linux-mod-r1_src_compile
-               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe
-       use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
-       if use tools; then
-               # avoid noisy *very* noisy logs with deprecation warnings
-               CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
-                       emake "${NV_ARGS[@]}" -C nvidia-settings
-       elif use static-libs; then
-               # pretend GTK+3 is available, not actually used (bug #880879)
-               emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
-                       -C nvidia-settings/src out/libXNVCtrl.a
-       fi
-}
-
-src_install() {
-       local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
-       NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
-       local -A paths=(
-               [APPLICATION_PROFILE]=/usr/share/nvidia
-               [CUDA_ICD]=/etc/OpenCL/vendors
-               
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
-               [FIRMWARE]=/lib/firmware/nvidia/${PV}
-               [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
-               [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
-               [OPENGL_DATA]=/usr/share/nvidia
-               [VULKAN_ICD_JSON]=/usr/share/vulkan
-               [VULKANSC_ICD_JSON]=/usr/share/vulkansc
-               [WINE_LIB]=/usr/${libdir}/nvidia/wine
-               [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
-               [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
-               [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
-               [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
-       )
-
-       local skip_files=(
-               $(usev !X "libGLX_nvidia libglxserver_nvidia")
-               libGLX_indirect # non-glvnd unused fallback
-               libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from 
source
-               libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
-               libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
-               libnvidia-pkcs11.so # using the openssl3 version instead
-       )
-       local skip_modules=(
-               $(usev !X "nvfbc vdpau xdriver")
-               $(usev !modules gsp)
-               $(usev !powerd powerd)
-               installer nvpd # handled separately / built from source
-       )
-       local skip_types=(
-               GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # 
media-libs/libglvnd
-               OPENCL_WRAPPER.\* # virtual/opencl
-               DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # 
handled separately / unused
-       )
-
-       local DOCS=(
-               README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
-               nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
-       )
-       local HTML_DOCS=( html/. )
-       einstalldocs
-
-       local DISABLE_AUTOFORMATTING=yes
-       local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
-       readme.gentoo_create_doc
-
-       if use modules; then
-               linux-mod-r1_src_install
-
-               insinto /etc/modprobe.d
-               doins "${T}"/nvidia.conf
-
-               # used for gpu verification with binpkgs (not kept, see 
pkg_preinst)
-               insinto /usr/share/nvidia
-               doins supported-gpus/supported-gpus.json
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe install
-       fowners :video /usr/bin/nvidia-modprobe #505092
-       fperms 4710 /usr/bin/nvidia-modprobe
-
-       if use persistenced; then
-               emake "${NV_ARGS[@]}" -C nvidia-persistenced install
-               newconfd "${FILESDIR}"/nvidia-persistenced.confd 
nvidia-persistenced
-               newinitd "${FILESDIR}"/nvidia-persistenced.initd 
nvidia-persistenced
-               systemd_dounit "${T}"/nvidia-persistenced.service
-       fi
-
-       if use tools; then
-               emake "${NV_ARGS[@]}" -C nvidia-settings install
-
-               doicon nvidia-settings/doc/nvidia-settings.png
-               domenu nvidia-settings/doc/nvidia-settings.desktop
-
-               exeinto /etc/X11/xinit/xinitrc.d
-               newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
-       fi
-
-       if use static-libs; then
-               dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
-               insinto /usr/include/NVCtrl
-               doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
-       fi
-
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
-       # mimic nvidia-installer by reading .manifest to install files
-       # 0:file 1:perms 2:type 3+:subtype/arguments -:module
-       local m into
-       while IFS=' ' read -ra m; do
-               ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
-                       [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] 
||
-                       [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
-                       has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
-               case ${m[2]} in
-                       MANPAGE)
-                               gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
-                               continue
-                       ;;
-                       GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
-                       VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so 
to vdpau/
-               esac
-
-               if [[ -v 'paths[${m[2]}]' ]]; then
-                       into=${paths[${m[2]}]}
-               elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
-                       into=${m[3]}
-               elif [[ ${m[2]} == *_BINARY ]]; then
-                       into=/opt/bin
-               elif [[ ${m[3]} == COMPAT32 ]]; then
-                       use abi_x86_32 || continue
-                       into=/usr/${libdir32}
-               elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
-                       into=/usr/${libdir}
-               else
-                       die "No known installation path for ${m[0]}"
-               fi
-               [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
-               [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
-               if [[ ${m[2]} =~ _SYMLINK$ ]]; then
-                       [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
-                       dosym ${m[4]} ${into}/${m[0]}
-                       continue
-               fi
-               # avoid portage warning due to missing soname links in manifest
-               [[ ${m[0]} =~ .*((libnvidia-ngx.so|libnvidia-egl-gbm.so).*) ]] 
&&
-                       dosym ${BASH_REMATCH[1]} ${into}/${BASH_REMATCH[2]}.1
-
-               printf -v m[1] %o $((m[1] | 0200)) # 444->644
-               insopts -m${m[1]}
-               insinto ${into}
-               doins ${m[0]}
-       done < .manifest || die
-       insopts -m0644 # reset
-
-       # MODULE:installer non-skipped extras
-       : "$(systemd_get_sleepdir)"
-       exeinto "${_#"${EPREFIX}"}"
-       doexe systemd/system-sleep/nvidia
-       dobin systemd/nvidia-sleep.sh
-       systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
-       dobin nvidia-bug-report.sh
-
-       # MODULE:powerd extras
-       if use powerd; then
-               newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
-               systemd_dounit systemd/system/nvidia-powerd.service
-
-               insinto /usr/share/dbus-1/system.d
-               doins nvidia-dbus.conf
-       fi
-
-       # 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
-       # 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
-
-       # symlink non-versioned so nvidia-settings can use it even if 
misdetected
-       dosym nvidia-application-profiles-${PV}-key-documentation \
-               
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
-       # don't attempt to strip firmware files (silences errors)
-       dostrip -x ${paths[FIRMWARE]}
-
-       # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
-       # are widespread and sometime affect revdeps of packages built with
-       # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
-       # ebuilds should handle manually if need others or addwrite)
-       insinto /etc/sandbox.d
-       newins - 20nvidia 
<<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
-       # 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
-       # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
-       for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
-               g=$(grep -io 
"\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
-                       "${ED}"/usr/share/nvidia/supported-gpus.json 
2>/dev/null)
-               if [[ ${g} ]]; then
-                       g=$((${g##*\"}+1))
-                       if ver_test -ge ${g}; then
-                               NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
-                               break
-                       fi
-               fi
-       done
-       rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
-       linux-mod-r1_pkg_postinst
-
-       readme.gentoo_print_elog
-
-       if [[ -r /proc/driver/nvidia/version &&
-               $(</proc/driver/nvidia/version) != *"  ${PV}  "* ]]; then
-               ewarn "Currently loaded NVIDIA modules do not match the newly 
installed"
-               ewarn "libraries and may prevent launching GPU-accelerated 
applications."
-               if use modules; then
-                       ewarn "Easiest way to fix this is normally to reboot. 
If still run into issues"
-                       ewarn "(e.g. API mismatch messages in the \`dmesg\` 
output), please verify"
-                       ewarn "that the running kernel is ${KV_FULL} and that 
(if used) the"
-                       ewarn "initramfs does not include NVIDIA modules (or at 
least, not old ones)."
-               fi
-       fi
-
-       if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
-               ewarn "Detected that the current kernel command line is using 
'slub_debug=',"
-               ewarn "this may lead to system instability/freezes with this 
version of"
-               ewarn "${PN}. Bug: https://bugs.gentoo.org/796329";
-       fi
-
-       if [[ -v NV_LEGACY_MASK ]]; then
-               ewarn
-               ewarn "***WARNING***"
-               ewarn
-               ewarn "You are installing a version of ${PN} known not to work"
-               ewarn "with a GPU of the current system. If unwanted, add the 
mask:"
-               if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
-                       ewarn "  echo '${NV_LEGACY_MASK}' > 
${EROOT}/etc/portage/package.mask/${PN}"
-               else
-                       ewarn "  echo '${NV_LEGACY_MASK}' >> 
${EROOT}/etc/portage/package.mask"
-               fi
-               ewarn "...then downgrade to a legacy[1] branch if possible (not 
all old versions"
-               ewarn "are available or fully functional, may need to consider 
nouveau[2])."
-               ewarn "[1] https://www.nvidia.com/object/IO_32667.html";
-               ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau";
-       fi
-
-       if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
-               ewarn
-               ewarn "Open source variant of ${PN} was selected, note that it 
requires"
-               ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if 
run into issues."
-               ewarn "Also see: 
${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
-       fi
-
-       if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
-               elog
-               elog "With USE=wayland, this version of ${PN} sets 
nvidia-drm.modeset=1"
-               elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is 
considered"
-               elog "experimental but is required for wayland."
-               elog
-               elog "If you experience issues, either disable wayland or edit 
nvidia.conf."
-               elog "Of note, may possibly cause issues with SLI and Reverse 
PRIME."
-       fi
-
-       if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
-               ver_test ${REPLACING_VERSIONS##* } -lt 555
-       then
-               elog
-               elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that 
>=nvidia-drivers-555"
-               elog "enables the use of the GSP firmware by default. *If* 
experience regressions,"
-               elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to 
optionally disable."
-       fi
-
-       # these can be removed after some time, only to help the transition
-       # given users are unlikely to do further custom solutions if it works
-       # (see also https://github.com/elogind/elogind/issues/272)
-       if grep -riq "^[^#]*HandleNvidiaSleep=yes" 
"${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
-       then
-               ewarn
-               ewarn "!!! WARNING !!!"
-               ewarn "Detected HandleNvidiaSleep=yes in 
${EROOT}/etc/elogind/sleep.conf.d/."
-               ewarn "This 'could' cause issues if used in combination with 
the new hook"
-               ewarn "installed by the ebuild to handle sleep using the 
official upstream"
-               ewarn "script. It is recommended to disable the option."
-       fi
-       if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 
2>/dev/null | \
-               sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc 
-l) -gt 2 ]]
-       then
-               ewarn
-               ewarn "!!! WARNING !!!"
-               ewarn "Detected a custom script at 
${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
-               ewarn "referencing NVIDIA. This version of ${PN} has installed 
its own"
-               ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and 
it is recommended"
-               ewarn "to remove the custom one to avoid potential issues."
-               ewarn
-               ewarn "Feel free to ignore this warning if you know the other 
NVIDIA-related"
-               ewarn "scripts can be used together. The warning will be 
removed in the future."
-       fi
-       if [[ ${REPLACING_VERSIONS##* } ]] &&
-               ver_test ${REPLACING_VERSIONS##* } -lt 560.35.03-r1 # may get 
repeated
-       then
-               elog
-               elog "For suspend/sleep, 
'NVreg_PreserveVideoMemoryAllocations=1' is now default"
-               elog "with this version of ${PN}. This is recommended (or 
required) by"
-               elog "major DEs especially with wayland but, *if* experience 
regressions with"
-               elog "suspend, try reverting to =0 in 
'${EROOT}/etc/modprobe.d/nvidia.conf'."
-               elog
-               elog "May notably be an issue when using neither systemd nor 
elogind to suspend."
-               elog
-               elog "Also, the systemd suspend/hibernate/resume services are 
now enabled by"
-               elog "default, and for openrc+elogind a similar hook has been 
installed."
-       fi
-}

Reply via email to