mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-07 04:56:58 +02:00
x11-drivers/nvidia-drivers: Sync with Gentoo
It's from Gentoo commit e8ae5a4833d0ae8eb6876253545bf9e81594f1c6.
This commit is contained in:
parent
633ec9e879
commit
1fa42cd4f5
@ -1,63 +1,47 @@
|
||||
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.169.run 290106494 BLAKE2B b8b332c3b121063af061f1ab19f87db6c528da977847423f6d7f0b6c6d7d8bd118e6f0518fbd66c6c633647efb64a3a670cd5ecadffd41faf6271916446f2143 SHA512 551615d6ecc982acdbb52049c5afd11cd8ca69999d097f076884c3f632b3880f95c707ebadf66c3aabf5452aab52cd372894eff574382ed2d79444a65c368369
|
||||
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.05.run 304943447 BLAKE2B 277aed01ab2be1cbbfe7780c4cb9dcbfaebc69824ba4b5a620113829f713d5407829769c7fab224f183656408944d9d6c4dcf6400a333c1116a89d072eb79223 SHA512 0b9b9c6b3316723fba4549fcd346215e5315a7b4c80196f0cd9ada9ecd6a23e8fc1691ae8bda5b246a3c44519cc7f503116023ff5427718fbffb67fe49a12a75
|
||||
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.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-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-kernel-module-source-535.247.01.tar.xz 12517152 BLAKE2B b12497621ba32da4ca80ca6736d559bc98ba45974e06bbb63c08695c3b24c45752b3fd3dc2854ed64950e89e99b38d1006ce672096e35daced0ebe0a9dda77f6 SHA512 ed8e10d5245447fcdf348509ad62e9ac3d56a052d254b764e3a574a711cfa5c8831a759d425f42795c2db752f3d91d60b6097f6901c88654f242c94768faddb6
|
||||
DIST NVIDIA-Linux-x86_64-575.64.05.run 386961985 BLAKE2B d8b5e5cdff3d2166c4fdf8328ae22bc4419509144ad0427b17636696e7398240a3601ded850893412198fc0d4ba76e72a64ed31d6ceaf58149d83a741ad62a05 SHA512 1f5ea98478c913b044cccb25934e12d58561643b83074e5967d84126baac9a5ddc092a6ea017956957abae174520718d747415d09c6fb2da110de51629df98a2
|
||||
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.169.tar.xz 17928016 BLAKE2B 4d68cbcbbb14f0b9741c09dedad5abf859f971676869d46e8a6749c04dfc39a6f24098aff9c55d8d33e1e5b1f67be16a99af702f29003354635019ff94ee683f SHA512 7d5a06e596235d90ba5b26a4b04b68623b501643ea8c6bcd7342add6563684486f32b6399335a853f03cb588dc57cdb1397e2705bce512a8be57d3b615b8eb22
|
||||
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.05.tar.xz 18198316 BLAKE2B 622781dfa93ab11993a4cabf14e2104ae7fffa0a16ca504a1257ab9eedd832128dfe73a0b9567a4401bbcf83416305794861cd18c393797ab8d43af0c26cbcc7 SHA512 4cbe2e2d78eab84a8a0153f68ab6b1fefa75225c145b3bd9db4fab9d0cb212a4202a89d0e6d0f2d0dedb5663389f7c9ed6cadb6a656eb32dbde0cf0f806652e2
|
||||
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.169.tar.bz2 169301 BLAKE2B 2676261d50cfe235d099475bcedcc96549d5140bf0c95b8f41b49d62eb0cd5fdf5c2ed53a59f79c778011b50e95ef440cc7a3a7a6673de7311e4508fa8f5960b SHA512 5864343b23a27cf994e414bb8a3b90e7b740df54188d43172456ea163162cea74e0b38a0b41717756818262d9f80b25cfc7566900bc682ea0546a825d52e3cfd
|
||||
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.05.tar.bz2 169369 BLAKE2B ccff48e41296d6682c72f3d25eb7d7816dc83b4c6f279a4f5213db141353772d78d8ff3e23f2fb21ff8ce81a326443d12c3f05792fe1971b1fb54da764140065 SHA512 5033e40762b499e9b04a080942656a0c9b49e8f56c4a8236da38a587f8e13b3935f75e8c8dbdffbd0ef895c537a69f51ce6df7e6beca7be583aab09ed62faf09
|
||||
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.169.tar.bz2 41618 BLAKE2B ce6967fea67a387ab177d75cf0bec4162127e7f440ffc971115b2307d68307fdbddcded8e932022088f1815d7208d4b7b8d1895125866d443750307c1353867a SHA512 e7f4d0ad9b29f13b2fccddd27570832d7a95925d82aac0ea0af8b8dcf80ba220c82352b0394eff2184b7f6da227df2462d5579ed75c1a952727820503f37ea7e
|
||||
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.05.tar.bz2 41721 BLAKE2B 9b8a6dda556389abe0c2bd81ed3edfa8142f773832b7d955385119b5fd525cbcfd3c01401f471ccf5dc7ce61100ba6a3c4504b8eaf86ea5b378d20a6046ff7ce SHA512 221a0469a974c7db3f3c489f2637b6eef68e614c5ccd3e94c8cbe1b8841a6e9a4f0e2f05642b6c9f7113efe3c211076ac31578e9587df26b76148a198d21cd49
|
||||
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.169.tar.bz2 61792 BLAKE2B 14568a42ee3473efe341bd9332081d2a1625f91662c58e75b1b218d5a3d19496071fcc5e9840fa1563aec2755c9d6810db531ed3616c825987311cf3690147f5 SHA512 c5e343be16719ba89f1a37ca8fdeb7f15a4fb028dbce554a7c524238ccb1ed1c1b0527a86a2e6dbdc01cd0b6f3a5d996a0895de4698a0ea98278cd93ef911d58
|
||||
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.05.tar.bz2 61961 BLAKE2B fa40aea873a30e7c500c2abe85a0ed7e278e4e1cceb2be9fe370752b3e44bccfd94e15e42df2f10237bc02015545b5b31ecdfbfd84b4f0400d56484a69ed96b8 SHA512 77a6fe5665bee6225433e383fe3016a667241e0772223d978ad42df40c8bc77207185c47961859ca9d334bebc7422d1a825ddf58e77d4caa630fcee1ecc5fa54
|
||||
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.169.tar.bz2 1123877 BLAKE2B df4309c9230352b88467537e9de9372e3e422a1b346c01ca807191aa322638ead912ffd80eeef8e404231f9d28ec9e45fddb1fe1a94777f6ca122e378c0c5b7b SHA512 34c25843c55e80efc987f344b3226e2715ccbf60e9d9f75f665c1a4199d69bef005f5c27d04f5d1cdf4fee38e4d44857d32f2dd97f84764e054d0050881a6377
|
||||
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.05.tar.bz2 1127714 BLAKE2B 935649b61361ff9b05f34ba9770704eb945134199edbb17d2581f74188f8b122009b6d4309b225c375fcb80f26fb6a82c9528bf22e5658c5856d1752bee309bb SHA512 3e3df016f1f6b34a802d872c67a9f1c0db6d38c8265343eb607c71c59bf5597c7378800641b1152af404ebc0515f8f79eff1ee0e81b87b84ff7a237c176526f6
|
||||
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.169.tar.bz2 111343 BLAKE2B ff9c00145277241a5acb290fddfa01a906ba26601c45f12d06ea8754be9d29c836f68640db411de6e904d608523bd9d10b644bf1976ef201c58d55db2fc16a47 SHA512 5db772f2cecb3436a42b0f5cad550afae3453d3b17897f457e8f6b48a9c2a71997a317b121837f68e7f23d9a3e141464485144ce362f33adf3d70b326205bbb8
|
||||
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.05.tar.bz2 111165 BLAKE2B 87b272e12b63e6d4a393b76e4ec4c47d1433caee1e73ab50c3da8b1b3cb4ece0d0adad3e6496df4a81c0efd8aff67f8afa5de192df24cbe4ae7f8a4b86d674ac SHA512 00dfe0cbf0fb1131391a38b2d1bd95e52ac90b77cf19b76cb6cd6d0a3ef83c5020ff5dd8e08f8d424a7b32338e7752675e1f700392df7efd2d9b96bbc8072541
|
||||
DIST open-gpu-kernel-modules-570.123.19.tar.gz 18685718 BLAKE2B 67503cefeb07be00ef16eb2d3ffb1287dc1f460f1ad908526046795cdaf2662fef01affcd23a957e97610560d8380d42c0a24d916a4cfd09d77d5b7f1ebfe7da SHA512 88bb3db9f8d38b03a92f60a56ff31b1c27695151fd6cd892d562fc9e31adc8303d54e35bfca59d368ca8d0fdb847674d3b4a240aabed476d6e89c8dcdbbf2d2c
|
||||
|
@ -1,39 +0,0 @@
|
||||
# NVIDIA drivers options
|
||||
# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information.
|
||||
|
||||
# nvidia-drivers and nouveau / nova cannot be used at same time.
|
||||
# Comment out the following lines if you wish to allow either.
|
||||
blacklist nouveau
|
||||
blacklist nova_core
|
||||
|
||||
# Kernel Mode Setting (notably needed for fbdev and wayland).
|
||||
# Enabling may possibly cause issues with SLI and Reverse PRIME.
|
||||
#options nvidia-drm modeset=1
|
||||
|
||||
# Enable experimental framebuffer console support (requires modeset=1 above).
|
||||
# Replaces efifb, simpledrm, or similar once loaded (emphasis on being
|
||||
# experimental, "may" cause issues X mode switching, sleep, or more).
|
||||
#options nvidia-drm fbdev=1
|
||||
|
||||
# Suspend options. Note that Allocations=1 requires suspend hooks currently
|
||||
# only used when either systemd or elogind is used to suspend. If using
|
||||
# neither or have issues, try Allocations=0 (revert if it does not help
|
||||
# as =0 is not recommended).
|
||||
options nvidia \
|
||||
NVreg_PreserveVideoMemoryAllocations=1 \
|
||||
NVreg_TemporaryFilePath=/var/tmp
|
||||
|
||||
# !!! Security Warning !!!
|
||||
# Do not change the DeviceFile options unless you know what you are doing.
|
||||
# Only add trusted users to the 'video' group, these users may be able to
|
||||
# crash, compromise, or irreparably damage the machine.
|
||||
options nvidia \
|
||||
NVreg_DeviceFileGID=@VIDEOGID@ \
|
||||
NVreg_DeviceFileMode=432 \
|
||||
NVreg_DeviceFileUID=0 \
|
||||
NVreg_ModifyDeviceFiles=1
|
||||
|
||||
# Should be no need to touch anything below.
|
||||
alias char-major-195 nvidia
|
||||
alias /dev/nvidiactl char-major-195
|
||||
remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
|
@ -1,575 +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 flag-o-matic linux-mod-r1 multilib
|
||||
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
|
||||
|
||||
MODULES_KERNEL_MAX=6.14
|
||||
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 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
|
||||
SLOT="0/${PV%%.*}"
|
||||
KEYWORDS="-* amd64 ~arm64"
|
||||
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
|
||||
REQUIRED_USE="kernel-open? ( modules )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
acct-group/video
|
||||
X? ( x11-libs/libpciaccess )
|
||||
persistenced? (
|
||||
acct-user/nvpd
|
||||
net-libs/libtirpc:=
|
||||
)
|
||||
tools? (
|
||||
>=app-accessibility/at-spi2-core-2.46:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/jansson:=
|
||||
media-libs/harfbuzz:=
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXxf86vm
|
||||
x11-libs/pango
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
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
|
||||
>=gui-libs/egl-wayland-1.1.10
|
||||
media-libs/libglvnd
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
static-libs? (
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
)
|
||||
tools? (
|
||||
media-libs/libglvnd
|
||||
sys-apps/dbus
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXv
|
||||
x11-libs/libvdpau
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/m4
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
# there is some non-prebuilt exceptions but rather not maintain a list
|
||||
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
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use modules && [[ ${MERGE_TYPE} != binary ]] || return
|
||||
|
||||
local CONFIG_CHECK="
|
||||
PROC_FS
|
||||
~DRM_KMS_HELPER
|
||||
~SYSVIPC
|
||||
~!LOCKDEP
|
||||
~!PREEMPT_RT
|
||||
~!SLUB_DEBUG_ON
|
||||
!DEBUG_MUTEXES
|
||||
$(usev powerd '~CPU_FREQ')
|
||||
"
|
||||
|
||||
local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
|
||||
of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
|
||||
Cannot be directly selected in the kernel's menuconfig, and may need
|
||||
selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
|
||||
DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
|
||||
|
||||
local ERROR_X86_KERNEL_IBT="CONFIG_X86_KERNEL_IBT: is set and, if the CPU supports the feature,
|
||||
this *could* lead to modules load failure with ENDBR errors, or to
|
||||
broken CUDA/NVENC. Please ignore if not having issues, but otherwise
|
||||
try to unset or pass ibt=off to the kernel's command line." #911142
|
||||
use kernel-open || CONFIG_CHECK+=" ~!X86_KERNEL_IBT"
|
||||
|
||||
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
|
||||
|
||||
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
|
||||
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
|
||||
Cannot be directly selected in the kernel's menuconfig, and may need
|
||||
selection of another option that requires it such as CONFIG_KVM."
|
||||
|
||||
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-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
|
||||
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
|
||||
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
|
||||
[VULKAN_ICD_JSON]=/usr/share/vulkan
|
||||
[WINE_LIB]=/usr/${libdir}/nvidia/wine
|
||||
[XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
|
||||
|
||||
[GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
|
||||
[GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
|
||||
[XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
|
||||
)
|
||||
|
||||
local skip_files=(
|
||||
$(usev !X "libGLX_nvidia libglxserver_nvidia")
|
||||
$(usev !wayland libnvidia-vulkan-producer)
|
||||
libGLX_indirect # non-glvnd unused fallback
|
||||
libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
|
||||
libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
|
||||
libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
|
||||
libnvidia-pkcs11.so # using the openssl3 version instead
|
||||
)
|
||||
local skip_modules=(
|
||||
$(usev !X "nvfbc vdpau xdriver")
|
||||
$(usev !modules gsp)
|
||||
$(usev !powerd powerd)
|
||||
installer nvpd # handled separately / built from source
|
||||
)
|
||||
local skip_types=(
|
||||
GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
|
||||
OPENCL_WRAPPER.\* # virtual/opencl
|
||||
DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
|
||||
)
|
||||
|
||||
local DOCS=(
|
||||
README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
|
||||
nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
|
||||
)
|
||||
local HTML_DOCS=( html/. )
|
||||
einstalldocs
|
||||
|
||||
local DISABLE_AUTOFORMATTING=yes
|
||||
local DOC_CONTENTS="\
|
||||
Trusted users should be in the 'video' group to use NVIDIA devices.
|
||||
You can add yourself by using: gpasswd -a my-user video\
|
||||
$(usev modules "
|
||||
|
||||
Like all out-of-tree kernel modules, it is necessary to rebuild
|
||||
${PN} after upgrading or rebuilding the Linux kernel
|
||||
by for example running \`emerge @module-rebuild\`. Alternatively,
|
||||
if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
|
||||
this can be automated by setting USE=dist-kernel globally.
|
||||
|
||||
Loaded kernel modules also must not mismatch with the installed
|
||||
${PN} version (excluding -r revision), meaning should
|
||||
ensure \`eselect kernel list\` points to the kernel that will be
|
||||
booted before building and preferably reboot after upgrading
|
||||
${PN} (the ebuild will emit a warning if mismatching).
|
||||
|
||||
See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
|
||||
$(use amd64 && usev !abi_x86_32 "
|
||||
|
||||
Note that without USE=abi_x86_32 on ${PN}, 32bit applications
|
||||
(typically using wine / steam) will not be able to use GPU acceleration.")
|
||||
|
||||
For additional information or for troubleshooting issues, please see
|
||||
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
|
||||
documentation that is installed alongside this README."
|
||||
readme.gentoo_create_doc
|
||||
|
||||
if use modules; then
|
||||
linux-mod-r1_src_install
|
||||
|
||||
insinto /etc/modprobe.d
|
||||
doins "${T}"/nvidia.conf
|
||||
|
||||
# used for gpu verification with binpkgs (not kept, see pkg_preinst)
|
||||
insinto /usr/share/nvidia
|
||||
doins supported-gpus/supported-gpus.json
|
||||
fi
|
||||
|
||||
emake "${NV_ARGS[@]}" -C nvidia-modprobe install
|
||||
fowners :video /usr/bin/nvidia-modprobe #505092
|
||||
fperms 4710 /usr/bin/nvidia-modprobe
|
||||
|
||||
if use persistenced; then
|
||||
emake "${NV_ARGS[@]}" -C nvidia-persistenced install
|
||||
newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
|
||||
newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
|
||||
systemd_dounit "${T}"/nvidia-persistenced.service
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake "${NV_ARGS[@]}" -C nvidia-settings install
|
||||
|
||||
doicon nvidia-settings/doc/nvidia-settings.png
|
||||
domenu nvidia-settings/doc/nvidia-settings.desktop
|
||||
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
|
||||
fi
|
||||
|
||||
if use static-libs; then
|
||||
dolib.a nvidia-settings/src/out/libXNVCtrl.a
|
||||
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
|
||||
[[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
|
||||
dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
|
||||
|
||||
printf -v m[1] %o $((m[1] | 0200)) # 444->644
|
||||
insopts -m${m[1]}
|
||||
insinto ${into}
|
||||
doins ${m[0]}
|
||||
done < .manifest || die
|
||||
insopts -m0644 # reset
|
||||
|
||||
# MODULE:installer non-skipped extras
|
||||
: "$(systemd_get_sleepdir)"
|
||||
exeinto "${_#"${EPREFIX}"}"
|
||||
doexe systemd/system-sleep/nvidia
|
||||
dobin systemd/nvidia-sleep.sh
|
||||
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
|
||||
|
||||
dobin nvidia-bug-report.sh
|
||||
|
||||
# MODULE:powerd extras
|
||||
if use powerd; then
|
||||
newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
|
||||
systemd_dounit systemd/system/nvidia-powerd.service
|
||||
|
||||
insinto /usr/share/dbus-1/system.d
|
||||
doins nvidia-dbus.conf
|
||||
fi
|
||||
|
||||
# enabling is needed for sleep to work properly and little reason not to do
|
||||
# it unconditionally for a better user experience
|
||||
: "$(systemd_get_systemunitdir)"
|
||||
local unitdir=${_#"${EPREFIX}"}
|
||||
# not using relative symlinks to match systemd's own links
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
|
||||
# also add a custom elogind hook to do the equivalent of the above
|
||||
exeinto /usr/lib/elogind/system-sleep
|
||||
newexe "${FILESDIR}"/system-sleep.elogind nvidia
|
||||
# <elogind-255.5 used a different path (bug #939216), keep a compat symlink
|
||||
# TODO: cleanup after 255.5 been stable for a few months
|
||||
dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
|
||||
|
||||
# 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 /dev/char wrt bug #904292)
|
||||
# are widespread and sometime affect revdeps of packages built with
|
||||
# USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
|
||||
# ebuilds should handle manually if need others or addwrite)
|
||||
insinto /etc/sandbox.d
|
||||
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
|
||||
|
||||
# dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
|
||||
# our settings are used for bug 932781#c8 and nouveau blacklist if either
|
||||
# modules are included (however, just best-effort without initramfs regen)
|
||||
if use modules; then
|
||||
echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
|
||||
"${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
|
||||
|
||||
use modules || return
|
||||
|
||||
# set video group id based on live system (bug #491414)
|
||||
local g=$(egetent group video | cut -d: -f3)
|
||||
[[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
|
||||
sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
|
||||
|
||||
# try to find driver mismatches using temporary supported-gpus.json
|
||||
for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
|
||||
g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
|
||||
"${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
|
||||
if [[ ${g} ]]; then
|
||||
g=$((${g##*\"}+1))
|
||||
if ver_test -ge ${g}; then
|
||||
NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod-r1_pkg_postinst
|
||||
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if [[ -r /proc/driver/nvidia/version &&
|
||||
$(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
|
||||
ewarn "Currently loaded NVIDIA modules do not match the newly installed"
|
||||
ewarn "libraries and may prevent launching GPU-accelerated applications."
|
||||
if use modules; then
|
||||
ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
|
||||
ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
|
||||
ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
|
||||
ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
|
||||
ewarn "Detected that the current kernel command line is using 'slub_debug=',"
|
||||
ewarn "this may lead to system instability/freezes with this version of"
|
||||
ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
|
||||
fi
|
||||
|
||||
if [[ -v NV_LEGACY_MASK ]]; then
|
||||
ewarn
|
||||
ewarn "***WARNING***"
|
||||
ewarn
|
||||
ewarn "You are installing a version of ${PN} known not to work"
|
||||
ewarn "with a GPU of the current system. If unwanted, add the mask:"
|
||||
if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
|
||||
ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
|
||||
else
|
||||
ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
|
||||
fi
|
||||
ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
|
||||
ewarn "are available or fully functional, may need to consider nouveau[2])."
|
||||
ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
|
||||
ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
|
||||
fi
|
||||
|
||||
if use kernel-open; then
|
||||
ewarn
|
||||
ewarn "Open source variant of ${PN} was selected, be warned it is experimental"
|
||||
ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
|
||||
ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
|
||||
fi
|
||||
|
||||
if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
|
||||
elog
|
||||
elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
|
||||
elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
|
||||
elog "experimental but is required for wayland."
|
||||
elog
|
||||
elog "If you experience issues, either disable wayland or edit nvidia.conf."
|
||||
elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
|
||||
fi
|
||||
}
|
@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules
|
||||
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
|
||||
MODULES_KERNEL_MAX=6.16
|
||||
NV_URI="https://download.nvidia.com/XFree86/"
|
||||
|
||||
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
|
||||
@ -24,7 +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"
|
||||
KEYWORDS="-* amd64 ~arm64"
|
||||
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
|
||||
REQUIRED_USE="kernel-open? ( modules )"
|
||||
|
||||
|
@ -1,569 +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 flag-o-matic linux-mod-r1
|
||||
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
|
||||
|
||||
MODULES_KERNEL_MAX=6.14
|
||||
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 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
|
||||
SLOT="0/${PV%%.*}"
|
||||
KEYWORDS="-* amd64 ~arm64"
|
||||
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
|
||||
REQUIRED_USE="kernel-open? ( modules )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
acct-group/video
|
||||
X? ( x11-libs/libpciaccess )
|
||||
persistenced? (
|
||||
acct-user/nvpd
|
||||
net-libs/libtirpc:=
|
||||
)
|
||||
tools? (
|
||||
>=app-accessibility/at-spi2-core-2.46:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/jansson:=
|
||||
media-libs/harfbuzz:=
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXxf86vm
|
||||
x11-libs/pango
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
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
|
||||
>=gui-libs/egl-wayland-1.1.10
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
static-libs? (
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
)
|
||||
tools? (
|
||||
media-libs/libglvnd
|
||||
sys-apps/dbus
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXv
|
||||
x11-libs/libvdpau
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/m4
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
# 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
|
||||
~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_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-545.conf "${T}"/nvidia.conf || die
|
||||
use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
|
||||
|
||||
# makefile attempts to install wayland library even if not built
|
||||
use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
|
||||
nvidia-settings/src/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export AR CC CXX LD OBJCOPY OBJDUMP 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}
|
||||
|
||||
# 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
|
||||
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
|
||||
[VULKAN_ICD_JSON]=/usr/share/vulkan
|
||||
[WINE_LIB]=/usr/${libdir}/nvidia/wine
|
||||
[XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
|
||||
|
||||
[GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
|
||||
[GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
|
||||
[XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
|
||||
)
|
||||
|
||||
local skip_files=(
|
||||
$(usev !X "libGLX_nvidia libglxserver_nvidia")
|
||||
libGLX_indirect # non-glvnd unused fallback
|
||||
libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
|
||||
libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
|
||||
libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
|
||||
libnvidia-pkcs11.so # using the openssl3 version instead
|
||||
)
|
||||
local skip_modules=(
|
||||
$(usev !X "nvfbc vdpau xdriver")
|
||||
$(usev !modules gsp)
|
||||
$(usev !powerd powerd)
|
||||
installer nvpd # handled separately / built from source
|
||||
)
|
||||
local skip_types=(
|
||||
GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
|
||||
OPENCL_WRAPPER.\* # virtual/opencl
|
||||
DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
|
||||
)
|
||||
|
||||
local DOCS=(
|
||||
README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
|
||||
nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
|
||||
)
|
||||
local HTML_DOCS=( html/. )
|
||||
einstalldocs
|
||||
|
||||
local DISABLE_AUTOFORMATTING=yes
|
||||
local DOC_CONTENTS="\
|
||||
Trusted users should be in the 'video' group to use NVIDIA devices.
|
||||
You can add yourself by using: gpasswd -a my-user video\
|
||||
$(usev modules "
|
||||
|
||||
Like all out-of-tree kernel modules, it is necessary to rebuild
|
||||
${PN} after upgrading or rebuilding the Linux kernel
|
||||
by for example running \`emerge @module-rebuild\`. Alternatively,
|
||||
if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
|
||||
this can be automated by setting USE=dist-kernel globally.
|
||||
|
||||
Loaded kernel modules also must not mismatch with the installed
|
||||
${PN} version (excluding -r revision), meaning should
|
||||
ensure \`eselect kernel list\` points to the kernel that will be
|
||||
booted before building and preferably reboot after upgrading
|
||||
${PN} (the ebuild will emit a warning if mismatching).
|
||||
|
||||
See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
|
||||
$(use amd64 && usev !abi_x86_32 "
|
||||
|
||||
Note that without USE=abi_x86_32 on ${PN}, 32bit applications
|
||||
(typically using wine / steam) will not be able to use GPU acceleration.")
|
||||
|
||||
For additional information or for troubleshooting issues, please see
|
||||
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
|
||||
documentation that is installed alongside this README."
|
||||
readme.gentoo_create_doc
|
||||
|
||||
if use modules; then
|
||||
linux-mod-r1_src_install
|
||||
|
||||
insinto /etc/modprobe.d
|
||||
doins "${T}"/nvidia.conf
|
||||
|
||||
# used for gpu verification with binpkgs (not kept, see pkg_preinst)
|
||||
insinto /usr/share/nvidia
|
||||
doins supported-gpus/supported-gpus.json
|
||||
fi
|
||||
|
||||
emake "${NV_ARGS[@]}" -C nvidia-modprobe install
|
||||
fowners :video /usr/bin/nvidia-modprobe #505092
|
||||
fperms 4710 /usr/bin/nvidia-modprobe
|
||||
|
||||
if use persistenced; then
|
||||
emake "${NV_ARGS[@]}" -C nvidia-persistenced install
|
||||
newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
|
||||
newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
|
||||
systemd_dounit "${T}"/nvidia-persistenced.service
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake "${NV_ARGS[@]}" -C nvidia-settings install
|
||||
|
||||
doicon nvidia-settings/doc/nvidia-settings.png
|
||||
domenu nvidia-settings/doc/nvidia-settings.desktop
|
||||
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
|
||||
fi
|
||||
|
||||
if use static-libs; then
|
||||
dolib.a nvidia-settings/src/out/libXNVCtrl.a
|
||||
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
|
||||
[[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
|
||||
dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
|
||||
|
||||
printf -v m[1] %o $((m[1] | 0200)) # 444->644
|
||||
insopts -m${m[1]}
|
||||
insinto ${into}
|
||||
doins ${m[0]}
|
||||
done < .manifest || die
|
||||
insopts -m0644 # reset
|
||||
|
||||
# MODULE:installer non-skipped extras
|
||||
: "$(systemd_get_sleepdir)"
|
||||
exeinto "${_#"${EPREFIX}"}"
|
||||
doexe systemd/system-sleep/nvidia
|
||||
dobin systemd/nvidia-sleep.sh
|
||||
systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
|
||||
|
||||
dobin nvidia-bug-report.sh
|
||||
|
||||
# MODULE:powerd extras
|
||||
if use powerd; then
|
||||
newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
|
||||
systemd_dounit systemd/system/nvidia-powerd.service
|
||||
|
||||
insinto /usr/share/dbus-1/system.d
|
||||
doins nvidia-dbus.conf
|
||||
fi
|
||||
|
||||
# enabling is needed for sleep to work properly and little reason not to do
|
||||
# it unconditionally for a better user experience
|
||||
: "$(systemd_get_systemunitdir)"
|
||||
local unitdir=${_#"${EPREFIX}"}
|
||||
# not using relative symlinks to match systemd's own links
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
|
||||
dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
|
||||
# also add a custom elogind hook to do the equivalent of the above
|
||||
exeinto /usr/lib/elogind/system-sleep
|
||||
newexe "${FILESDIR}"/system-sleep.elogind nvidia
|
||||
# <elogind-255.5 used a different path (bug #939216), keep a compat symlink
|
||||
# TODO: cleanup after 255.5 been stable for a few months
|
||||
dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
|
||||
|
||||
# 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, be warned it is experimental"
|
||||
ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
|
||||
ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
|
||||
fi
|
||||
|
||||
if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
|
||||
elog
|
||||
elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
|
||||
elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
|
||||
elog "experimental but is required for wayland."
|
||||
elog
|
||||
elog "If you experience issues, either disable wayland or edit nvidia.conf."
|
||||
elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
|
||||
fi
|
||||
}
|
@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules
|
||||
inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
|
||||
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
|
||||
|
||||
MODULES_KERNEL_MAX=6.15
|
||||
MODULES_KERNEL_MAX=6.16
|
||||
NV_URI="https://download.nvidia.com/XFree86/"
|
||||
|
||||
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
|
||||
|
@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules
|
||||
inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
|
||||
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
|
||||
|
||||
MODULES_KERNEL_MAX=6.15
|
||||
MODULES_KERNEL_MAX=6.16
|
||||
NV_URI="https://download.nvidia.com/XFree86/"
|
||||
|
||||
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
|
||||
@ -24,7 +24,7 @@ S=${WORKDIR}
|
||||
|
||||
LICENSE="NVIDIA-2025 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
|
||||
SLOT="0/${PV%%.*}"
|
||||
KEYWORDS="-* ~amd64 ~arm64"
|
||||
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)
|
||||
|
@ -7,13 +7,17 @@ MODULES_OPTIONAL_IUSE=+modules
|
||||
inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
|
||||
inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
|
||||
|
||||
MODULES_KERNEL_MAX=6.15
|
||||
MODULES_KERNEL_MAX=6.16
|
||||
NV_URI="https://download.nvidia.com/XFree86/"
|
||||
# x86-64 .run was missing from the usual mirror at bump time, while
|
||||
# aarch64's is missing from this one.. so fetch from different ones
|
||||
# for now and drop this next bump
|
||||
[[ ${PV} == 575.64.05 ]] && NV_URI_TMP="https://us.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 )
|
||||
amd64? ( ${NV_URI_TMP}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}{,})
|
Loading…
Reference in New Issue
Block a user