x11-drivers/nvidia-drivers: Sync with Gentoo

It's from Gentoo commit 2bfd33b1aa879a5171e2b83b99fd30936f85b832.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This commit is contained in:
Flatcar Buildbot 2025-07-21 07:19:28 +00:00 committed by Mathieu Tortuyaux
parent 1c6978465f
commit 350a9e851e
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
6 changed files with 71 additions and 771 deletions

View File

@ -1,71 +1,63 @@
DIST NVIDIA-Linux-aarch64-535.247.01.run 269861217 BLAKE2B c72eb28472c6a5ee5344618b343efc3f8edac94a5d2c994b86d113f7258c0df228076462d3fb84791f8f1c666554d20116ebb6a7444b680128556a4b9e8b2b29 SHA512 a0bd487238d41fd907c7e87d8ce10b4e19a367c8faafafc914fe6d741b348619e7427a5ff22dd2a475e4dd5cf3148965934b746bcc34b3f572bc01e8a6429bda
DIST NVIDIA-Linux-aarch64-535.261.03.run 269926298 BLAKE2B 78b696ed9ef01fdc4bec8b955c7f7acb7475f743c7483b5ab799d63f5917e12e97ea522865c1b4e2fa03586977ccefdc4518339c705ff9e8165ac9bd4af32e30 SHA512 3bc4a141fc159e88a3cda19519d325ddfc03fdcd328a50b5a0c6c9f06089ff2a97edb03dbfd1d23ec0e60a4fc549a8f0143e0c4d6beb98771ad8c243ef699faf
DIST NVIDIA-Linux-aarch64-550.163.01.run 236409124 BLAKE2B 21c79346f6b739f44d7ed2d4955129613f51e1329ff15948ef50a9a06b82975ad890d6142e5dfb163e7b0da19bf5c26029cf507d120037f8a76abc177a286403 SHA512 0ef4ab4aae308ec0cfb5458cef34a1503ac1a85f0e1d0c9f061d8e28f939b15784e3862d96d83e93123d9eb56807a6804318ce230ee68917fb75e363011f8304
DIST NVIDIA-Linux-aarch64-570.153.02.run 289829452 BLAKE2B aae0e65be8f5d617b4c270d9042b410773cc476446f922e3f8b27d87f64cfe38cc12a586c369fc824cb185977d648854953803f203707294043d6a30361c4c01 SHA512 e5e3bc0f0f5684ef5b1fd54e7dbc92b455242b4b54511ecce41534890c552d29d6985c9ac41bb150a6ba3f24b39122fe36fcac339a7cb8587b79d4ead7b28c64
DIST NVIDIA-Linux-aarch64-570.169.run 290106494 BLAKE2B b8b332c3b121063af061f1ab19f87db6c528da977847423f6d7f0b6c6d7d8bd118e6f0518fbd66c6c633647efb64a3a670cd5ecadffd41faf6271916446f2143 SHA512 551615d6ecc982acdbb52049c5afd11cd8ca69999d097f076884c3f632b3880f95c707ebadf66c3aabf5452aab52cd372894eff574382ed2d79444a65c368369
DIST NVIDIA-Linux-aarch64-575.57.08.run 304970395 BLAKE2B 5c490e71ced2ad94916e660686518063f440ec6be3b00e25dd46969107cd313680092b18efa5a4bb050105ebbf2ec1891b6eb172cac95e52ab1fef3193032853 SHA512 c0e33f925f7e9c121bd5af813898a272eb8d2b99a3e1761aab6965bb95b24c17a994120dcfaf509360bd8087e97cc36fd3dfc95677a59af5f0b1da9321b99746
DIST NVIDIA-Linux-aarch64-570.172.08.run 290144917 BLAKE2B 095a9362f8729f854e0a976d90456d2d061d1a21f3c110b94a4eef0264fda81078058d8e24a76eb7d13066feee8d17d9aee2de4f111debc361362d7a73d119b0 SHA512 291012513c2b9bff94a0892248207734b1d12a13ff994036045fd159f60bf410508fd66873d78388d0e289ded1b76f8d0980219c289fa2ba99303f2cf872e9d6
DIST NVIDIA-Linux-aarch64-575.64.03.run 305150077 BLAKE2B 5b7a9e0ec90130f8009e9612102e87cc513fef04ffc34e47cc8eb3b787c4642d3445aef0a064005bb33972925a110d7f4716dccc71840e273010b519b019be55 SHA512 16f9fae89102ee1d9f587c8e85098e34e5cd84299766a97920ea4c23aae7e353837e4e69c4c067c27a85ce0d8f18df90c8cc368a100ddc846744d6bff09ad7da
DIST NVIDIA-Linux-aarch64-575.64.run 307581538 BLAKE2B 3d15baff14400022abdb7f147c1972fc10b48429c0efbb6d2594c4eaafb760781519538be5505976b98247ce8b342fa790e4f85fd827fee5198a693e6b13ee1b SHA512 e006cf3641245ff2fe92c23273e0e05c2da33577527450672349a20605531836f57b43c4e131995b7f0934113be2cbe8e0c820f70af9ff1073d797daf611933a
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-535.247.01.run 341853459 BLAKE2B ef91097a36add821a623c8d1f19eca8ca9571fe4a08b8e25eb70f09923899bcb3bd2c0f408dd6ff045ffdccb192be3a46cec4fd7b7d8d7bc17449c436cc2cbde SHA512 f8e04e5f7cf8b7fdae9135cb5f0f2740d5eae0ef9a44a41dbf78996d3c2d4139bdbec99be14f73aa2d275d78658b4a91a274f20545e4325cef787548e3d073a6
DIST NVIDIA-Linux-x86_64-535.261.03.run 341775057 BLAKE2B d72ed6d4d442c204721667302d300e8e8ec9b8288a0945ba090aa4e4666fb7fbd6bffe8a242c134e6ce8a7947954d7771ec142cf6b6cf1a32b773edf9119e71e SHA512 52ac6db0a057977652f56a279c6e5482fd602d1c637b22e7bb8ae5e5f5a9fbddb8492196371c2bdcacfbd9e7c1bf3954c22254e842f413cb6af1b3c79a6e7ec2
DIST NVIDIA-Linux-x86_64-550.163.01.run 307143336 BLAKE2B 256106bcd3bace402289e60aca4cd3b447d0fd8ec3dabd50e2bb303c5e866f8da5c28f9b578d95775bf69158f100d68a91d20d9a91426285a8e799817f21db6b SHA512 676b1de35d21e80091528a49080c114e0870ea90b3f3721265ae8071abbc2183c851e6f11ba96a332c743fedfaf4ec9a014ad6ceed586fdbb03d94d33405e356
DIST NVIDIA-Linux-x86_64-570.123.18.run 376011120 BLAKE2B 4e58db37bee9caafc49120cb3739847787e08382d50543e3a2a22b9e75fcd515969e3637ad60686bc12150f80c028af8caae14427a24e54fce220761683e81d8 SHA512 64cc8fca0b2d0c3b5c118940b4ae3ffecb297cb1595cc71f66927926e1467cb6577b15d2bcf46cbda4d928a0218ca1d019b0ed27e2c03bfebf244b8551cbb485
DIST NVIDIA-Linux-x86_64-570.153.02.run 375742097 BLAKE2B 608facd79c913fdd58829e2639429e0834feacd52997980d1c143453346790cebaf8dd9295a4cd05947548821891e16bdddf291875e03736ffca7b5d1c9834c6 SHA512 6da277640a4727a420379b43b44c6222869e2fd10794627e73a0a1fe7db6213c0cbab7901799cc9ee2431df54e0c4857eaf1b293fd1750a3bc68c2bf3852413f
DIST NVIDIA-Linux-x86_64-570.123.19.run 375997440 BLAKE2B bc96faaeeb3c52d3c54bc9c5b87d04503ca9d329ad6d4ddb0003d02b7f0ede81ad00ea812dcfe7158acfeb3b9e1714d363d19b7c89c25ec2d8fe239934ccd2d3 SHA512 f892a1fd621ee536a03a1114b69b2d512a4144651c3f146eeb22b70b6b4ad43feb7e5eaf0a8c023f889591c124778471a64ce6356320342b74b69eaef73fbe8e
DIST NVIDIA-Linux-x86_64-570.169.run 375816796 BLAKE2B 1934cc5276433b6ee54b31358d85f88e3e81dd23732fa72848a6c60c455399b5217301e1c8aa1795dd8292bf4e604c6cbc144700775ec2661029b737ba2e3324 SHA512 79cf53770f11405ea416b4a3fe91edd34e8bc99e2f8e0d47dd2b01045b17f23998bfd3d60fc660c0826c69305ee928dec56fb251205e183ede9235e31d01d7d5
DIST NVIDIA-Linux-x86_64-575.57.08.run 389558524 BLAKE2B 04274c2fa9a97767a13c9896ba1132388b4edfb521856e235fcb6e1a2350bbccdfcf3329d41283b98260f51b9af8ebb10b46d19fae4383c3fdc0147d308766f6 SHA512 6ade3fb7227e51f88671f460d990bbd090ac9d4f8968c3c5c6d22011a78c1267c959916e9cdd18ba165c6f0b8f459c9b3534fa39eae9ae527232911fdd8f2417
DIST NVIDIA-Linux-x86_64-570.172.08.run 375905456 BLAKE2B 58418e039f378d78950345edac3c95fc9e4d5ed23419dfb7b256afdb918368ec15653744fcc4625c54cacdd7df00c0e57835ec4ffbf865384b27c623a351bd14 SHA512 8000f31575392ca8a575879f36b6e3e0fdee14e63efb856b77035e5aa434a02de0fd4ff5472d01984cbc541d40656ed6b7b77c78d00f6e1bc4341864bad725c5
DIST NVIDIA-Linux-x86_64-575.64.03.run 387655074 BLAKE2B af4c42095bff2b195f46cb3472cde599e6b8cea7841110da75f7659c41cb83d8a4ee33b242aab44af606353456d9163bc9a73562be4693ac2d5a31621fb9af13 SHA512 ca705ad35dbb6e3e4872ec85dd78e70760e86b28d5d4b9bfe7b5d5ad0fca3bfdcf794e8708f3b1dfcea8edeabc208e820388af4a57dc9c6dcffb5d1761598779
DIST NVIDIA-Linux-x86_64-575.64.run 387052180 BLAKE2B 8ae4ff774e76815c839f1dc150e4750332e4dd59f048b00d19f1ef3c462877776249b4b8275c2960b8ae2b3b19c3196f63047168b2f468e15a8c864917ef3ae1 SHA512 21951798f0823ba63dc47ee94d9b27c72ae1788899f2181df0d6352b1d4b3f19a4e051687f3bb5f9f3e0fbda8f256748171a283837bf369a85fd9d8b552ac068
DIST NVIDIA-kernel-module-source-535.247.01.tar.xz 12517152 BLAKE2B b12497621ba32da4ca80ca6736d559bc98ba45974e06bbb63c08695c3b24c45752b3fd3dc2854ed64950e89e99b38d1006ce672096e35daced0ebe0a9dda77f6 SHA512 ed8e10d5245447fcdf348509ad62e9ac3d56a052d254b764e3a574a711cfa5c8831a759d425f42795c2db752f3d91d60b6097f6901c88654f242c94768faddb6
DIST NVIDIA-kernel-module-source-535.261.03.tar.xz 12521372 BLAKE2B 214f52874a3cac43ad135e57577f8879b605d67d4cec1756ee2a5ee3986568ce621bae603637fdb9ff0be9295e262a1f14f9dee6d871737bce02ea163aff7505 SHA512 346b12fdcd1a7b5b8067e6cee6567f4ab2a89e8d246ebec4ad0eeb6dc91782c701b9b4d7ef4903c2492726fc8c242572a63a3cb8a06a9fb4a6039b65ce11b8ec
DIST NVIDIA-kernel-module-source-550.163.01.tar.xz 13552400 BLAKE2B e1fd753127d10097c5f1d3c90d95c7eb0934c0d5e1df0a371aed2a0d7669960b67c46eed20eec3c42ca41c0f34bf6d7d3d2a77a94308c9f86d4f5d831da19363 SHA512 c9f4ce2890db3fdc66dd080da4d6802a8bc3b18feba96be5d33641b02cca637b1bcd2a3748f36f93a32f26ba57eb352156314f139688b0d3a102efdfde6c32ba
DIST NVIDIA-kernel-module-source-570.153.02.tar.xz 17938000 BLAKE2B 9d4ac90b48b80dc0d2263347dff51f1340227b99bef737bc43b3d44b695a27c2bd34ea6f760cbf0e1cc09ba22cad9286681c351c243a7d4c3559eda6084cf913 SHA512 b0cb2e748746906a973df597c91bac087c033bcb06b62e1778f7df5d2499ae90392759a2e7e28187d28211f11b7ca7200f2a903db9fa64854ea93768c362e0a7
DIST NVIDIA-kernel-module-source-570.169.tar.xz 17928016 BLAKE2B 4d68cbcbbb14f0b9741c09dedad5abf859f971676869d46e8a6749c04dfc39a6f24098aff9c55d8d33e1e5b1f67be16a99af702f29003354635019ff94ee683f SHA512 7d5a06e596235d90ba5b26a4b04b68623b501643ea8c6bcd7342add6563684486f32b6399335a853f03cb588dc57cdb1397e2705bce512a8be57d3b615b8eb22
DIST NVIDIA-kernel-module-source-575.57.08.tar.xz 18201104 BLAKE2B 893696ba425f659aa35e7762b7d50e3bff4b9088a79e10b47127662c4dacb9eda9ab4ce072bcd39e68ca0f75110cbdde0e2762f20b8d0d9623e16b9bd28ada7f SHA512 1fbb0c3da87b61666dff3d6838df291ded0d7d62a83d914233cd11c9fc3ed4becf55ecd00763261a5a87975276a5749fb4a38ed59eb10807b891fd444a1bba75
DIST NVIDIA-kernel-module-source-570.172.08.tar.xz 17948096 BLAKE2B 23220805e6555e556c99659d9e17f5ab822b0e221cdce2c2639377680fdda9267eea200f7ca579d28497c89fa2167d524497e4c53cdcfaa20a1b0d7eb3aa7522 SHA512 969158a46d70b23911f77d08832c6b307503988bf1cee0b2a0f75a49612d447c23ff1fefa3eac373b53b79475f87f3470de7df72a395fdb8cd57eefa51bc1ad8
DIST NVIDIA-kernel-module-source-575.64.03.tar.xz 18219744 BLAKE2B 4207f768bdcd1c72a42a1030e5f8e38afb3f3e23ea368a19f0b01dbdaf66d552d4a2573cc4aba31f31f006f6c829e99ccbb3775bf629b41cc1ddf13632a4ea40 SHA512 2acd48d39e9aabc892ad0eb3d98bc9b723fd79a9b7f24b9f55b3e591e5d27445fe5ffc9d1bd8042e9741d56ca815c47065f36d88a3a008e635af2011eb07cf40
DIST NVIDIA-kernel-module-source-575.64.tar.xz 18197028 BLAKE2B 9bd4ccc572af84821cd591c871b961dd01f3b2e8faccc47101d2aea8bc9adeb16c464e7a28393d145411d0361d3f1462fe343c9e2821ec8819a3370b54d3c6f0 SHA512 634cd78335eab2841aa6b662eb67c0c90c313ae6fe1c436b62befb02a9a8c89d36c45ff9d6ca7b3c031f80dbc8be195e5faa7f1e8c0e65740d6b569aea7a017d
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.247.01.tar.bz2 148887 BLAKE2B 3455f064d3a5745971e8ca6574bfe16258544e669f05fa6e1f31cc88a7224f76cbf5d1ea26a62e70e908b7261c3264664e090209221a6e64030c6f486b9452b3 SHA512 be97915091e60c56b442dcec45f76380ab316e95b7417d99133419a7883e1cf547ac0c03d7e763574613dfe5bc27dbc6c887ed9870e528ae056b2400175044e4
DIST nvidia-installer-535.261.03.tar.bz2 148694 BLAKE2B e113e3a548f5cb562b064f97f3f81dad952dbf8acc9158a79caf14d0868bbc673ed2b5038f51361243547792a044f8d7306c69f5ccaa36717fe6de0ae39a89d8 SHA512 4f899eec7ef869bf9b89732bc29a1198792a4b984d308908d3b17917d4824425640ac988bc04f0eb539ad4eace38e7462f204bdb9cc6a6ac583c2e8b6e06f8e5
DIST nvidia-installer-550.163.01.tar.bz2 155861 BLAKE2B 662064b3ceb4aadebde419057d85c6b4e28b91944bd5bab241bcba9b3c9a105e507afc7651b17fff01e1cccb78d66fdc6789597ce059f882a6f322b08f28e832 SHA512 f8df7a0eccdecb7d4d4f47d96050cdbefff91289b29550b061358614845648451d4b161d9bdbfbf5a9a87ce650d272cb3b795e6d2ed4d0274844a56db097bd15
DIST nvidia-installer-570.153.02.tar.bz2 169264 BLAKE2B 527574c76c3732d6e0ce81b55f9a92ae9d4a757151bdf6a5449d677b2991c48af652f61199c235e3253ae173ed314b8e58b968cb074022659a0d00e0ca23c389 SHA512 22a51690e159468b732109005c75a77a46c9e531f869c1590d859a515b6b9325dd076fb81b1542aee8617b68b4f7b7df1d8b7507123a73064a6a34ec435b5334
DIST nvidia-installer-570.169.tar.bz2 169301 BLAKE2B 2676261d50cfe235d099475bcedcc96549d5140bf0c95b8f41b49d62eb0cd5fdf5c2ed53a59f79c778011b50e95ef440cc7a3a7a6673de7311e4508fa8f5960b SHA512 5864343b23a27cf994e414bb8a3b90e7b740df54188d43172456ea163162cea74e0b38a0b41717756818262d9f80b25cfc7566900bc682ea0546a825d52e3cfd
DIST nvidia-installer-575.57.08.tar.bz2 169416 BLAKE2B 12bbde414a119911402bae54befb218890cb29d64b3b32b807e44eb2e56f0592da0881c605c6df2941aaf2c4eef9fb3fe25c5afa2b8b7fa6e6d7af6b22c1e1cf SHA512 d3e365590aacb075d647c320e43f237c90bd124e3aca257e623bb7780b368903ca861244f91773f8dd8f1910fb245beba94d11f82d97abe4fa491711d210543f
DIST nvidia-installer-570.172.08.tar.bz2 169388 BLAKE2B 44d0650e1a7cef00a47b828dc60af5a76eddd6733cef4539ce0199136bcb490355d72a3bc52b6028333d270b950884997dbcbe7d50bceb7a52876f9394a03734 SHA512 e64913fd6c66ee4d33e3de047ff9d901dedee514501c12421688494c995e66d201e69bbf87877f1c8fabe0b2a1d47f0f5a6e7cf865a62b2557526c2030386cd5
DIST nvidia-installer-575.64.03.tar.bz2 169433 BLAKE2B b7e5b7e064739eff7088f329446db56892f0b2d5c29895da097aced366e248ddc88ba3922b3e94bf12883a7551edee7c9229787d0748df202823f6399cb480a0 SHA512 e32cbb2bfd94769c6808218a939380afc9a2da98c528a195e838c11e807438a6adcdc757bcbdcf7859c54d72f60c69f96bc21008d4cd38b67ac274e193fb6b1f
DIST nvidia-installer-575.64.tar.bz2 169449 BLAKE2B d32cfada19098ff9cdd2c32eebed422ca77048bec18555f9b6358765ceaa944ce4216c49893a2d3903f1ac31f69362d108661aa232bf006a559d5de069d3ea91 SHA512 f1086367a43ab87bcfa9b50772d9b2c21b313148fe44e9a0e99b2206dde06dda8ca13b569c7d203ea9ae58a8603cd3e3f5b5475b125a77fd998a07402cd2144c
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.247.01.tar.bz2 40736 BLAKE2B 31172b50777fb0bcc7696af660fd4f8ddc42bb126ff42edcee12097fe37748727c6357ef46b65a96004345fdc501487f8b5ad89eccef991eeb3c83e958f41a09 SHA512 f28340f935804e3cb07d394ad103b296a5e4fbfadeef7905266b85afd7cd145de033d603a4bd7947348add23a866548605264c814b48f4f6a5a1f4254f82cdc1
DIST nvidia-modprobe-535.261.03.tar.bz2 40757 BLAKE2B 96ecb65511ff1ca033768f1f86e10e553bf686ff42c7f995a43c0e111ad5ddf97bd7b6fe439e5fb207f9b765e2200807703489815dba76599adaa24e4fd1bebc SHA512 755ec96dcdad34472f884383d104aa015ac5b964cded12046316f4dbd033ca723d225026866b59d0637294ebc185706204f889403db37552dd7d716467aea37e
DIST nvidia-modprobe-550.163.01.tar.bz2 41448 BLAKE2B 23e567d612e669ec6ae9f389651c9e1cebe7ba59ee95bb5961e5071952697860df77f02026040e29135338eb7cf96bba0015b3d94548297235fb5214f35bec48 SHA512 0f5b59468a6e5e95dcdef1d938ea78f4ce09a0c9784e3c70d83f1c3b1bd52e8055b6b332147316445c3be714abab3629320d6117878d50aa7a2d7d2d9b9b6485
DIST nvidia-modprobe-570.153.02.tar.bz2 41627 BLAKE2B 685205e27589941884243d7440390b572d03395d9758881ae69d86b8c6a3c33e3960411c3fde9d2d8efa0ef09d1476734cf06f0facea468faaf4382862c2e6c0 SHA512 3d25d3576630c9d3468102868b4f09036ffc72ba51494b2d07125643bbbd925ce5a9b6f305bd8e10aa51516754625170c184a05848ec6d84e642cfecd4429807
DIST nvidia-modprobe-570.169.tar.bz2 41618 BLAKE2B ce6967fea67a387ab177d75cf0bec4162127e7f440ffc971115b2307d68307fdbddcded8e932022088f1815d7208d4b7b8d1895125866d443750307c1353867a SHA512 e7f4d0ad9b29f13b2fccddd27570832d7a95925d82aac0ea0af8b8dcf80ba220c82352b0394eff2184b7f6da227df2462d5579ed75c1a952727820503f37ea7e
DIST nvidia-modprobe-575.57.08.tar.bz2 41665 BLAKE2B 6b9aba76113854f16955bcdcab23a24d4fbdd1defc44b7087d8429f62035f0e9c8c69a47c69c88aacca4e0626b123ed847712b4f4e78cfe61a2a857ca50c5721 SHA512 c201cf42e274a89a4ff9f7881bbb4f5dde281513ac9811fa4a65c3359047fb2f477a8c3357c9bd08158f7478807d2dfe078324671c79dabb9206844b65c1391a
DIST nvidia-modprobe-570.172.08.tar.bz2 41640 BLAKE2B 7055228ef51da259fc93bd2047b2ba89a4a4cf6a34dc0a3dfe3f2738aa64acc88ff2a3be6d9fa80428d6b6e389084955b2647da9fff91eac7caa751e1ac330c2 SHA512 f3e6f51adfc9eb528cc4ab2f99153f2355ae03bd0f4f49879f165564023603e7fc32598ea768f77f7f901175e03a49e97ceda25f434e6a05aa74e372560f3cde
DIST nvidia-modprobe-575.64.03.tar.bz2 41690 BLAKE2B dc2811d4c4febba18e0e1dd6632c5f4c3b1e289a27aa2f3b44eaa1e8ef5fc2daf37f52046ac27da1126fd4732be1ad8fa47f11ecc0850a5ff22d606b64710650 SHA512 7b2f99ae0c796e5099b775bee3e7edee898ed504d7165a916ad8a9c289859482866800cf6954f04f5058eb60479c867936fc019b9d2bf6578375534a19482129
DIST nvidia-modprobe-575.64.tar.bz2 41705 BLAKE2B e69272e05302f6033dc56bd9a4e7d1e2abbb9e087813f2f361047b4fa82c7777d3fdfe7b9315a71c47332e82259e5fbdccbe5c9739782be3e06aa49700d775e7 SHA512 2ce516db4d3549717c8933c46258d6fdde8804a6b5cd10ab2eb2eca67dae2941adeacd66659182dd62d9e743426c0085d1e40eb90a10cd7102c206e28b137cb7
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.247.01.tar.bz2 48589 BLAKE2B 1b641fb85fb74e5314c0f525361cba23ac08d5f6570bcd9a6d89b376497bd0aa1cbbb52fe391a8f7bf41734e49d46d464440573b0298b5c0fd5db7fcf3100d58 SHA512 be23e7790d582a340e14c7df16f9ed09447ef8efb352d8b8e53e5be91b624953d8237c988ce0b0b0c90e1b15077af7efd6c6a0e628345f2188b6dbe09122373b
DIST nvidia-persistenced-535.261.03.tar.bz2 48574 BLAKE2B 71e6be9fd37da2532219a025293a286d87efa31c7fb1d2827b859688f0ed433ffda848a8964980f08d61e74b888b81e694ef8622231642e46e800a346890eb9b SHA512 56d079434e18397516ecf7c398f242f5a3a48781f0ed8fcea30bf844c7bbf5b2618c5817f2df7032670a99cee4f93fe0e7798ef6bff7545e9824fb34919e38d5
DIST nvidia-persistenced-550.163.01.tar.bz2 61450 BLAKE2B 1a11cb89981b88f8d14558227d9493f1f8a81ccb5502002c436e9311a38c9c8fe0402c65eac1517a2893985eec07699b2e7bc7a81aa14dc0d52198ac85a2cd1b SHA512 f17dbcafa917b5b450f7665f98fd24f06ad99e6bcd1fcf42ef95aa9337b55561b7b16eaad8fa408110d08ee7e6d812444792cccbb9c92865099891832da779ce
DIST nvidia-persistenced-570.153.02.tar.bz2 61814 BLAKE2B 204e9b91d992aaea15634632d45684b982bc897d356a6dedefd70b4a0a3e51b285de52386992efebbe5392b41f0996eba69de518b4869daf0a2675908b444b91 SHA512 24ceb1e0dde5b4df0b46febc270966be40f6b40f23f25fe55c0f8798be8d03a1869f4cd0d272ef9525f3c9a10d8673e8ccd151734006fc870e9622af0b40a681
DIST nvidia-persistenced-570.169.tar.bz2 61792 BLAKE2B 14568a42ee3473efe341bd9332081d2a1625f91662c58e75b1b218d5a3d19496071fcc5e9840fa1563aec2755c9d6810db531ed3616c825987311cf3690147f5 SHA512 c5e343be16719ba89f1a37ca8fdeb7f15a4fb028dbce554a7c524238ccb1ed1c1b0527a86a2e6dbdc01cd0b6f3a5d996a0895de4698a0ea98278cd93ef911d58
DIST nvidia-persistenced-575.57.08.tar.bz2 61959 BLAKE2B aed09532346dfd4b34e14b37df9bfa75bf6cea89705084826521cdc3ad38919937bf206b77698d97b9f62324c998cc6d11abbf787301ddd134ea9848fc5c5fea SHA512 fc14e58e80798f0370639ac32d8e729ac5809587b42438725305a8b9b45f101a91b241de2d5196c1791b79c6ccebc612a3c3ec26d0b85d6f90d9d22996d1c3af
DIST nvidia-persistenced-570.172.08.tar.bz2 61946 BLAKE2B e15575f73d94614912b5823b16bb64ac571ce5fe4e55bfb2d346ba9ebfdbb5c11562651518382638fe109bf7990bbcabd70d35916dfa0fd94dee317499d7487f SHA512 c43b18e01b46d99ebcd9b9760755984f96430d448f85421d2ad0ebad053aa7f6add6af2b03ebf76b5d5dea6e6958a6ee5baa30189e43ca1f2cc51e3487b41e27
DIST nvidia-persistenced-575.64.03.tar.bz2 61943 BLAKE2B 745dc8114a0857d4ca0ebe928f4ebc82cf526c1b593717e0fa1148c3d62976e3c8b97b6a96ad9ca3abc10a7d0090fd8f8a9e135df498a4c2bb053db8faa273e2 SHA512 1872b34b4830984b5ea1b79dc328bcc2c013804fb8fbac549291750719a6493606e8d5580a857701fec12cd24e2319d1d1d6c124f2b129473bffa457f3a6ac9b
DIST nvidia-persistenced-575.64.tar.bz2 61990 BLAKE2B aaa52db7ea3be3cc5839a34f1b91f08ff2decc53b9264aa72aa88fb32e9a1bd12f9ae9ffaff8120cd32ef5439995bfc8b4649e3cc2c6bd602889b61befdd38b8 SHA512 085e742ab6f4b50eb5e6afeb34ccd5eec9506c104f4207f4f1af8327333e0d39ee0ed850af5e0d53e17d813f5046d0c9cbde55bb9d441010ee288bbaa3ac1f81
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.247.01.tar.bz2 1094617 BLAKE2B 26a12ea76be9ab930553fcdd0f19db1de8e8fd41a5f180a09f418bdbec38aab6f05c019a85249de3fe523df4aba6ffd339ccce4758e739fe092ecaaf25fb5008 SHA512 9651cc907fa78139f4774764132f5a46c1feee016aae021905a463100f102e6321b79c2c4f5b1fe149cde481a5baac17017770244ad35c6d7f14e7975f23a7c9
DIST nvidia-settings-535.261.03.tar.bz2 1094587 BLAKE2B 3be599e733be97e0a23182d9bfc2862a2ff1d386a8339a34f369ac3e7a29b951ef7c900424502b31d8a50b8a5571c440ba6fd1314874a5ca594657742ef0aca1 SHA512 418f078caed68e9d1feef10a3a772fb9a265fac5a74822e2637c0b8bdbdc43629a8ced83549ee1c237b327490783d7da59e749f3c284a17edea2bbab62462f68
DIST nvidia-settings-550.163.01.tar.bz2 1099317 BLAKE2B 25419c1796deeea238b3e44fd8d648a8627272565be40cb0745132cef1c16e0c422242a1e6369745d577e674a68bf9dfc3c009e281a84ba58db5429d97ac9cff SHA512 5306ab05f284ba06852d7c96ff62ded7b8b615d3a002009cd5d781fdad716db37f53d1c8a43337ada60d524b4f7d183d98ad2673f40a5ca1ca4c5112bb913e74
DIST nvidia-settings-570.153.02.tar.bz2 1123390 BLAKE2B 2ad8e171a984ce3cbfc6b98e59d8a9534cbc89610f1840e0c12428a5c7f561d4726b6770a7c56953d8cd97969579fbdce6bc934dc35c4751bc7ad1a6ab6a31dd SHA512 0a109d9ed1827673100cb32a47f132cf196bdd7bfd42a329de1e19000dcf47c72b49815bd6c273a16d1cc714132dfcef5ac1c94e24c9645bb90665f55b7c8144
DIST nvidia-settings-570.169.tar.bz2 1123877 BLAKE2B df4309c9230352b88467537e9de9372e3e422a1b346c01ca807191aa322638ead912ffd80eeef8e404231f9d28ec9e45fddb1fe1a94777f6ca122e378c0c5b7b SHA512 34c25843c55e80efc987f344b3226e2715ccbf60e9d9f75f665c1a4199d69bef005f5c27d04f5d1cdf4fee38e4d44857d32f2dd97f84764e054d0050881a6377
DIST nvidia-settings-575.57.08.tar.bz2 1127882 BLAKE2B 5fd286849e13b30510a14b64248d7e3073198a6a1b4d4048528dcd82ca459811ff77faf2195a54a6bf1f2ee249a8bef4adcf82fecc111871bb7253bfd449cb1a SHA512 73b82a74efd4d22e6ff8876e8b975ab8cb6d8735b2e484154ceba411accc36c9cfd49cd1c70715077d322e2bc38e47264e149bab772a5e948bfbf8689edac44b
DIST nvidia-settings-570.172.08.tar.bz2 1124326 BLAKE2B 7f47c998b914d15af1612134ffd09ba2c01b649b23813c4170c3b3d529ace5e04322f201b5a80277439cb4ed20a84803eb225539d9c06b7cbe035ed886d3ab64 SHA512 2697ccce69c005550dda5c01a5da975d0dcfe67a32b7872b7c215392397a471152dfdd858920842388800c2f34f4d284735bf9ba34fcae1fd0ca426f10568f77
DIST nvidia-settings-575.64.03.tar.bz2 1127787 BLAKE2B fc1d1748054261a6a9a86bfdad07955ddea9de1cabdf4a56fa714c2782a018215fd3a12690aaec16a50a7fabc5c3e24d2cb7f18eed2c41f7c9308fbb2cfd0ccf SHA512 fddfe256939f279e86f5ab8cbcee599b052d712be94b724003199c11a8d702742e03a0d9e473a6ae7671e8f56f10e2e86e7f216022dc45558412ae4d045aaeb0
DIST nvidia-settings-575.64.tar.bz2 1127867 BLAKE2B 27d5e8a4ec8371bf91e050100ce49b00ca3b6c294118bab0af171b153c22a0470b18a933368b22424e1a132465370948e763fd44cc83ed87bd5eafdc20a451ef SHA512 054866076d8499cc880cc5e4e3106f0b017f1621e6dc9fa0df341689436a5fc3d56eefeee0d1e9ae11b257e4cfe001b1ccd1054048a8e93289036a679e59eb42
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.247.01.tar.bz2 110621 BLAKE2B 3d567d30e19dfc449e23c80e6fe25536f02e2450bb82c4cdc2b508493cad6d6b4f58467d302fd64a8b37e8a129be4c04b365ec3e4e9f18966d25cd23c6adc91c SHA512 2748aa9997e84e0f39b52bc6f49e2b53ffa7181aaf0ce5b9d06d8e6e010ecd589ee77388807d922c3be4a847b8a4e9e1eeba42c905a32ebb5d3f9b93d6f30511
DIST nvidia-xconfig-535.261.03.tar.bz2 110637 BLAKE2B aafefde5e5079401951432072f27f6500bf3a4390e01b83e46b7230c75b05cd5806fffbde98f8bd8a39afe1a27bec0f52e13920fa1fd156d083b6ef81e482edb SHA512 4c0ee56495dedb08d6ea0e452cadf02ebcfffb86e8649c9b7904285d5dd8959879a1e00396d1560253c755c9490643458e737afcc0613c0c36dcd37411c76607
DIST nvidia-xconfig-550.163.01.tar.bz2 111149 BLAKE2B d19ef0427e3432798e674dc66447090e8fb8fcb549ebe27aaee19aa38294cf178e175a067b2da5313342c93ea2aebef35861d05cc4cc0ee2c3eae955b3ddbbb3 SHA512 35f95d85928c82bc5de8e462ca5e90a6d8fe03e5b5367b9cdaadddc1e956f0d26b6dc42e716ae7c88512afdfb98cc841fe9b22846f6d6acc578c5dba4d0a16e1
DIST nvidia-xconfig-570.153.02.tar.bz2 111136 BLAKE2B 6f7e8f46182d945ddf457595b5829742fa826a19ef279b87d8f8d35ffa5c2377a96be4f76f9ca5a4e271b1678b4a9b00fe6dbcb475cb15efba5a7b902230d9bd SHA512 066ab2a230c56cced0faa2e3bf8c4b135795fc457cabd3b716709db94b82d5515580e6b2768955a877ae224b6b56e0d97c0315a122087a6da77442754935bad8
DIST nvidia-xconfig-570.169.tar.bz2 111343 BLAKE2B ff9c00145277241a5acb290fddfa01a906ba26601c45f12d06ea8754be9d29c836f68640db411de6e904d608523bd9d10b644bf1976ef201c58d55db2fc16a47 SHA512 5db772f2cecb3436a42b0f5cad550afae3453d3b17897f457e8f6b48a9c2a71997a317b121837f68e7f23d9a3e141464485144ce362f33adf3d70b326205bbb8
DIST nvidia-xconfig-575.57.08.tar.bz2 111794 BLAKE2B 52f3080a29fdffe167439c911187432f880dfefd7005f5eea378bc3eae887f6a181accc2705c81dc5929472b3eeb29e2703190289c4a539ba4122cd4f7e4d7ec SHA512 6bdb5a3778f6d18a8588a7d8b4b226860cfb2770ed1f52c512a05a98b367d1d52d727132473475a1dce27a0fde0b82519938b5cfb1db7f6668de7f9121928321
DIST nvidia-xconfig-570.172.08.tar.bz2 111153 BLAKE2B ac099f751dbd81c062667eb6fdd9b4007e38ee109fe1da125463e599f6c1e46eb45029a9499f0007c058601e620184affb5ede9f288532cb8d2d8fe52d90349d SHA512 4b2aa9f425380108cd534b68fc2b77ff43498fd18003f644a33f789aa4b9e898f4a02c7a0938e6862bebbb8bc0c1e450345f038a3e77ccbbc5c93814571fdcfa
DIST nvidia-xconfig-575.64.03.tar.bz2 111258 BLAKE2B 9375391caf27760915417bb9beab02061def4b58a1e4bbd72ca95877931f9431258838f3db56000ddfa7684b3d3ac6d935d3aab790526d670d5ff0ddce7c0461 SHA512 9cc6a87f3ae9cc5dc3a07750c1f4d50b339a4eacee1ab320b47a339d191e0a150536563adaff265f5611a927fc4efc1f5009f22597489cf8521812c55ffc334f
DIST nvidia-xconfig-575.64.tar.bz2 111310 BLAKE2B 72af0b794a3d2f226898419d39fec494a8ecb99ffb5c96a412fb25285db2ea2b556929b261969a820fbeee4c28cdc7bfba41796f261422091ecc87db82c59349 SHA512 359ff35920f97b963352f7ff7273fed1a1d232ef094bd00e8d2d3a88b10339cfeb3f0bab94f448c74fc39c17f3ac3bdedb1de5fcbc8d9affe94cfc2973a807aa
DIST open-gpu-kernel-modules-570.123.18.tar.gz 18685315 BLAKE2B 26886a8d92642d498f30d5a7b9e715c9ca203fecd1389ebe66982395054ee684ea05b69a84d679722d6fc9207c31a20edf29b7fdebe6bfd508ffb88cf6c9962a SHA512 5a4c01153d4033ebc5b3b5f67b00ca8331bd13ed67b850af9ffe65380593f575764d07a56b5278e1af09c74610d36fd76e738a229713afa0e0102f54ceefcdfc
DIST open-gpu-kernel-modules-570.123.19.tar.gz 18685718 BLAKE2B 67503cefeb07be00ef16eb2d3ffb1287dc1f460f1ad908526046795cdaf2662fef01affcd23a957e97610560d8380d42c0a24d916a4cfd09d77d5b7f1ebfe7da SHA512 88bb3db9f8d38b03a92f60a56ff31b1c27695151fd6cd892d562fc9e31adc8303d54e35bfca59d368ca8d0fdb847674d3b4a240aabed476d6e89c8dcdbbf2d2c

View File

@ -1,71 +0,0 @@
Only needed with USE=-kernel-open to avoid GPL-only __vma_start_write,
not really runtime-tested but at least code does nothing for stable users
with <6.15..
https://github.com/NVIDIA/open-gpu-kernel-modules/issues/840#issuecomment-2906864735
https://github.com/CachyOS/kernel-patches/commit/914aea4298e3
--- a/kernel/nvidia/nv-mmap.c
+++ b/kernel/nvidia/nv-mmap.c
@@ -24,8 +24,15 @@
#define __NO_VERSION__
+#include <linux/version.h>
+
#include "os-interface.h"
#include "nv-linux.h"
#include "nv_speculation_barrier.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
+#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f))
+#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f))
+#endif
+
/*
* The 'struct vm_operations' open() callback is called by the Linux
--- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c
+++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c
@@ -45,4 +45,11 @@
#endif
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
+#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f))
+#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f))
+#endif
+
static inline
void __nv_drm_gem_user_memory_free(struct nv_drm_gem_object *nv_gem)
--- a/kernel/nvidia-drm/nvidia-drm-gem.c
+++ b/kernel/nvidia-drm/nvidia-drm-gem.c
@@ -52,4 +52,11 @@
#include "nv-mm.h"
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
+#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f))
+#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f))
+#endif
+
void nv_drm_gem_free(struct drm_gem_object *gem)
{
--- a/kernel/nvidia-uvm/uvm.c
+++ b/kernel/nvidia-uvm/uvm.c
@@ -22,4 +22,6 @@
*******************************************************************************/
+#include <linux/version.h>
+
#include "uvm_api.h"
#include "uvm_global.h"
@@ -41,4 +43,9 @@
#define NVIDIA_UVM_DEVICE_NAME "nvidia-uvm"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
+#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f))
+#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f))
+#endif
+
static dev_t g_uvm_base_dev;
static struct cdev g_uvm_cdev;

View File

@ -4,7 +4,7 @@
EAPI=8
MODULES_OPTIONAL_IUSE=+modules
inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1 multilib
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
MODULES_KERNEL_MAX=6.15
@ -24,10 +24,7 @@ S=${WORKDIR}
LICENSE="NVIDIA-2023 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
SLOT="0/${PV%%.*}"
KEYWORDS="-* amd64 ~arm64"
# TODO: enable kernel-open by default to match nvidia upstream, but should
# first setup a supported-gpus.json "kernelopen" check to abort and avoid bad
# surprises (should abort for legacy cards too, and have a bypass variable)
KEYWORDS="-* ~amd64 ~arm64"
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
REQUIRED_USE="kernel-open? ( modules )"
@ -63,9 +60,9 @@ RDEPEND="
)
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(-)?] )
gui-libs/egl-gbm
>=gui-libs/egl-wayland-1.1.10
media-libs/libglvnd
)
"
DEPEND="
@ -76,7 +73,6 @@ DEPEND="
x11-libs/libXext
)
tools? (
dev-util/vulkan-headers
media-libs/libglvnd
sys-apps/dbus
x11-base/xorg-proto
@ -94,22 +90,18 @@ BDEPEND="
QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
"${FILESDIR}"/nvidia-drivers-570.153.02-kernel-6.15.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
@ -118,29 +110,25 @@ pkg_setup() {
$(usev powerd '~CPU_FREQ')
"
kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
CONFIG_CHECK+=" DRM_TTM_HELPER"
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 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
@ -171,16 +159,24 @@ src_prepare() {
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
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
# extra flags for the libXNVCtrl.a static library
local xnvflags=-fPIC #840389
@ -200,6 +196,11 @@ src_compile() {
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
@ -209,12 +210,11 @@ src_compile() {
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}"
@ -259,7 +259,6 @@ src_install() {
[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
@ -271,12 +270,11 @@ src_install() {
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
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=(
@ -322,12 +320,6 @@ $(use amd64 && usev !abi_x86_32 "
Note that without USE=abi_x86_32 on ${PN}, 32bit applications
(typically using wine / steam) will not be able to use GPU acceleration.")
Be warned that USE=kernel-open may need to be either enabled or
disabled for certain cards to function:
- GTX 50xx (blackwell) and higher require it to be enabled
- GTX 1650 and higher (pre-blackwell) should work either way
- Older cards require it to be disabled
For additional information or for troubleshooting issues, please see
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
documentation that is installed alongside this README."
@ -416,9 +408,8 @@ documentation that is installed alongside this README."
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
[[ ${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]}
@ -432,13 +423,10 @@ documentation that is installed alongside this README."
exeinto "${_#"${EPREFIX}"}"
doexe systemd/system-sleep/nvidia
dobin systemd/nvidia-sleep.sh
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.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
@ -457,8 +445,6 @@ documentation that is installed alongside this README."
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
@ -489,12 +475,12 @@ documentation that is installed alongside this README."
# don't attempt to strip firmware files (silences errors)
dostrip -x ${paths[FIRMWARE]}
# sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
# 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/nvidia-caps:/dev/char"'
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
@ -506,7 +492,6 @@ documentation that is installed alongside this README."
}
pkg_preinst() {
has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
use modules || return
@ -571,17 +556,20 @@ pkg_postinst() {
ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
fi
if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
if use 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"
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 "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled"
elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues,"
elog "either disable wayland or edit nvidia.conf."
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
}

View File

@ -8,7 +8,7 @@ inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
MODULES_KERNEL_MAX=6.14
NV_PIN=570.153.02
NV_PIN=570.169
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
HOMEPAGE="https://developer.nvidia.com/vulkan-driver"

View File

@ -22,10 +22,7 @@ SRC_URI="
# nvidia-installer is unused but here for GPL-2's "distribute sources"
S=${WORKDIR}
LICENSE="
NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
curl openssl public-domain
"
LICENSE="NVIDIA-2025 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
SLOT="0/${PV%%.*}"
KEYWORDS="-* ~amd64 ~arm64"
# TODO: enable kernel-open by default to match nvidia upstream, but should
@ -89,7 +86,6 @@ DEPEND="
)
"
BDEPEND="
app-alternatives/awk
sys-devel/m4
virtual/pkgconfig
"
@ -285,7 +281,7 @@ src_install() {
local skip_modules=(
$(usev !X "nvfbc vdpau xdriver")
$(usev !modules gsp)
$(usev !powerd nvtopps)
$(usev !powerd powerd)
installer nvpd # handled separately / built from source
)
local skip_types=(

View File

@ -1,605 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MODULES_OPTIONAL_IUSE=+modules
inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
MODULES_KERNEL_MAX=6.15
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-2023 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
curl openssl public-domain
"
SLOT="0/${PV%%.*}"
KEYWORDS="-* ~amd64 ~arm64"
# TODO: enable kernel-open by default to match nvidia upstream, but should
# first setup a supported-gpus.json "kernelopen" check to abort and avoid bad
# surprises (should abort for legacy cards too, and have a bypass variable)
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
REQUIRED_USE="kernel-open? ( modules )"
COMMON_DEPEND="
acct-group/video
X? ( x11-libs/libpciaccess )
persistenced? (
acct-user/nvpd
net-libs/libtirpc:=
)
tools? (
>=app-accessibility/at-spi2-core-2.46:2
dev-libs/glib:2
dev-libs/jansson:=
media-libs/harfbuzz:=
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3[X]
x11-libs/libX11
x11-libs/libXext
x11-libs/libXxf86vm
x11-libs/pango
)
"
RDEPEND="
${COMMON_DEPEND}
dev-libs/openssl:0/3
sys-libs/glibc
X? (
media-libs/libglvnd[X,abi_x86_32(-)?]
x11-libs/libX11[abi_x86_32(-)?]
x11-libs/libXext[abi_x86_32(-)?]
)
powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
wayland? (
>=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
>=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
)
"
DEPEND="
${COMMON_DEPEND}
static-libs? (
x11-base/xorg-proto
x11-libs/libX11
x11-libs/libXext
)
tools? (
dev-util/vulkan-headers
media-libs/libglvnd
sys-apps/dbus
x11-base/xorg-proto
x11-libs/libXrandr
x11-libs/libXv
x11-libs/libvdpau
)
"
BDEPEND="
app-alternatives/awk
sys-devel/m4
virtual/pkgconfig
"
# there is some non-prebuilt exceptions but rather not maintain a list
QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
"${FILESDIR}"/nvidia-drivers-570.153.02-kernel-6.15.patch
)
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
# do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
get_version
require_configured_kernel
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
~DRM_FBDEV_EMULATION
~SYSVIPC
~!LOCKDEP
~!PREEMPT_RT
~!SLUB_DEBUG_ON
!DEBUG_MUTEXES
$(usev powerd '~CPU_FREQ')
"
kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
DRM_AMDGPU=m (among others, consult the kernel config's help), can
also use DRM_NOUVEAU=m as long as built as module *not* built-in."
local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
${drm_helper_msg}"
local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
${drm_helper_msg}"
local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
nvidia-drm.fbdev=1 support, currently off-by-default and it could
be ignored, but note that is due to change in the future."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."
local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
set. Please do not report issues if run into e.g. kernel panics while
ignoring this."
linux-mod-r1_pkg_setup
}
src_prepare() {
# make patches usable across versions
rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
rm nvidia-settings && mv nvidia-settings{-${PV},} || die
rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
default
# prevent detection of incomplete kernel DRM support (bug #603818)
sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
-i kernel{,-module-source/kernel-open}/conftest.sh || die
sed 's/__USER__/nvpd/' \
nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
> "${T}"/nvidia-persistenced.service || die
# use alternative vulkan icd option if USE=-X (bug #909181)
use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
# enable nvidia-drm.modeset=1 by default with USE=wayland
cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
# makefile attempts to install wayland library even if not built
use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
nvidia-settings/src/Makefile || die
}
src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
# extra flags for the libXNVCtrl.a static library
local xnvflags=-fPIC #840389
tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
HOST_LD="$(tc-getBUILD_LD)"
BUILD_GTK2LIB=
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
WAYLAND_AVAILABLE=$(usex wayland 1 0)
XNVCTRL_CFLAGS="${xnvflags}"
)
if use modules; then
local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
local modlistargs=video:kernel
if use kernel-open; then
modlistargs+=-module-source:kernel-module-source/kernel-open
# environment flags are normally unused for modules, but nvidia
# uses it for building the "blob" and it is a bit fragile
filter-flags -fno-plt #912949
filter-lto
CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
LDFLAGS=$(raw-ldflags)
fi
local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
local modargs=(
IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
# kernel takes "x86" and "x86_64" as meaning the same, but nvidia
# makes the distinction (since 550.135) and is not happy with "x86"
# TODO?: it should be ok/better for tc-arch-kernel to do x86_64
$(usev amd64 ARCH=x86_64)
)
# temporary workaround for bug #914468
addpredict "${KV_OUT_DIR}"
linux-mod-r1_src_compile
CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
fi
emake "${NV_ARGS[@]}" -C nvidia-modprobe
use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
if use tools; then
# avoid noisy *very* noisy logs with deprecation warnings
CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
emake "${NV_ARGS[@]}" -C nvidia-settings
elif use static-libs; then
# pretend GTK+3 is available, not actually used (bug #880879)
emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
-C nvidia-settings/src out/libXNVCtrl.a
fi
}
src_install() {
local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
local -A paths=(
[APPLICATION_PROFILE]=/usr/share/nvidia
[CUDA_ICD]=/etc/OpenCL/vendors
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
[FIRMWARE]=/lib/firmware/nvidia/${PV}
[GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
[GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
[OPENGL_DATA]=/usr/share/nvidia
[VULKANSC_ICD_JSON]=/usr/share/vulkansc
[VULKAN_ICD_JSON]=/usr/share/vulkan
[WINE_LIB]=/usr/${libdir}/nvidia/wine
[XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
[GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
[GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
[XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
)
local skip_files=(
$(usev !X "libGLX_nvidia libglxserver_nvidia")
libGLX_indirect # non-glvnd unused fallback
libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11
libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11
libnvidia-pkcs11.so # using the openssl3 version instead
)
local skip_modules=(
$(usev !X "nvfbc vdpau xdriver")
$(usev !modules gsp)
$(usev !powerd nvtopps)
installer nvpd # handled separately / built from source
)
local skip_types=(
GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
OPENCL_WRAPPER.\* # virtual/opencl
DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
)
local DOCS=(
README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
)
local HTML_DOCS=( html/. )
einstalldocs
local DISABLE_AUTOFORMATTING=yes
local DOC_CONTENTS="\
Trusted users should be in the 'video' group to use NVIDIA devices.
You can add yourself by using: gpasswd -a my-user video\
$(usev modules "
Like all out-of-tree kernel modules, it is necessary to rebuild
${PN} after upgrading or rebuilding the Linux kernel
by for example running \`emerge @module-rebuild\`. Alternatively,
if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
this can be automated by setting USE=dist-kernel globally.
Loaded kernel modules also must not mismatch with the installed
${PN} version (excluding -r revision), meaning should
ensure \`eselect kernel list\` points to the kernel that will be
booted before building and preferably reboot after upgrading
${PN} (the ebuild will emit a warning if mismatching).
See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
$(use amd64 && usev !abi_x86_32 "
Note that without USE=abi_x86_32 on ${PN}, 32bit applications
(typically using wine / steam) will not be able to use GPU acceleration.")
Be warned that USE=kernel-open may need to be either enabled or
disabled for certain cards to function:
- GTX 50xx (blackwell) and higher require it to be enabled
- GTX 1650 and higher (pre-blackwell) should work either way
- Older cards require it to be disabled
For additional information or for troubleshooting issues, please see
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
documentation that is installed alongside this README."
readme.gentoo_create_doc
if use modules; then
linux-mod-r1_src_install
insinto /etc/modprobe.d
doins "${T}"/nvidia.conf
# used for gpu verification with binpkgs (not kept, see pkg_preinst)
insinto /usr/share/nvidia
doins supported-gpus/supported-gpus.json
fi
emake "${NV_ARGS[@]}" -C nvidia-modprobe install
fowners :video /usr/bin/nvidia-modprobe #505092
fperms 4710 /usr/bin/nvidia-modprobe
if use persistenced; then
emake "${NV_ARGS[@]}" -C nvidia-persistenced install
newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
systemd_dounit "${T}"/nvidia-persistenced.service
fi
if use tools; then
emake "${NV_ARGS[@]}" -C nvidia-settings install
doicon nvidia-settings/doc/nvidia-settings.png
domenu nvidia-settings/doc/nvidia-settings.desktop
exeinto /etc/X11/xinit/xinitrc.d
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
fi
if use static-libs; then
dolib.a nvidia-settings/src/out/libXNVCtrl.a
strip-lto-bytecode
insinto /usr/include/NVCtrl
doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
fi
use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
# mimic nvidia-installer by reading .manifest to install files
# 0:file 1:perms 2:type 3+:subtype/arguments -:module
local m into
while IFS=' ' read -ra m; do
! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
[[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
[[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
case ${m[2]} in
MANPAGE)
gzip -dc ${m[0]} | newman - ${m[0]%.gz}
pipestatus || die
continue
;;
GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
esac
if [[ -v 'paths[${m[2]}]' ]]; then
into=${paths[${m[2]}]}
elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
into=${m[3]}
elif [[ ${m[2]} == *_BINARY ]]; then
into=/usr/bin
elif [[ ${m[3]} == COMPAT32 ]]; then
use abi_x86_32 || continue
into=/usr/${libdir32}
elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
into=/usr/${libdir}
else
die "No known installation path for ${m[0]}"
fi
[[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
[[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
if [[ ${m[2]} =~ _SYMLINK$ ]]; then
[[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
dosym ${m[4]} ${into}/${m[0]}
continue
fi
# avoid portage warning due to missing soname links in manifest
[[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
printf -v m[1] %o $((m[1] | 0200)) # 444->644
insopts -m${m[1]}
insinto ${into}
doins ${m[0]}
done < .manifest || die
insopts -m0644 # reset
# MODULE:installer non-skipped extras
: "$(systemd_get_sleepdir)"
exeinto "${_#"${EPREFIX}"}"
doexe systemd/system-sleep/nvidia
dobin systemd/nvidia-sleep.sh
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
dobin nvidia-bug-report.sh
insinto /usr/share/nvidia/files.d
doins sandboxutils-filelist.json
# MODULE:powerd extras
if use powerd; then
newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
systemd_dounit systemd/system/nvidia-powerd.service
insinto /usr/share/dbus-1/system.d
doins nvidia-dbus.conf
fi
# enabling is needed for sleep to work properly and little reason not to do
# it unconditionally for a better user experience
: "$(systemd_get_systemunitdir)"
local unitdir=${_#"${EPREFIX}"}
# not using relative symlinks to match systemd's own links
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
# also add a custom elogind hook to do the equivalent of the above
exeinto /usr/lib/elogind/system-sleep
newexe "${FILESDIR}"/system-sleep.elogind nvidia
# <elogind-255.5 used a different path (bug #939216), keep a compat symlink
# TODO: cleanup after 255.5 been stable for a few months
dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
# needed with >=systemd-256 or may fail to resume with some setups
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
insinto "${unitdir}"/systemd-homed.service.d
newins - 10-nvidia.conf <<-EOF
[Service]
Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
EOF
insinto "${unitdir}"/systemd-suspend.service.d
newins - 10-nvidia.conf <<-EOF
[Service]
Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
EOF
dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
# symlink non-versioned so nvidia-settings can use it even if misdetected
dosym nvidia-application-profiles-${PV}-key-documentation \
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
# don't attempt to strip firmware files (silences errors)
dostrip -x ${paths[FIRMWARE]}
# sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
# are widespread and sometime affect revdeps of packages built with
# USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
# ebuilds should handle manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
# dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
# our settings are used for bug 932781#c8 and nouveau blacklist if either
# modules are included (however, just best-effort without initramfs regen)
if use modules; then
echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
"${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
fi
}
pkg_preinst() {
has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
use modules || return
# set video group id based on live system (bug #491414)
local g=$(egetent group video | cut -d: -f3)
[[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
# try to find driver mismatches using temporary supported-gpus.json
for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
"${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
if [[ ${g} ]]; then
g=$((${g##*\"}+1))
if ver_test -ge ${g}; then
NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
break
fi
fi
done
rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
readme.gentoo_print_elog
if [[ -r /proc/driver/nvidia/version &&
$(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
ewarn "Currently loaded NVIDIA modules do not match the newly installed"
ewarn "libraries and may prevent launching GPU-accelerated applications."
if use modules; then
ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
fi
fi
if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
ewarn "Detected that the current kernel command line is using 'slub_debug=',"
ewarn "this may lead to system instability/freezes with this version of"
ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
fi
if [[ -v NV_LEGACY_MASK ]]; then
ewarn
ewarn "***WARNING***"
ewarn
ewarn "You are installing a version of ${PN} known not to work"
ewarn "with a GPU of the current system. If unwanted, add the mask:"
if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
else
ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
fi
ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
ewarn "are available or fully functional, may need to consider nouveau[2])."
ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
fi
if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
ewarn
ewarn "Open source variant of ${PN} was selected, note that it requires"
ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
fi
if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
elog
elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be enabled"
elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience issues,"
elog "either disable wayland or edit nvidia.conf."
fi
[[ ${PV} == 575.57.08 ]] || die "TODO: recheck intel+nvidia status & cleanup"
if use kernel-open && ver_replacing -lt 575; then
ewarn
ewarn "WARNING:"
ewarn
ewarn "*If* using a hybrid Intel+NVIDIA laptop, be warned that users have"
ewarn "reported that the GSP firmware could fail to initialize (for some"
ewarn "setups) when USE=kernel-open is enabled with ${PN}-575.x."
ewarn "*If* X/wayland fails to come up and boot messages have GSP errors,"
ewarn "try to either disable USE=kernel-open or stay on ${PN}-570.x"
ewarn "for now. Note that blackwell cards (aka 50xx+) require USE=kernel-open,"
ewarn "so downgrading will be the only option there for now."
fi
}