From c0fe5ce861d5c476e2b5877aeffd7f95c52cd96b Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 22 Sep 2026 17:03:28 -0400 Subject: [PATCH 1/3] x11-drivers/nvidia-drivers: add 595.104.02 Signed-off-by: Ionen Wolkens --- x11-drivers/nvidia-drivers/Manifest | 8 + .../nvidia-drivers-595.104.02.ebuild | 555 ++++++++++++++++++ 2 files changed, 563 insertions(+) create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-595.104.02.ebuild diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 3ee73f9061340..c5912d30ee156 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,6 +1,7 @@ DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb35707034f41211d0c60a3711643dbae8d8f29830c9029c9c66a1e232651c9a5b9c1fb699078ab6aef0c3f2df476a14eee7cd1258e0c8141971 SHA512 ee2f59716d06652dc9083376d758a1f1ba60a11139534d67c39d8b6a4abd2290017d97cc2c8b1ed8bf5ef659e075ccd1a546125a3ce57b6ddd61ada5ba7e6cf2 DIST NVIDIA-Linux-aarch64-580.173.02.run 315169067 BLAKE2B 18864723e8f75cb84ee8edcb69213d03f9720760c5a89843abe78c43d1aae5923c9d7986573aae8d3fbc7a6d579f72d683fb78f90f87e62dd8ab24eac6ee04b5 SHA512 4bf8b21898c83fe31d1588c8f57d322584efb995b4d2706f8fd5029fe0f451b888046c439569c0d76b48fb279c11b3c4d20b57d37e9ee6da3b2ef4b050c0b40b DIST NVIDIA-Linux-aarch64-580.178.04.run 314757575 BLAKE2B 2dbe1f8ccd0df8ef882be9745c94732f7da691b960054b0ebaba8932486d30504251e263b2614c732c1ad15dfd9ac22962a6d0b3e00d811407a0fd41adef70cf SHA512 3753150ab1fc319137431d24d38aabab9d4dcb11d988cfe7f80813f946926a181415640ac874bf28104274b305ec2d29c7806fbea945224ea97fa5b4afb2475a +DIST NVIDIA-Linux-aarch64-595.104.02.run 317793631 BLAKE2B dacfb4a822b7e6a8fa57826f9bcac5a444bd77ed61a9e87cb89d4dee1ef22716527ea39a0119f74795e131a1543aa46e2c9396af0259fe5e8ccae04a0a50d142 SHA512 8bb367b77a44427e70c23b8362be74fb7d6d28357e90349bb9ea293a6b99d9e05f05b7002f8b4cd0b1b35ebf431bed4b5dbf5a64ba9698ed69e0da3fdde5d6a7 DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043 DIST NVIDIA-Linux-aarch64-595.91.07.run 317767285 BLAKE2B a6df095212b3a8a18a5a53f41f6b2a27035d4513765fd44a6e52e3c5d0502a0e4c12ca887565fe8ee4938023e7734ccf941ca6e303104934552bcf6fede910c3 SHA512 a71dedd6dfa00a1283442aa141419ac4213c74913367502a8a1cba2bb3c8cdc4bd1e5c4d433c5d477716bfd7dd83d9829e7ed85f3529c6bb94f44815a769bbbe DIST NVIDIA-Linux-aarch64-595.99.02.run 318089608 BLAKE2B fc71ec2bb0224b28146c4bbef4cc85d7a1759ad710e34faf71d02b6e7127e20fab6684c3269af55dd9fc8019e5143f9ddabf284885a72fe26760311eca91d8de SHA512 9b35d722928f880e2945567f33d65fc532cacdcc351fb84e0fef83aad884fc28be0661d56d59f852da6ed1320d3e9dcfd6b0603b129325fa5d46f1c47bc23930 @@ -12,6 +13,7 @@ DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c DIST NVIDIA-Linux-x86_64-535.309.01.run 341945818 BLAKE2B dc7bca19eee348648ed6ded096ed9eedc953d7e5be84bb812baf98230096c9f3a92421abb9adfcd0c257dc63a31d9f4fe4a02c7bdc4be65975229941fc39fa5a SHA512 16a505fb053d514b98bed816559279cbe2962eef8a3d64cce7aaf859b2d27602ac9018bb099a56ab4223532f70e00984e5468a4ba9c2914dc68dcbe0d8b2d64d DIST NVIDIA-Linux-x86_64-580.173.02.run 398312209 BLAKE2B 8d5c322fc8267fabf4096d649bf2e98b0e844ec74430dd8a4a2c0bf08e4e5fd209524639a0f1578a953216ae5b16a34dd6a349fa5a83059fb608a69e2bdd0125 SHA512 ca394b1e3f6c3403dc7ffe5d5fd7301bb06607fdbf75c9ffd338d7641c06d1878790c629108162adf4289ae829568973a48b7557183dbf7588e668f6d8edf3b3 DIST NVIDIA-Linux-x86_64-580.178.04.run 397214534 BLAKE2B 53ea96e4d1342003238aaa37495df8939b0e8813b8088347ec406a4c066bdfcf9947abc71f05da9433bfbee7b04b67f8a2bfb9729423ec776c0b1e31d5ce1b77 SHA512 b463dec07dab14370e3bd89d559e54e5f81d5b01be9de2bac6c700334c10a8bce2f9049b978a01a97d515d5ebb16ec4ecf02ce35979a8833a619bc6bd97084de +DIST NVIDIA-Linux-x86_64-595.104.02.run 423378754 BLAKE2B 02cf64ce916433e00afbb82c6e7bbc4e7e6723ebaa84a90b431641ed918a21a527545e844666067df29bb1bf097b064842ebe4737336a54074fed55e5f5bceaf SHA512 8c6bbc638a0192c43595dda9db70c86da0dc1f7d768838b452af7070449c4967d7e1abfc969ec4d2505e460fb8bbf9e261c4c918f1fc3efe6d56be33f8a14b16 DIST NVIDIA-Linux-x86_64-595.44.15.run 423974279 BLAKE2B 9a13bfbe7612a95041c43a14d7b579675504b28953449c037900b53488ab9f3391d357ef4bc9e642da54c9dee8f3d34a22655daaf9a1fb7de816e5ac9957a788 SHA512 b36af6233c795a6538bc0d1af678546b35330545b82bb7d2f70dcea59f9fd596861acb0cdca68404321716c1657589ba22d37c8cd6c513b320a80c36fb6a4130 DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614 DIST NVIDIA-Linux-x86_64-595.91.07.run 423651201 BLAKE2B 01f9e8f566c810165673f12b68b95d6b32b329712a3bd43f67363ddc68a4b89e0d84671ed6cb453726d2d998eda5cc40e8fcb5278ee1dacf46b77de2de55a7e2 SHA512 79fa1cdb09ef7851b32aeab1a5e9588365536822e288accb39b04fd5e9fe01dd93ec58bd74366c37838023250d6b184fa7d22befa4cd2584281a2f1c2e6b11a9 @@ -21,6 +23,7 @@ DIST NVIDIA-Linux-x86_64-615.71.09.run 529618784 BLAKE2B bf4c97c1b6a92cc5b6c8968 DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e DIST NVIDIA-kernel-module-source-580.178.04.tar.xz 22267204 BLAKE2B 7566451a6b13c24bb80476c68bbcd93c0d8dbd0bc4eae2ca5fcda06690a2d386b6a0782aa1836e07061e84bf923fab479746294f229acd4c53e7a6da4a309b9f SHA512 38b5ad1895946287073e5951a88733898a805d02325eb7f23169e61663d43b73bb4db65b0d9648daef11edcc50646320a4e18af6e7584d63cec960fcd3b75de5 +DIST NVIDIA-kernel-module-source-595.104.02.tar.xz 23810384 BLAKE2B 1466b186c17156280a1e97dab7e72da6b112ed877be281915a33c6d9fa8c664db90059432913d787f31ea605e12ba2f5eaff51eec8949f473e87eb1db32917d0 SHA512 83875be617c3d8a40abe8584603017de0048aa7f4649ee1262cfe5bb6da00ac60de5b0ab45509736254d320a15da2206fd3c6935705f97b490aaf67e11c72a91 DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86 DIST NVIDIA-kernel-module-source-595.91.07.tar.xz 23800388 BLAKE2B fe4c6a6761522c289c5a3209083e2cae872afe1ad7390794b440506a6ba1e0215d6178ea06de5377c2748f89f85ec7f417e1ec221f147563604040f0b1334eba SHA512 1258db88cb85c9adb2b208769731ab8a28212c8a542d9c4d88602cab8c93e87410e2d307fc42fe838519b5ec8f79d371ef5edc0c06f3aecf104d7cd996d9588b DIST NVIDIA-kernel-module-source-610.57.04.tar.xz 26177484 BLAKE2B 59bd5799cb37bdd264a683bb170efd81d3c57381d8ffa5f4cdb0e6c556f61b4485c88b3ec6513cf4e57c975d9ff9c07111463a5b50a213a6178f0530cf40dcd7 SHA512 11adc9cf3805a06f3e6f3b0884d2fbd92cf51c7f9348fca884c90202be2291882c459c8b5436732168c9739e7afefb9510b9b8f1193a0935f45fa5fca560b258 @@ -30,6 +33,7 @@ DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec DIST nvidia-installer-535.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a DIST nvidia-installer-580.173.02.tar.bz2 170003 BLAKE2B 05229520744fd6ab0b57632f7e62aad39737fd8239a32900a19a3844fabf1c3d511a74fc8b9ef702a06fcabb1cad8f8c1f0c1bc739ea7058504338da22536e8e SHA512 262595d41c02a2129d90c077b96b43eaf81d2f6257a00cfd61d6cebab3d645f34de08086a3a6dc897273498a33289f2fa5b552759e1963e25cef85fa2b2c2b90 DIST nvidia-installer-580.178.04.tar.bz2 169996 BLAKE2B 231762680ac9dfb88ff553ad655dc9498b81f1c505d30ecd620609f2e912670c2846b16d05dc85273a4f5ec74bbf717d02f9b976adfa951dbd621a172e8a7174 SHA512 6995905e3c06ed1c284ec1302149f590ebca2278604f0206d543cc3202891044fe2badedf0608e31f522857c431dcd7d35f6c281667b2556fa0b290a9eccb62c +DIST nvidia-installer-595.104.02.tar.bz2 172685 BLAKE2B a15646a5b40c51a55417df1570c257b40d591a20fe4bf5c1658c64e597de448cc2b0807ce47b4ef5c654161ebb5ce82184631966e7fb6885c8bfcba5d7eb24b6 SHA512 90adf5b1d6af339d46ee82217b7c1187316be8268577b776e5313907119fd9b8a796e6da33ed687c2b9baa2124dff624f584dcc5ec4a29dcc733e1b27975088f DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1 DIST nvidia-installer-595.91.07.tar.bz2 172429 BLAKE2B b4128b9075a5b302f825ff70af8ad210030292b920c5f9cb88930c6853e9fa915c9033b80d7ba1ac729a8a8c6c8787f61444419ae0aae47ceeefdefb4984fc19 SHA512 316d278f3f3500f33a92c993accb62333cbd6d719a8e730e28a387d5c80987f4bc7d6b05f0d2897f766d51cb067736e254057a0984d72207c67accb8510233e4 DIST nvidia-installer-595.99.02.tar.gz 231425 BLAKE2B 69c6a09cf10a7f3918766879c3cd231ce3438c7154aabeb9de54e45ea54ccd08d163e2e56824bd902750dc5110813211ce1e0384a9abac4a8ddc40036d876be3 SHA512 7f248eba109ced2a7dc6fdd4e2711d0735b441e3529928de6c3d2d02945d28d26c2c1fab78f357b8f88e21658362fe7968e94208a7c483691e6761460919550a @@ -40,6 +44,7 @@ DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae9 DIST nvidia-modprobe-535.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66 DIST nvidia-modprobe-580.173.02.tar.bz2 41711 BLAKE2B 4524b0a7c8928c3c9a76b3190adc7e1886fa769a55ba824a6970776b1c28d603bd42125d190e8b0aae603f5d2e5786813c58b538d564894e4c4012de0f0ec348 SHA512 54848c4d7c95f66d6c892716615e6ff4a4ac9c94ae822d8124030d82a792aacfb3a32e9b84dce6297cb95efd66de94dfb967f34769476d0b50f91aa83aa3aa9d DIST nvidia-modprobe-580.178.04.tar.bz2 41668 BLAKE2B 9d7f239a3189db7528a5a9c0f2565f6dc785d48cabb5a2d12857d8fc69cc4ef00a1a6c4f1b75e8a0af989b48764878c3cb80b21756a908a1bb2140ab56376f95 SHA512 80ee138546022b0bca3824a563fe5df26f14337e9ee3df7b28917455525f9ef4606d12d5394f74e53089d7ba3955fa077b1dd3702beb5688c4c6b1d6e796fa68 +DIST nvidia-modprobe-595.104.02.tar.bz2 41729 BLAKE2B ac72388d9c628cf601f4f298ec0d7a571e4ddfe3c19a9289c5c4e531c62e82f197d7b1d27f77d4d2f71fe9940f127271929a1c0dfea398fe5eb55d5c31ab740c SHA512 c4e6f843030406eb4cd3f8fff44f574b4cafaa422b7789381f83b991ea32806dde6e0a7c6edd17fab34e5de634669b83a781b16b653d0d3ed599abc4a879aac3 DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753 DIST nvidia-modprobe-595.91.07.tar.bz2 41725 BLAKE2B 0ceec46af414ea6232014b25c384b01390fd85ca81c39f994f5bafcdc2e3bbf670ed6416fc7d8b8d0ae56bc689106356f956b5f9c4b7e69ff66b5fe3d05729c9 SHA512 9ad2780218119eaa55d2da0c1007ffa73c3262b0e692cae25260f18d993d531e4cacfe83356b4f4f923e62cc80903915073d0225810656798a9462c75a769a98 DIST nvidia-modprobe-595.99.02.tar.gz 47246 BLAKE2B c522f4e732487ce9184bf2e4f0911b1afac7ddaeae630dd3975b89bd5ea3a16c53182aa8a2984a767e91640597dbfc0af50de7e529ffca57cdaa5cc959e268e3 SHA512 c6da7e1c9afdb127c658fe53fcd9ada8b85f7e724130d731adf1e3eb27bc4c551295dfc2b6f8454ab500eeb49977b60fd08796e9c1c40669a0168f1b539917fe @@ -50,6 +55,7 @@ DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6a DIST nvidia-persistenced-535.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1 DIST nvidia-persistenced-580.173.02.tar.bz2 62225 BLAKE2B e8f1111175e0447910aebbfce1309c1df1c92c655a957e06ff18fb932b75bbaf42f1b23d5d5507cf87c84e750f8402564daa0400d9203483e493b8c7067221c9 SHA512 9b007c430a92137a914b7b977bc142ad8367e26880102ecf51acc153ecf061c369c94b8dbb87bb23cde5b870aeb31139702a544e7547e00e75bacec4b4a39876 DIST nvidia-persistenced-580.178.04.tar.bz2 62230 BLAKE2B 387f778b3ec3e48112e35bd3cd3e161527005ff5dc52774755acbcee5e18a1d02f7dd88c7a58d2632863262ff0f4a7b1e091c60caf8f8823d49fe38e3791a0f9 SHA512 2b9e26833e63a81401d3c83c0379f2d86bb0f8f44e1fcbe3ff235739f284a0adf46d76520d802274d8e19df0de656d9a2e9b52dac539ced6ca7bb7b1f4be6629 +DIST nvidia-persistenced-595.104.02.tar.bz2 62545 BLAKE2B 7212c5fe14af130825f60290b324afd711d4ec664a3f5b3c37adc40f02887cf639a555ad8c087117b36e0aff212c5312e97afc0d87d494e8fde88a0059c72e6d SHA512 ac88efaa447106c3205468fdeb2513ef87048579ebd21ac9b19e006606523f653ac58147597ed1a26a69df7885868316ca355686b1418a0e2479451070762282 DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c DIST nvidia-persistenced-595.91.07.tar.bz2 62519 BLAKE2B 9da9fbacebc6c3c1b56621d7676ec78cf61081d824dbcabf8599168ce673444adf736b6cd62129b0f87d619f79c6d5f0bbce311f5ecba346cda8881bb7bce6f8 SHA512 b9f9c69fb85ce22676789f5d88c460dee1961c42e1bf4ad3e677ac800715f888ded41590fe287b2c5972e3b89982e7b4d6290ccdf7ff2fa870f3a5ef3a7ae9ae DIST nvidia-persistenced-595.99.02.tar.gz 73431 BLAKE2B aef62f5def60b1c6fad2adc2d1e5c7c1b4cbb24ca5e09650e15cb06a8c27fc5c2f48601502ec83395344a0e18dd1af94c35e95015b7d3b210a2dca2968040d20 SHA512 0711804fbc874c6e406e302d9aa8cbe363f9d183bf306efaa5ae84963170161dcbe56e01df53d3364ab267a0e1dc27450f33e291d504a20f2d842158a0fe6d51 @@ -60,6 +66,7 @@ DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595 DIST nvidia-settings-535.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8 DIST nvidia-settings-580.173.02.tar.bz2 1133131 BLAKE2B 393e2be8551db1b8c509c446f76086681a89d7dcec3670552cda8b5e84af78a9e091600727a5f0950c78866b282d8f9dc4ba51b85bcc7707288eee9d46c89404 SHA512 4ccb991fa522d5e2833480722bc741905d0abe1226f96f8a2e2a51c99ab1137cf7f5564b50cc55115b3fd535345b11b7bd07fe74c7e356f93b0082b04e880211 DIST nvidia-settings-580.178.04.tar.bz2 1132866 BLAKE2B d17b698a73be1c1346eb2ba10f50432250b4167cffdc8cde40610f2dc733b9ff6e1ba5214ee0c0509c59e82f6984c1ab686d39379f7a00edba94e45166c6fa97 SHA512 2d336afd1ebbe6272404bd43f8756ac35932a3d7650c6d524fae0d77ee33cffc71cba94f6fe038c001964d5de20d7814d1e6092c062fb9cea946e8b60766a140 +DIST nvidia-settings-595.104.02.tar.bz2 1136465 BLAKE2B 78735592dee4b0131a646880b8c0ab8acea65153941e3a49ac095ce7fe4523c3adf45deb5eb24363a14f0e76d22bceb6e95d1904232f61153fbaa82d08383d4d SHA512 0fd8a2488dff64e682ccbb2c596a1304041467e3d87f8b093b7dec81ccdadde1dd582a1329c768b0520ca850f2925eb07e370ed0f5e9e3e779b99d151bf561c3 DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c DIST nvidia-settings-595.91.07.tar.bz2 1136346 BLAKE2B 56e4ed3d51b3210935f49918e9975a8ef7ae0a199ff45f9512ed5058a379fb8e7402e599965da071481e3501fa8081b0ef034e36981ab8816636e7b6b49e8ee7 SHA512 0a412f7923c4b8227b154106280165f9930b41c137beddf5f69e49e70b348ede664f859a51159b7d3e5eb6c0c271ba9a1c1a5930c7f652dbc861cdea9c59265d DIST nvidia-settings-595.99.02.tar.gz 1327143 BLAKE2B 1e746ea3345bc8fe2c7dfb8d83ae544d0796f45b9e029a465098b3f2f8ca55cb146558d9eb3833f40d066b482860b1c54b03528fd0f21e857c02de203f684917 SHA512 755de710bd57f485afc47d3f6000a78f6d36925e400b2c44da405e43b2ca8a62de2901aae4e5cbf79c3df4e2ebf9204ff369ab7ef79ddcdba68a2cebefa191c4 @@ -70,6 +77,7 @@ DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b DIST nvidia-xconfig-535.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d DIST nvidia-xconfig-580.173.02.tar.bz2 111531 BLAKE2B f0825338455d511bd2a273e7094c9ed7f1f9e21d7fa24c761d241d2db45e8179cc43d2d6888713aaecc866cc1a0c37e2c35e5f7d9b62af5771db1109f35008f7 SHA512 54a1962fa3ba710ca67e38829f12fa6f6128f45d17e5a0a7a1cca47ca6190caf9c9460459a21549d4ccfe71bc0062769818fb824a218d46e284d2b5011f5abfc DIST nvidia-xconfig-580.178.04.tar.bz2 111557 BLAKE2B 0ad4c36edafa3086ccd0189ad0b1768cdddd7159b8bc2153830ec95ec4b06b5d41215dd1c2408bb5ea2a529ea54996d9be952ad1effd437ce7eb82926e56dd74 SHA512 9cb3060e62c56686dab3d6ba75ac42998a5a16ac34b2785d47c15f50df67a85eefb475507fd0a605f4e60203e0cdecbe38a7d8d9e579687cb529d72806874d01 +DIST nvidia-xconfig-595.104.02.tar.bz2 111065 BLAKE2B 962277dd2e663a60e935d41bdfd32f9a6fdf0cd67a8c28b2b816c0034fa81ce9b62e696357a3f30863d997d5bb69b28595d1fd6e10cf22f4a06fa48461dbf523 SHA512 27cfcdbb7f4a2b5adc6c7de17a9d8e9fe47ba048dac2d665cfb03b039bc5b7903ee5f9988b9ee8566086ec9424eabf5b2ff4e5a1dcc8139e068328fd6fc4a429 DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3 DIST nvidia-xconfig-595.91.07.tar.bz2 111007 BLAKE2B 30f556a5b8c41cedc637f52064c402e39590d5df0381a8b2b74cd5bfa3c94a42bb6b95ff68898e240eef36736205a592cacf1595e8ea054b5290314bce8bcdea SHA512 6675a2f56fb2574f55b7342c1c3da221f5b1dc55329018075f71903706cbbf8b9e2ba91190d0c021e66a03e758c7cad1f5a1f1b266653849fe85773092ebc6e1 DIST nvidia-xconfig-595.99.02.tar.gz 145292 BLAKE2B 3228469a5b22a2d333170dcbf32f299ad6296f22e670eef5c0024ff8dc63658443e1891a322062ca6634e123601027088eed1a8cf4c68986c991a2f3bf3dffba SHA512 4e740defccaed009b9d1725786a5d4bdb8dbc62e18450d27ad71f393817737a045ef88bc9d642b9afa666ef95057469ef58aed3e32efc429305516f627eb4ec5 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-595.104.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-595.104.02.ebuild new file mode 100644 index 0000000000000..143564a619f68 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-595.104.02.ebuild @@ -0,0 +1,555 @@ +# 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.2 +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-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 + ~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" + + linux_chkconfig_present DRM_KMS_HELPER && + CONFIG_CHECK+=" DRM_FBDEV_EMULATION" + + 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_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-595.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 +} From bbf025a656a959df832948467a6e26164f733216 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 22 Sep 2026 17:04:05 -0400 Subject: [PATCH 2/3] x11-drivers/nvidia-drivers: drop 580.173.02, 595.84, 595.91.07 Signed-off-by: Ionen Wolkens --- x11-drivers/nvidia-drivers/Manifest | 19 - .../nvidia-drivers-580.173.02.ebuild | 602 ------------------ .../nvidia-drivers-595.84.ebuild | 556 ---------------- .../nvidia-drivers-595.91.07.ebuild | 555 ---------------- 4 files changed, 1732 deletions(-) delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-595.84.ebuild delete mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index c5912d30ee156..a7e1b4649a9b8 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,9 +1,6 @@ DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb35707034f41211d0c60a3711643dbae8d8f29830c9029c9c66a1e232651c9a5b9c1fb699078ab6aef0c3f2df476a14eee7cd1258e0c8141971 SHA512 ee2f59716d06652dc9083376d758a1f1ba60a11139534d67c39d8b6a4abd2290017d97cc2c8b1ed8bf5ef659e075ccd1a546125a3ce57b6ddd61ada5ba7e6cf2 -DIST NVIDIA-Linux-aarch64-580.173.02.run 315169067 BLAKE2B 18864723e8f75cb84ee8edcb69213d03f9720760c5a89843abe78c43d1aae5923c9d7986573aae8d3fbc7a6d579f72d683fb78f90f87e62dd8ab24eac6ee04b5 SHA512 4bf8b21898c83fe31d1588c8f57d322584efb995b4d2706f8fd5029fe0f451b888046c439569c0d76b48fb279c11b3c4d20b57d37e9ee6da3b2ef4b050c0b40b DIST NVIDIA-Linux-aarch64-580.178.04.run 314757575 BLAKE2B 2dbe1f8ccd0df8ef882be9745c94732f7da691b960054b0ebaba8932486d30504251e263b2614c732c1ad15dfd9ac22962a6d0b3e00d811407a0fd41adef70cf SHA512 3753150ab1fc319137431d24d38aabab9d4dcb11d988cfe7f80813f946926a181415640ac874bf28104274b305ec2d29c7806fbea945224ea97fa5b4afb2475a DIST NVIDIA-Linux-aarch64-595.104.02.run 317793631 BLAKE2B dacfb4a822b7e6a8fa57826f9bcac5a444bd77ed61a9e87cb89d4dee1ef22716527ea39a0119f74795e131a1543aa46e2c9396af0259fe5e8ccae04a0a50d142 SHA512 8bb367b77a44427e70c23b8362be74fb7d6d28357e90349bb9ea293a6b99d9e05f05b7002f8b4cd0b1b35ebf431bed4b5dbf5a64ba9698ed69e0da3fdde5d6a7 -DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043 -DIST NVIDIA-Linux-aarch64-595.91.07.run 317767285 BLAKE2B a6df095212b3a8a18a5a53f41f6b2a27035d4513765fd44a6e52e3c5d0502a0e4c12ca887565fe8ee4938023e7734ccf941ca6e303104934552bcf6fede910c3 SHA512 a71dedd6dfa00a1283442aa141419ac4213c74913367502a8a1cba2bb3c8cdc4bd1e5c4d433c5d477716bfd7dd83d9829e7ed85f3529c6bb94f44815a769bbbe DIST NVIDIA-Linux-aarch64-595.99.02.run 318089608 BLAKE2B fc71ec2bb0224b28146c4bbef4cc85d7a1759ad710e34faf71d02b6e7127e20fab6684c3269af55dd9fc8019e5143f9ddabf284885a72fe26760311eca91d8de SHA512 9b35d722928f880e2945567f33d65fc532cacdcc351fb84e0fef83aad884fc28be0661d56d59f852da6ed1320d3e9dcfd6b0603b129325fa5d46f1c47bc23930 DIST NVIDIA-Linux-aarch64-610.57.04.run 355850554 BLAKE2B b8fae1df1a54f793b272cabfbc35da68d0abd90739176ed308d7389304735688987ed847da4ad25f4fc30c93259f07b1cf8677faa6496f44f616d8fbe5399272 SHA512 cbb632182f4096e715cf28605ca93964e7ad329b7ac5eeffc1bd9d9338606f7ffaa4267ee3fa0e92cf00f4a50b177498bcb053686e869464db0e80ddbf7b4ecd DIST NVIDIA-Linux-aarch64-615.71.09.run 394456988 BLAKE2B efd03e0c1aaa55b9b2ef7f4026c90b2c2ba97cce4955c16ddeb0c6bfaa7f927f5579f0dd84f2e339a27f7d71484d6b06c344875a2ba15105a2ab37fe6985982a SHA512 316f90d5e0ba74db3a79a91464955240aa2c14e986653067fe902c132c771898d2866afc4e6498069b33665596e17b1b5282980936e1e6e31cabb53787e70196 @@ -11,30 +8,22 @@ DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb 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.309.01.run 341945818 BLAKE2B dc7bca19eee348648ed6ded096ed9eedc953d7e5be84bb812baf98230096c9f3a92421abb9adfcd0c257dc63a31d9f4fe4a02c7bdc4be65975229941fc39fa5a SHA512 16a505fb053d514b98bed816559279cbe2962eef8a3d64cce7aaf859b2d27602ac9018bb099a56ab4223532f70e00984e5468a4ba9c2914dc68dcbe0d8b2d64d -DIST NVIDIA-Linux-x86_64-580.173.02.run 398312209 BLAKE2B 8d5c322fc8267fabf4096d649bf2e98b0e844ec74430dd8a4a2c0bf08e4e5fd209524639a0f1578a953216ae5b16a34dd6a349fa5a83059fb608a69e2bdd0125 SHA512 ca394b1e3f6c3403dc7ffe5d5fd7301bb06607fdbf75c9ffd338d7641c06d1878790c629108162adf4289ae829568973a48b7557183dbf7588e668f6d8edf3b3 DIST NVIDIA-Linux-x86_64-580.178.04.run 397214534 BLAKE2B 53ea96e4d1342003238aaa37495df8939b0e8813b8088347ec406a4c066bdfcf9947abc71f05da9433bfbee7b04b67f8a2bfb9729423ec776c0b1e31d5ce1b77 SHA512 b463dec07dab14370e3bd89d559e54e5f81d5b01be9de2bac6c700334c10a8bce2f9049b978a01a97d515d5ebb16ec4ecf02ce35979a8833a619bc6bd97084de DIST NVIDIA-Linux-x86_64-595.104.02.run 423378754 BLAKE2B 02cf64ce916433e00afbb82c6e7bbc4e7e6723ebaa84a90b431641ed918a21a527545e844666067df29bb1bf097b064842ebe4737336a54074fed55e5f5bceaf SHA512 8c6bbc638a0192c43595dda9db70c86da0dc1f7d768838b452af7070449c4967d7e1abfc969ec4d2505e460fb8bbf9e261c4c918f1fc3efe6d56be33f8a14b16 DIST NVIDIA-Linux-x86_64-595.44.15.run 423974279 BLAKE2B 9a13bfbe7612a95041c43a14d7b579675504b28953449c037900b53488ab9f3391d357ef4bc9e642da54c9dee8f3d34a22655daaf9a1fb7de816e5ac9957a788 SHA512 b36af6233c795a6538bc0d1af678546b35330545b82bb7d2f70dcea59f9fd596861acb0cdca68404321716c1657589ba22d37c8cd6c513b320a80c36fb6a4130 -DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614 -DIST NVIDIA-Linux-x86_64-595.91.07.run 423651201 BLAKE2B 01f9e8f566c810165673f12b68b95d6b32b329712a3bd43f67363ddc68a4b89e0d84671ed6cb453726d2d998eda5cc40e8fcb5278ee1dacf46b77de2de55a7e2 SHA512 79fa1cdb09ef7851b32aeab1a5e9588365536822e288accb39b04fd5e9fe01dd93ec58bd74366c37838023250d6b184fa7d22befa4cd2584281a2f1c2e6b11a9 DIST NVIDIA-Linux-x86_64-595.99.02.run 423333820 BLAKE2B 09cf1e4bee9fa27ddc648e64786f794862a2d0572b5c0a83486377c6686d133dd30ab0bdb1e16400a11ef3ab08e311a5fc11a9ab63324ebd6f83287499ee66c5 SHA512 9473990fe80019aec737d2eaf4a10dcb85facc781dc3eb30aba7e8e380d90cf4df07df24155e07e12f0fa7b3e3deb7d7f4cab45f2218459093b63900e9b094fe DIST NVIDIA-Linux-x86_64-610.57.04.run 463025450 BLAKE2B bcf46e1fb7d887ffdd25212f17d8f9d5925740a4a64a9503d7255b131eaf811e777ec107c3ec3f3771a6da9e1cb9999993fbd7a8fdbd7b0ff2dd3cbe860a4bd1 SHA512 4c9566625716ba7257ed2203dbbabfbc7a2dfdfc8bcb16678212ec809dc7ff470d12973ad86ce5f925b271d04239425f43088e8e591cb4ed7f77ec0c8612ffc0 DIST NVIDIA-Linux-x86_64-615.71.09.run 529618784 BLAKE2B bf4c97c1b6a92cc5b6c89680c3a76340fc6086da0d58028afc456bee2db802507ce89ccb8b5fb8c3ca35f10f77741723666a4280e69f571b193f0841ae00bf6b SHA512 446091ef413d815ecc2de0253b1c0065cb12f623a219a3a5c38e48a0084aa73adbb7426c3c334a52f42520da8c6b2186b84f8fbf96a2260d13a320123f804bc0 DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 -DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e DIST NVIDIA-kernel-module-source-580.178.04.tar.xz 22267204 BLAKE2B 7566451a6b13c24bb80476c68bbcd93c0d8dbd0bc4eae2ca5fcda06690a2d386b6a0782aa1836e07061e84bf923fab479746294f229acd4c53e7a6da4a309b9f SHA512 38b5ad1895946287073e5951a88733898a805d02325eb7f23169e61663d43b73bb4db65b0d9648daef11edcc50646320a4e18af6e7584d63cec960fcd3b75de5 DIST NVIDIA-kernel-module-source-595.104.02.tar.xz 23810384 BLAKE2B 1466b186c17156280a1e97dab7e72da6b112ed877be281915a33c6d9fa8c664db90059432913d787f31ea605e12ba2f5eaff51eec8949f473e87eb1db32917d0 SHA512 83875be617c3d8a40abe8584603017de0048aa7f4649ee1262cfe5bb6da00ac60de5b0ab45509736254d320a15da2206fd3c6935705f97b490aaf67e11c72a91 -DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86 -DIST NVIDIA-kernel-module-source-595.91.07.tar.xz 23800388 BLAKE2B fe4c6a6761522c289c5a3209083e2cae872afe1ad7390794b440506a6ba1e0215d6178ea06de5377c2748f89f85ec7f417e1ec221f147563604040f0b1334eba SHA512 1258db88cb85c9adb2b208769731ab8a28212c8a542d9c4d88602cab8c93e87410e2d307fc42fe838519b5ec8f79d371ef5edc0c06f3aecf104d7cd996d9588b DIST NVIDIA-kernel-module-source-610.57.04.tar.xz 26177484 BLAKE2B 59bd5799cb37bdd264a683bb170efd81d3c57381d8ffa5f4cdb0e6c556f61b4485c88b3ec6513cf4e57c975d9ff9c07111463a5b50a213a6178f0530cf40dcd7 SHA512 11adc9cf3805a06f3e6f3b0884d2fbd92cf51c7f9348fca884c90202be2291882c459c8b5436732168c9739e7afefb9510b9b8f1193a0935f45fa5fca560b258 DIST NVIDIA-kernel-module-source-615.71.09.tar.xz 25895984 BLAKE2B f4d2e1386336214468d686271565feccebc297a7b203ab44a02a447907c886a8991114bd47b7ed464557e4c519b1ac2297af116d5a6599d1967b6be864f1bcb5 SHA512 0b32c1aaa5ed261bdee7232d5e5d293e53c42ac9896f49c4be4e6b9b6bce1370cb69a7f7fde5531a7537d5e925d651c36bcb512a2f827c2d2cb26ede33f7c057 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 -DIST nvidia-installer-580.173.02.tar.bz2 170003 BLAKE2B 05229520744fd6ab0b57632f7e62aad39737fd8239a32900a19a3844fabf1c3d511a74fc8b9ef702a06fcabb1cad8f8c1f0c1bc739ea7058504338da22536e8e SHA512 262595d41c02a2129d90c077b96b43eaf81d2f6257a00cfd61d6cebab3d645f34de08086a3a6dc897273498a33289f2fa5b552759e1963e25cef85fa2b2c2b90 DIST nvidia-installer-580.178.04.tar.bz2 169996 BLAKE2B 231762680ac9dfb88ff553ad655dc9498b81f1c505d30ecd620609f2e912670c2846b16d05dc85273a4f5ec74bbf717d02f9b976adfa951dbd621a172e8a7174 SHA512 6995905e3c06ed1c284ec1302149f590ebca2278604f0206d543cc3202891044fe2badedf0608e31f522857c431dcd7d35f6c281667b2556fa0b290a9eccb62c DIST nvidia-installer-595.104.02.tar.bz2 172685 BLAKE2B a15646a5b40c51a55417df1570c257b40d591a20fe4bf5c1658c64e597de448cc2b0807ce47b4ef5c654161ebb5ce82184631966e7fb6885c8bfcba5d7eb24b6 SHA512 90adf5b1d6af339d46ee82217b7c1187316be8268577b776e5313907119fd9b8a796e6da33ed687c2b9baa2124dff624f584dcc5ec4a29dcc733e1b27975088f -DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1 DIST nvidia-installer-595.91.07.tar.bz2 172429 BLAKE2B b4128b9075a5b302f825ff70af8ad210030292b920c5f9cb88930c6853e9fa915c9033b80d7ba1ac729a8a8c6c8787f61444419ae0aae47ceeefdefb4984fc19 SHA512 316d278f3f3500f33a92c993accb62333cbd6d719a8e730e28a387d5c80987f4bc7d6b05f0d2897f766d51cb067736e254057a0984d72207c67accb8510233e4 DIST nvidia-installer-595.99.02.tar.gz 231425 BLAKE2B 69c6a09cf10a7f3918766879c3cd231ce3438c7154aabeb9de54e45ea54ccd08d163e2e56824bd902750dc5110813211ce1e0384a9abac4a8ddc40036d876be3 SHA512 7f248eba109ced2a7dc6fdd4e2711d0735b441e3529928de6c3d2d02945d28d26c2c1fab78f357b8f88e21658362fe7968e94208a7c483691e6761460919550a DIST nvidia-installer-610.57.04.tar.bz2 172182 BLAKE2B 03b67a6c8c89c924fe9dda076205d0b20dbbea827c9570acd08cd86d2668f23f4abeb8da60b93cd11f8c69e9e0e2408e772c7ad78bcae241ba87164ca4e0fb73 SHA512 ef842b493a9ef52d2a122dfd5f5901f997613ab891184774d2f9b01e3889e3347f95b96fdce074ec68d06cf6e8eddab09601a71ec4645aa8601e4339d898d272 @@ -42,10 +31,8 @@ DIST nvidia-installer-615.71.09.tar.bz2 171835 BLAKE2B d3fcfef319d73d206383feedd 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 -DIST nvidia-modprobe-580.173.02.tar.bz2 41711 BLAKE2B 4524b0a7c8928c3c9a76b3190adc7e1886fa769a55ba824a6970776b1c28d603bd42125d190e8b0aae603f5d2e5786813c58b538d564894e4c4012de0f0ec348 SHA512 54848c4d7c95f66d6c892716615e6ff4a4ac9c94ae822d8124030d82a792aacfb3a32e9b84dce6297cb95efd66de94dfb967f34769476d0b50f91aa83aa3aa9d DIST nvidia-modprobe-580.178.04.tar.bz2 41668 BLAKE2B 9d7f239a3189db7528a5a9c0f2565f6dc785d48cabb5a2d12857d8fc69cc4ef00a1a6c4f1b75e8a0af989b48764878c3cb80b21756a908a1bb2140ab56376f95 SHA512 80ee138546022b0bca3824a563fe5df26f14337e9ee3df7b28917455525f9ef4606d12d5394f74e53089d7ba3955fa077b1dd3702beb5688c4c6b1d6e796fa68 DIST nvidia-modprobe-595.104.02.tar.bz2 41729 BLAKE2B ac72388d9c628cf601f4f298ec0d7a571e4ddfe3c19a9289c5c4e531c62e82f197d7b1d27f77d4d2f71fe9940f127271929a1c0dfea398fe5eb55d5c31ab740c SHA512 c4e6f843030406eb4cd3f8fff44f574b4cafaa422b7789381f83b991ea32806dde6e0a7c6edd17fab34e5de634669b83a781b16b653d0d3ed599abc4a879aac3 -DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753 DIST nvidia-modprobe-595.91.07.tar.bz2 41725 BLAKE2B 0ceec46af414ea6232014b25c384b01390fd85ca81c39f994f5bafcdc2e3bbf670ed6416fc7d8b8d0ae56bc689106356f956b5f9c4b7e69ff66b5fe3d05729c9 SHA512 9ad2780218119eaa55d2da0c1007ffa73c3262b0e692cae25260f18d993d531e4cacfe83356b4f4f923e62cc80903915073d0225810656798a9462c75a769a98 DIST nvidia-modprobe-595.99.02.tar.gz 47246 BLAKE2B c522f4e732487ce9184bf2e4f0911b1afac7ddaeae630dd3975b89bd5ea3a16c53182aa8a2984a767e91640597dbfc0af50de7e529ffca57cdaa5cc959e268e3 SHA512 c6da7e1c9afdb127c658fe53fcd9ada8b85f7e724130d731adf1e3eb27bc4c551295dfc2b6f8454ab500eeb49977b60fd08796e9c1c40669a0168f1b539917fe DIST nvidia-modprobe-610.57.04.tar.bz2 41771 BLAKE2B faeeddaf91cc6beaeb06d94a9451a13ad70dba8795613eb81893019cc1b6a053b241fae7a220fdc862af710ce78eb546b7d61164af8ada39391f5fef3955e7cf SHA512 abfef56e453133ef057163041b7f9b62a23879791254a0cc8f0b10fd730d54e54ccad4056dc1a829fd2d3c2caebba2a8cc06839240ed8571bf5f699750dc6534 @@ -53,10 +40,8 @@ DIST nvidia-modprobe-615.71.09.tar.bz2 41964 BLAKE2B 37d72512f2cbfd005ac1997caec 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 -DIST nvidia-persistenced-580.173.02.tar.bz2 62225 BLAKE2B e8f1111175e0447910aebbfce1309c1df1c92c655a957e06ff18fb932b75bbaf42f1b23d5d5507cf87c84e750f8402564daa0400d9203483e493b8c7067221c9 SHA512 9b007c430a92137a914b7b977bc142ad8367e26880102ecf51acc153ecf061c369c94b8dbb87bb23cde5b870aeb31139702a544e7547e00e75bacec4b4a39876 DIST nvidia-persistenced-580.178.04.tar.bz2 62230 BLAKE2B 387f778b3ec3e48112e35bd3cd3e161527005ff5dc52774755acbcee5e18a1d02f7dd88c7a58d2632863262ff0f4a7b1e091c60caf8f8823d49fe38e3791a0f9 SHA512 2b9e26833e63a81401d3c83c0379f2d86bb0f8f44e1fcbe3ff235739f284a0adf46d76520d802274d8e19df0de656d9a2e9b52dac539ced6ca7bb7b1f4be6629 DIST nvidia-persistenced-595.104.02.tar.bz2 62545 BLAKE2B 7212c5fe14af130825f60290b324afd711d4ec664a3f5b3c37adc40f02887cf639a555ad8c087117b36e0aff212c5312e97afc0d87d494e8fde88a0059c72e6d SHA512 ac88efaa447106c3205468fdeb2513ef87048579ebd21ac9b19e006606523f653ac58147597ed1a26a69df7885868316ca355686b1418a0e2479451070762282 -DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c DIST nvidia-persistenced-595.91.07.tar.bz2 62519 BLAKE2B 9da9fbacebc6c3c1b56621d7676ec78cf61081d824dbcabf8599168ce673444adf736b6cd62129b0f87d619f79c6d5f0bbce311f5ecba346cda8881bb7bce6f8 SHA512 b9f9c69fb85ce22676789f5d88c460dee1961c42e1bf4ad3e677ac800715f888ded41590fe287b2c5972e3b89982e7b4d6290ccdf7ff2fa870f3a5ef3a7ae9ae DIST nvidia-persistenced-595.99.02.tar.gz 73431 BLAKE2B aef62f5def60b1c6fad2adc2d1e5c7c1b4cbb24ca5e09650e15cb06a8c27fc5c2f48601502ec83395344a0e18dd1af94c35e95015b7d3b210a2dca2968040d20 SHA512 0711804fbc874c6e406e302d9aa8cbe363f9d183bf306efaa5ae84963170161dcbe56e01df53d3364ab267a0e1dc27450f33e291d504a20f2d842158a0fe6d51 DIST nvidia-persistenced-610.57.04.tar.bz2 63192 BLAKE2B 41ed154c5df65bb645f26efab887cd6ef30b566520df995a367b6c9f03dd0e6e625b3fee573c81747406b882ecd72f9887b5bfbc14747b655459aeb4bfb2a0ed SHA512 f1b4bec67b92e9b83ece3f86217283d88424417b869ae58d2617efedef1c613581ecb6f3fc4a44f096ca451e776d56870c4a8f7336241ccd96c9d3cea1d4b575 @@ -64,10 +49,8 @@ DIST nvidia-persistenced-615.71.09.tar.bz2 64090 BLAKE2B f984825176f19b705deebd0 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 -DIST nvidia-settings-580.173.02.tar.bz2 1133131 BLAKE2B 393e2be8551db1b8c509c446f76086681a89d7dcec3670552cda8b5e84af78a9e091600727a5f0950c78866b282d8f9dc4ba51b85bcc7707288eee9d46c89404 SHA512 4ccb991fa522d5e2833480722bc741905d0abe1226f96f8a2e2a51c99ab1137cf7f5564b50cc55115b3fd535345b11b7bd07fe74c7e356f93b0082b04e880211 DIST nvidia-settings-580.178.04.tar.bz2 1132866 BLAKE2B d17b698a73be1c1346eb2ba10f50432250b4167cffdc8cde40610f2dc733b9ff6e1ba5214ee0c0509c59e82f6984c1ab686d39379f7a00edba94e45166c6fa97 SHA512 2d336afd1ebbe6272404bd43f8756ac35932a3d7650c6d524fae0d77ee33cffc71cba94f6fe038c001964d5de20d7814d1e6092c062fb9cea946e8b60766a140 DIST nvidia-settings-595.104.02.tar.bz2 1136465 BLAKE2B 78735592dee4b0131a646880b8c0ab8acea65153941e3a49ac095ce7fe4523c3adf45deb5eb24363a14f0e76d22bceb6e95d1904232f61153fbaa82d08383d4d SHA512 0fd8a2488dff64e682ccbb2c596a1304041467e3d87f8b093b7dec81ccdadde1dd582a1329c768b0520ca850f2925eb07e370ed0f5e9e3e779b99d151bf561c3 -DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c DIST nvidia-settings-595.91.07.tar.bz2 1136346 BLAKE2B 56e4ed3d51b3210935f49918e9975a8ef7ae0a199ff45f9512ed5058a379fb8e7402e599965da071481e3501fa8081b0ef034e36981ab8816636e7b6b49e8ee7 SHA512 0a412f7923c4b8227b154106280165f9930b41c137beddf5f69e49e70b348ede664f859a51159b7d3e5eb6c0c271ba9a1c1a5930c7f652dbc861cdea9c59265d DIST nvidia-settings-595.99.02.tar.gz 1327143 BLAKE2B 1e746ea3345bc8fe2c7dfb8d83ae544d0796f45b9e029a465098b3f2f8ca55cb146558d9eb3833f40d066b482860b1c54b03528fd0f21e857c02de203f684917 SHA512 755de710bd57f485afc47d3f6000a78f6d36925e400b2c44da405e43b2ca8a62de2901aae4e5cbf79c3df4e2ebf9204ff369ab7ef79ddcdba68a2cebefa191c4 DIST nvidia-settings-610.57.04.tar.bz2 1138157 BLAKE2B 51964fedb416da31c7e2e1c5f1d1b67e5cbcfd125bed0a4c4cfd0685d364f1e9086172eec1e31099d36e74af54dfe2c22aa541a498c93d569db62c6ade5a784a SHA512 522f2c91faeccf40209c1edf07da5e269b447efb8b4fa849617fd4281a4e677b5536994b0dd3338b9ad41eb0adac10bef65828598e3479b5f8617dd0280427fc @@ -75,10 +58,8 @@ DIST nvidia-settings-615.71.09.tar.bz2 1148842 BLAKE2B 8c8df61f7eefeaa8a7f587d8d 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 -DIST nvidia-xconfig-580.173.02.tar.bz2 111531 BLAKE2B f0825338455d511bd2a273e7094c9ed7f1f9e21d7fa24c761d241d2db45e8179cc43d2d6888713aaecc866cc1a0c37e2c35e5f7d9b62af5771db1109f35008f7 SHA512 54a1962fa3ba710ca67e38829f12fa6f6128f45d17e5a0a7a1cca47ca6190caf9c9460459a21549d4ccfe71bc0062769818fb824a218d46e284d2b5011f5abfc DIST nvidia-xconfig-580.178.04.tar.bz2 111557 BLAKE2B 0ad4c36edafa3086ccd0189ad0b1768cdddd7159b8bc2153830ec95ec4b06b5d41215dd1c2408bb5ea2a529ea54996d9be952ad1effd437ce7eb82926e56dd74 SHA512 9cb3060e62c56686dab3d6ba75ac42998a5a16ac34b2785d47c15f50df67a85eefb475507fd0a605f4e60203e0cdecbe38a7d8d9e579687cb529d72806874d01 DIST nvidia-xconfig-595.104.02.tar.bz2 111065 BLAKE2B 962277dd2e663a60e935d41bdfd32f9a6fdf0cd67a8c28b2b816c0034fa81ce9b62e696357a3f30863d997d5bb69b28595d1fd6e10cf22f4a06fa48461dbf523 SHA512 27cfcdbb7f4a2b5adc6c7de17a9d8e9fe47ba048dac2d665cfb03b039bc5b7903ee5f9988b9ee8566086ec9424eabf5b2ff4e5a1dcc8139e068328fd6fc4a429 -DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3 DIST nvidia-xconfig-595.91.07.tar.bz2 111007 BLAKE2B 30f556a5b8c41cedc637f52064c402e39590d5df0381a8b2b74cd5bfa3c94a42bb6b95ff68898e240eef36736205a592cacf1595e8ea054b5290314bce8bcdea SHA512 6675a2f56fb2574f55b7342c1c3da221f5b1dc55329018075f71903706cbbf8b9e2ba91190d0c021e66a03e758c7cad1f5a1f1b266653849fe85773092ebc6e1 DIST nvidia-xconfig-595.99.02.tar.gz 145292 BLAKE2B 3228469a5b22a2d333170dcbf32f299ad6296f22e670eef5c0024ff8dc63658443e1891a322062ca6634e123601027088eed1a8cf4c68986c991a2f3bf3dffba SHA512 4e740defccaed009b9d1725786a5d4bdb8dbc62e18450d27ad71f393817737a045ef88bc9d642b9afa666ef95057469ef58aed3e32efc429305516f627eb4ec5 DIST nvidia-xconfig-610.57.04.tar.bz2 111115 BLAKE2B bbd68a06d2e6605dce4d62cb06909cecdb18cdab18815814736d8a53e784ebf9c988c5a7e115676d5978a222b80c3a2f3a6c500c2464934ca045d7c814ef2c90 SHA512 d050291249ed18843f2419f730b31e15019d63ceeebf7c0f011fc13b90a1bc5b784cf603b03708de0b81c4a82f3c2bedecd8b3a6c2818e38e5fdec8b189c01e0 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild deleted file mode 100644 index 78865e013bc16..0000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild +++ /dev/null @@ -1,602 +0,0 @@ -# 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 kernel-open 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 - ) -" -RDEPEND=" - ${COMMON_DEPEND} - || ( - dev-libs/openssl-compat:3 - dev-libs/openssl:0/3 - ) - sys-libs/glibc - X? ( - media-libs/libglvnd[X,abi_x86_32(-)?] - x11-libs/libX11[abi_x86_32(-)?] - x11-libs/libXext[abi_x86_32(-)?] - ) - powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) - wayland? ( - >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] - >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] - X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - static-libs? ( - x11-base/xorg-proto - x11-libs/libX11 - x11-libs/libXext - ) - tools? ( - dev-util/vulkan-headers - media-libs/libglvnd - sys-apps/dbus - x11-base/xorg-proto - x11-libs/libXrandr - x11-libs/libXv - x11-libs/libvdpau - ) -" -BDEPEND=" - sys-devel/m4 - virtual/pkgconfig -" - -# there is some non-prebuilt exceptions but rather not maintain a list -QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" - -PATCHES=( - "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch - "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch - "${FILESDIR}"/nvidia-drivers-580.159.03-null-deref.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" - - 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 is needed for nvidia-drm.modeset=1 - support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf) which is needed for wayland - and for 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_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_AMD_IOMMU=y, - or DRM_I915=m (among others, consult the kernel config's help)." - 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 - - # 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} - - local modlistargs=video:kernel - if use kernel-open; then - modlistargs+=-module-source:kernel-module-source/kernel-open - - # environment flags are normally unused for modules, but nvidia - # uses it for building the "blob" and it is a bit fragile - filter-flags -fno-plt #912949 - filter-lto - CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags - - LDFLAGS=$(raw-ldflags) - - # 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 - 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}" - 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-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 - libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 - libnvidia-pkcs11.so # using the openssl3 version instead - ) - local skip_modules=( - $(usev !X "nvfbc vdpau xdriver") - $(usev !modules gsp) - $(usev !powerd nvtopps) - installer nvpd # handled separately / built from source - ) - local skip_types=( - GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd - OPENCL_WRAPPER.\* # virtual/opencl - DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused - ) - - local DOCS=( - README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json - nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt - ) - local HTML_DOCS=( html/. ) - einstalldocs - - local DISABLE_AUTOFORMATTING=yes - local DOC_CONTENTS="\ -Trusted users should be in the 'video' group to use NVIDIA devices. -You can add yourself by using: gpasswd -a my-user video\ -$(usev modules " - -Like all out-of-tree kernel modules, it is necessary to rebuild -${PN} after upgrading or rebuilding the Linux kernel -by for example running \`emerge @module-rebuild\`. Alternatively, -if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), -this can be automated by setting USE=dist-kernel globally. - -Loaded kernel modules also must not mismatch with the installed -${PN} version (excluding -r revision), meaning should -ensure \`eselect kernel list\` points to the kernel that will be -booted before building and preferably reboot after upgrading -${PN} (the ebuild will emit a warning if mismatching). - -See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ -$(use amd64 && usev !abi_x86_32 " - -Note that without USE=abi_x86_32 on ${PN}, 32bit applications -(typically using wine / steam) will not be able to use GPU acceleration.") - -Be warned that USE=kernel-open may need to be either enabled or -disabled for certain cards to function: -- GTX 50xx (blackwell) and higher require it to be enabled -- GTX 1650 and higher (pre-blackwell) should work either way -- Older cards require it to be disabled - -For additional information or for troubleshooting issues, please see -https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own -documentation that is installed alongside this README." - readme.gentoo_create_doc - - if use modules; then - linux-mod-r1_src_install - - insinto /etc/modprobe.d - newins "${FILESDIR}"/nvidia-580.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 - : "$(systemd_get_sleepdir)" - exeinto "${_#"${EPREFIX}"}" - doexe systemd/system-sleep/nvidia - dobin systemd/nvidia-sleep.sh - systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service - - dobin nvidia-bug-report.sh - - insinto /usr/share/nvidia/files.d - doins sandboxutils-filelist.json - - # MODULE:powerd extras - if use powerd; then - newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 - systemd_dounit systemd/system/nvidia-powerd.service - - insinto /usr/share/dbus-1/system.d - doins nvidia-dbus.conf - fi - - # enabling is needed for sleep to work properly and little reason not to do - # it unconditionally for a better user experience - : "$(systemd_get_systemunitdir)" - local unitdir=${_#"${EPREFIX}"} - # not using relative symlinks to match systemd's own links - dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service - dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service - dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service - dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service - dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service - dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service - # also add a custom elogind hook to do the equivalent of the above - exeinto /usr/lib/elogind/system-sleep - newexe "${FILESDIR}"/system-sleep.elogind nvidia - # =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= - - 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 use kernel-open && use modules && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then - ewarn "\nOpen source variant of ${PN} was selected, note that it requires" - ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." - ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" - fi - - if ver_replacing -lt 580.126.09-r1; then - elog "\n>=nvidia-drivers-580.126.09-r1 changes some defaults that may or may" - elog "not need attention:" - elog "1. nvidia-drm.modeset=1 is now default regardless of USE=wayland" - elog "2. nvidia-drm.fbdev=1 is now also tentatively default to match upstream" - elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed," - elog "fbdev=1 *could* cause issues for the console display with some setups." - fi -} diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-595.84.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-595.84.ebuild deleted file mode 100644 index c1d78ca72238d..0000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-595.84.ebuild +++ /dev/null @@ -1,556 +0,0 @@ -# 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-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-595.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 -} diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild deleted file mode 100644 index 6a166534af08f..0000000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-595.91.07.ebuild +++ /dev/null @@ -1,555 +0,0 @@ -# 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.2 -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-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 - ~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" - - linux_chkconfig_present DRM_KMS_HELPER && - CONFIG_CHECK+=" DRM_FBDEV_EMULATION" - - 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_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-595.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 -} From d7a266505f9891015132c48356b3933c68410b79 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 22 Sep 2026 19:49:32 -0400 Subject: [PATCH 3/3] dev-util/shader-slang: add 2026.18.2 Possible overlooked something, this package tend to change things up a lot and diffs are noisy, plus the growing external/ dir that does not always get USE_SYSTEM switches does not help. Signed-off-by: Ionen Wolkens --- dev-util/shader-slang/Manifest | 1 + .../shader-slang-2026.18.2.ebuild | 95 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 dev-util/shader-slang/shader-slang-2026.18.2.ebuild diff --git a/dev-util/shader-slang/Manifest b/dev-util/shader-slang/Manifest index 14a68973503a4..a010d42fe0ce1 100644 --- a/dev-util/shader-slang/Manifest +++ b/dev-util/shader-slang/Manifest @@ -1 +1,2 @@ DIST shader-slang-2026.16.1.tar.xz 23511068 BLAKE2B f5580e97b468abeaf4ce31fa8d8ed71dd60e87ac35ed03d0cb00897cbcefe2ae338b6ee5fa32dc6bb23c2a050b6e3a3a3218ba6998c669cef3f7bf7b2bc99c06 SHA512 d110f8e2cf8d4b31d729c14180d800c478a7a7045a99bcf13296ae7c875bb0ca97c6cc5a4887a381856605b71260bd4fec4aced7355e4ebfc59884cf90fd2a82 +DIST shader-slang-2026.18.2.tar.xz 31912720 BLAKE2B 7f7d033d1fc1ec2711a239724255c1c6e4d71f5736c179e8321ca993097ceb418fc47ecf991b7332148dbc4963cd4df62cef5f4b7be470bc4fbaa7bece39eb01 SHA512 af781482652194022cf9d81e4ce2a517d807472e0caed0bf0144ea348977656d02f810cbde9f6018ced512ad14a11546cf629f2e226d6b23fcf39ba366fcb0d2 diff --git a/dev-util/shader-slang/shader-slang-2026.18.2.ebuild b/dev-util/shader-slang/shader-slang-2026.18.2.ebuild new file mode 100644 index 0000000000000..9458fc7d3eec6 --- /dev/null +++ b/dev-util/shader-slang/shader-slang-2026.18.2.ebuild @@ -0,0 +1,95 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="Making it easier to work with shaders" +HOMEPAGE="https://shader-slang.org/" +# tarball is same as upstream except for including git submodules +SRC_URI="https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${P}.tar.xz" + +LICENSE=" + Apache-2.0-with-LLVM-exceptions + Apache-2.0 BSD-2 Boost-1.0 CC-BY-4.0 MIT Unlicense UoI-NCSA +" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +# needs an annoying submodule that fetches many things, tests seem to +# do runtime compilation that fail due to missing headers, and they +# also need special care and be fed a list of expected failures +# (currently only needed to build x11-terms/kitty, do it as a test) +RESTRICT="test" + +RDEPEND=" + app-arch/lz4:= + dev-libs/miniz:= + dev-util/glslang:= + dev-util/spirv-tools +" +DEPEND=" + ${RDEPEND} + >=dev-util/spirv-headers-1.4.350 + dev-util/vulkan-headers +" + +PATCHES=( + "${FILESDIR}"/${PN}-2026.14.1-includedir.patch + "${FILESDIR}"/${PN}-2026.14.1-libdir.patch + "${FILESDIR}"/${PN}-2026.14.1-lz4.patch + "${FILESDIR}"/${PN}-2026.14.1-system-glslang.patch +) + +# triggers on examples and other unused subdirs +CMAKE_QA_COMPAT_SKIP=1 + +# these are modules and do not need a soname +QA_SONAME=" + usr/lib.*/libslang-glsl-module-.*.so + usr/lib.*/libslang-glslang-.*.so +" + +src_configure() { + # https://github.com/shader-slang/slang/issues/6330 + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DSLANG_ENABLE_PCH=no + -DSLANG_ENABLE_SLANG_GLSLANG=yes + -DSLANG_ENABLE_SPLIT_DEBUG_INFO=no + -DSLANG_USE_SYSTEM_GLSLANG=yes + -DSLANG_USE_SYSTEM_LZ4=yes + -DSLANG_USE_SYSTEM_MINIZ=yes + -DSLANG_USE_SYSTEM_SPIRV_HEADERS=yes + -DSLANG_USE_SYSTEM_SPIRV_TOOLS=yes + -DSLANG_USE_SYSTEM_VULKAN_HEADERS=yes + -DSLANG_VERSION_{FULL,NUMERIC}=${PV} + + # avoid collisions with sys-libs/slang + -DCMAKE_INSTALL_INCLUDEDIR=include/${PN} + -DSLANG_ENABLE_SLANG_PROXY=no + + # options disabled for simplicity, will revisit only if needed + # (some have issues ranging from build failure to live fetching) + -DSLANG_ENABLE_AFTERMATH=no + -DSLANG_ENABLE_CUDA=no + -DSLANG_ENABLE_DXIL=no + -DSLANG_ENABLE_EXAMPLES=no + -DSLANG_ENABLE_GFX=no + -DSLANG_ENABLE_OPTIX=no + -DSLANG_ENABLE_SLANG_RHI=no + -DSLANG_ENABLE_TESTS=no + -DSLANG_SLANG_LLVM_FLAVOR=DISABLE + ) + + cmake_src_configure +} + +src_install() { + local DOCS=() + cmake_src_install + + mv -- "${ED}"/usr/share/doc/{slang,${PF}} || die +}