commit:     6ebf7239f347fe13ca79031f80f740083752c47d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 17:41:42 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 18:04:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ebf7239

x11-drivers/nvidia-drivers: add 550.40.07 (unkeyworded beta)

No known issues, only unkeyworded due to its beta status, feel free
to try it. In theory should be fairly sane given most of its changes
were in 545 and this is likely due to become a production branch (and
a stable candidate here) next release.

Removes the need for a few things:
- kernel-6.7 patch (fixed)
- gcc14 patch (not *really* fixed, but conftests.sh uses -Wno-error)
- 6.6 kernel limitation for arm64, nvidia does a GPL test (untested)
- powerd amd64 limitation, files exist on arm64 too now (untested)

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

 x11-drivers/nvidia-drivers/Manifest                |   8 +
 .../nvidia-drivers/nvidia-drivers-550.40.07.ebuild | 500 +++++++++++++++++++++
 2 files changed, 508 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index 26859b9b480a..8fe83a5bc50f 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -2,6 +2,7 @@ DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 
742feded05f659fa9965b
 DIST NVIDIA-Linux-aarch64-535.146.02.run 269688101 BLAKE2B 
079662585a17a347ad25ea5148255814e8396f49be1172b5e4b7f8b73792ed4379228699664d5bb0f78ea08ab60ac0e8e0a6a958c7f7f4b48d780f8f0640fb7c
 SHA512 
1ce0ef45466cc46a73108cc625c470b2492fbb04b2bbc6f1e2cf1443a9a26c54c517f35b4aef74a301a4288022f9f9698034bed59a3f8cd3fe860ef7368cbf13
 DIST NVIDIA-Linux-aarch64-535.154.05.run 269669314 BLAKE2B 
e5d8c74304d9e555dc9c867455b7e7d6157eab38316f79d233b5528a23f91ddbaf41e693168faf67af94a1c0d8aa8b0e5686bad31f2ea9f999fe5e72de176da9
 SHA512 
78ba2e9a0112d80f019d272c464d2b9e4cf735edbe80de33c97bab5d6dba6f29aed271113edbde95def984ebbddea4f1f80da533337cd94561f620ecdfc3a4ef
 DIST NVIDIA-Linux-aarch64-545.29.06.run 255826178 BLAKE2B 
9299c91a99e02d01d9e91e9baecbc0cc5a085886d64b94e0047ef2591f9e6d309a072d7003a70c5c976906642730f013fbf968b17acd6e8fe8e73f25ab0566b3
 SHA512 
10c92fd02b1f452f79bb9431197e701e103ca65cc7386cc8e8a05ae5af94f0173310997690fe1809dfb19193f108bd482485942ca11342ec35650bd74947e8c5
+DIST NVIDIA-Linux-aarch64-550.40.07.run 235818826 BLAKE2B 
0065b78fc98db27e9478c57aa66f1f0c7f172d2373028be9cfe40f652b195acb2863ffb9421b33ab4272ed4d03ff8d54b2aab4d35ee1abaa85dbb684ec911f8f
 SHA512 
d0c7e735bdd5d2a193c10176691dbc23ddf46ca4bc31897f767c26c28f115ffd8cde65f5437038140c66d4009418b448929054990d9a77dbbbdc49160976e6d1
 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.223.02.run 270557540 BLAKE2B 
fc766d193baf5ef89994188e1589b98429d4e6ddfb925ac2126b5db3d18096a2504303aa79b23401ca8b21878fe76057c3b4e1baa06b76d069fae322634aea9a
 SHA512 
66e470343b6f0c04703c81169cd03674be06b5315db738cab64308ec073b5bf5b87508b58ac8b6288d10e95307072d99e874e7884207a323a3dd08887bbc8750
@@ -10,38 +11,45 @@ DIST NVIDIA-Linux-x86_64-535.146.02.run 341737575 BLAKE2B 
a49631a31f7685fcf338b4
 DIST NVIDIA-Linux-x86_64-535.154.05.run 341691657 BLAKE2B 
63a56771eea30d467e5a8eb4ab4746e80bda7f055c02bb130cf188b6fc30bc91427c903ac43db0837cc3855cb29f44dc1832afd76d3e39ba111e83f6f60e9d2d
 SHA512 
29c54814ed1d93abb7888c821feb14cc419ca76db70f0a57ee56777b7b48f252303562efb8ebe026b9ce6ae624064e9e185414fbe8e5818c241de9fb576ad480
 DIST NVIDIA-Linux-x86_64-535.43.22.run 341157455 BLAKE2B 
9c3e8cca74eca5b70bf0c8f5238111336b54785e0a4bea22a3ce5000011e03ee778e7c3f9b095bf30c1f77cd6dfc941c9356fb910db28c2e0d7fd58d67c44d65
 SHA512 
005858460f24b42b50376dad0b93ec6744a0da39a4366cd76091fdb25c79fb243e4a03442158100a2dcc2ae800d0668a90688f05266495e0afea2ea8de8019bb
 DIST NVIDIA-Linux-x86_64-545.29.06.run 324708574 BLAKE2B 
4b6ef76942f34422a366eb226a75f0e2fa17c8eda58b239fcff7a217bce0e237677a762603553120b49bbf458be763461266f5454bf1b37d99905701cc1d1aa5
 SHA512 
b80e1643471c48477479a48d2e8a9c4a241874d6207ddeaccdeedd3f9f1121d79be90be07d37df094fa6f7cc5806857bf2368337ba40cb5cfe6d04c117c5c45d
+DIST NVIDIA-Linux-x86_64-550.40.07.run 306517958 BLAKE2B 
770d3d1b6778ce69a7ad28da963bc992fbec3eeee41bb29f507af569fda51b1e201fd5def9a8755827a749fe890ba4542f375bc43abb2a79c75fff482ed24813
 SHA512 
7e16f09b1924d3c375dc05710b5bb7c4d94c4b5c459e9b9c88a8f864d7719b84495ca89a27b2bb4ff08bbac1a10d810dc249050b07f2c804319792ac9bbbdad4
 DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B 
a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f
 SHA512 
58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
 DIST NVIDIA-kernel-module-source-535.146.02.tar.xz 12478060 BLAKE2B 
9194835f874f471e14778ad090f616d05f355b0d9578b540733ed6994a864fdd6a8bd7c758b0644923c4b6ba598716bab1da8a6516e8e5193dc62f29f065cfc5
 SHA512 
b4c8b8fe1555edb3fbe46d50640b4aba542001aee50006bdc1a0b1004f1055b2900d13da4a1bb6df83b845eb3a2a8c1c9e7bc572edcd6e55cef0f9c202f4f0eb
 DIST NVIDIA-kernel-module-source-535.154.05.tar.xz 12482832 BLAKE2B 
07bf08068f7f0d597a3527970032ab3c204e1540d48494e992eb1c3fce030c68289e0512ea481e791bddd3a0e5cfc505adfe7e724c9f768d0d12cf657273103e
 SHA512 
129829abbecd7cfa2b6fafedde606d38e12036695a8176b0d7c138a63c467917e2ca60552d813d584a18f2e68d0465a52d88fb32c405c2c841c690f9e2d265f8
 DIST NVIDIA-kernel-module-source-545.29.06.tar.xz 12679556 BLAKE2B 
b842951e05646eff172607000d4a1da9f31b94a90430e7aab247900ef73d9180ad448828b802d4fb6d54b2361fcfcbec56f3c0621bdb504d2e522b9132e055f2
 SHA512 
35af4ec2c2975c8d7550b410d155c9469857c47b33f0bd364b346f67d5b39d521df261132bd03658a1b66262b880d86cd139aa3cb25758c2abdf6a10928e7894
+DIST NVIDIA-kernel-module-source-550.40.07.tar.xz 13403688 BLAKE2B 
bfe488c0e6852ca00ecfa07214a14165b3ca27f56cedebf25d2c50f87292ed4893d2a74ded1b0a60f1aabcd8553cbbc11320cf79d3d603ed0d1fdacff0f8346d
 SHA512 
35b34a11d9417aa22334608172415fcd45766f6c1d80d4352f37ae7dd3077899ef6e2e656310ab4eea5a6141b3dd5b30b15b2abc23dbea7bc2d2e2ce3dadfa28
 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 
8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524
 SHA512 
93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
 DIST nvidia-installer-470.223.02.tar.bz2 146233 BLAKE2B 
8a9b1396289a0a9ca381084e9e4e0256d8b05e12f75b60ad324bd3e9f1797126a7149631ab081d1abaa74727524d372b6cc4fc99fa4646a366bd34e889116534
 SHA512 
ba7121ece68b5596238ae9b15b51fad8f753144859e314ea3b25eece7b583b86cf1d4e0c777152a4ba74eefadb6c3005152096b0049f7ba273ca06e6581ffccb
 DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 
982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a
 SHA512 
171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb
 DIST nvidia-installer-535.146.02.tar.bz2 148539 BLAKE2B 
c331bd053b5e2be9a19ac54a4530ac4d62953fe159dbf8d0141970dfc05846a88198f5317846b4605d6930d72b452a9332acd008fd287380acea167fd77eef5d
 SHA512 
1b20daab5103fab35e67630a8248c375e7d7945e2f206a4d8cbc1ee24c2fa85e37cdd20551aaf7d28e5cd45416b3e54eaf341aca0ffa7c3def3b947c6344502c
 DIST nvidia-installer-535.154.05.tar.bz2 148509 BLAKE2B 
e86663adb2b11355997675bf636e48818441c1bce294287c01ce87fde70441918eb4888939d8bd5f0ce743c00d8a5bf3cf6448395a8dfcbe3abfc86898c32636
 SHA512 
af7e57b2d3f2763c1fa0e8cc264b090b0a350b4d69e80eecf03c636a5df73cebf826dbe3b01200f113fb86811b1ba8bd468130262e28e5cb0fe43829017148dc
 DIST nvidia-installer-545.29.06.tar.bz2 155580 BLAKE2B 
a738741659225b5c5395fd7c588c1db8ae0fcc405bdfe8691297aa3414707daf5d9a7457fdec4556bea1f9df8f40765948da2c4a39f1d1a799b77170f75df00a
 SHA512 
a5ee3f927a1ed21dc74fba7b37330db6ec132ece623bd2a0c8b0dcf7926ba981f5f119cc37b4fd1938e5ff5da85261bea2f59b2e54937d7e954a80fa01718715
+DIST nvidia-installer-550.40.07.tar.bz2 155535 BLAKE2B 
680fa517e97b007f553976128a3c8a2e77db68f66fafab9434681d75e73daa5fa177fd83b25c3f1388b0d99a0702971ce52fc44e546c7362bd4fe378b1b956d1
 SHA512 
bbd5c58eff01f7cada865b5b32e53d6480499994ddc886b3d97eb59a1b78c1a683922999523ad11fcc50e5c7ac872dc01be2e11c99ef61f70f4cee36eb5f5f7b
 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 
80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c
 SHA512 
109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
 DIST nvidia-modprobe-470.223.02.tar.bz2 38796 BLAKE2B 
f3d7dfaa21a2d65e0ef18144c00342b85dfc7d1a0bc8ae6d242139da5ec6a99ab65cb28ee559db3e6df6c9d5c1cb31185608a8b8f95c716ae28279972f0892df
 SHA512 
e111c75c91f0369da77eb1793be93e785b9f658c537f5af9e1631370d66a6328d464aab13c788d02bf5f9ff7977e76c97aea9432b70f55e7024f8d0461031743
 DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 
3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f
 SHA512 
25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f
 DIST nvidia-modprobe-535.146.02.tar.bz2 40686 BLAKE2B 
6c500ee39931481c5bb1df9eb2e9f7fef75847cb1dd5c0c92822d643edebe54ac29dc370171ff97184885061b5bef0fef85bd7d35c34eb3989932315029b4077
 SHA512 
8bd73d701b579633c736277c894cafa01c798ace801c34bfd491b41131915b249507e94948a2f61d59a89a64341b70103ef8190d6300459c404d73fd8fb2d957
 DIST nvidia-modprobe-535.154.05.tar.bz2 40711 BLAKE2B 
c31de0caffac865f2d1c9535af7a60660eb742c3b8eedf9b0e9a0c8623c90378da635066dbfcc66df5fdd85da124bd13ce90cef727e898fe059a6d615d9c0ae4
 SHA512 
0d18e6de5cac243bf4ac26e25a5502bbadadd8ea8db8d639071eb7ad9a68ff76ff3b2ab233bff26a3e2d4f61ad8824baef0d6d9e4baa8b989442779e64f44f48
 DIST nvidia-modprobe-545.29.06.tar.bz2 41148 BLAKE2B 
fc9099e61d38f7bb18eb66ef5097bd27ee134ccd8752d8d19c3be274b5671be54fc446bf6df01d63683ced9c8183f5fd24f09e5d04501a5f4775ad2d24747679
 SHA512 
ad0eae9fed0e8ec75bdae29dff01c4d90b595650991cc7cffbf1069c4ed257665d50f38374ba3f365d18f69c902fbcf69ee526053d3ac37a1156f5531a64ff66
+DIST nvidia-modprobe-550.40.07.tar.bz2 41282 BLAKE2B 
74d81380f07ab9540a8e208d7b8505e7f7757649a51434ceeb30c5e832a9ab3975c5d46d3a4fd678e7d125465918eb7a280871d9908cc7f04cf3127eda43b5b7
 SHA512 
d984220a2e65da4f5e27c743960a91e56ee9135aad0924b3265a107c4e67cfb3a2c723fb24676db86aace129c30aef21747ffe2499db168428131d46652f06ac
 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 
2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8
 SHA512 
70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
 DIST nvidia-persistenced-470.223.02.tar.bz2 46659 BLAKE2B 
d024e3d4d0062789eb3fb49325434737741b347e262571725d24d0e7e9d6a92316cd6e94d1d34b2b3ced8ace3ce7b5c88d3387dae162af29fb745ff94ed69b7c
 SHA512 
c8b8d04390579d885076c401cbe27e1e103bc82fa4fd0f4182590721df9999078b6358f762f6c00a98c1aeda64aea4790a11556f26d4a68a55bdc889eb580a03
 DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B 
a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982
 SHA512 
e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe
 DIST nvidia-persistenced-535.146.02.tar.bz2 48575 BLAKE2B 
a0ba30a865bc92496826801590c5b2048d3f0620d9eb2ca56517be581c279482526e67f37e6641819f856c5cc9ecb42b863807e7da1edcd168eb46d8d5dec5a6
 SHA512 
beacc8e6a2884375507b1b812a229bfa308877fe7c3333f6d925c5b7de6463751166858dd467d8061b72a94d89e6f7dc64203d69f33af5fddfa6dc260935c241
 DIST nvidia-persistenced-535.154.05.tar.bz2 48573 BLAKE2B 
873a322fca3483b120892b26b50f9a758d8d3d67d2d4a76509bf7d6f5e346ab21cebf50f989fe30fac23c4f99a70a942c9b0cf256bd43b752115ad8d4f6d9834
 SHA512 
9c91f5ff1a94422761b8d14d33fe8b764597542af9a7b9ce9b39b4f94b8909d745bd1abae74eecb1a7a66fd4eed0312e71a64325b9f9037a0b5631251260abbd
 DIST nvidia-persistenced-545.29.06.tar.bz2 49046 BLAKE2B 
a31eb1de6c019f33cb3084627a7f79e216abbcfffbf89f8b043ee86aa9210fee441d9145b941f543bd8b9e369f5ab5a833817f7159a6013b06a7aedec78d2270
 SHA512 
816ee602aaae2f02ae7d8d0412fed951560e4fc29a7f4cdac3aeddf6bc0e3b10d14dc473f9ffeb7fff9ebacc889008bf502b71a12fd1df1e29cdcae2ca930c78
+DIST nvidia-persistenced-550.40.07.tar.bz2 49661 BLAKE2B 
2fee744cb3b2cf16dbca12df8904acc93e86f32c738925b74c61dc2d51f1b6016452a2a2238bf22294d7cb6a2677ebd17a9d5a25220ae08ec78f97941dda408e
 SHA512 
8bf07b5680403f555beb9c1e1eb9163e30fdbabfe3b73d71832624daa9891523acd2db759220250344e19a1fe1385814942802d4004eaa216fcf644f85488fa2
 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B 
d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd
 SHA512 
b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
 DIST nvidia-settings-470.223.02.tar.bz2 1062462 BLAKE2B 
1d1403d3c2a0a242bdb61403a533b7e7ae2876ff5440fcc837706e428371dc07008e1ea4616cff00dafa426782efadd7013acddd2e3bad92a3e5aa44f8e416c4
 SHA512 
3fb21133cb4bc48d564d04f0bfedeb4527d7c031f3ff8a185eb87ed9ed008fa77863f65fc3f8aa6bfd6674a8ccc707b90761b271809ffd1ba543bb71dcc01954
 DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B 
cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f
 SHA512 
9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd
 DIST nvidia-settings-535.146.02.tar.bz2 1094038 BLAKE2B 
e5ddd509e9c488c67cd38ecf8fdea203bbf52e824c25118221550d23ebcdd30de634d6c0ea38094cf0e68c830470bc77d20848e5e9e9cb53d2cd1473d50633cb
 SHA512 
072ddc029ff7629c24ad0afc36b5a52fcff736fc73a86bf61bfbc2e8813af12167ef98f7d84081997fa6d795b4912de1d49d12d0000cc3071f345f61c9ec877e
 DIST nvidia-settings-535.154.05.tar.bz2 1094300 BLAKE2B 
1fbba9f1ffb44dacf9659c773d8cb4f6cda9d50529e3c50a2a08f62b5e89a5a678dbcfd2ab6dec55b51ef471ba6071b21b5798949bae8a71e1746f8023082b46
 SHA512 
8d9c27225b688d89bbf7fab6ed10ad59f035e9a5a102d12c00e34312f4991041d34475ff11a931565381112ac02361bb70aff9ad6b7642d08550ffaafb7996b4
 DIST nvidia-settings-545.29.06.tar.bz2 1095301 BLAKE2B 
f0022219d3e8b4ab3d5b2f75d5ab792883d82526d3a7cc5773bfc8468c14345b056a8b1db6ab47f3c3be1ba75c198b548cf9e382e7a8e3150d6045ff72af9618
 SHA512 
6af294920315bb1d86c607e4339410cde7170b0374cf89e94e9f929b9639ce952f8db6da002f252b6717a74110c4385f2f35f16ec52a21ea164f85127048842c
+DIST nvidia-settings-550.40.07.tar.bz2 1099521 BLAKE2B 
3acbb3654eba654e32535251d42c14c9f87627761efbcc7914e0cf19072fdbf00146e83db4c07a585c3023dec2f5d36a55a8e83cf9c7933e798a5977577380dc
 SHA512 
5ef5f5593d91c1bfdd79ab5bfc50f6a2c3c246d991a56b81158845f37845acc9122d9659b048629c82c5e5e70c3c243c03f85c90816fc261a6dfd07a870f55d7
 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 
0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb
 SHA512 
50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
 DIST nvidia-xconfig-470.223.02.tar.bz2 109065 BLAKE2B 
824a4cfbfc2bc56005a4c7fae79268c4fa52aec935c30c2b39e3ee595826731e5472a3a25e6781ada5576e132fe91728d8c3902dd3c24755bed548f7e007a0a1
 SHA512 
c32974ca248854977a5a3107750c24321ddc269a5e95f3ef81e0de6854504fe08df2033240c6225a6b49d38cb2b8edebd71a07064c99f09add371cba67fbce1d
 DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 
49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da
 SHA512 
4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae
 DIST nvidia-xconfig-535.146.02.tar.bz2 111004 BLAKE2B 
62389d8bed7a1d9864327bd295ada9c33324aa102f37746747fff163b8910705e4dd2f1d314909e045a6eb3d44066faf760ac5b47cd66fac731a10bf5a5262f6
 SHA512 
28db8d1bdbca45806be80732f3d43a79ea62c8423891d10d819a56892f500979ff23dead23c2ebe3f4180e87bb627283c042abd313e9d031f2c71854dafd2053
 DIST nvidia-xconfig-535.154.05.tar.bz2 110612 BLAKE2B 
2197351ea9b33a79db6e4e8e877d28914c8b5be90a90512721f10fdde8e51e3155123e1bbba9804cf812c9876413221b96cb06d619aae5a7becf06c3d5935c01
 SHA512 
c9abd2bf0ba275f2054636331f76dbedf85a72a24cb7f706d09a6d6c61fc2e4e689e8aca9a4b182197dc93f2fc0360dbbc071befb6cd7c781dbc5363e95669bf
 DIST nvidia-xconfig-545.29.06.tar.bz2 110995 BLAKE2B 
6c32bc45215f3d0ae65f5430eea46d93ec85b8b10d1d85f3ea40dfd358587cbc2b5493341e4da190586d2da5278abbd9dfb9b907f159448143715a8835d736fb
 SHA512 
cfb3b1e1c96062d2e32c6fcf22410f8f3977b56097ef97de1e01ce325a381ad77e77a0e33a5deeb2889cc7dc74aa13c1a0796800696d60e5e1dcee7a7779d52b
+DIST nvidia-xconfig-550.40.07.tar.bz2 111172 BLAKE2B 
bfa5deedbb521ac60424aed72f18d1e78680ba15e09b2567206fb32ac39e71ffc421c02a9d02835180ce39a05ee64fed5b3af47178caf6465cf56218a4c3133e
 SHA512 
ac5c6ffd1216f9008253ac4bfcb7f78566f895de20bbfeac5b5bca8404c9194e8c78c48e745603f2c93360a1b005144d7d59e8a879e2de3202102082da81b35e
 DIST open-gpu-kernel-modules-535.43.22.tar.gz 12738048 BLAKE2B 
066625414f370fc1b8173b390ab98c8820f18f27e2ec4f4a546839d6a1bb36c69969b7ba24559b1c2f29e82a5122e3edc60c82f0ed40db8c0afb1ff8fb6d4710
 SHA512 
9972eb2634f7424bcd26e6525564456e72c2cad34f74c2a150f6442e0c5ae243aa1f9c9d1427331ad48d91fa1723f1207ad1bdd41d61f1dc61de3be8b9bddbbe

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.07.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.07.ebuild
new file mode 100644
index 000000000000..97ea955e360c
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.07.ebuild
@@ -0,0 +1,500 @@
+# 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.7
+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%%.*}"
+# not keywording betas
+#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-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-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
+       insinto /usr/share/dbus-1/system.d
+       doins nvidia-dbus.conf
+       systemd_dounit systemd/system/nvidia-powerd.service
+
+       # 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"'
+}
+
+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