From b22626cd3abb74ebf0f5d2722cb2c20cd9b76894 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 7 Jul 2026 22:58:24 -0400 Subject: [PATCH] x11-drivers/nvidia-drivers: add 610.43.03 As usual, note that I do not have hardware to test runtime for >=580. On a side-note, haven't forgotten to bump the 0/vulkan branch. Still waiting for NVIDIA to give the source for the open gpu drivers to bump that (not tagged, both 595.44.10 and 595.44.11 are missing). Worst case I could fallback to the prebuilt blob but well. Signed-off-by: Ionen Wolkens --- x11-drivers/nvidia-drivers/Manifest | 8 + .../nvidia-drivers-610.43.03.ebuild | 557 ++++++++++++++++++ 2 files changed, 565 insertions(+) create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 22b0d5ff48912..f28abb115b431 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -5,6 +5,7 @@ DIST NVIDIA-Linux-aarch64-595.71.05.run 316744636 BLAKE2B 8a3c0179701342ef649cc9 DIST NVIDIA-Linux-aarch64-595.80.run 317098210 BLAKE2B b7857052b4d03b7e041f2dc364c3a257bef711f2e6c094be441236449f1b0f9a099002024437521ecf0b4299997ed816b096f22ee78ec25f8a60222a2255ba08 SHA512 2d5a7b21199223f7b5f41a64c05155586cda9e54e9444c2602c742442bfb278653db8f282e705dddd5f5774e25b5e4e3ff4b24acd5137d9e28ce4f569a1d63dc DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043 DIST NVIDIA-Linux-aarch64-610.43.02.run 354603118 BLAKE2B 2db0cb1fb486d3919edccf0047d1db4f0feb8258103016995aac8314dcb1408807cd029bcdb33570ac729c9c23a984f94ad17fa894ef48554a7e6f273011de02 SHA512 fe44af192ec259793b2f05e53da25481fae5a9fe01131b3b4f7893858c9f788b5d031cd83b7439bf3f1ee1be48c629548d61d8f611153324ba5b46583846a1a4 +DIST NVIDIA-Linux-aarch64-610.43.03.run 354547269 BLAKE2B 81c2b03d55509b889d1c9d723e5b02e64eb6935b02785b82babda6e814b05b749d823a05fefcb06419c62be0068be7264ad903f745226f9fcc1b0cf6180ccb36 SHA512 b070e06ebb5cced56466f07efade96ef73201141e4dcf061cd87ec7e6d94357b62057ce04f8a4f3a4c3e8b006a4cce9d8db21da4cafbd8e8e6bba8d0212e12ec 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 @@ -16,6 +17,7 @@ DIST NVIDIA-Linux-x86_64-595.71.05.run 423133031 BLAKE2B 770af0e6228c300de069b2e DIST NVIDIA-Linux-x86_64-595.80.run 423049323 BLAKE2B 8713689690a3e8144f82e83bfb1df0db7b4a4276b5580ddf47c970590b2a211dfd7171f3fdb3eaa66e16b56e87667ceb48a8549d832518874a99d9ab45425879 SHA512 2294c8e1f2d6a3bbc116bf6b2a4c84b26c23c4c1f413ff86259c2aff1ac2f0f66a44350b0c796dd66438b0013b3e8f3a8f15d3513f4876c104a6d570b68b649a DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614 DIST NVIDIA-Linux-x86_64-610.43.02.run 461616501 BLAKE2B 9b55b3e7fd756c1979ce86901654bab5cb05680b7ea525c7fc3c22f2d200cd3fdbec1eaac435cfb9cbe036e6659a97e4edcac79275de8b3803dcd673f20f0110 SHA512 aa626828964bd9b68dffd07865d2fb05de09b0fe944d6ff8af20412601fc72459186eee580e290c379e1a2b74f8e88c6ee406016814850952cf9330e64ab3032 +DIST NVIDIA-Linux-x86_64-610.43.03.run 461538429 BLAKE2B 493c42d857ff89da94d590aee146b5f3fc0eaeef2fa7f7f876e96b29256a9b958847ba65e1ed6981f61ef1a174034f3e44411f266f4580cc40e39c0471893f88 SHA512 6844ae73d1b1fa0a3ed830d4531747298fc9c817b3cccfd87afd285221ba7d7c0f68c279c1a8a92adf6dee2616a4e9479e30724d4182c801f720d8841a7f820e DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 DIST NVIDIA-kernel-module-source-580.159.04.tar.xz 22255440 BLAKE2B b293f941ead331674b235a6d75961b13eb488c306e22a2afb50cfaa965e65fc0768cb9642fc82a16ce1b6383ccf7c252b729ec305a39db3dec38284e4fb7191b SHA512 f0ef07705510aad25344b51129c2a62d6a36a0eac02e5a60b36dc47c88cfb91d875e0298369c3bca97208deccd3f2f0d1a595abf9e01b6433bf194c778f134e9 DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e @@ -23,6 +25,7 @@ DIST NVIDIA-kernel-module-source-595.71.05.tar.xz 23778996 BLAKE2B 45361ac9830c1 DIST NVIDIA-kernel-module-source-595.80.tar.xz 23777372 BLAKE2B 1bfd80d07a12f5224b232e2cfcbc4b5ae04cbf1cbd6411d1e5c67ea71dca2c90b615355c9fd664ba94c11fd120b84340baf7ea68357c3faaec40f73e0d3f6668 SHA512 2ca3461e120af359abc1943ab5c64a71333586d45702db195697329834c6da9e11dd908a180f6bab4905b5492acdea42fb77cdd4126d25e67e0947c8e154fd60 DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86 DIST NVIDIA-kernel-module-source-610.43.02.tar.xz 26167288 BLAKE2B e87b46ff8f33cbe1262cd230012d0f2694194a7c16824a671817d212e1b93c8b3a31d35db75f9b0399693c1f2b6030b99f2f0af70d9c83c3ab9cd1c24e7d90f8 SHA512 a7bead484b396ffb34468d3d94dd87c9d9133a084b0219a275516d9c726a47550b66eb5f80ab71b04db27614c411f102402f66714d8a933fe234c2b3a2776b5e +DIST NVIDIA-kernel-module-source-610.43.03.tar.xz 26172192 BLAKE2B cb4efc7ef551a2eeae445d9e75a2b0b08fb52fa19b96270cde6dbb0ec2c4c0a3a1a5188bc622555e414656a359e446f29a61ce9ce5e7f57e2878de0e018e0cc8 SHA512 8a950074005924b338873f3cbbefb698a6d8f9d0d609e65d3395a33063f9405f5beb42309f4d0ea4b4892853b52f45ffe8a8a8557fc9d5b4c5dd397bb34226d2 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.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a @@ -32,6 +35,7 @@ DIST nvidia-installer-595.71.05.tar.bz2 172399 BLAKE2B fda7ec136805aa7e481162af1 DIST nvidia-installer-595.80.tar.bz2 172439 BLAKE2B 10b59538c6645a7a6c2ced03bf38f2fabec1cbbf8c6e915240551fcf3217333da0260fc4d50b9ba817a721c49dcf5902a3e32a1de261c1a9d20d2a2afe443bd1 SHA512 17ea2123805458470e463ceef2bc37cab5e22e55e43040ca6d6862acd036ae23c647c2c05fa9eab4eac5a8462fe38a9502648d6720bc3065f75a826fd5208ea5 DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1 DIST nvidia-installer-610.43.02.tar.bz2 171883 BLAKE2B 7de020021d83b8283c1603bd7351113ff11444db7922593d956589473bef46a0b408208b3aabdb08314880310637c3b0149d30b7547c9973d2fd806fa3d7b946 SHA512 26e43710517192883f41586fbd3806e71e5648bd3f9a531d27d3a4ffb114ee803940d6e1e05d86eb853f69217c4a158d00dc4b7b410828e25856c4ade5ef5bad +DIST nvidia-installer-610.43.03.tar.bz2 171921 BLAKE2B 54772b0ba8528971266a566b09655110a3e637632ff124da8f3655ea15e0481cffab76c498be0b51da34d14c87849400a2ebc0e0dbabef0789b25ee1c3b85d30 SHA512 c78d266f677ea5713744bc151da009898ee732eac7cc8ee71b38c33d7cdf950163c332607fb4b5efda6533d57ba524f38c5f52c6b48daa8a46d483e2cef3329c 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.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66 @@ -41,6 +45,7 @@ DIST nvidia-modprobe-595.71.05.tar.bz2 41724 BLAKE2B 23a0fd55e50106341a4196af7bc DIST nvidia-modprobe-595.80.tar.bz2 41701 BLAKE2B 68c12da5284a27a0c5bcdf96e7b791a16fd80e0c425ac51bb42c9b2172f215adc311844f7eec534af928bb25265a480c591d077aa8c2a5352739c8f27335814b SHA512 779c1dc3b4505c197cd6e667225c60445938c9fe6fc1f4914e50755c58c6e9ac7fef51be8b59c7b66d17fdf463b7d87379b48b40a5002604cab6a88e963369c7 DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753 DIST nvidia-modprobe-610.43.02.tar.bz2 41751 BLAKE2B 2fc6e0077633acba025ad9728f002f283dcaa4b3ff2802e63e53073f3fd54f4e955d62bea5e0677e9f8a4eef771f0bb35bc4d728e96eb0356eb335ecb9e0c9e5 SHA512 c94f4c820744c183b8584e1b74e2e6f50c752fde52ab133055999c1eedc5096e0d2788ee1bd7476b959c243df1ff6ebb5fae5c56e92f87b99573f2e52ec75ed5 +DIST nvidia-modprobe-610.43.03.tar.bz2 41748 BLAKE2B 057e1bf62a818651a60713a48103841acfa6e008217f45734a9d4d832d1c89dd62ae8838916753941b3f779da5716882b0bf631f3d679f6d483a31c34ea08d6a SHA512 a3875982dcd00bc8f4f1f853e56cbb10893ecbac099ae07f9043a64cf4da76b8246aff75eba7cdba3b8c12c57e62974d48230336325c189bd54ae28f2a7c3d91 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.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1 @@ -50,6 +55,7 @@ DIST nvidia-persistenced-595.71.05.tar.bz2 62538 BLAKE2B ebf86357c81689d553d0f1f DIST nvidia-persistenced-595.80.tar.bz2 62512 BLAKE2B 854263b23e7445993eacfaffee7ffd40ab8681dabfb32706a8adb70d6fd66a2b2cdb8ce4947693617397b1e5347017d27bfb4c6ea059ad4ac3abd08d185407ce SHA512 aaad09d17534017a521120673f556a32b492884c8ba49cd5d6229be5e043e8a412699125692ba9d99a2e7a8fad44af4053a2b3bceca3af04c098bb7fec1a08f3 DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c DIST nvidia-persistenced-610.43.02.tar.bz2 63333 BLAKE2B 5b844724f4eb06b23b4844915541f1ee9564d7a377801fdfcbec56b5fb2411b93a526f89a62057fb645d9cb9a45d0ad62fe72353dea818fc2259fec6fbcfed92 SHA512 63075e7ad5f7bd99ccbdc5f83044e977a5856a2a0e27c8342f15a2163c47d70378ddcca7a97641ac6cc43a13595a6a7c0cbb8bc610b4ca99e1c4592520482d19 +DIST nvidia-persistenced-610.43.03.tar.bz2 63321 BLAKE2B 20a35e6706b3a3cd3af7b805c5126fe3be82c4a068a25c0c3d17315febfdd483c714c94b681329b1a844dd5790b86f8db66bdf711fb9690dfba93b20880e46a7 SHA512 abd18c85229ccfe3da07bee9f894d035601ecc7aef63db87329d970715608d6787201bfdf33c849528659831840b4384b4b05560f17f5c643219f1330cd5d78f 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.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8 @@ -59,6 +65,7 @@ DIST nvidia-settings-595.71.05.tar.bz2 1136100 BLAKE2B 8b0af1e7a81b63042c762794c DIST nvidia-settings-595.80.tar.bz2 1136230 BLAKE2B de34d8594c1f5e888e7c941aab1a3222233b56f565559c7a3e96fd8c605390ffd4bba05f319ae9d584b216d7f032d63c86fffa320ebfe52756a986fe5a69ab28 SHA512 46529e60f24ee97f20eba30d242070bbb57599daa7b440c41d7477c8ec2047702367d1e771a722cb69d240185837e9f6b93171ad7013c6c55b691d9c411b8dbb DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c DIST nvidia-settings-610.43.02.tar.bz2 1138293 BLAKE2B 4d0931334d14b60ed8cf113d1a74d321c12edd1fb2f62c23683f392931f7b65779c9539148e20a9e259d4e2f9d6a6fd2249265e93edf81e49bec25291e174d4b SHA512 e4a5a5ba6f5858f786c98d6bca4f416f0fb160beb0a5329b80d5d03378d68d623e69ed0fea29de81a16b7d819c9e57007d2e690b7dc890cccc04b6298c86f9b7 +DIST nvidia-settings-610.43.03.tar.bz2 1138062 BLAKE2B 1f820257ecaed293189252d7ba70e943891497a96046be516cd756e8129360c9be325194abe86551e8dd27f66113ce82d81727e813c886c3838ea1b214a91e9c SHA512 918944acfdfd11f799ba30eea10f3de93c6298030e8c86f10270ff6f2f3b7b1c4814d7e595ce008a1fd41f14c8c958210d4f78b3a5db75c116abc8c0827f4952 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.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d @@ -68,4 +75,5 @@ DIST nvidia-xconfig-595.71.05.tar.bz2 111096 BLAKE2B 8b6f7e043319577f0b21780cc88 DIST nvidia-xconfig-595.80.tar.bz2 110917 BLAKE2B 93b78ac4de45b63ccc7fe16008631abbdaea30cc3e7b5958a2ae54e0a95ab1f492edd00c53af3d543895b3fb9a5f329013b6cb1abb091d778346ad0c1dd4bc0c SHA512 eb2a9221face01763807ee4ee6198f549e89b3f1c8faf37711c7c424503d0e4c8ff70bbf7d487264b9d745d75ed3e55af5d41001b783dedb3cafd8328b76d851 DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3 DIST nvidia-xconfig-610.43.02.tar.bz2 111123 BLAKE2B 5ade2f6525b4fc847a28c6d853dd5d829c434ed892cda9060ddb6f66566e440bc11d0f01a2930016000b8f1861bcd5be5c9ca168d4d7ecb91fdfb46e61b2c98f SHA512 c8975ea34bcff52fd19973c28b3c215e847567e0d153ca2dc3b867b55c3bb9325a52a7802e77986f65a0472cd0ac501b872bf2ed05ca9543413ef8dc26af2b2c +DIST nvidia-xconfig-610.43.03.tar.bz2 111077 BLAKE2B a165db53d12a512a6bb0dc86a49899cdcf2b7fd58883a4000637b92e6b9e5d58c6fa5f25b42d7cc28ee1357fb40c45767a670ee0409827baf8e2b75c43e4a9a6 SHA512 81edf463055eb595a6211ce3692c0eb80badb78aefd64151203faf30c753ff5060f2ec19b972531d43dee65f93072fba3906eb081d388f86ccd2223b6db40f15 DIST open-gpu-kernel-modules-595.44.09.tar.gz 24805417 BLAKE2B 0281e825fb55982971499bc4a5284115fd0fdd24eb033bbff17010d1e7ace7c041dac56f98123cfbd5009f1f75b25332e3dfa68acc684c3f59ff740769cd291c SHA512 57a43e94740d31b84671cddb061825d954d1039fbdf82572875f8ca3f94309d7480ac19718e96cf062c9a78e8b2ef3598766928f03e9420fed90ab6f3ab65b7a diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild new file mode 100644 index 0000000000000..be9933e14e3a6 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild @@ -0,0 +1,557 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 +inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=7.1 +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-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB + curl openssl public-domain +" +SLOT="0/${PV%%.*}" +KEYWORDS="-* ~amd64 ~arm64" +IUSE="+X abi_x86_32 abi_x86_64 persistenced powerd +static-libs +tools wayland" + +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 + ) +" +# egl-wayland2: nvidia currently ships both versions so, to ensure +# everything works properly, depend on both at same time for now +# (may use one or the other depending on setup) +RDEPEND=" + ${COMMON_DEPEND} + || ( + dev-libs/openssl-compat:3 + dev-libs/openssl:0/3 + ) + sys-devel/gcc:* + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] + gui-libs/egl-wayland2[abi_x86_32(-)?] + X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + sys-devel/m4 + virtual/pkgconfig +" + +# there is some non-prebuilt exceptions but rather not maintain a list +QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~DRM_FBDEV_EMULATION + ~SYSVIPC + ~!LOCKDEP + ~!PREEMPT_RT + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev amd64 'X86_PAT') + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + 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 is needed for wayland support, + tty takeover (e.g. for simpledrm), and config-less Xorg auto-detection. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg}" + local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for + nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may + result in a blank console/tty." + 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 + + 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 + + # 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)" + + # same as uname -m + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64;; + arm64) target_arch=aarch64;; + *) die "Unrecognised architecture: ${ARCH}";; + esac + + 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 + TARGET_ARCH="${target_arch}" + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + # environment flags are normally unused for modules, but nvidia uses + # them for building the formerly closed "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + LDFLAGS=$(raw-ldflags) + + # the "blob" uses C++ which is an issue if there is debug symbols + # when running pahole, there is a pahole.sh wrapper that tries to + # exclude C++ but it did not seem to be enough last time tried + linux_chkconfig_present DEBUG_INFO_BTF_MODULES && append-flags -g0 + + : video:kernel-module-source:kernel-module-source/kernel-open + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${_} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" + + # kernel takes "x86" and "x86_64" as meaning the same, but nvidia + # makes the distinction (since 550.135) and is not happy with "x86" + # TODO?: it should be ok/better for tc-arch-kernel to do x86_64 + $(usev amd64 ARCH=x86_64) + ) + + # temporary workaround for bug #914468 + addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-egl-wayland2 09_nvidia_wayland2 # gui-libs/egl-wayland2 + libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 + libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd nvtopps) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +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 + newins "${FILESDIR}"/nvidia-610.conf nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + strip-lto-bytecode + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz} + pipestatus || die + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/usr/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + # avoid portage warning due to missing soname links in manifest + [[ ${m[0]} =~ ^libnvidia-ngx.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + # (sleep services skipped, obsoleted by NVreg_UseKernelSuspendNotifiers=1) + dobin nvidia-bug-report.sh + + insinto /usr/share/nvidia/files.d + doins sandboxutils-filelist.json + + # needed with >=systemd-256 or may fail to resume with some setups + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 + : "$(systemd_get_systemunitdir)" + local unitdir=${_#"${EPREFIX}"} + 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 systemd/system/systemd-suspend.service.d/nvidia-suspend-nofreeze.conf 10-nvidia.conf + 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 + + # 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 + + # 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() { + 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 && + $( ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn "\n echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "\n...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 "\n[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if ver_replacing -lt 595; then + elog "\n>=${PN}-595 has changes that may or may not need attention:" + elog "1. USE=kernel-open was removed and is now always enabled. If for some" + elog " reason you really need the closed variant (e.g. Runtime D3 on Turing" + elog " GPUs), please use LTS 580.xx instead as Gentoo has no intention to" + elog " support both variants anymore going forward" + elog "2. systemd/elogind sleep services (nvidia-sleep.sh) were tentatively" + elog " removed and replaced by setting NVreg_UseKernelSuspendNotifiers=1 in" + elog " ${EROOT}/etc/modprobe.d/nvidia.conf. If using a non-default custom" + elog " nvidia.conf, please ensure the option is set. Also, systemd users" + elog " may want to ensure that they do not have old sleep/suspend/resume" + elog " *nvidia* files in ${EROOT}/etc/systemd to avoid potential issues." + elog "3. nvidia-drm.modeset=1 was removed from nvidia.conf because it is now" + elog " default enabled regardless (new NVIDIA default)" + fi +}