diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2024-11-20 14:36:20 -0500 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2024-11-20 14:52:39 -0500 |
commit | a39c8d81e68cc073d909476d0427aa5cc9e8d6fa (patch) | |
tree | f1f7eaed1af97d91955e1c797bf3433c4623bf7c /x11-drivers | |
parent | dev-ml/swhid_core: new package, add 0.1 (diff) | |
download | gentoo-a39c8d81e68cc073d909476d0427aa5cc9e8d6fa.tar.gz gentoo-a39c8d81e68cc073d909476d0427aa5cc9e8d6fa.tar.bz2 gentoo-a39c8d81e68cc073d909476d0427aa5cc9e8d6fa.zip |
x11-drivers/nvidia-drivers: add 550.135
incl. proper upstream testing & fix for kernel 6.12, would recommend
this version over the 565.57.01 beta if want to use 6.12 (albeit beta
should be ok with the patch too, just no guarantees that it isn't
missing something).
Also newly needs a minor workaround given NVIDIA newly expects ARCH
to be set to x86_64 while tc-arch-kernel sets x86 (with the rationale
that it makes no difference for the kernel). There is however little
reason to "assume" that the kernel (or modules) sees it the same way
and maybe tc-arch-kernel should pass x86_64... but for now change it
here if USE=amd64 given unsure if want to look into other potential
implications of changing this.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r-- | x11-drivers/nvidia-drivers/Manifest | 8 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-550.135.ebuild | 597 |
2 files changed, 605 insertions, 0 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index aa83e10fa549..5e2ea10324db 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,39 +1,47 @@ DIST NVIDIA-Linux-aarch64-535.216.01.run 269827921 BLAKE2B 37e76e90411e883d0f911edc1a3883fba9db6a5e281e5bba265fab6b892382b202aa0ffb44a0d3b4a181c6855e2b9ffe54874049f331fea50a3429d8c2b298af SHA512 f68794249bf18ba626c6a665880721c8cc0dada6c7c1d8b15bf17174a4cac35ca2ab534fff2410c8bc0326c48f6ab913b6d9a92630505eeb768e02610a7772d9 DIST NVIDIA-Linux-aarch64-550.127.05.run 236320537 BLAKE2B 1b1af668a377db355ea98eee180919728396a6f149270d285f12d85b4c95ccdbdf6f39409e26a4d014a709c4cb6058106206a3dd9c7563c6bd8796ffcaedbbb2 SHA512 59bb8cd1efad8ff213b1409aa7f7739775560df8456d2c2fc672596509e54a1cb12f11ba00fdc19a4f16bef871fa14c9245738201f4665627b5bd94f13ee4ced +DIST NVIDIA-Linux-aarch64-550.135.run 236446786 BLAKE2B c1f3afb1f28555389ebb4d4263509801102818900be287c5547a050f7b0f535058e052f28a68172cde9e42f4cada45acf109c2a87631284578b82e6904663a2c SHA512 62871e26d0eca725ec381561c8086a107b536225aa689b6760f126f8125a6c969a3362133c527cbe18198650973133ad80388082370918499cd74513b0a3305d DIST NVIDIA-Linux-aarch64-565.57.01.run 254149070 BLAKE2B 0f4db5ac8baf10df4720e7f7a993e76f3c6e9b37b8d81854a9d2590432c73dc3a7550a5928a9691d2064227ce6fdf71e91b3050c5f22d6cca43173388da470a6 SHA512 16dfec7e3fdce18a0a3dc0460bae155eb61b05f27669cca8e7327bfd2400c5b02a4fd74d09d6a07096658cf50353c96f5547941379dfc2e8d1059c80a1613c6f DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0 DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88 DIST NVIDIA-Linux-x86_64-535.216.01.run 341874992 BLAKE2B 65fc3674982ecbf122f565af70121ca6c022a4df8f352e259e6b0e8892b9112b182c32ed615edae737f3354808e37b54051bed0cdd2f661c4082692f9e0477dd SHA512 3b4ae3584368fcc5f81a680dd8588d8b9e48f43dafe2490f5414ed258fa8c9799ebd40d2fd115e20bd02648eeb3e5c6dff39562d89353580fa679d011cebf6f8 DIST NVIDIA-Linux-x86_64-550.127.05.run 307139930 BLAKE2B 6c6bfbc4383a3a9b61e73a4bc54062d29f6cc48b209263f772bca64301f04a2f692a55f6f493762a0770d88873f8231e29c6b73d3d68263624c7daf304008afe SHA512 b67364c0911aa4908192846ed855571312c9e29c47cae8c83300caf71a9c8c7277f2a0591f0c0dd669f34464e04cf420a16ec83f5db4875a32c00a678db80d06 +DIST NVIDIA-Linux-x86_64-550.135.run 307349369 BLAKE2B fb6bb69781c0c1bb635c897ee39cfdb46bdda35525e3bf1c0bfff6e8170aa3a07c7444563ec686ab766178a4846e68588efb7961c78c51a582b0b9b60d387565 SHA512 1e93424a527023bd28d9349e1a5afd2053b8c9f20ef8ecd5d185b661bccaec972ffca604b67b0e7fe596a2d1de9d57256f2ec3f1afd1571ac155d06ae7d87f0a DIST NVIDIA-Linux-x86_64-550.40.79.run 312369249 BLAKE2B 0096efb3ba428f68705b740c7bad8244a54d7a4c67a6edca18ea9cee24b7037b4d919f02b3f83d87fdfe542c4a1bd2329e18f838a1fb25aa5495bc3302c5124f SHA512 5b358106bdb733a8ce2fed605314ae6f920b2c21d1f0d035d8a89239b2feb4529e71bbcf27dadb7b4681a70b40bb4c166df2ed73d085ec878912296e02319a92 DIST NVIDIA-Linux-x86_64-565.57.01.run 339273984 BLAKE2B 57345e9e95eae6a7ac948e68cfa7d464f8d1d3699e2012fd9381b5b1ceb62db958bcef494d972778aa24e4ca74dce88aeddf96d015e46b1f4d15fb4ae00f9849 SHA512 8f5c0f06e13cf84042c9ad1d628ef3fd5aaffb116f1716b099e6ededb125e973a4a2c511bb6201e3a39d7710b2850c3418bdbeac792036b7524c5a5fc8746f52 DIST NVIDIA-kernel-module-source-535.216.01.tar.xz 12517044 BLAKE2B f305acd878b6a8e715607d1ef330b6f60492f9291183a139520b011fe77d344556708df811eabd5f47d1e509d2ce179e243eecee8629dc480ca5a1ac4ca57529 SHA512 b5127fe5c29c476decea81f4c9916d2670a048f3e65ef898b1055fa1aa87c0936415c33fb271bc30d03f28fa9d3a5c2247e5f3ac67e12f93454e3da2706ff9a5 DIST NVIDIA-kernel-module-source-550.127.05.tar.xz 13539504 BLAKE2B e36ab61687cf915008baa902a1295c7ae89b26b039269939b532873fb2c608eb380edf76eda2173e2801239e218357b5077886e9beb02e601a82991bc2882e59 SHA512 5d0d618528073d48d279dd47e0f6a1b3233fe5ed587c46b4246ae90cd43be08e5ad025cd4cc07b6fc2d1c51f04f9c1900511cd3812cabcedf0ab4743e6991aca +DIST NVIDIA-kernel-module-source-550.135.tar.xz 13523028 BLAKE2B d989d0f902b0d1712fc65313efddc625f2e2167516f22cfe37b5481a4271b9237518dd111592c06782b02d2dc7e4b15e5b1e43b6437818e944a18fdc840a8092 SHA512 927c93227407027610e68d49aeac9cb35f44ba929b40392ca6bcfd93094f2dbaaf34f54572776095ff720a710e6712525968a4d1e696e3629c3e06b72253eaf5 DIST NVIDIA-kernel-module-source-565.57.01.tar.xz 15376792 BLAKE2B 5cdc43c250109fd58be1d16e5014fd1e69ec0616fbe04f992ed113c36abef493acfccfc6c082aba8e973bd65b116ccb4bad15d5876bccebde96e1c07d02df351 SHA512 bcc17bb5b7f04bcdc89ed471bc41904d832fb780e0a0ce9995b91a6e83e0132501b404a79e6742d827711bb6849dae026b5237098185a4e11b558f4815b325d4 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd DIST nvidia-installer-535.216.01.tar.bz2 148531 BLAKE2B 1b112ba9532fab9754e8f278c5e7ee9e9f6c064caec568de678f1baa966c992f8e8e6a9711d69586d58688aa8ffd76a80c37aaaac57230284e76a9d6e52b766f SHA512 7362ad1ba364505afde6ef72b4aeeaeb38b3ab11d331daba1d000efb0e3645a8b3e987bfac30579c25293a8b7e269b388701b63c1019ea9705928016e888f8c7 DIST nvidia-installer-550.127.05.tar.bz2 155613 BLAKE2B 6731d9d70b436202d1c92c026cef46bf03ed025b3032583b27e5eeb98440285516b6a097fe41a18ffb44a63260c4450db2fe419c758ded4f9e90a30cf95cd27a SHA512 e0a271365df8a4f1c0ff7116b5353ec407d305d1783a9834b0cbaa935e75d3b3960ef595c9ef24ad6c8b936fcff5dd43fcace102a0fb0e2cd7d844ada6c44aaa +DIST nvidia-installer-550.135.tar.bz2 155713 BLAKE2B f4161cf56daec14f79eab44fc3a6bca752fa8e39380d9b341150707ed3a78e3975f07988e7df51f7dc056c82790af23da1bf048d497b8f0d01e9c9533701c04e SHA512 891cb7cc42cee76f8cf9f70fd233aaa4050ebe20308348486a0d29174c1426b15eff263281914af03e52cebd3967decf05e105495c10179ee2534bea4d2b4bf8 DIST nvidia-installer-565.57.01.tar.bz2 168523 BLAKE2B 0adccf0b5816e67ad77281d8e6db2afd2ffaef8e488de21a1f209e73bdc4b5271c173abb863aace1e5e38a1137075280a34a8db7163eb0ff59ef24dc35aa7763 SHA512 e82ca3d80c6a131c0b8de1763aef1ada1b96700dae1d438e6262e2c46e98973f591215bf09f4c5fe2f4926d3ad46af6c6bd6b5358bc10851305edf4c44c95e37 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3 DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31 DIST nvidia-modprobe-535.216.01.tar.bz2 40657 BLAKE2B 7852ffd82321a68b6ee3d66e19f3fa5b4a71da264d7c75d1ede325d6ef90219bdecde8d4681537e0ae50a2caf4d746e0b6a192ee8ad38e371dc651c323fa2105 SHA512 dd41512568c55c58c4ad3a775819fcd2a7dc71fbb95dd13e7462d1599950f92b3207980605b443ef988a46334415c0eb18c7f39ed986b8d4108e19a557b6ebf0 DIST nvidia-modprobe-550.127.05.tar.bz2 41498 BLAKE2B 387945fe05f244350ec2982b6a723ba34ed8c726865ed95c2a33702233db3eb6e1937673f3eee72632bb0db6de6cc6c0dbc07abe909491187e8da6ebd2582840 SHA512 c229d3018589d9f52f17baa4d8eee966a198051058019f577d0455b67d0189c586b8ed64273859e4cf7d4a37cd6f6fb21aa53a8e2fe4cd926de34106e87bae6a +DIST nvidia-modprobe-550.135.tar.bz2 41401 BLAKE2B 79392d30b3e145e5169ec42f0a66e8b392ed815dc27b5fc6a5e4132f1f3b56a8aaa738c8a02ccb7369df118f1fd855f83a902bf9d0288b5991db8d12bb021ce3 SHA512 6994c3356fb49208106d3fac80952fd8ecffe9d76a5df27788ce65dc0ce2511fa7557acca8a5917c10c73719859589f989275a3d90959957c9e4fd8bdf5085e8 DIST nvidia-modprobe-565.57.01.tar.bz2 41607 BLAKE2B e0c7c817daceecd09d10b4b7d2581e4404ec67a7c3277de5b5972ca32e6ac254303d14b621bc7d3ec5dc92655ec0dc098eb73548a0e1eb3cb4018b79c8949570 SHA512 b42012ca700a3b9070be7362aa1a855c31907dd89d4eb21404c11459244a28c4276a4e11553944a7a74cce2d14452406686e2a703c326d88f82483375b1cade1 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9 DIST nvidia-persistenced-535.216.01.tar.bz2 48566 BLAKE2B 5fb17d54bf4046323d1f95c45e32dea077083ee07fd7b8f1adabbdce28d569195d61f72c849d5d26ea2dad07fa476b833a2235e9c4edfcd4a57fed3153ea9678 SHA512 2298df7a04d5b449491afea400fef50d406a3a393862b72cf7ee30600e026886009237ecd1669725a8802fb88f1d4c1ab99c10ada00fb57051151bf7169060de DIST nvidia-persistenced-550.127.05.tar.bz2 61307 BLAKE2B 5e6f8d6734062b45782b71ebc8a3d17eb9cd56bef532f89ba27e4828c3f51b1c3ad94323f3e8d331cfa9b225f406f58d13ac36dc0976f0a7de955a35fd3acb38 SHA512 00d1a0436afdc9c3abe3abd68f29cec20c4ef38e8f96b8b36bd5428636ad085b42109591438b4d3a776f1f9b6efdef0e97dc964bd0e2b95c740b50d821e9311d +DIST nvidia-persistenced-550.135.tar.bz2 61306 BLAKE2B b096ae7b8a1fe9fb4bb2838e29621d0a1e3991acc80a0798d6442896031fec061305fe88b0694cb1242036e5cd7a1c811719967eaf29b558f538a9084447272a SHA512 0abb22a4a1f1caa4909e64a7f9f6cd982e7bc2f23ca85ad0942fd4700af40e338ddea60772d277045590debb53c835de3adf0a2d291386e441944126864f834f DIST nvidia-persistenced-565.57.01.tar.bz2 49559 BLAKE2B 5cb968e99b8732c78bfd35be260b5522c63d8025e40609fb016578d29b7817ca72ec83990e66fc39867eb385720161bd15130de1e4a424081519e491172653be SHA512 15cdd99d825178addbf5e7fe6d0217986c2be892af7d110085373bfcb3a8cf1525b1705c1d36d9213e4aec093c4deafac42a47b75fdd252640a8a6a988828d70 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007 DIST nvidia-settings-535.216.01.tar.bz2 1094718 BLAKE2B 19d87eed2263fbff32a6ca1f61f28e4d46e7b98e05e07f2e9f005a94ca1a89c61351aeb568b83ec1eab6e41a7a77a121cc156730a04137c43e03113df56289e3 SHA512 a4100e3382486508da74474e6252b2967c9a961fc08ff6824a321ffb929bf47096c8e4cc91348b57fb07cd637436d5bd7c3b9bbf9f07a6671503b2f9a9c96114 DIST nvidia-settings-550.127.05.tar.bz2 1099103 BLAKE2B 7e8779be16105bef7efcca6bbf702b3b025f10bc9f1f829820ff8825dcae856916cb91661ec14d0a276f09d78f66591f95a2ffbf2fe9ab34d9b95b885526da9a SHA512 5ffcd7323e95ef908c89ab4e9bafc779af8c306e4dce7aed80bfcb4630eb72efe2183c06e93b8f2b1e80e277d18f5050dcb515079d0ea30f72e50a3613f5a2d4 +DIST nvidia-settings-550.135.tar.bz2 1099109 BLAKE2B c8d9deeeb11e6c51c028300cc45bc094dab24848a61b58d9c91edb424645eb1369a53ce8abfd8d705e7f2225cf4751799f8cb00a8cdb30bf4d126939a78d28a7 SHA512 e576f44ac9f40bb0b24fc1567213dbfe82f2c21a7249b0d21bc0ec78ddfc7ce28fc61463d471f5750777645e82d9010a669365d7a8a599d55d02c534d639eba6 DIST nvidia-settings-565.57.01.tar.bz2 1119062 BLAKE2B ec63854345c27dd7cbd5a88c4b5a1cb70ac02b22456aca608e17d463abbe859a31bcbe27c5c6b23e2d18eb705149bb78b02e119023c44fbdc664aaaa41292437 SHA512 9283d6b7bf87922c3c14530345e07129caf24befa20c52bca449ddea09f0311bde0c0d5d60b4c0d81e30cea557815ccf5d9410f47ac661b3eb25639f781d2c27 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca DIST nvidia-xconfig-535.216.01.tar.bz2 111063 BLAKE2B 4b7826a78ca917884399b14bd74b12d6b9f1dd8b37654a86f63c04f19dafe3048f29dbbde503dec3945484a009973575a1e969df7eb231a3723ff964af0c81aa SHA512 39ae9e355efbe48d7952ae6cfce3b92a8de116516a8084d8aaede97f133b9a92555d50e0ac98db98cce6d1e29304d9ca352f9cfe999089b95e5d716560886f85 DIST nvidia-xconfig-550.127.05.tar.bz2 111217 BLAKE2B a687e3e1d9e77cb5153a9732beade8c007d11fdada22cdd0a9debe464d9ac5125b435c95565f66c8cf895a9656e66ae37384b11a43e2f0785daf509746b57d62 SHA512 ff1a151663621320c32df1593c13e70d17d06f9d9633ea6c57463c0dd73873f8afc73676c393fdca82d7aa5085000e6b3af420228712e4c226b7b24220c454ec +DIST nvidia-xconfig-550.135.tar.bz2 111674 BLAKE2B 0913687b89856f1371ec50caadcacb51ed61e6533e16de427d26297cf11429820581bca40d4e7ff5977889a1eb176436293e2bec48c318a14ebae167fdb771cd SHA512 aa15efd3fc39359848f09789bab158f31c66dcf816e6a81001cbbc72fa3a94caf5a5e5f28ff7ae3961d16a872e665dd422e8ced669eb3d1dc7d6da38159e465c DIST nvidia-xconfig-565.57.01.tar.bz2 111256 BLAKE2B 66c6eea83729d87ddf516bf6d6bab9dd5552bc7ff5cec0969565383f66e6dde82ee7eb9553be4d78d752f51140ae722a103008bdd1e62c21fb89479fbdc92c05 SHA512 567cbe0ec092b8932be7ffd41ded760d3ed7be9496bf4cf655384443ec9a90d653432986ad01c62f5ed5fd4230131cc47eaba5df6a5caedc88236c9fa3ec14cb DIST open-gpu-kernel-modules-550.40.79.tar.gz 13813253 BLAKE2B 27492fa91ab2833162f4ec5d734fd5f215b09939e6882c0dae0680ab15aaee22e184b420b82422faa626228530ce49ffbe7312c9df5ba26a7568ee9b45e67c5a SHA512 441d1db4934e1b4da4528da3c1cc8b6ef516265ac879d9cd3f711f007a4b1d1849e288ec6b8821f3462544ba838621f83a55b54fc2565a50bd851fde148ff042 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.135.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.135.ebuild new file mode 100644 index 000000000000..a9731b9aaa8b --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.135.ebuild @@ -0,0 +1,597 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1 +inherit systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.12 +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl" +SLOT="0/${PV%%.*}" +KEYWORDS="-* ~amd64 ~arm64" +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 +" + +QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~SYSVIPC + ~!LOCKDEP + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827 + + local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or + DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in." + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection + of drivers (no custom config), and for wayland / nvidia-drm.modeset=1. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg} + Many DRM devices like DRM_I915 cannot currently be used to enable this." + local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of another option that requires it such as CONFIG_KVM." + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die + rm nvidia-settings && mv nvidia-settings{-${PV},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die + + default + + # prevent detection of incomplete kernel DRM support (bug #603818) + sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ + -i kernel{,-module-source/kernel-open}/conftest.sh || die + + # adjust service files + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # enable nvidia-drm.modeset=1 by default with USE=wayland + cp "${FILESDIR}"/nvidia-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 + + local xnvflags=-fPIC #840389 + # lto static libraries tend to cause problems without fat objects + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + local modlistargs=video:kernel + if use kernel-open; then + modlistargs+=-module-source:kernel-module-source/kernel-open + + # environment flags are normally unused for modules, but nvidia + # uses it for building the "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + fi + + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + + # 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 + CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd powerd) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + doins "${T}"/nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/opt/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + [[ ${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 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 + + # these can be removed after some time, only to help the transition + # given users are unlikely to do further custom solutions if it works + # (see also https://github.com/elogind/elogind/issues/272) + if grep -riq "^[^#]*HandleNvidiaSleep=yes" "${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null + then + ewarn + ewarn "!!! WARNING !!!" + ewarn "Detected HandleNvidiaSleep=yes in ${EROOT}/etc/elogind/sleep.conf.d/." + ewarn "This 'could' cause issues if used in combination with the new hook" + ewarn "installed by the ebuild to handle sleep using the official upstream" + ewarn "script. It is recommended to disable the option." + fi + if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 2>/dev/null | \ + sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc -l) -gt 2 ]] + then + ewarn + ewarn "!!! WARNING !!!" + ewarn "Detected a custom script at ${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep" + ewarn "referencing NVIDIA. This version of ${PN} has installed its own" + ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and it is recommended" + ewarn "to remove the custom one to avoid potential issues." + ewarn + ewarn "Feel free to ignore this warning if you know the other NVIDIA-related" + ewarn "scripts can be used together. The warning will be removed in the future." + fi + if [[ ${REPLACING_VERSIONS##* } ]] && + ver_test ${REPLACING_VERSIONS##* } -lt 550.107.02-r1 # may get repeated + then + elog + elog "For suspend/sleep, 'NVreg_PreserveVideoMemoryAllocations=1' is now default" + elog "with this version of ${PN}. This is recommended (or required) by" + elog "major DEs especially with wayland but, *if* experience regressions with" + elog "suspend, try reverting to =0 in '${EROOT}/etc/modprobe.d/nvidia.conf'." + elog + elog "May notably be an issue when using neither systemd nor elogind to suspend." + elog + elog "Also, the systemd suspend/hibernate/resume services are now enabled by" + elog "default, and for openrc+elogind a similar hook has been installed." + fi +} |