x11-drivers/nvidia-drivers: add 570.124.04

This is (now) a production branch, and not a beta, meaning a future
stable candidate.

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens
2025-02-27 11:52:37 -05:00
parent 33a911f210
commit 5c02720b2b
2 changed files with 611 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
DIST NVIDIA-Linux-aarch64-535.230.02.run 269922956 BLAKE2B 153d598eb73007e0a4f4e58c5072c955b6fc0b8d44c224f91895ab0fefad5a180241d66b0c2de7f6c8c0b976f74aa9cef6e55fef235c415927e814d93c70db24 SHA512 7954350fe91419fa85c25483e2572e63c14da3e6fef27ffd13b5a4fcc814cde32faf4cd289333d6a22db26c64658f3e2df0ff8a9ec17094e29a25d35517048e4
DIST NVIDIA-Linux-aarch64-550.144.03.run 236384330 BLAKE2B 773c0ee75a2fcaa405539afdfd3a700bb6b2694f4f6c6770778141838ca06ed2e3cd97416f43ac446ede245a21e6c5e03e8a26a8558bb5c3815f77f13b633be0 SHA512 8bf610acbb92dd4cace8dd18263623db6a4108d988da91603c61fc46402289edd78423a329c2b91f8af922327a1f7aa0357fd5431e88acf99242a712357c335f
DIST NVIDIA-Linux-aarch64-570.124.04.run 289714436 BLAKE2B 4962d6c5a678dbd63a404e696bb48304c46e9eecfd000fe60cce969e72f8b9dda3d0e6457df6fc850f6aa687541c347a7b4354527ad4499c6210a1421e05a826 SHA512 09743c5775d78f90ff565901b08f520422210e6088e4622df5ce6a664386cf2d2674b7adb3f0e3fa1c96cbff09840f9a34feabd3bac01c745fdabe1b8f2c4a6c
DIST NVIDIA-Linux-aarch64-570.86.16.run 289340931 BLAKE2B c55b3ae8868a01587b877d212dda87ac656a74d85f3b304c9e10d9af1f0c131fcd379f8a564715101cca2a55097c25ccb15f546968c63d8da70df7374c527722 SHA512 e879de075d64d29a400d985a2d5e971b3b8a92c4a9edb76b0fe6b1149fd8d20810581e3318f1891430fccaa4ef5fbbd2d7d29c2fed61e6283fa71864bb650b63
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
@@ -7,33 +8,40 @@ DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c
DIST NVIDIA-Linux-x86_64-535.230.02.run 341903243 BLAKE2B 954ad0d390aa786a0a95298bd0c98a3b909074e5c7bc5d40a6a4fcea41d423ad1f429f175968c98f5e14c07cdf68d3340420f97269a36a0df41ace6ac8224cb5 SHA512 2154e28682fe1663dc64b18569c67839995d496a6c1b353fcdc17fc4520420c8d629d441312a6cedc054d6322a267d6f275d1daef210d2f24a179d931a4c99b8
DIST NVIDIA-Linux-x86_64-550.144.03.run 307272669 BLAKE2B 6d1daf41eb3f65071b42dc9bc5b8e0cf48170b03f3418c938f956ddb843f5a1e0f3d968b8825207e3237fa0490f0c29e3ffc4403b4558ef557dadf4fcf5ad17c SHA512 b7c4638695ef3e75043fd1726f0153ff0c140475f965d88c21f46d2909e68d023ebe6aa1e758ed81ab58440ba9a789e00b9b84200c03f00d429e11938a2bed65
DIST NVIDIA-Linux-x86_64-550.40.85.run 312478355 BLAKE2B 3c964d0ef54085af19faea7100a5b9c4f33dc85d9b6ab790559aa1d85a8657b9d4e8a48661ab492a3e886258e7d3bf9b671673bddd3a99d3e77b54bc8a3c34c0 SHA512 4eed26067290412ca8fb58aa50eeb1726a45c4a9e4ea9428f192e5787366d6b7d3743509036981a074964b7bf4095aa044efb1a5819ca8757a3ee16cd6f7ee29
DIST NVIDIA-Linux-x86_64-570.124.04.run 375582187 BLAKE2B e0cd5103403e773bf79282592735bbfc5a6cbd2e6b062df16b463104f42de1abdf97d68695b73b052444bab0f5e16af5f8cc9be77fb0035aff17aaa11299fd32 SHA512 35fb1938a08586d902eb290aee04c5c6b570cc647354e49880e3c8715654ac1ab8c8cbe08e5b3c542fd9b2c36f7683454221b11625754980a6138a58c6363b40
DIST NVIDIA-Linux-x86_64-570.86.16.run 375504315 BLAKE2B 3fc5d4b9f8b64323399f201d4d9d896ff47593108d675e5d77a45255e7ca9354e6876e5b4dee1f59c6c933493fbbf9d35606016f83430c43c5fc54c82685f3f8 SHA512 415adf4609f093e8703dd6f2c03bc5cbd84270c694e67bb0ee72897ac18dddb0d8aaf8baaf47e8624a79c54a1f794126a3ddb10fae91784f05f1f32ba063b985
DIST NVIDIA-kernel-module-source-535.230.02.tar.xz 12527212 BLAKE2B fd641d03cf7b417f1300b39dc271b08c920d11861491c510ceb713aaf69f1b4d373a1b0417993a0483dc6b2cb1d3e2d176d9c23edf9586f129df13bef495ce0b SHA512 d9080f257312b6760140a7dad3bb8e1d6f5982e7b25b3e623a74c519a7c296b1a12eece07335fc79f2d209b790a8239df81948cdb4031852d6225c4768ae42c3
DIST NVIDIA-kernel-module-source-550.144.03.tar.xz 13544304 BLAKE2B d68c1bc8914289b5f90a7fabaec029394871175b0563d64416fe596d7dc30c35b607b3fca5c88d03e59f1944e44663810b20609fccaa32aee89ce79b9fb061e9 SHA512 5923c7e6cdc3d8bfe4cdaf079d07e26b638f35ffa6b7a6c74c5ca2f9478a757ca92a1ced5f5b105f8ec0a61ef792653460683dcd1069beafba68264fb180fb14
DIST NVIDIA-kernel-module-source-570.124.04.tar.xz 17918128 BLAKE2B 202baf88dd2ea32dfb72b043486491adc4b6de913be186a7e79ebc28eca991d39568d1e4fa1ab2466a9f2f7256e2233b5827af7668f732c198c425547514f25d SHA512 06b36ea9a6dd71d3e29b9b7c572aba96498378ea52f8381b18c720a1e248ed4a3a7dc19aea7327a704284eb24ffe14c98a9ef7c9acf2b1fa76d893512580a26a
DIST NVIDIA-kernel-module-source-570.86.16.tar.xz 17882116 BLAKE2B 85d7a9395286526028cd42af762466833140c05804cb21512e5738f6c5a7a0264791f8ac11bae24f85d871c30cf4b3765e176cee794370abcf356359f7f2cbd6 SHA512 d1fcb8b5500b9120a76a123a8c1a21a44f0495f9eaa16b9c13d631946e6fad610f21f3dc97bfb1c5818207cb9352a53ed606a7a76fae2d4f3f91fd40933b5b95
DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd
DIST nvidia-installer-535.230.02.tar.bz2 148662 BLAKE2B ca0c35eca37f66fa169b693b35bd3d4fe3d0960729db33c32b849ac6742b3615c3049b6ace8eac9899809c9ccb92192374ee5cefaf414d696d1fd7ee71410045 SHA512 9f15574aa5293d8881c8a79b23a1bc353ccc66224b260cec2db4c6d43c24cb8d6bab09e798d64074d5200c8d520b92dfa0620f1ee3a547ed624ddd4efd4027cf
DIST nvidia-installer-550.144.03.tar.bz2 155619 BLAKE2B 457f33a2c66f8f687124ecf8695bcf8fe39292e2017de69f98be856aec95e4abb41e03a8b23583a3c819c3b4cacebe7d51b3a9c2a16f05745a7b772a098b81aa SHA512 0b0e360250d2d9ef6d8da10db2b7c85b7614a032a0d274b0b3bf19ebef029a9d4f83607241073ec6bce25ee1a28570d86fabdfdbf2b7232cbfc06cb202c99f25
DIST nvidia-installer-570.124.04.tar.bz2 169372 BLAKE2B 119752d2b124b192a54f8713a9ab5495728562039eaa202e5f0713f57dfb80c97d1a282a06d8ad978df0f29abd63c86742a7fab4ee72784aa1286bb48db39412 SHA512 485e29328e366bc20903f68b1a557c5d71c4a8506894f556c2a5ac6f218a094599f9d21cd160dd5c85652dc4259011fad91630755996cdc144ef630650fdf73e
DIST nvidia-installer-570.86.16.tar.bz2 169267 BLAKE2B cc6c06e84426273b3fc66b1adb1d246309ba6e443214c0c02892fe1dbe3bda3d6661100755f9e73e518eafd696a83bf14d1e2ffbc6f6601bf3f65c886032a900 SHA512 00dc99abdd128d10176937753aaee7c98efec74b9f8b04d5798d9eb9a316b9f3de77e8c9b11b1ec31194c99ba929aa1371364918a974eb26121a348c1b6ae370
DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31
DIST nvidia-modprobe-535.230.02.tar.bz2 40755 BLAKE2B a3d65084214237416dfb564a5e85ad83fa8e37bbf4a056c57c05020b792a3fff0ae01d55469348e7de3bafdd5ab045ee254ee9f019e33160ce4b155bbd608dbc SHA512 d48859f5ef6dc467fca4da763d6f67076b4da27831a2d6ef6aeafdf8109d7e69311383f0ea3841f653a594b51b207a4d8851b58e9345f7d4a9ff7d57d390d6f6
DIST nvidia-modprobe-550.144.03.tar.bz2 41461 BLAKE2B 2efaf72026775651ae1c6b8bac94d36643a00940eec8b89754c7712fc33a5d003180f95a123dfe4b538636567628f7fba88cdb54b48424a8fe50b5796e59ce28 SHA512 8ee0bae7acf1c590308ff1dd0a616659c416e18a582c55ff539aab728a164fa27e7fc57d29dc3519cf680390748902d509d4230a6812a40c850598a33bee4c3b
DIST nvidia-modprobe-570.124.04.tar.bz2 41638 BLAKE2B f69fd08e3f244d43a2f3716de0c0dee82d741a1a1aaa22cd7e292e79ac9cc4d3c79d74bdb2bebcbc0748b4ab348ab2bc5c05b81fa13ea7e270fef82d9baa624f SHA512 b5dfa51d795cd3f6f4110264a0d8a5745e8eb45a74eb3280bcbc1bb63484c4ebae1395a547f48eee41dedd9ab32ecf8ec720f976adc92e89a6f726ec3a47187b
DIST nvidia-modprobe-570.86.16.tar.bz2 41617 BLAKE2B 28d3123f725f9a937a31ddbcec2e903dcc613f84387f90543d0b0e1e7baa6fc6bbc2ccd06d8527d89b3c2d6857ed045bdde7f63814d3b198c6607ad86751220e SHA512 913cd040a0c0f16fa115df805640c35439be82d797a717fbf6159448e455bb387ca25814a1a5a4836d45a260348fad0d9cd11ecb7badf428b1b2b7b985078c78
DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9
DIST nvidia-persistenced-535.230.02.tar.bz2 48593 BLAKE2B 3db9b706f42abe108787ba56066b54f0cb4fa76a7f3da5e0f927da8b1dde37d8c9fb39b5f06859c1087b2e634edf1f2bfc69e4f62d15a5b0f54a0af0b7cc1b2a SHA512 f5482032bba92b94fb95d71830e8596e44f3f22c5804cda32a1f5f856711ae66740ba35fb9930fefe2fab688026a292705cb882e6ae408f74c8dc494ff3c4600
DIST nvidia-persistenced-550.144.03.tar.bz2 61298 BLAKE2B c9b6f35fef2779f4dc3e505d3fac9680fd792b227c5770ed518187bf16eeb01dda65f02bb0323d845d7f27e4d7d14ae424d8c6782a455396894869ab8c462423 SHA512 a9f4c46255c4e61d106bfa1df49fcc24dc754e1df1a7b1d62bb00054c5936aaad19d4c4d4aead4276681b73ce40111a3f15226ac138aa43b0919af4c91045236
DIST nvidia-persistenced-570.124.04.tar.bz2 61754 BLAKE2B 032bee859020cc45b6992cb6a81dc1c9d0a3219413cd3bd7b6c11f729830959f7369adcd996a48a700bfc0f516383e4189e095b037f13b9140745dfba1fb3eda SHA512 82aeccf0f087466ad3c8edffcebcd4e5f14ddb9c3f59602f0bba512e78995953a8c50b5b7228e6375b88c0b870281c83d11860cb70c9b0eb93786d545ce80252
DIST nvidia-persistenced-570.86.16.tar.bz2 61718 BLAKE2B fe4fb227c5bfc678e1bdad28bb2d58a88e2d435e543db59464cf5766c4777677206284eb950311d271633cdd16204381e4f8d390e49a9dd1c7f6402d2d40c5d6 SHA512 c335d71a75360af0fa326a0e9330930d0081678a725790dc2cb2c8905889c2da3143286088a65806e57b4ac6d15bf2d819410bffc6ddc0701306aafc6ce721e3
DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007
DIST nvidia-settings-535.230.02.tar.bz2 1094719 BLAKE2B 492a7c190b10ff6703eb1d5a18702f71f7cfdb9d2657aa6ff63487dfd6bc133d7df980af40c12ccb4fc834025776a72791fb2df39628e81ade0588bc0e3ad1a7 SHA512 9e4cfd71198be0c6a8df15d0a4c57d117da8674922b4b3d9584aac13df704def146f4ffef7f8c39f2064c76ce3813f13daed3e96f0b2bebd2dfb6ac612fea990
DIST nvidia-settings-550.144.03.tar.bz2 1099313 BLAKE2B 16f111b49a38063d7b7dac5559f8775d6871fac322017e6ad789e4cca737ffe1c75934cd44c44008f1ae55ab5a3d2f85924086227d18035a00bedfdbfe0e73fd SHA512 223a71474001d9e57888fee41c5a61c86b79438a1502d40f3c5de5e0c8919bf78f2c5042dfb529893c4c3dea537942f9fab8458ad87418e2f43cd613cd3dc815
DIST nvidia-settings-570.124.04.tar.bz2 1123254 BLAKE2B ec6c9f17c8be742667ad42b04e4a45ae35dc62f858168d9ab646c7bb222417f4b2a006a400d1b68da736706d229b727df54f2db1e7e26ed3d53bc9234ffb37a3 SHA512 43176dbde16bc3b0e7305801e61a2c2bb328fe2e27062140bd291a4d882b378d4c2c78070ee165400822a599be7a7643df7757aebaccae6c80f55115698f56de
DIST nvidia-settings-570.86.16.tar.bz2 1122941 BLAKE2B 9691e71f62f11b5c19ab989f9dc28381685409cf3e269f93430292a58ebc78ad5eacc93fbc61b801fec601a269ba25da3d7b4cd4c26cdc791d615919bfe663da SHA512 501cf906dce3c2e6863e5717538b3819cf8a03e763717897b2931257b05f58434f3b269a942a95da0690056d958c65c9acf738c3811ba654f9afff0a1ab1d56d
DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca
DIST nvidia-xconfig-535.230.02.tar.bz2 111060 BLAKE2B a29389a0d73f66b47131ce420a8b0c06134737dc01c9175b146305fa1e534d4c8e722a3af73ec9e745de6e027810836e7a77a0c05e771b46932cf47ce03de198 SHA512 4d0f5e239b47dcccf9abb1208c74d2baff87d93ad8d691772353bc84a340ec1b097e4cc436109ebe063b8180baab39a8c713992eb48c9f76206d54b890a5381c
DIST nvidia-xconfig-550.144.03.tar.bz2 111209 BLAKE2B 733058b0960b04212ad058616a93e79fbc1d18b51d7bf8b2cf9a5227fe1f5fbc2af1accd4043b71137a9c12ef534c454db9a8b46c1c707bc22fbf618d76c0dd2 SHA512 98c637a243bfd0a7f3154994b05400701d3b1ddfe8a38cf7782c237baa33f11cbc5be305b9bce8ac98813af1d37143cf96c13b3e6d3357c30d3f89a9be8bee0d
DIST nvidia-xconfig-570.124.04.tar.bz2 111194 BLAKE2B 9c98c38d99e7d7c1f929f9e5cb815be32a76c2015ff44eb7a2df403c2993ea110b84958077b67cc3cf775bc8b22b025a28b3190662b5e03ee3bc6681a5cbfc43 SHA512 6a9b702d38a8ab360aa85e77d4333b3e9111fa30cb3e674438ea2c3b0704b52caef0b47e8ceaa8339300f4c80b42067af092d0289a21cfe34349b415d124994d
DIST nvidia-xconfig-570.86.16.tar.bz2 111239 BLAKE2B 490638802c16634c6d21e22d81991327d7b4d45a918ad64b05e1191a99143a57bfc84beae2fb900149686b0adff94ede06c16711fb4f4d43a374c270d851d668 SHA512 0c1834a979e8771a6fe29a7e25640f1bb414b2f3db6529ad359079fb5b0db0681c67ab38490c0df9fcbf754a7a6ddcffc8dd7fb4f969214aa81f067a43cfd83f
DIST open-gpu-kernel-modules-550.40.85.tar.gz 13813204 BLAKE2B 651bcfe33c0956b62cd6d1da392407502358500c0e443296d71a654da8faa1064c6037d449d596c825c7fd949fe66f2f34334cab1c17c3abf79fd92d17b08d0d SHA512 fe66e51930fff737671cb81222856696ef3cb3e57d6c38e93f29284782124ea2e5eb1ac0e31ab95e211c662b7d12566f0346319ddca7f15efa3fc2e833feed20

View File

@@ -0,0 +1,603 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MODULES_OPTIONAL_IUSE=+modules
inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
MODULES_KERNEL_MAX=6.13
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(-)?]
X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
)
"
DEPEND="
${COMMON_DEPEND}
static-libs? (
x11-base/xorg-proto
x11-libs/libX11
x11-libs/libXext
)
tools? (
dev-util/vulkan-headers
media-libs/libglvnd
sys-apps/dbus
x11-base/xorg-proto
x11-libs/libXrandr
x11-libs/libXv
x11-libs/libvdpau
)
"
BDEPEND="
sys-devel/m4
virtual/pkgconfig
"
# there is some non-prebuilt exceptions but rather not maintain a list
QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
)
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
# do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
get_version
require_configured_kernel
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
~DRM_FBDEV_EMULATION
~SYSVIPC
~!LOCKDEP
~!PREEMPT_RT
~!SLUB_DEBUG_ON
!DEBUG_MUTEXES
$(usev powerd '~CPU_FREQ')
"
kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
DRM_AMDGPU=m (among others, consult the kernel config's help), can
also use DRM_NOUVEAU=m as long as built as module *not* built-in."
local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
${drm_helper_msg}"
local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
${drm_helper_msg}"
local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
nvidia-drm.fbdev=1 support, currently off-by-default and it could
be ignored, but note that is due to change in the future."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."
local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
set. Please do not report issues if run into e.g. kernel panics while
ignoring this."
linux-mod-r1_pkg_setup
}
src_prepare() {
# make patches usable across versions
rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
rm nvidia-settings && mv nvidia-settings{-${PV},} || die
rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
default
# prevent detection of incomplete kernel DRM support (bug #603818)
sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
-i kernel{,-module-source/kernel-open}/conftest.sh || die
# 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}/usr|" 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-570.conf "${T}"/nvidia.conf || die
use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
# makefile attempts to install wayland library even if not built
use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
nvidia-settings/src/Makefile || die
}
src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
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}
# conftest.sh is broken with c23 due to func() changing meaning,
# and then fails later due to ealier misdetections
# TODO: try without now and then + drop modargs' CC= (bug #944092)
KERNEL_CC+=" -std=gnu17"
local modlistargs=video:kernel
if use kernel-open; then
modlistargs+=-module-source:kernel-module-source/kernel-open
# environment flags are normally unused for modules, but nvidia
# uses it for building the "blob" and it is a bit fragile
filter-flags -fno-plt #912949
filter-lto
CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
LDFLAGS=$(raw-ldflags)
fi
local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
local modargs=(
CC="${KERNEL_CC}" # needed for above gnu17 workaround
IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
# kernel takes "x86" and "x86_64" as meaning the same, but nvidia
# makes the distinction (since 550.135) and is not happy with "x86"
# TODO?: it should be ok/better for tc-arch-kernel to do x86_64
$(usev amd64 ARCH=x86_64)
)
# temporary workaround for bug #914468
addpredict "${KV_OUT_DIR}"
linux-mod-r1_src_compile
CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
fi
emake "${NV_ARGS[@]}" -C nvidia-modprobe
use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
if use tools; then
# avoid noisy *very* noisy logs with deprecation warnings
CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
emake "${NV_ARGS[@]}" -C nvidia-settings
elif use static-libs; then
# pretend GTK+3 is available, not actually used (bug #880879)
emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
-C nvidia-settings/src out/libXNVCtrl.a
fi
}
src_install() {
local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
local -A paths=(
[APPLICATION_PROFILE]=/usr/share/nvidia
[CUDA_ICD]=/etc/OpenCL/vendors
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
[FIRMWARE]=/lib/firmware/nvidia/${PV}
[GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
[GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
[OPENGL_DATA]=/usr/share/nvidia
[VULKANSC_ICD_JSON]=/usr/share/vulkansc
[VULKAN_ICD_JSON]=/usr/share/vulkan
[WINE_LIB]=/usr/${libdir}/nvidia/wine
[XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
[GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
[GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
[XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
)
local skip_files=(
$(usev !X "libGLX_nvidia libglxserver_nvidia")
libGLX_indirect # non-glvnd unused fallback
libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11
libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11
libnvidia-pkcs11.so # using the openssl3 version instead
)
local skip_modules=(
$(usev !X "nvfbc vdpau xdriver")
$(usev !modules gsp)
$(usev !powerd 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.")
Be warned that USE=kernel-open may need to be either enabled or
disabled for certain cards to function:
- GTX 50xx (blackwell) and higher are known to require it to be enabled
- GTX 1650 and higher (pre-blackwell) should work either way
- Older cards require it to be disabled
For additional information or for troubleshooting issues, please see
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
documentation that is installed alongside this README."
readme.gentoo_create_doc
if use modules; then
linux-mod-r1_src_install
insinto /etc/modprobe.d
doins "${T}"/nvidia.conf
# used for gpu verification with binpkgs (not kept, see pkg_preinst)
insinto /usr/share/nvidia
doins supported-gpus/supported-gpus.json
fi
emake "${NV_ARGS[@]}" -C nvidia-modprobe install
fowners :video /usr/bin/nvidia-modprobe #505092
fperms 4710 /usr/bin/nvidia-modprobe
if use persistenced; then
emake "${NV_ARGS[@]}" -C nvidia-persistenced install
newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
systemd_dounit "${T}"/nvidia-persistenced.service
fi
if use tools; then
emake "${NV_ARGS[@]}" -C nvidia-settings install
doicon nvidia-settings/doc/nvidia-settings.png
domenu nvidia-settings/doc/nvidia-settings.desktop
exeinto /etc/X11/xinit/xinitrc.d
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
fi
if use static-libs; then
dolib.a nvidia-settings/src/out/libXNVCtrl.a
insinto /usr/include/NVCtrl
doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
fi
use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
# mimic nvidia-installer by reading .manifest to install files
# 0:file 1:perms 2:type 3+:subtype/arguments -:module
local m into
while IFS=' ' read -ra m; do
! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
[[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
[[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
case ${m[2]} in
MANPAGE)
gzip -dc ${m[0]} | newman - ${m[0]%.gz}
pipestatus || die
continue
;;
GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
esac
if [[ -v 'paths[${m[2]}]' ]]; then
into=${paths[${m[2]}]}
elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
into=${m[3]}
elif [[ ${m[2]} == *_BINARY ]]; then
into=/usr/bin
elif [[ ${m[3]} == COMPAT32 ]]; then
use abi_x86_32 || continue
into=/usr/${libdir32}
elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
into=/usr/${libdir}
else
die "No known installation path for ${m[0]}"
fi
[[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
[[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
if [[ ${m[2]} =~ _SYMLINK$ ]]; then
[[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
dosym ${m[4]} ${into}/${m[0]}
continue
fi
# avoid portage warning due to missing soname links in manifest
[[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
printf -v m[1] %o $((m[1] | 0200)) # 444->644
insopts -m${m[1]}
insinto ${into}
doins ${m[0]}
done < .manifest || die
insopts -m0644 # reset
# MODULE:installer non-skipped extras
: "$(systemd_get_sleepdir)"
exeinto "${_#"${EPREFIX}"}"
doexe systemd/system-sleep/nvidia
dobin systemd/nvidia-sleep.sh
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
dobin nvidia-bug-report.sh
insinto /usr/share/nvidia/files.d
doins sandboxutils-filelist.json
# MODULE:powerd extras
if use powerd; then
newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
systemd_dounit systemd/system/nvidia-powerd.service
insinto /usr/share/dbus-1/system.d
doins nvidia-dbus.conf
fi
# enabling is needed for sleep to work properly and little reason not to do
# it unconditionally for a better user experience
: "$(systemd_get_systemunitdir)"
local unitdir=${_#"${EPREFIX}"}
# not using relative symlinks to match systemd's own links
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
# also add a custom elogind hook to do the equivalent of the above
exeinto /usr/lib/elogind/system-sleep
newexe "${FILESDIR}"/system-sleep.elogind nvidia
# <elogind-255.5 used a different path (bug #939216), keep a compat symlink
# TODO: cleanup after 255.5 been stable for a few months
dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
# needed with >=systemd-256 or may fail to resume with some setups
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
insinto "${unitdir}"/systemd-homed.service.d
newins - 10-nvidia.conf <<-EOF
[Service]
Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
EOF
insinto "${unitdir}"/systemd-suspend.service.d
newins - 10-nvidia.conf <<-EOF
[Service]
Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
EOF
dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
# symlink non-versioned so nvidia-settings can use it even if misdetected
dosym nvidia-application-profiles-${PV}-key-documentation \
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
# don't attempt to strip firmware files (silences errors)
dostrip -x ${paths[FIRMWARE]}
# sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
# are widespread and sometime affect revdeps of packages built with
# USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
# ebuilds should handle manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
# dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
# our settings are used for bug 932781#c8 and nouveau blacklist if either
# modules are included (however, just best-effort without initramfs regen)
if use modules; then
echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
"${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
fi
}
pkg_preinst() {
has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
use modules || return
# set video group id based on live system (bug #491414)
local g=$(egetent group video | cut -d: -f3)
[[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
# try to find driver mismatches using temporary supported-gpus.json
# 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 && ver_replacing -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
}