summaryrefslogtreecommitdiff
path: root/x11-drivers
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 11:50:53 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 11:50:53 -0500
commit290aebdea65a02557706eaeda477fef0437b6a48 (patch)
treef87a939169a508a2e943570501b64cc16b411cda /x11-drivers
parent6783ddcd4b73d9ce586a71770caed352bec93b16 (diff)
downloadbaldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.tar.gz
baldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.tar.xz
baldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.zip
Adding metadata
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest110
-rw-r--r--x11-drivers/nvidia-drivers/files/95-nvidia-settings-r12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-390.conf21
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-470.conf31
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-545.conf38
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-555.conf43
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15-x86.patch29
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15.patch84
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-470.141.03-clang15.patch109
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch17
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf7
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch13
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-modprobe-390.141-uvm-perms.patch12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.confd7
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.initd12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-powerd.initd11
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-390.141-fno-common.patch16
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-desktop.patch12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-no-gtk2.patch11
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-raw-ldflags.patch9
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-530.30.02-desktop.patch11
-rw-r--r--x11-drivers/nvidia-drivers/files/system-sleep.elogind7
-rw-r--r--x11-drivers/nvidia-drivers/metadata.xml27
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-495.46.ebuild450
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild507
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-535.309.01.ebuild616
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.163.01.ebuild597
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild508
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03.ebuild513
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-565.77.ebuild629
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild628
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-575.64.05.ebuild605
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-580.159.03.ebuild605
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild605
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild605
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild605
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02.ebuild605
-rw-r--r--x11-drivers/xf86-input-elographics/Manifest1
-rw-r--r--x11-drivers/xf86-input-elographics/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-elographics/xf86-input-elographics-1.4.4.ebuild9
-rw-r--r--x11-drivers/xf86-input-evdev/Manifest1
-rw-r--r--x11-drivers/xf86-input-evdev/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-evdev/xf86-input-evdev-2.11.0.ebuild26
-rw-r--r--x11-drivers/xf86-input-joystick/Manifest1
-rw-r--r--x11-drivers/xf86-input-joystick/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-joystick/xf86-input-joystick-1.6.4.ebuild16
-rw-r--r--x11-drivers/xf86-input-libinput/Manifest1
-rw-r--r--x11-drivers/xf86-input-libinput/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-libinput/xf86-input-libinput-1.5.0.ebuild21
-rw-r--r--x11-drivers/xf86-input-mtrack/Manifest1
-rw-r--r--x11-drivers/xf86-input-mtrack/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-mtrack/xf86-input-mtrack-0.5.0-r1.ebuild43
-rw-r--r--x11-drivers/xf86-input-synaptics/Manifest1
-rw-r--r--x11-drivers/xf86-input-synaptics/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-synaptics/xf86-input-synaptics-1.10.0.ebuild44
-rw-r--r--x11-drivers/xf86-input-vmmouse/Manifest1
-rw-r--r--x11-drivers/xf86-input-vmmouse/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-13.2.0.ebuild34
-rw-r--r--x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-9999.ebuild32
-rw-r--r--x11-drivers/xf86-input-void/Manifest1
-rw-r--r--x11-drivers/xf86-input-void/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-void/xf86-input-void-1.4.2.ebuild10
-rw-r--r--x11-drivers/xf86-input-wacom/Manifest1
-rw-r--r--x11-drivers/xf86-input-wacom/metadata.xml9
-rw-r--r--x11-drivers/xf86-input-wacom/xf86-input-wacom-1.2.4.ebuild63
-rw-r--r--x11-drivers/xf86-video-amdgpu/Manifest1
-rw-r--r--x11-drivers/xf86-video-amdgpu/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-25.0.0-r1.ebuild26
-rw-r--r--x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-9999.ebuild26
-rw-r--r--x11-drivers/xf86-video-ast/Manifest1
-rw-r--r--x11-drivers/xf86-video-ast/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-ast/xf86-video-ast-1.2.1.ebuild9
-rw-r--r--x11-drivers/xf86-video-ati/Manifest1
-rw-r--r--x11-drivers/xf86-video-ati/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-22.0.0.ebuild49
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild49
-rw-r--r--x11-drivers/xf86-video-dummy/Manifest1
-rw-r--r--x11-drivers/xf86-video-dummy/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-dummy/xf86-video-dummy-0.4.1.ebuild9
-rw-r--r--x11-drivers/xf86-video-fbdev/Manifest1
-rw-r--r--x11-drivers/xf86-video-fbdev/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-fbdev/xf86-video-fbdev-0.5.1.ebuild8
-rw-r--r--x11-drivers/xf86-video-geode/Manifest1
-rw-r--r--x11-drivers/xf86-video-geode/metadata.xml15
-rw-r--r--x11-drivers/xf86-video-geode/xf86-video-geode-2.18.2.ebuild23
-rw-r--r--x11-drivers/xf86-video-intel/Manifest1
-rw-r--r--x11-drivers/xf86-video-intel/metadata.xml18
-rw-r--r--x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20230201.ebuild98
-rw-r--r--x11-drivers/xf86-video-intel/xf86-video-intel-9999.ebuild98
-rw-r--r--x11-drivers/xf86-video-mga/Manifest1
-rw-r--r--x11-drivers/xf86-video-mga/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-mga/xf86-video-mga-2.1.0.ebuild17
-rw-r--r--x11-drivers/xf86-video-nouveau/Manifest1
-rw-r--r--x11-drivers/xf86-video-nouveau/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.18.ebuild19
-rw-r--r--x11-drivers/xf86-video-qxl/Manifest1
-rw-r--r--x11-drivers/xf86-video-qxl/metadata.xml12
-rw-r--r--x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.6.ebuild44
-rw-r--r--x11-drivers/xf86-video-r128/Manifest1
-rw-r--r--x11-drivers/xf86-video-r128/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-r128/xf86-video-r128-6.13.0.ebuild20
-rw-r--r--x11-drivers/xf86-video-siliconmotion/Manifest1
-rw-r--r--x11-drivers/xf86-video-siliconmotion/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-siliconmotion/xf86-video-siliconmotion-1.7.10.ebuild10
-rw-r--r--x11-drivers/xf86-video-vesa/Manifest1
-rw-r--r--x11-drivers/xf86-video-vesa/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-vesa/xf86-video-vesa-2.6.0.ebuild22
-rw-r--r--x11-drivers/xf86-video-vmware/Manifest1
-rw-r--r--x11-drivers/xf86-video-vmware/metadata.xml9
-rw-r--r--x11-drivers/xf86-video-vmware/xf86-video-vmware-13.4.0-r1.ebuild17
110 files changed, 0 insertions, 9807 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
deleted file mode 100644
index 61638b995c6a..000000000000
--- a/x11-drivers/nvidia-drivers/Manifest
+++ /dev/null
@@ -1,110 +0,0 @@
-DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 742feded05f659fa9965b2eebcc6a269b0355d08b6f2a686dad47c1acf2c20a359f9a9c33184ab2d51044b8823535bd7606180e31d348f362a016fad74cf476b SHA512 d1d9e49e16ee6cc69340a3458566f89fee7b63effdd8cae3e55e40cdfbd35d1e87b958769fd3b2ce5ab29596d88c3ac68189232d7a1dad8c16773faedcf5b568
-DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb35707034f41211d0c60a3711643dbae8d8f29830c9029c9c66a1e232651c9a5b9c1fb699078ab6aef0c3f2df476a14eee7cd1258e0c8141971 SHA512 ee2f59716d06652dc9083376d758a1f1ba60a11139534d67c39d8b6a4abd2290017d97cc2c8b1ed8bf5ef659e075ccd1a546125a3ce57b6ddd61ada5ba7e6cf2
-DIST NVIDIA-Linux-aarch64-550.163.01.run 236409124 BLAKE2B 21c79346f6b739f44d7ed2d4955129613f51e1329ff15948ef50a9a06b82975ad890d6142e5dfb163e7b0da19bf5c26029cf507d120037f8a76abc177a286403 SHA512 0ef4ab4aae308ec0cfb5458cef34a1503ac1a85f0e1d0c9f061d8e28f939b15784e3862d96d83e93123d9eb56807a6804318ce230ee68917fb75e363011f8304
-DIST NVIDIA-Linux-aarch64-555.58.02.run 236745104 BLAKE2B 342f5b99aeea0a569974b62322608138a845f197d7ab08fc2e37314187861814f3c1d8d017be07744816aa9d691e8161a60980e1d005701e3f67ab3a07fa03ae SHA512 9c4d78ec381bb6163c6591309a9a40f1dfdb5f3d6b983e1728c17383c5f0871bf3879b32f93c7892d33577a9dacf2dcb1d14639bcc4ca510104f33cb54e83df0
-DIST NVIDIA-Linux-aarch64-560.35.03.run 251160249 BLAKE2B 3ad8c6757b980668f6483d8867f247857519636a3ea464107e90620557ecdbbfc3437cadb7916655b14e6a85e5929db1f03387494df7daa9169d8fe6b2de1849 SHA512 8df331104f3d63d4aaeeace412a986a93355be3ce69a968fbc12b7d0b21a34e71cdf37758c23a392c358a1c3ba1da21115002f55017c2a829c7bb4d41536e543
-DIST NVIDIA-Linux-aarch64-565.77.run 253994527 BLAKE2B 3fb41a7958c58742817eaf3c7bab9dc5620cdaea7244918d963cc54b0708572ae22de30866671d77474c2c61413797865efa1a6ef4e53e4fbdcd283e0324a4b5 SHA512 89be8b0b1fd645fe2ae1ea5d1af787b21e665a7f0b0d911acb749b545ccc70770bc42f8842f2c0cf1b965a980e4260fe025e2aa8a678de2036c3aeef49b7f336
-DIST NVIDIA-Linux-aarch64-570.211.01.run 290912556 BLAKE2B 4335d6a6b7a55bc7d2717071c6be968b63c90932592534be8eff28290a8bf98614b37bb52b4ee0f9563a6f0fdacf6b0e8a04b8eedbe8081587962f3599209a88 SHA512 22816d8f798d6ce141ff2ce750b5df1ca4fef9b1ba79762157fd7f93c1ea905c74f421dc6ac2b7bf5b383192d2baa735d7a7d240523be815defb68be54c4a6be
-DIST NVIDIA-Linux-aarch64-575.64.05.run 304943447 BLAKE2B 277aed01ab2be1cbbfe7780c4cb9dcbfaebc69824ba4b5a620113829f713d5407829769c7fab224f183656408944d9d6c4dcf6400a333c1116a89d072eb79223 SHA512 0b9b9c6b3316723fba4549fcd346215e5315a7b4c80196f0cd9ada9ecd6a23e8fc1691ae8bda5b246a3c44519cc7f503116023ff5427718fbffb67fe49a12a75
-DIST NVIDIA-Linux-aarch64-580.159.03.run 314175977 BLAKE2B 20b0446d8870c2a667f25d9d68c906bbe159bd5f2095c975fba468e1407448052467c32a9b6eb96e9073d3f2121420be4e3ff1173d26816d862dd026249baf2e SHA512 0213dff7afc53733ef0ec9d8d24b20f8f577aa3225470fa2b86bf74939075683eefa9cd12aef94b8239ba8366aacdec605ee13b8259da9a1393761d853c3e453
-DIST NVIDIA-Linux-aarch64-580.159.04.run 313659746 BLAKE2B be22824e065d565301435cdb8d22139ae1a52654830c1350cf9bb43d1bb14294cf3e37e05fb4cc2c8e121cfd860b0221943b85ae4a96cff293803c0ec4c6b214 SHA512 2c23269305b59563924dfae85d4eb49a88bf391b77d5edf05026d33f4ff1b504b51847cae0404c6885dc543303889ae665e1c08258fc52737b7b610ec5135521
-DIST NVIDIA-Linux-aarch64-590.48.01.run 319634379 BLAKE2B ff1b0641f8d4dfc834d9627fa934c5491bddcb9e6f5396a07d6d7831c15e2ab396614ff1ab6b5af4a69b42b8c6a022215cc1e3531eca7ca177c9d940f52281ea SHA512 ec81da1a11dd9609427e40434cba69d7c0426e4d60cb5c078c66ec992b6dd44483df2c9dfe02deb4db3a815a4c801b3c42f6ac2b08f0506327f1cdfe5446211d
-DIST NVIDIA-Linux-aarch64-595.71.05.run 316744636 BLAKE2B 8a3c0179701342ef649cc9d247688cd6ae3a6be88920830ca8f81dd7b2e1862e497164698acf484bb145b04002e3903b1aa8116abd4530c7200f0d9ae525159c SHA512 a2d4ee2c260e34c16b7e04e9dbbe3a8ca486279e7743fb2b95ffa02cedb5e42ad7c5dc4c26fead86cd3a7d7ccf7467439d93691e0e0ce66e8425e622a07bf050
-DIST NVIDIA-Linux-aarch64-610.43.02.run 354603118 BLAKE2B 2db0cb1fb486d3919edccf0047d1db4f0feb8258103016995aac8314dcb1408807cd029bcdb33570ac729c9c23a984f94ad17fa894ef48554a7e6f273011de02 SHA512 fe44af192ec259793b2f05e53da25481fae5a9fe01131b3b4f7893858c9f788b5d031cd83b7439bf3f1ee1be48c629548d61d8f611153324ba5b46583846a1a4
-DIST NVIDIA-Linux-x86_64-495.46.run 280886811 BLAKE2B 156917245f37a5da9121cf570616d6367eec66998a50136f1db0c521fc725e68db27acd5741a9fc3e3d502a2c7e90ccde68a7e56346cb8f5fc65ea419c2f0576 SHA512 859548fa81478acb994b40434fc85824976b1f83bc15846290898854db84ea3c6550586a1d7e89ff3afa248310d2bcf4d2d52d5d8e91cf74e3f7e4108a7002ad
-DIST NVIDIA-Linux-x86_64-525.147.05.run 414135234 BLAKE2B 77a12905771772804a5e5cf36df3e5032fe0160ac7c8a1b4ea002f65dac3732d9c900c1787a3e26d08b951a8de4893467cc7a80d424e017990d12669354d4191 SHA512 0c7b31715fce6a7bd77a2d9f9a3dca54a929a7790d748051576f62cdaeaeb6a9d0f3fbb13f0b20a51966bdb9470acdbc9ee529a9e84f38a9c834a1bd28d81773
-DIST NVIDIA-Linux-x86_64-535.309.01.run 341945818 BLAKE2B dc7bca19eee348648ed6ded096ed9eedc953d7e5be84bb812baf98230096c9f3a92421abb9adfcd0c257dc63a31d9f4fe4a02c7bdc4be65975229941fc39fa5a SHA512 16a505fb053d514b98bed816559279cbe2962eef8a3d64cce7aaf859b2d27602ac9018bb099a56ab4223532f70e00984e5468a4ba9c2914dc68dcbe0d8b2d64d
-DIST NVIDIA-Linux-x86_64-550.163.01.run 307143336 BLAKE2B 256106bcd3bace402289e60aca4cd3b447d0fd8ec3dabd50e2bb303c5e866f8da5c28f9b578d95775bf69158f100d68a91d20d9a91426285a8e799817f21db6b SHA512 676b1de35d21e80091528a49080c114e0870ea90b3f3721265ae8071abbc2183c851e6f11ba96a332c743fedfaf4ec9a014ad6ceed586fdbb03d94d33405e356
-DIST NVIDIA-Linux-x86_64-555.58.02.run 304107617 BLAKE2B df9774e6b33e3600e7425734c91f49ba40956f28391df47d946f7612e28984812fbf0f4d95ffc06d1cb545dd9001b5b956c5816eda50de77063cbafe866835ae SHA512 7a8c84c15d87d2cf5f6261b12d3d683e0a7a1847d7c5461b3995f78b8dd862272fd11be07018593a8d5ef5d8274040f15b9e6fe92e9212dcd7a97be668852433
-DIST NVIDIA-Linux-x86_64-560.35.03.run 322523941 BLAKE2B e84819e6c6b75dbe75212b695ee1e7793c16091b1861250b406cdf570a8cae2a8114627f64bdefc8538f12dd6da8d80d3d62d41deeb7211cfaf159f853feba08 SHA512 97137160b64928ff84fd6145a0ebc209c045d6a07ccc53ec6df6ba1fda2ad72038eda7ecdc0a0178a2628aa4e18819a9b3ff3b693b22bdc9de543be0a968f8aa
-DIST NVIDIA-Linux-x86_64-565.77.run 339246825 BLAKE2B 6c3c57048b6ac25f08a4d493123816c534ed310197aef532ebfbe7f9327897020506fa892b80bb150e6edb953a74ad8d649d743ce7d33d2117850d3308470a0a SHA512 62a85223b1cbc00b65113235642a4a39eb8e78e085845e4c7d12abf916ea2c1d86030849040bba118ba6af56a1d0da073d4a96791674fc18d7154e55a3587b63
-DIST NVIDIA-Linux-x86_64-570.211.01.run 376192072 BLAKE2B 56a135681eba576377106b5ee4bad4e0ec7e41e512db8e32297fbafe03455ee4e9e0dafe782588dd3832fde74ecfd9ee5858ec662f3dc2ef3f1e1dab7a9c909d SHA512 3e751d90a8f126e369c5167e2d5ba8b218dd306ccf00907290ae70fb1c3f752f0ad0b973ce356a1a24cd0f19c31a07169cfd5705613a6bbb5918881635650839
-DIST NVIDIA-Linux-x86_64-575.64.05.run 386961985 BLAKE2B d8b5e5cdff3d2166c4fdf8328ae22bc4419509144ad0427b17636696e7398240a3601ded850893412198fc0d4ba76e72a64ed31d6ceaf58149d83a741ad62a05 SHA512 1f5ea98478c913b044cccb25934e12d58561643b83074e5967d84126baac9a5ddc092a6ea017956957abae174520718d747415d09c6fb2da110de51629df98a2
-DIST NVIDIA-Linux-x86_64-580.159.03.run 398016015 BLAKE2B 6ac3bb48c17bdd9a143fd3483913784d14cc7fb7120b20c0d74de7aebb9569c945d693af4e7c2e2f50fca97e67c26ac91e4943d21ff636a30e372888cff02d94 SHA512 658c7bee6289f9e3d4d04fabc9fee5692ec2a61242d05dddbad61d5d667fbc47ea2cb57802079b6f139c240d9119da4b462548a79a03483dfac53de797ffb5cf
-DIST NVIDIA-Linux-x86_64-580.159.04.run 397162548 BLAKE2B ee0dd051341955d8eab23a12b4a1b81a4977346b2324db175522c07e252ac6c9cea179810ba1535095796ad89ccd92826506dc73954496130249b1c355cb4288 SHA512 50cc5f58ef733f8f196c71dd7b7756fc1e2f163533d9333af4341aa1379b4b68fe5a4afc5698494b2e0928fc970e902d32e6e3f8f6795d03657842c1c6434fe4
-DIST NVIDIA-Linux-x86_64-590.48.01.run 416273526 BLAKE2B 57bc232f3d5cc52b3ba7c097e5c04b0e128947b34f75c8c7a75135ebbdda565dd9ae829f3707cfef35a9b8b554f2b46a50756f6b256a0f0280c22cf9ecefb2e1 SHA512 31fd82af707dbe9a6d3848766925386f5e91c5fae0a605819450eb8e5a5a52eaab3ae5cff50b4dd36bc5c32fe1aabc29a6a79438d6614988c7b08f509ef0da6d
-DIST NVIDIA-Linux-x86_64-595.71.05.run 423133031 BLAKE2B 770af0e6228c300de069b2e87467d030d199dcd9f9c6e32c583291eaac7196974f72f1e25902b8e38056897cff99f845adf73e3eab6dedfce8339b21b76b1042 SHA512 75d22994ba963223300d3c57fdc05803ddf7d8630fb5aee3ba92017d6f614e4a7019dc09f0f02b02ec28d6d5607e284d4e6de2cd506eeda604f75a2d4177028a
-DIST NVIDIA-Linux-x86_64-610.43.02.run 461616501 BLAKE2B 9b55b3e7fd756c1979ce86901654bab5cb05680b7ea525c7fc3c22f2d200cd3fdbec1eaac435cfb9cbe036e6659a97e4edcac79275de8b3803dcd673f20f0110 SHA512 aa626828964bd9b68dffd07865d2fb05de09b0fe944d6ff8af20412601fc72459186eee580e290c379e1a2b74f8e88c6ee406016814850952cf9330e64ab3032
-DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f SHA512 58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
-DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773
-DIST NVIDIA-kernel-module-source-550.163.01.tar.xz 13552400 BLAKE2B e1fd753127d10097c5f1d3c90d95c7eb0934c0d5e1df0a371aed2a0d7669960b67c46eed20eec3c42ca41c0f34bf6d7d3d2a77a94308c9f86d4f5d831da19363 SHA512 c9f4ce2890db3fdc66dd080da4d6802a8bc3b18feba96be5d33641b02cca637b1bcd2a3748f36f93a32f26ba57eb352156314f139688b0d3a102efdfde6c32ba
-DIST NVIDIA-kernel-module-source-555.58.02.tar.xz 13676856 BLAKE2B f3bdda7afe0726c65947fb86898bfe56dbd5378112db6b292649690ef9fbc822745291c2050ce8d16c312950f0486cb54597c41ca14e1dce151b9eaa55bc5745 SHA512 28b7dd07f31a39eb3aeb1ef51872f5f7d2e9e4ffa4573244f979992014e5e04454227ee5c556d41663e0e2175e7f5cac4cdd740f441a96e3dda49303c2dc8df5
-DIST NVIDIA-kernel-module-source-560.35.03.tar.xz 15023144 BLAKE2B d56ea634dd76c3031372e4be283f0348d95e87d088025aaf59ed342a550144f3a8cda22b4c56db4cc2a4c2eb5ef2563251b1aeba75c2a35bad7a4a24c2f5e4d9 SHA512 eec3263d09cc809afc4c2c9eed6e0ec1bd2fed71d43f96d2f56c5b507aead96d93c6de93d37b649fc97f1d849aed64942afeae6e0c2be399d39b1ee416c6b863
-DIST NVIDIA-kernel-module-source-565.77.tar.xz 15374480 BLAKE2B 0ca329dd09db37e283c8066722718182e43beee77fc5f3f3e2a06f74a8a6d481beb4ad90260afd3b93a45b1dc462dadcec6e11919c535cdbc4af950836e5af3f SHA512 dcc5d7a53e1c67d42dc0d4bff8ac8181fac15bb05ccd0990e50d4675c94a54a3ed5d56c60cc7f65a958b0d9f2075620a79add51c5ba443869eb47c9c414da586
-DIST NVIDIA-kernel-module-source-570.211.01.tar.xz 17951900 BLAKE2B d40d2c1b4a92dfe8da95e1000413dfb484c9c96ad232dd5db14246378f6df8e73f04706592a536025c3d5512d5e663e7841de8bda782e3611b4b594b9b107ad4 SHA512 c988270d3aaa707310c3924de83eb5f5bdc4d022d1666eb3f41ed46eff35e98a765d4d6d34c22c02ac507016bed3c34af1da2e1befc285ec9158031a4a1447e4
-DIST NVIDIA-kernel-module-source-575.64.05.tar.xz 18198316 BLAKE2B 622781dfa93ab11993a4cabf14e2104ae7fffa0a16ca504a1257ab9eedd832128dfe73a0b9567a4401bbcf83416305794861cd18c393797ab8d43af0c26cbcc7 SHA512 4cbe2e2d78eab84a8a0153f68ab6b1fefa75225c145b3bd9db4fab9d0cb212a4202a89d0e6d0f2d0dedb5663389f7c9ed6cadb6a656eb32dbde0cf0f806652e2
-DIST NVIDIA-kernel-module-source-580.159.03.tar.xz 22253960 BLAKE2B 31245291564c734c5facc49e866b345f92d4fc08baabda4a9d49ea2073e62fbcbae9f4a39dfb430533ed0bef2acbf36d4546d9cce3a3da582b2cfbaed0ddfbce SHA512 8deb20e9d5b65cc9d701cacf1470187dd72765a291ff6c7ed3b6c6dda32287271befbb88d0bb6cab736958eca96b4e093182848274ca2cfd901ae65bcac06abf
-DIST NVIDIA-kernel-module-source-580.159.04.tar.xz 22255440 BLAKE2B b293f941ead331674b235a6d75961b13eb488c306e22a2afb50cfaa965e65fc0768cb9642fc82a16ce1b6383ccf7c252b729ec305a39db3dec38284e4fb7191b SHA512 f0ef07705510aad25344b51129c2a62d6a36a0eac02e5a60b36dc47c88cfb91d875e0298369c3bca97208deccd3f2f0d1a595abf9e01b6433bf194c778f134e9
-DIST NVIDIA-kernel-module-source-590.48.01.tar.xz 22530000 BLAKE2B eae57ceccc78f0730fc4962b20f08f270bd21960e84ad5985433590e5229403a74bfc2518540f9e2ef07d319d9cb2288edfbe0d5f7a27cc7e0903aa61fed388c SHA512 6fe32d5d1a84df0baeaaecd4a847ba73a89bcd1b51d5f9c7525efd2af891f6d5512c1ac97c8b766ba1d1103312c53e5406653589e22684df9260fd75977591a6
-DIST NVIDIA-kernel-module-source-595.71.05.tar.xz 23778996 BLAKE2B 45361ac9830c16c748688545501124647859c247c5cf7dc6ab4508fe614425715c7299cf88728a3da4111c7fbf6f9eab8a1c77b039ebd868dc7a6367b5e97ff8 SHA512 dc417fd79ac6fa388e8c66ecb55e8207ddf19f4f98b5a04a574aad9a100753e9930e29cae08c4d36721cf56863b107ace4695207c6c91f4a831ebc3f0108e1cf
-DIST NVIDIA-kernel-module-source-610.43.02.tar.xz 26167288 BLAKE2B e87b46ff8f33cbe1262cd230012d0f2694194a7c16824a671817d212e1b93c8b3a31d35db75f9b0399693c1f2b6030b99f2f0af70d9c83c3ab9cd1c24e7d90f8 SHA512 a7bead484b396ffb34468d3d94dd87c9d9133a084b0219a275516d9c726a47550b66eb5f80ab71b04db27614c411f102402f66714d8a933fe234c2b3a2776b5e
-DIST nvidia-installer-495.46.tar.bz2 147041 BLAKE2B d54331a315afb1588507ed03058394a347be996c80d1531251d53d20a8c212e4ea53d67315649aa8991d6883914296e80cc47ece5fe1093e48ed0e119f2a6704 SHA512 1885289cc1cdc1e292658ec0e48a3dfede7ce7cd5a018a54e13e27a08ec9e3c8da1750dd7a4cd79379943e2bba86ffb5d864fd9eca9c2839ba83be2ea621e0ac
-DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a SHA512 171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb
-DIST nvidia-installer-535.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a
-DIST nvidia-installer-550.163.01.tar.bz2 155861 BLAKE2B 662064b3ceb4aadebde419057d85c6b4e28b91944bd5bab241bcba9b3c9a105e507afc7651b17fff01e1cccb78d66fdc6789597ce059f882a6f322b08f28e832 SHA512 f8df7a0eccdecb7d4d4f47d96050cdbefff91289b29550b061358614845648451d4b161d9bdbfbf5a9a87ce650d272cb3b795e6d2ed4d0274844a56db097bd15
-DIST nvidia-installer-555.58.02.tar.bz2 158422 BLAKE2B 0f8da2790dcc398859ce7b2e4278b490542b5672e8005fe98b7ba095c8ff62fe3639907755630658f7241097e18f3e92196b1fba0e430da6bf697e8bbe9dc520 SHA512 ef1ce8ef4997858a053c4b6939496510605b0a5d2f1c93ab80f2002fabeae2333da2e877aeb665936ce618fdfed4a6b9a888f6426fd1fda289e6793febbedb37
-DIST nvidia-installer-560.35.03.tar.bz2 168904 BLAKE2B 81a1e4070cc36688c8a2e768c304cad4d680f56757addf137c0544aed93345a4587a65e8df5212f1853e1d4f5a882c457866818157f303148603d50a7152f21d SHA512 685cec94e01a0a0282bd013896a1a05d1a061226863431d39bafd31d78a3224879eceed24da5da65f2a6757faef40b999aad624cdbc86de53674d7595b4c763a
-DIST nvidia-installer-565.77.tar.bz2 168880 BLAKE2B 646183592cf837d9d1521cd9e539d7009289dbfb4c13c894ee94f2613df4a7fab9fa26a9e4e88c16193052c15133f6d227719138d24eb7aae7af694fefdcc582 SHA512 e73d6215f5a3c2984b99232ca93fa8e795a59f559f207c8d4999a5ba48dbaf9082f74fa6304a0d6f186d4c4d9d6f67a991f0dde0a548f05149526759c903a16e
-DIST nvidia-installer-570.211.01.tar.bz2 169330 BLAKE2B 100cdb3e0cccb19e3bbf69d4289d079a64cbca95fc20f4d48179190b5e61cfdcbfeb5b95c381c70824c185975356a70af4c89efb53ca0cbc5c61fc95d974ca77 SHA512 90efcd442feacd7f9d9bf25fddb77c521b2e7c79063703c320ce2bbd50a5cce950b0937ec926e89081634c6606c18861efda0e6288e24fab5ee31cd5d52d211f
-DIST nvidia-installer-575.64.05.tar.bz2 169369 BLAKE2B ccff48e41296d6682c72f3d25eb7d7816dc83b4c6f279a4f5213db141353772d78d8ff3e23f2fb21ff8ce81a326443d12c3f05792fe1971b1fb54da764140065 SHA512 5033e40762b499e9b04a080942656a0c9b49e8f56c4a8236da38a587f8e13b3935f75e8c8dbdffbd0ef895c537a69f51ce6df7e6beca7be583aab09ed62faf09
-DIST nvidia-installer-580.159.03.tar.bz2 169966 BLAKE2B 9f723b18796de0c34eef130e5bd854f55d310351fc13891041d01a55a0b79d2a69e4b36be9dc9d8216442819399b93ab7f4f2581a66ded2de2994b1a4e132018 SHA512 3da64f9039466b95910bc165473d5f6e39bd48ac5c8aef6ab3b196f6054cc177e2182aebc532a285f076b2d277982346cedcd952c3a5487a617bc85db2b351f5
-DIST nvidia-installer-580.159.04.tar.bz2 169644 BLAKE2B f01f9da4e7e3ed6524f586706a7167746c88e7033d61d7ee459408748c0eaf75b236667e7177baae282c1e4ac0896abe9ab2e6796ba2638b2db6ad074646eff0 SHA512 00d11f80b8f410d8110a8450ea56a653a5a223bb1e728382e63312121d3926985c815019dc9cd0659ed97ce824f0c29d67d1188b41f1a3120e25881f1403ddce
-DIST nvidia-installer-590.48.01.tar.bz2 170826 BLAKE2B 450bd298e6c574ae6dc085714c130984058f6e606c3de628c5adeefddbfde3bf2e025b1e422948311e9e028cfbc6e8d4c68a22a10d30a9a28466f3105aa7c13c SHA512 4c776ad602594a5d2ced2570fd26b51e5fdf5b7613c43263a7f647a5d3d550c6c35960a6cd8884766a71f0b34c397e7d8bd0507b84043cbbc1c04a82ec067932
-DIST nvidia-installer-595.71.05.tar.bz2 172399 BLAKE2B fda7ec136805aa7e481162af171206c3e6dd8c641fc60910f1336895b87ec1e4ab7469456d3fe96ec18f763df3ab158e7c707edb89833a628fe24e69ad97080a SHA512 08ebd56a639cad608db8a82cccfc386cad4f2dadb7a01a7318f5cd70b0428e0d62fc51cf6c8fef16d567c226f5cc83c8905fb3bc36404abbc5a6bf36c0b26403
-DIST nvidia-installer-610.43.02.tar.bz2 171883 BLAKE2B 7de020021d83b8283c1603bd7351113ff11444db7922593d956589473bef46a0b408208b3aabdb08314880310637c3b0149d30b7547c9973d2fd806fa3d7b946 SHA512 26e43710517192883f41586fbd3806e71e5648bd3f9a531d27d3a4ffb114ee803940d6e1e05d86eb853f69217c4a158d00dc4b7b410828e25856c4ade5ef5bad
-DIST nvidia-modprobe-495.46.tar.bz2 38386 BLAKE2B e278659a1d6581ca7f9bf04aab43241cd14d45ce5001ecf567dd7b7b2134f10820d208c91a4b1803b3b871e36a48ec6ee53c93501b6655a99a185a4a336f19c7 SHA512 d01097088b0372ee3151413b0cf5685514e1e76e75f4b4a66bb9600da61ccb1686bd09c6daf5afd3b7cd2a6c09648041366f57a78990650f84bb57c105c8321a
-DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f SHA512 25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f
-DIST nvidia-modprobe-535.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66
-DIST nvidia-modprobe-550.163.01.tar.bz2 41448 BLAKE2B 23e567d612e669ec6ae9f389651c9e1cebe7ba59ee95bb5961e5071952697860df77f02026040e29135338eb7cf96bba0015b3d94548297235fb5214f35bec48 SHA512 0f5b59468a6e5e95dcdef1d938ea78f4ce09a0c9784e3c70d83f1c3b1bd52e8055b6b332147316445c3be714abab3629320d6117878d50aa7a2d7d2d9b9b6485
-DIST nvidia-modprobe-555.58.02.tar.bz2 41721 BLAKE2B 01e83365c1fa1d5ce172f31d180e0735e5d74a49e59c7fdec78ad26f1f70efa981f2a2429e1c815582d3200defe09389d9b84a2a8e4c2f46e1d4528779eb4305 SHA512 5fabde2e8bf534cf6ec8dafe7318c76ef560f336bdb3343d71b784713076a05d063c2e65eb8f965b0776cb02e67f8eed363d8eaea67fd92798d1bd1b74571ec7
-DIST nvidia-modprobe-560.35.03.tar.bz2 41637 BLAKE2B 4a72161e3569af5b53a6372da51d6980ab6a428207db0ef2c20b87a9abe569a136ece0a332954004e24f4381889826e50fce42c0c362c749adcb0152035e8862 SHA512 ed592cfba5512fde34e1d9b3dfcf3463df447202eb99d1d792f87d0a68c73193d141f82835e9272d315f3de9e973e7d9f64b06a9cb1e6485dd7adce3e9c360f0
-DIST nvidia-modprobe-565.77.tar.bz2 41644 BLAKE2B 6eccaf62ba02cd68bb3547266df65cdd6514e925748043ab4089f7b1d6f73d36e6d167293a1bc1c6339ab42cf76ea65e06676180563ad89484bc8d71c64293c5 SHA512 f9cc72d0e07e53541cb3eb6811d4fc6783a82d7a0c6fed2693885fdaa8ea5ff25d6f63a72e99e7fae9fc0e2b337bb1a28cb935768ed283fe9d8f62e2eea374f1
-DIST nvidia-modprobe-570.211.01.tar.bz2 41631 BLAKE2B 953113337b742ea246bf24a47cbe679f03d89ecfa48a655f179b0913dd7d9c1742f4b1bd765c4d4263c9d45c352de87bff9f0a5a2c3aa48c86f221177cd5d1fb SHA512 c1bbba303b587f18e824cd2dd9a74341d5a03ee56c6adff67bb33c4f65ed16742f094dca9457a04d68b676c3671756e47d996090523827f42c8780329988e3fb
-DIST nvidia-modprobe-575.64.05.tar.bz2 41721 BLAKE2B 9b8a6dda556389abe0c2bd81ed3edfa8142f773832b7d955385119b5fd525cbcfd3c01401f471ccf5dc7ce61100ba6a3c4504b8eaf86ea5b378d20a6046ff7ce SHA512 221a0469a974c7db3f3c489f2637b6eef68e614c5ccd3e94c8cbe1b8841a6e9a4f0e2f05642b6c9f7113efe3c211076ac31578e9587df26b76148a198d21cd49
-DIST nvidia-modprobe-580.159.03.tar.bz2 41685 BLAKE2B b8df703c509987538e979ed1d65131004dfd2eea3b4d4a9a98c2784a13523f8ea55fda24fb9d3f04a1bcad04d8726ffceb4f5abe9eb19f50fee5c91f8f1db99c SHA512 09d4d1b0474bb35a0e64f6a6b550096b7e5c18bc1746300211d829bc6ef503b301b2ca8909057cbfcd8585a9969ea807ab746bc253ccf2f5f2cc5ec263a989d6
-DIST nvidia-modprobe-580.159.04.tar.bz2 41688 BLAKE2B 4600a5ec3428d0340e4268c7b191c5cc872680e3b7cfb2d3886c05b3d9706295b276cea6a957bc5263a21d7e9a60a18f8986efa1f88a9b13d9f22c3b2534bcff SHA512 9577d291a23e8044a1d8caedd5c9a7d900698b7d53f9a2373c9e38a313be0846d7e4965fdecb081d18144f01216159c4bcae7c0741d3210c7e9d8b0f42d91099
-DIST nvidia-modprobe-590.48.01.tar.bz2 41660 BLAKE2B 0780a1aa529d95323b37115efa529dab030cbea589a03ddc70460f4176e7aa88388401ce8508a093a2e9a0ad406589e9e94ff0391021307e879cbcacec8b6759 SHA512 805a70d5012fbc26af3787104e39b3626b2ed7d53a4989365d2fbf6926daf817eec1dc6b7cd50dfbfe29bbd71569ac3095f0a37cad2199994dbdaa76720d8fb0
-DIST nvidia-modprobe-595.71.05.tar.bz2 41724 BLAKE2B 23a0fd55e50106341a4196af7bca568c96555c6b0583ae41b860ac73ed4cd6d5222709a88768662fd18a2e4f7686ff092e5603497af71ea7dcbebaf50235c54e SHA512 97fa81a96884f4c2fa6ecdb86d513121b00e8bc955b9bea0947c8ab34271a016458e405df451fb6340e4b8243572980b5e7a4f24af2775310d3cae35a1bcee0b
-DIST nvidia-modprobe-610.43.02.tar.bz2 41751 BLAKE2B 2fc6e0077633acba025ad9728f002f283dcaa4b3ff2802e63e53073f3fd54f4e955d62bea5e0677e9f8a4eef771f0bb35bc4d728e96eb0356eb335ecb9e0c9e5 SHA512 c94f4c820744c183b8584e1b74e2e6f50c752fde52ab133055999c1eedc5096e0d2788ee1bd7476b959c243df1ff6ebb5fae5c56e92f87b99573f2e52ec75ed5
-DIST nvidia-persistenced-495.46.tar.bz2 46272 BLAKE2B d6f6147bdef59b1c56df6a313cf6bc00fd36b722b2c50d692a11d997e369daf3c84e20c3bca6bf4d11a4db8b1e3a37876837da85592b6d339253cc1091d6e194 SHA512 ed2b37803985d02df20ce0f2d5310393613c94310db934d4990ecde6eb84345104c42564937bdace5686c8eebd3154d84c0c7b28bf09016799b98621ca52f89b
-DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982 SHA512 e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe
-DIST nvidia-persistenced-535.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1
-DIST nvidia-persistenced-550.163.01.tar.bz2 61450 BLAKE2B 1a11cb89981b88f8d14558227d9493f1f8a81ccb5502002c436e9311a38c9c8fe0402c65eac1517a2893985eec07699b2e7bc7a81aa14dc0d52198ac85a2cd1b SHA512 f17dbcafa917b5b450f7665f98fd24f06ad99e6bcd1fcf42ef95aa9337b55561b7b16eaad8fa408110d08ee7e6d812444792cccbb9c92865099891832da779ce
-DIST nvidia-persistenced-555.58.02.tar.bz2 49877 BLAKE2B 8423f34ba517ecfbb782a648ca07f99f161cd153400bfa32e04ab98e8f72cea2afa60d11d2e05e1f31ce21ed33899cc6945fa56d6e313ed8af67aebf93467879 SHA512 16f7884a53007226206761e4d9fed8d672c6ca31ca59c70e8931bcd0d772d77f0b0078071505ab1bc198f713a94a12f132b7e3fee054f859db9ca6fe25404117
-DIST nvidia-persistenced-560.35.03.tar.bz2 49873 BLAKE2B 5b19e8bef623d3950948fcf2a57c097e451c846e1d3013344ce8f10b91e57d3f031c460a9a9e4d94940ed3035d4d5836e5ff672d25f0f132ea915eeac62b94de SHA512 65c12503f8b457de704c58e7f066c1938645d88cc8b986a2fa993dcc5c60f45b72b22950df9419577c37e815e65b6e3749d4ce551457ac1bd868e24093074fbe
-DIST nvidia-persistenced-565.77.tar.bz2 49679 BLAKE2B 42cb002e207274b4e3100879d3a1dfb7f458f600d8ae82637771d38a0d06998cbc53061df1e84fec26d2a1b713a033bb96ae07e4a30307a7c3a9965033024682 SHA512 7268953c5e17891498bf75fd9b3fecdf27eaa1e9488eb390b939a08cab04568b1be5363a8cd788aa4491315ca0285a6edbde8a661a7fa1a2ad7ae7bcf5ff0e95
-DIST nvidia-persistenced-570.211.01.tar.bz2 61779 BLAKE2B 02ac6f53eb4c053ca894f79b49d2a4b1b1f8e9f1a349053794542e72112bf0fab87aa2ee317d486758aaf77811c929d0aa8fbbcef9de8cc59836445ef845cb7d SHA512 5cb8feb56bf245e8e51e65d3d6d31f2b588e7b84ca29330e564d3c27ab37ceb67df0f80f8b37dfafb49a9fe8d7fef6b26d6334c6403902737298e8f3b23d1cb3
-DIST nvidia-persistenced-575.64.05.tar.bz2 61961 BLAKE2B fa40aea873a30e7c500c2abe85a0ed7e278e4e1cceb2be9fe370752b3e44bccfd94e15e42df2f10237bc02015545b5b31ecdfbfd84b4f0400d56484a69ed96b8 SHA512 77a6fe5665bee6225433e383fe3016a667241e0772223d978ad42df40c8bc77207185c47961859ca9d334bebc7422d1a825ddf58e77d4caa630fcee1ecc5fa54
-DIST nvidia-persistenced-580.159.03.tar.bz2 62211 BLAKE2B be8d6afa3cc3439ce1ff84b4f9100c81247e75572e15f12882f65763497628427b0ccc7b460b95b5c287d9b5170f1917989450277b5d33b1f221745806d4d3e4 SHA512 e81b6eeea182fea9b041d6e7e205332801926c810efd0c32cacbdb23a1d949ac127cb6646e9ac6119fde0a270a882ad3937b79fe0cf5e1cecb342d02e3ffd016
-DIST nvidia-persistenced-580.159.04.tar.bz2 62225 BLAKE2B 2d3b4585c9fa0a9b367c73c204f5350088971690fe98019840405645fc90020c6c1a6e985049b191df796f07784604e97337ef9c39311554cfb05353c1429204 SHA512 057537c1641ef3a4d9f594371ee01c4a0fe821561969cd5c1557bdd8c6b4319aaee02cf6bc583f20e47102ecb8fed99666269c5398e31d17024aa0a299505830
-DIST nvidia-persistenced-590.48.01.tar.bz2 62193 BLAKE2B e6f03ce2f24f1ddc6b1dc9b7a8dd22de4541d5ec82f85c58943cf48f295e7f77555765b01edcce1c7f5ba67580c51273de8b8200d522c49e2321cffcfc8aeb6b SHA512 960f37355e58da20af92f0f0df091709623e32d9ef4eaba34d1f6b52f71227ac7c3a7f84aec64460952fa32986672f9373774ab1e65149ed426c59be47d7f2d8
-DIST nvidia-persistenced-595.71.05.tar.bz2 62538 BLAKE2B ebf86357c81689d553d0f1f8a602932ec466781f81402a9bcfd1d4155de6ceaa795dec0ae0b9937b3e02ba2605cc11849bad36847df30aae673fbccb52bc2e3a SHA512 a3fa79468d7b3e8eccfab4f52a6e9240e3d65dec9454a10d350f45e5c27781922bc7ceffcbe6d40d9cf63694d84b4a7678c1f1268b72b821f08d22bbd05f7a78
-DIST nvidia-persistenced-610.43.02.tar.bz2 63333 BLAKE2B 5b844724f4eb06b23b4844915541f1ee9564d7a377801fdfcbec56b5fb2411b93a526f89a62057fb645d9cb9a45d0ad62fe72353dea818fc2259fec6fbcfed92 SHA512 63075e7ad5f7bd99ccbdc5f83044e977a5856a2a0e27c8342f15a2163c47d70378ddcca7a97641ac6cc43a13595a6a7c0cbb8bc610b4ca99e1c4592520482d19
-DIST nvidia-settings-495.46.tar.bz2 1062670 BLAKE2B 0be63256dca858d3ecdf2f0e821299498db815af37abe2eec325453fcd24416e28db4f485f4255bce1d1667fdd91bfd9fcf39517312892be3496ebe25e098b8f SHA512 9ec633d571974dd3899a6cd32b40a0d6dd5987653c561554c58d125f9301a6e2ba4035002d782db7313ec043953a3782e97704c3b463940d5a1ae48618b98904
-DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f SHA512 9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd
-DIST nvidia-settings-535.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8
-DIST nvidia-settings-550.163.01.tar.bz2 1099317 BLAKE2B 25419c1796deeea238b3e44fd8d648a8627272565be40cb0745132cef1c16e0c422242a1e6369745d577e674a68bf9dfc3c009e281a84ba58db5429d97ac9cff SHA512 5306ab05f284ba06852d7c96ff62ded7b8b615d3a002009cd5d781fdad716db37f53d1c8a43337ada60d524b4f7d183d98ad2673f40a5ca1ca4c5112bb913e74
-DIST nvidia-settings-555.58.02.tar.bz2 1100319 BLAKE2B eca06045a50d7d5963fa4f1fe9c9e4e1e693be392b42ccc069893443734a1725046803c8bd0ea06ff9b256f26b99184196a805c602710ead599e9cdb8ab1a223 SHA512 b86c4192f2b6cc5fae57bfe627b6ada0a9c936e90cd898baa448140627c7e9cdf3368021da2a94ec699ac1f5a08bb462766a573a028f81194361b9c642a1253c
-DIST nvidia-settings-560.35.03.tar.bz2 1115724 BLAKE2B 937a3ea634e9bbc4b76f6c50fd20108c783a941e021a3fe1a9fd3288248fe14069f4e7b147cb3666e1d6bab91be2c0305daaeee57d338b9af546cefc79725be1 SHA512 7ed656ebe35ce55a0064dae57fdcc5c3eecc3c6db71bfc66f001dd60c4db764c6a2565af29f84ca1246280fbd573d8da4d09e21444b71210cedea5d1462b85f0
-DIST nvidia-settings-565.77.tar.bz2 1119070 BLAKE2B 74f3a0a68a9bf10d7a8cd96a5db9b6e11d70073de2f1e8494f5d40ed79fb88895f158797b3b70bc0656c9d65d9920f033ed5aa1f3c95f71cbfcf04a118478d9c SHA512 100560edbf1575a365e09394409333bbfc28bdd03761b13b89b6d052e195f65f94c9e47c9f0588f40a0f6d375a8e16b543ca84f82cc1a5a76ec37ea1941fae1f
-DIST nvidia-settings-570.211.01.tar.bz2 1123957 BLAKE2B 7355319d29f96aeeada3cd1ffd08b053fa76a5f2f0dd35fac383ff5c1ffd4abba95d0a7f0f421fc4b74a11f2c94352c9e2db363034e5361a0d18017a321261f2 SHA512 8f29c02597eedd934531e703c617aaa7504effe836257de07c664145e07690b0b34b8c893c01e9e561bf90cb3c15b1b6c116e2a7a88ea1a733f2872490c10441
-DIST nvidia-settings-575.64.05.tar.bz2 1127714 BLAKE2B 935649b61361ff9b05f34ba9770704eb945134199edbb17d2581f74188f8b122009b6d4309b225c375fcb80f26fb6a82c9528bf22e5658c5856d1752bee309bb SHA512 3e3df016f1f6b34a802d872c67a9f1c0db6d38c8265343eb607c71c59bf5597c7378800641b1152af404ebc0515f8f79eff1ee0e81b87b84ff7a237c176526f6
-DIST nvidia-settings-580.159.03.tar.bz2 1133196 BLAKE2B c36b3e8333eb325b74152a6fbb3f5e5d001b306ea1c6cf9ed9b8c61479f4d0d72b8fca4b7372cef1b66f06b94e7d20e5b69da61a2e0b16f918df504607a3e7dd SHA512 e50ff8850e4405ea7ad8f5725b4787b3c6166b90585b098270e277c45625f4540ae7ef00a460f1eb6da694fbfdd29fb9ec9ad82c797931106db5dfee40a3edd0
-DIST nvidia-settings-580.159.04.tar.bz2 1133196 BLAKE2B ebe947f523301a612f3bc87c9d38659052158d6e421339e12a879b6e854f0778a6166b91e71d0e4638961d63eb983e0bd899b9cecc45433b51bd04d010c38319 SHA512 edb4def04272bc663a47ad117e67a91f0b6719bb3a8b6d0c85758275767b945bf430ea025828c9fd121550546f65d253b5c54792c2151090b6ad0e7ae9d02c75
-DIST nvidia-settings-590.48.01.tar.bz2 1134292 BLAKE2B 901a3bad03d4eaca3f78afc154539f72aa882ae19052b43b6bfb267a3be1ded4af607fbc05d1a379a8038a22fa5a9c19dd6c393f3436cda97cc7049820f1ec57 SHA512 c82737dc8894a35b7e87afd99fb98c0a4093ec8fd48590cc8e09154d55f948ceaf48fff31c7d015adcceab31a00c5ec4334fe1e90aec94c4bb076118b789dd4c
-DIST nvidia-settings-595.71.05.tar.bz2 1136100 BLAKE2B 8b0af1e7a81b63042c762794c2f8f3094b40c4a9fc845dae9c39b63c02c613ce6893cb2451806ba775df8128b498259435ad49dd4ea27dafccf0c6c7bfcfda6c SHA512 8f7286863e1306cb50860f83aca046bf4743d3c8c72ddb9e6461e240bb741aa7c03e795081d821808832923ba0e736a4676cf137c84adc8ea770c6d0a28d8dc5
-DIST nvidia-settings-610.43.02.tar.bz2 1138293 BLAKE2B 4d0931334d14b60ed8cf113d1a74d321c12edd1fb2f62c23683f392931f7b65779c9539148e20a9e259d4e2f9d6a6fd2249265e93edf81e49bec25291e174d4b SHA512 e4a5a5ba6f5858f786c98d6bca4f416f0fb160beb0a5329b80d5d03378d68d623e69ed0fea29de81a16b7d819c9e57007d2e690b7dc890cccc04b6298c86f9b7
-DIST nvidia-xconfig-495.46.tar.bz2 108955 BLAKE2B 1edd231bc06b66030e56a78b233b72c49ff5f3dc355e13964427b61e95a33a70a16ee1535ae91fbb806079a595eb763d0b3cdfaee7a3498fe617a9596db8da0f SHA512 d467b3f699f9f8794d0d136653620c56ba7b5273f532b7398ee1b5d85edd2ecd6b0cf666b2fc4f375b2ecf08ed19d53097574aa691c967a22cb2c9d1f665fde6
-DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da SHA512 4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae
-DIST nvidia-xconfig-535.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d
-DIST nvidia-xconfig-550.163.01.tar.bz2 111149 BLAKE2B d19ef0427e3432798e674dc66447090e8fb8fcb549ebe27aaee19aa38294cf178e175a067b2da5313342c93ea2aebef35861d05cc4cc0ee2c3eae955b3ddbbb3 SHA512 35f95d85928c82bc5de8e462ca5e90a6d8fe03e5b5367b9cdaadddc1e956f0d26b6dc42e716ae7c88512afdfb98cc841fe9b22846f6d6acc578c5dba4d0a16e1
-DIST nvidia-xconfig-555.58.02.tar.bz2 111182 BLAKE2B f51275158f02687e54e856f3f7e9f92b01c6c7aba423e5384cf3d4e692dc6d3fdc73ed0b25f26fb1206dc1219b6e0bffd54767e0f0f3b4b3a63875113d55236f SHA512 673bea01fe39687ba34e19b743c61898d2ed8f34710c3a1afc8f2e71e0903950f253408b0fcf0b6306a98ddc2438cacd92fafd1d1662136b18058017dfb783c4
-DIST nvidia-xconfig-560.35.03.tar.bz2 111203 BLAKE2B 347d4f80b9a16da54fbd7116d0ceafbb15b3b6e78aa1640b8505674b9ffc32056197925b67506d2cbb5d130054944c13246a592d9021f0bb2410ee6e8216df4e SHA512 1a68729b8aa1d3518b43392d4f9af163e2a084c635c08343b25ce761f835801aad203778fd03564ba050ad949a9d2df84fba4c8a48bb1a7afea5e72eb364eb58
-DIST nvidia-xconfig-565.77.tar.bz2 111235 BLAKE2B 75cc8a5ed9248f044159482940e6d4eead7b4cb8321b15883ce0c97230c85b260cacdd74cdad45ee8a8248271e081ae94623d195151840b07c8f747eea33a0e1 SHA512 641ca934b79d2a597be56309dfab968ab1b908bfc346c33fe69d9c13c56636e643388b6c1d83918bcc3fda70ecc2a34d6a305422539130424eafd973fc94c41e
-DIST nvidia-xconfig-570.211.01.tar.bz2 111263 BLAKE2B 9d6e7e973156d91ce1a213a95aa31269d811024ebf358dfad42c0771cafc6c4f2d4257994d67e67ac637a1107527511d8f8219446e9a57560bab8ba7d4d2684c SHA512 8e8be1e95998fde590bdb5c0246764a426d623c8bf9e705e7bff649f1daebb86726cead4add570622e34aea9a38b697d31d11d7a2fc741dd91af2ccaaa024cd1
-DIST nvidia-xconfig-575.64.05.tar.bz2 111165 BLAKE2B 87b272e12b63e6d4a393b76e4ec4c47d1433caee1e73ab50c3da8b1b3cb4ece0d0adad3e6496df4a81c0efd8aff67f8afa5de192df24cbe4ae7f8a4b86d674ac SHA512 00dfe0cbf0fb1131391a38b2d1bd95e52ac90b77cf19b76cb6cd6d0a3ef83c5020ff5dd8e08f8d424a7b32338e7752675e1f700392df7efd2d9b96bbc8072541
-DIST nvidia-xconfig-580.159.03.tar.bz2 111535 BLAKE2B 5ae167c6aae8596e89f1b254ed8cc4c21d20ca4d1ac4d238c79d64458324d5910e9d66b29d8079d9eaa771b2cdc15af3685ac224cf9d1f69dd471838edff783c SHA512 2d34928a5b5f419090742a6592e8c07bbcfc05b037af125c0f20d1267b8685e5a0d4bd8a039192c158579c39c08ac2c49e362d170009db02ba11835f1d8268d1
-DIST nvidia-xconfig-580.159.04.tar.bz2 111540 BLAKE2B 95cfd0c4af5e2d171e39c1e53e225ec92cf5ac9ce3c9953c9e558f08a67e314030f5a2b4618706ffd6e598f314eab45b4d3087a8896222dcbf6c1a4b73a2debb SHA512 878a37240de42baf2f9a453cb3f5aaf0a6029cb1f00b3b1567c9e25175a2e1118b5266965163296eba0b39a9e01137b9d815ed29d4dd67f1ee43d5905b373d98
-DIST nvidia-xconfig-590.48.01.tar.bz2 110986 BLAKE2B 6ec7f5eee2ca4c4a96f0607ac94ec3d491137a0e8750a6ae4c46feddced61f7a8b1eb77aa333008a69ceab7ad071671b7449bb2ed9ba285359fd1cb991a9c9b2 SHA512 e85dbd9ba5e056fb6f8a4618df35fa1692d0037e50122a5659ebda043a9b380fdf72aaa56f82b64e5525c36f429ed9bbd7f0e319c608f7c50355d47ab3b24077
-DIST nvidia-xconfig-595.71.05.tar.bz2 111096 BLAKE2B 8b6f7e043319577f0b21780cc88ce189b99123ee079a4e5188e7c12d7d2859776f5d47efc1625ba70542df300ba88bf555e8d4638816322966d04c9a316b5a56 SHA512 bf705b1916633d8dfd4742d94358607901bc843f1280954391d9ee7be98da36f0f895811057b8666f59ab3b850bc6e5bb2bf80a88923827497cf0b5a852db6fa
-DIST nvidia-xconfig-610.43.02.tar.bz2 111123 BLAKE2B 5ade2f6525b4fc847a28c6d853dd5d829c434ed892cda9060ddb6f66566e440bc11d0f01a2930016000b8f1861bcd5be5c9ca168d4d7ecb91fdfb46e61b2c98f SHA512 c8975ea34bcff52fd19973c28b3c215e847567e0d153ca2dc3b867b55c3bb9325a52a7802e77986f65a0472cd0ac501b872bf2ed05ca9543413ef8dc26af2b2c
diff --git a/x11-drivers/nvidia-drivers/files/95-nvidia-settings-r1 b/x11-drivers/nvidia-drivers/files/95-nvidia-settings-r1
deleted file mode 100644
index 48c41d8aad0d..000000000000
--- a/x11-drivers/nvidia-drivers/files/95-nvidia-settings-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/nvidia-settings --load-config-only
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-390.conf b/x11-drivers/nvidia-drivers/files/nvidia-390.conf
deleted file mode 100644
index c873f00c462c..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-390.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-# NVIDIA drivers options
-# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information.
-
-# nvidia-drivers and nouveau cannot be used at same time.
-# Comment out the following line if you wish to allow nouveau.
-blacklist nouveau
-
-# !!! Security Warning !!!
-# Do not change the DeviceFile options unless you know what you are doing.
-# Only add trusted users to the 'video' group, these users may be able to
-# crash, compromise, or irreparably damage the machine.
-options nvidia \
- NVreg_DeviceFileGID=@VIDEOGID@ \
- NVreg_DeviceFileMode=432 \
- NVreg_DeviceFileUID=0 \
- NVreg_ModifyDeviceFiles=1
-
-# Should be no need to touch anything below.
-alias char-major-195 nvidia
-alias /dev/nvidiactl char-major-195
-remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-470.conf b/x11-drivers/nvidia-drivers/files/nvidia-470.conf
deleted file mode 100644
index 977ef8034929..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-470.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-# NVIDIA drivers options
-# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information.
-
-# nvidia-drivers and nouveau cannot be used at same time.
-# Comment out the following line if you wish to allow nouveau.
-blacklist nouveau
-
-# Kernel Mode Setting (notably needed for EGLStream/Wayland)
-# Enabling may possibly cause issues with SLI and Reverse PRIME.
-#options nvidia-drm modeset=1
-
-# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's
-# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend).
-options nvidia \
- NVreg_PreserveVideoMemoryAllocations=0 \
- NVreg_TemporaryFilePath=/var/tmp
-
-# !!! Security Warning !!!
-# Do not change the DeviceFile options unless you know what you are doing.
-# Only add trusted users to the 'video' group, these users may be able to
-# crash, compromise, or irreparably damage the machine.
-options nvidia \
- NVreg_DeviceFileGID=@VIDEOGID@ \
- NVreg_DeviceFileMode=432 \
- NVreg_DeviceFileUID=0 \
- NVreg_ModifyDeviceFiles=1
-
-# Should be no need to touch anything below.
-alias char-major-195 nvidia
-alias /dev/nvidiactl char-major-195
-remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-545.conf b/x11-drivers/nvidia-drivers/files/nvidia-545.conf
deleted file mode 100644
index 6de5577d5bf9..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-545.conf
+++ /dev/null
@@ -1,38 +0,0 @@
-# NVIDIA drivers options
-# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information.
-
-# nvidia-drivers and nouveau cannot be used at same time.
-# Comment out the following line if you wish to allow nouveau.
-blacklist nouveau
-
-# Kernel Mode Setting (notably needed for fbdev and wayland).
-# Enabling may possibly cause issues with SLI and Reverse PRIME.
-#options nvidia-drm modeset=1
-
-# Enable experimental framebuffer console support (^ requires modeset=1).
-# Replaces efifb or similar once loaded. Note that unloading nvidia modules
-# to, e.g. load a new version, would result in losing console display
-# (emphasis on being experimental, mode switch could cause issues with X).
-#options nvidia-drm fbdev=1
-
-# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's
-# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend),
-# but even then may lead to issues on some setups (keep 0 if in doubt).
-options nvidia \
- NVreg_PreserveVideoMemoryAllocations=0 \
- NVreg_TemporaryFilePath=/var/tmp
-
-# !!! Security Warning !!!
-# Do not change the DeviceFile options unless you know what you are doing.
-# Only add trusted users to the 'video' group, these users may be able to
-# crash, compromise, or irreparably damage the machine.
-options nvidia \
- NVreg_DeviceFileGID=@VIDEOGID@ \
- NVreg_DeviceFileMode=432 \
- NVreg_DeviceFileUID=0 \
- NVreg_ModifyDeviceFiles=1
-
-# Should be no need to touch anything below.
-alias char-major-195 nvidia
-alias /dev/nvidiactl char-major-195
-remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-555.conf b/x11-drivers/nvidia-drivers/files/nvidia-555.conf
deleted file mode 100644
index e0c1b09808f8..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-555.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-# NVIDIA drivers options
-# See /usr/share/doc/nvidia-drivers-*/README.txt* for more information.
-
-# nvidia-drivers and nouveau cannot be used at same time.
-# Comment out the following line if you wish to allow nouveau.
-blacklist nouveau
-
-# Kernel Mode Setting (notably needed for fbdev and wayland).
-# Enabling may possibly cause issues with SLI and Reverse PRIME.
-#options nvidia-drm modeset=1
-
-# Enable experimental framebuffer console support (^ requires modeset=1).
-# Replaces efifb or similar once loaded. Note that unloading nvidia modules
-# to, e.g. load a new version, would result in losing console display
-# (emphasis on being experimental, mode switch could cause issues with X).
-#options nvidia-drm fbdev=1
-
-# Disable use of the GSP firmware which has newly been enabled by default
-# for GPUs that support it (Turing/Ampere+ GPUs, aka GTX 1650+). Not
-# recommended unless experience regressions for which disabling helps.
-# Cannot be disabled if using USE="kernel-open".
-#options nvidia NVreg_EnableGpuFirmware=0
-
-# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's
-# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend).
-options nvidia \
- NVreg_PreserveVideoMemoryAllocations=0 \
- NVreg_TemporaryFilePath=/var/tmp
-
-# !!! Security Warning !!!
-# Do not change the DeviceFile options unless you know what you are doing.
-# Only add trusted users to the 'video' group, these users may be able to
-# crash, compromise, or irreparably damage the machine.
-options nvidia \
- NVreg_DeviceFileGID=@VIDEOGID@ \
- NVreg_DeviceFileMode=432 \
- NVreg_DeviceFileUID=0 \
- NVreg_ModifyDeviceFiles=1
-
-# Should be no need to touch anything below.
-alias char-major-195 nvidia
-alias /dev/nvidiactl char-major-195
-remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15-x86.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15-x86.patch
deleted file mode 100644
index 98eaee949074..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15-x86.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Kernel's makefiles pass -Werror=strict-prototypes which
-can trigger errors depending on compiler defaults.
-https://bugs.gentoo.org/870238
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/377
---- a/kernel/nvidia/nvlink_linux.c
-+++ b/kernel/nvidia/nvlink_linux.c
-@@ -639 +639 @@
--void * NVLINK_API_CALL nvlink_allocLock()
-+void * NVLINK_API_CALL nvlink_allocLock(void)
---- a/kernel/nvidia/os-interface.c
-+++ b/kernel/nvidia/os-interface.c
-@@ -879 +879 @@
--NV_STATUS NV_API_CALL os_flush_cpu_cache()
-+NV_STATUS NV_API_CALL os_flush_cpu_cache(void)
-@@ -886 +886 @@
--NV_STATUS NV_API_CALL os_flush_cpu_cache_all()
-+NV_STATUS NV_API_CALL os_flush_cpu_cache_all(void)
-@@ -944 +944 @@
--void NV_API_CALL os_flush_cpu_write_combine_buffer()
-+void NV_API_CALL os_flush_cpu_write_combine_buffer(void)
-@@ -1073 +1073 @@
--NvU32 NV_API_CALL os_get_cpu_number()
-+NvU32 NV_API_CALL os_get_cpu_number(void)
-@@ -1080 +1080 @@
--NvU32 NV_API_CALL os_get_cpu_count()
-+NvU32 NV_API_CALL os_get_cpu_count(void)
-@@ -1155 +1155 @@
--void NV_API_CALL os_dump_stack()
-+void NV_API_CALL os_dump_stack(void)
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15.patch
deleted file mode 100644
index b08f35894fd4..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-390.154-clang15.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-Kernel's makefiles pass -Werror=strict-prototypes which
-can trigger errors depending on compiler defaults.
-https://bugs.gentoo.org/870238
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/377
---- a/kernel/nvidia/nvlink_linux.c
-+++ b/kernel/nvidia/nvlink_linux.c
-@@ -639 +639 @@
--void * NVLINK_API_CALL nvlink_allocLock()
-+void * NVLINK_API_CALL nvlink_allocLock(void)
---- a/kernel/nvidia/os-interface.c
-+++ b/kernel/nvidia/os-interface.c
-@@ -879 +879 @@
--NV_STATUS NV_API_CALL os_flush_cpu_cache()
-+NV_STATUS NV_API_CALL os_flush_cpu_cache(void)
-@@ -886 +886 @@
--NV_STATUS NV_API_CALL os_flush_cpu_cache_all()
-+NV_STATUS NV_API_CALL os_flush_cpu_cache_all(void)
-@@ -944 +944 @@
--void NV_API_CALL os_flush_cpu_write_combine_buffer()
-+void NV_API_CALL os_flush_cpu_write_combine_buffer(void)
-@@ -1073 +1073 @@
--NvU32 NV_API_CALL os_get_cpu_number()
-+NvU32 NV_API_CALL os_get_cpu_number(void)
-@@ -1080 +1080 @@
--NvU32 NV_API_CALL os_get_cpu_count()
-+NvU32 NV_API_CALL os_get_cpu_count(void)
-@@ -1155 +1155 @@
--void NV_API_CALL os_dump_stack()
-+void NV_API_CALL os_dump_stack(void)
---- a/kernel/nvidia-uvm/uvm8_lock.c
-+++ b/kernel/nvidia-uvm/uvm8_lock.c
-@@ -312 +312 @@
--bool __uvm_thread_check_all_unlocked()
-+bool __uvm_thread_check_all_unlocked(void)
---- a/kernel/nvidia-uvm/uvm8_perf_heuristics.c
-+++ b/kernel/nvidia-uvm/uvm8_perf_heuristics.c
-@@ -29 +29 @@
--NV_STATUS uvm_perf_heuristics_init()
-+NV_STATUS uvm_perf_heuristics_init(void)
-@@ -44 +44 @@
--void uvm_perf_heuristics_exit()
-+void uvm_perf_heuristics_exit(void)
---- a/kernel/nvidia-uvm/uvm8_perf_prefetch.c
-+++ b/kernel/nvidia-uvm/uvm8_perf_prefetch.c
-@@ -462 +462 @@
--NV_STATUS uvm_perf_prefetch_init()
-+NV_STATUS uvm_perf_prefetch_init(void)
-@@ -500 +500 @@
--void uvm_perf_prefetch_exit()
-+void uvm_perf_prefetch_exit(void)
---- a/kernel/nvidia-uvm/uvm8_perf_thrashing.c
-+++ b/kernel/nvidia-uvm/uvm8_perf_thrashing.c
-@@ -1324 +1324 @@
--NV_STATUS uvm_perf_thrashing_init()
-+NV_STATUS uvm_perf_thrashing_init(void)
-@@ -1401 +1401 @@
--void uvm_perf_thrashing_exit()
-+void uvm_perf_thrashing_exit(void)
---- a/kernel/nvidia-uvm/uvm8_procfs.c
-+++ b/kernel/nvidia-uvm/uvm8_procfs.c
-@@ -61 +61 @@
--NV_STATUS uvm_procfs_init()
-+NV_STATUS uvm_procfs_init(void)
-@@ -77 +77 @@
--void uvm_procfs_exit()
-+void uvm_procfs_exit(void)
-@@ -106 +106 @@
--struct proc_dir_entry *uvm_procfs_get_gpu_base_dir()
-+struct proc_dir_entry *uvm_procfs_get_gpu_base_dir(void)
---- a/kernel/nvidia-uvm/uvm8_push.c
-+++ b/kernel/nvidia-uvm/uvm8_push.c
-@@ -103 +103 @@
--bool uvm_push_info_is_tracking_descriptions()
-+bool uvm_push_info_is_tracking_descriptions(void)
---- a/kernel/nvidia-uvm/uvm8_tools.c
-+++ b/kernel/nvidia-uvm/uvm8_tools.c
-@@ -2041 +2041 @@
--void uvm_tools_flush_events()
-+void uvm_tools_flush_events(void)
---- a/kernel/nvidia-uvm/uvm_common.c
-+++ b/kernel/nvidia-uvm/uvm_common.c
-@@ -63 +63 @@
--bool uvm_debug_prints_enabled()
-+bool uvm_debug_prints_enabled(void)
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.141.03-clang15.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.141.03-clang15.patch
deleted file mode 100644
index ab88f2b997c3..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.141.03-clang15.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-Kernel's makefiles pass -Werror=strict-prototypes which
-trigger errors with clang15+
-https://bugs.gentoo.org/870238
---- a/kernel/nvidia/nvlink_linux.c
-+++ b/kernel/nvidia/nvlink_linux.c
-@@ -571 +571 @@
--void * nvlink_allocLock()
-+void * nvlink_allocLock(void)
---- a/kernel/nvidia/os-interface.c
-+++ b/kernel/nvidia/os-interface.c
-@@ -1076 +1076 @@
--NvU32 NV_API_CALL os_get_cpu_number()
-+NvU32 NV_API_CALL os_get_cpu_number(void)
-@@ -1083 +1083 @@
--NvU32 NV_API_CALL os_get_cpu_count()
-+NvU32 NV_API_CALL os_get_cpu_count(void)
-@@ -1136 +1136 @@
--void NV_API_CALL os_dump_stack()
-+void NV_API_CALL os_dump_stack(void)
---- a/kernel/nvidia-uvm/uvm_common.c
-+++ b/kernel/nvidia-uvm/uvm_common.c
-@@ -37 +37 @@
--bool uvm_debug_prints_enabled()
-+bool uvm_debug_prints_enabled(void)
---- a/kernel/nvidia-uvm/uvm_gpu_access_counters.c
-+++ b/kernel/nvidia-uvm/uvm_gpu_access_counters.c
-@@ -1527 +1527 @@
--NV_STATUS uvm_perf_access_counters_init()
-+NV_STATUS uvm_perf_access_counters_init(void)
-@@ -1538 +1538 @@
--void uvm_perf_access_counters_exit()
-+void uvm_perf_access_counters_exit(void)
---- a/kernel/nvidia-uvm/uvm_lock.c
-+++ b/kernel/nvidia-uvm/uvm_lock.c
-@@ -337 +337 @@
--bool __uvm_thread_check_all_unlocked()
-+bool __uvm_thread_check_all_unlocked(void)
---- a/kernel/nvidia-uvm/uvm_migrate.c
-+++ b/kernel/nvidia-uvm/uvm_migrate.c
-@@ -795 +795 @@
--NV_STATUS uvm_migrate_init()
-+NV_STATUS uvm_migrate_init(void)
-@@ -821 +821 @@
--void uvm_migrate_exit()
-+void uvm_migrate_exit(void)
---- a/kernel/nvidia-uvm/uvm_migrate_pageable.c
-+++ b/kernel/nvidia-uvm/uvm_migrate_pageable.c
-@@ -979 +979 @@
--NV_STATUS uvm_migrate_pageable_init()
-+NV_STATUS uvm_migrate_pageable_init(void)
-@@ -988 +988 @@
--void uvm_migrate_pageable_exit()
-+void uvm_migrate_pageable_exit(void)
---- a/kernel/nvidia-uvm/uvm_perf_heuristics.c
-+++ b/kernel/nvidia-uvm/uvm_perf_heuristics.c
-@@ -31 +31 @@
--NV_STATUS uvm_perf_heuristics_init()
-+NV_STATUS uvm_perf_heuristics_init(void)
-@@ -50 +50 @@
--void uvm_perf_heuristics_exit()
-+void uvm_perf_heuristics_exit(void)
---- a/kernel/nvidia-uvm/uvm_perf_prefetch.c
-+++ b/kernel/nvidia-uvm/uvm_perf_prefetch.c
-@@ -463 +463 @@
--NV_STATUS uvm_perf_prefetch_init()
-+NV_STATUS uvm_perf_prefetch_init(void)
-@@ -501 +501 @@
--void uvm_perf_prefetch_exit()
-+void uvm_perf_prefetch_exit(void)
---- a/kernel/nvidia-uvm/uvm_perf_thrashing.c
-+++ b/kernel/nvidia-uvm/uvm_perf_thrashing.c
-@@ -1955 +1955 @@
--NV_STATUS uvm_perf_thrashing_init()
-+NV_STATUS uvm_perf_thrashing_init(void)
-@@ -2014 +2014 @@
--void uvm_perf_thrashing_exit()
-+void uvm_perf_thrashing_exit(void)
---- a/kernel/nvidia-uvm/uvm_procfs.c
-+++ b/kernel/nvidia-uvm/uvm_procfs.c
-@@ -49 +49 @@
--NV_STATUS uvm_procfs_init()
-+NV_STATUS uvm_procfs_init(void)
-@@ -69 +69 @@
--void uvm_procfs_exit()
-+void uvm_procfs_exit(void)
-@@ -98 +98 @@
--struct proc_dir_entry *uvm_procfs_get_gpu_base_dir()
-+struct proc_dir_entry *uvm_procfs_get_gpu_base_dir(void)
-@@ -103 +103 @@
--struct proc_dir_entry *uvm_procfs_get_cpu_base_dir()
-+struct proc_dir_entry *uvm_procfs_get_cpu_base_dir(void)
---- a/kernel/nvidia-uvm/uvm_push.c
-+++ b/kernel/nvidia-uvm/uvm_push.c
-@@ -245 +245 @@
--bool uvm_push_info_is_tracking_descriptions()
-+bool uvm_push_info_is_tracking_descriptions(void)
-@@ -250 +250 @@
--bool uvm_push_info_is_tracking_acquires()
-+bool uvm_push_info_is_tracking_acquires(void)
---- a/kernel/nvidia-uvm/uvm_thread_context.c
-+++ b/kernel/nvidia-uvm/uvm_thread_context.c
-@@ -104 +104 @@
--bool uvm_thread_context_wrapper_is_used()
-+bool uvm_thread_context_wrapper_is_used(void)
---- a/kernel/nvidia-uvm/uvm_tools.c
-+++ b/kernel/nvidia-uvm/uvm_tools.c
-@@ -2144 +2144 @@
--void uvm_tools_flush_events()
-+void uvm_tools_flush_events(void)
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch
deleted file mode 100644
index 692e1880489d..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-525.116.04-clang-unused-option.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-clang-15.0.7(?) or so may abort when the unused option -MD is passed,
-option removal is backported from the nvidia:0/535 branch.
-
-Note patch is kept without context given the lines below change constantly
-(version) preventing from applying same patch to multiple versions.
-
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/506
---- a/kernel/Kbuild
-+++ b/kernel/Kbuild
-@@ -73 +73 @@
--EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
-+EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
---- a/kernel-module-source/kernel-open/Kbuild
-+++ b/kernel-module-source/kernel-open/Kbuild
-@@ -73 +73 @@
--EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
-+EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf b/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf
deleted file mode 100644
index f459c69dad8d..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drm-outputclass-390.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-Section "OutputClass"
- Identifier "nvidia"
- MatchDriver "nvidia-drm"
- Driver "nvidia"
- Option "AllowEmptyInitialConfiguration"
- ModulePath "@LIBDIR@/extensions/nvidia"
-EndSection
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch b/x11-drivers/nvidia-drivers/files/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
deleted file mode 100644
index 9185ec0f33ce..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Need to pass ABI flags if LD is ld.lld for USE=kernel-open
-ld.lld: error: target emulation unknown: -m or at least one .o file required
-
-https://bugs.gentoo.org/885483
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/405
-https://github.com/NVIDIA/open-gpu-kernel-modules/issues/214
---- a/kernel-module-source/utils.mk
-+++ b/kernel-module-source/utils.mk
-@@ -556,3 +556,3 @@
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,LD) $$(RAW_LDFLAGS) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-modprobe-390.141-uvm-perms.patch b/x11-drivers/nvidia-drivers/files/nvidia-modprobe-390.141-uvm-perms.patch
deleted file mode 100644
index 6ffd42ff77ea..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-modprobe-390.141-uvm-perms.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Create /dev/nvidia-uvm* by respecting nvidia.conf's permissions.
---- a/nvidia-modprobe/modprobe-utils/nvidia-modprobe-utils.c
-+++ b/nvidia-modprobe/modprobe-utils/nvidia-modprobe-utils.c
-@@ -742,6 +742,6 @@
- }
-
-- return mknod_helper(major, base_minor, NV_UVM_DEVICE_NAME, NULL) &&
-- mknod_helper(major, base_minor + 1, NV_UVM_TOOLS_DEVICE_NAME, NULL);
-+ return mknod_helper(major, base_minor, NV_UVM_DEVICE_NAME, NV_PROC_REGISTRY_PATH) &&
-+ mknod_helper(major, base_minor + 1, NV_UVM_TOOLS_DEVICE_NAME, NV_PROC_REGISTRY_PATH);
- }
-
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.confd b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.confd
deleted file mode 100644
index e06d53c0c98d..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-# configuration file for /etc/init.d/nvidia-persistenced
-
-# NVPD_USER: user to run as, needs access to /dev/nvidia* (video group)
-NVPD_USER="nvpd"
-
-# ARGS: additional arguments, see nvidia-persistenced(1)
-ARGS=""
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.initd b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.initd
deleted file mode 100644
index e199efc1e54e..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="Maintain persistent software state in the NVIDIA driver"
-command="nvidia-persistenced"
-command_args="${NVPD_USER:+--user ${NVPD_USER}} ${ARGS}"
-pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid"
-
-stop_post() {
- rmdir "${pidfile%/*}" 2>/dev/null || true
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-powerd.initd b/x11-drivers/nvidia-drivers/files/nvidia-powerd.initd
deleted file mode 100644
index 5132a20c6539..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-powerd.initd
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-# SPDX-License-Identifier: MIT
-
-description="Support for NVIDIA Dynamic Boost (only for use with specific laptops)"
-command="nvidia-powerd"
-command_background=true
-pidfile="/var/run/nvidia-powerd.pid"
-
-depend() {
- need dbus
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.141-fno-common.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-390.141-fno-common.patch
deleted file mode 100644
index 499e969bf23a..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.141-fno-common.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix compilation with -fno-common or gcc10
-https://bugs.gentoo.org/706742
---- a/nvidia-settings/src/gtk+-2.x/ctkvdpau.c
-+++ b/nvidia-settings/src/gtk+-2.x/ctkvdpau.c
-@@ -105,2 +105,4 @@
-
-+struct VDPAUDeviceImpl VDPAUDeviceFunctions;
-+
- static int queryOutputSurface(CtkVDPAU *ctk_vdpau, VdpDevice device,
---- a/nvidia-settings/src/gtk+-2.x/ctkvdpau.h
-+++ b/nvidia-settings/src/gtk+-2.x/ctkvdpau.h
-@@ -48,3 +48,3 @@
-
--struct VDPAUDeviceImpl {
-+extern struct VDPAUDeviceImpl {
-
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-desktop.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-desktop.patch
deleted file mode 100644
index a00545ad6044..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-desktop.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-For icon: https://github.com/NVIDIA/nvidia-settings/pull/56
---- a/nvidia-settings/doc/nvidia-settings.desktop
-+++ b/nvidia-settings/doc/nvidia-settings.desktop
-@@ -5,5 +5,5 @@
- Comment=Configure NVIDIA X Server Settings
--Exec=__UTILS_PATH__/nvidia-settings
--Icon=__PIXMAP_PATH__/nvidia-settings.png
--Categories=__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__
-+Exec=nvidia-settings
-+Icon=nvidia-settings
-+Categories=System;HardwareSettings;
-
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-no-gtk2.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-no-gtk2.patch
deleted file mode 100644
index d1689ee27280..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-no-gtk2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/nvidia-settings/src/Makefile
-+++ b/nvidia-settings/src/Makefile
-@@ -132,3 +132,2 @@
- GTK2LIB_DIR = $(OUTPUTDIR)/gtk2
--GTK2LIB = $(OUTPUTDIR)/$(GTK2LIB_NAME)
- GTK2LIB_SONAME = $(GTK2LIB_NAME).$(NVIDIA_SETTINGS_VERSION)
-@@ -276,4 +275,2 @@
- $(MKDIR) $(LIBDIR)
-- $(INSTALL) $(INSTALL_LIB_ARGS) $(GTK2LIB) \
-- $(LIBDIR)/$(GTK2LIB_SONAME)
- ifdef BUILD_GTK3LIB
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-raw-ldflags.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-raw-ldflags.patch
deleted file mode 100644
index f815dadce704..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-390.144-raw-ldflags.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Currently need to pass ABI flags if LD is ld.lld for USE=tools
-ld.lld: error: target emulation unknown: -m or at least one .o file required
---- a/nvidia-settings/utils.mk
-+++ b/nvidia-settings/utils.mk
-@@ -477,3 +477,3 @@
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,LD) $$(RAW_LDFLAGS) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-530.30.02-desktop.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-530.30.02-desktop.patch
deleted file mode 100644
index d1cdbcec448a..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-530.30.02-desktop.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-These __PLACEHOLDER__ are replaced by nvidia-installer which we don't use.
---- a/nvidia-settings/doc/nvidia-settings.desktop
-+++ b/nvidia-settings/doc/nvidia-settings.desktop
-@@ -5,5 +5,5 @@
- Comment=Configure NVIDIA X Server Settings
--Exec=__UTILS_PATH__/nvidia-settings
-+Exec=nvidia-settings
- Icon=nvidia-settings
--Categories=__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__
-+Categories=System;HardwareSettings;
-
diff --git a/x11-drivers/nvidia-drivers/files/system-sleep.elogind b/x11-drivers/nvidia-drivers/files/system-sleep.elogind
deleted file mode 100644
index d36e2697b86c..000000000000
--- a/x11-drivers/nvidia-drivers/files/system-sleep.elogind
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-case ${1-} in
- pre) nvidia-sleep.sh suspend;;
- # run in background given resume is flaky if elogind did not finish
- post) nvidia-sleep.sh resume &;;
- *) exit 1;;
-esac
diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml
deleted file mode 100644
index 2cca84b6fba0..000000000000
--- a/x11-drivers/nvidia-drivers/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="person">
- <email>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
- </maintainer>
- <maintainer type="person">
- <email>soap@gentoo.org</email>
- <name>David Seifert</name>
- </maintainer>
- <upstream>
- <remote-id type="cpe">cpe:/a:nvidia:gpu_driver</remote-id>
- </upstream>
- <use>
- <flag name="kernel-open">Use the open source variant of drivers (Turing/Ampere+ GPUs only, aka GTX 1650+, very experimental)</flag>
- <flag name="persistenced">Install the persistence daemon for keeping devices state when unused (e.g. for headless)</flag>
- <flag name="powerd">Install the NVIDIA dynamic boost support daemon (only useful with specific laptops, ignore if unsure)</flag>
- <flag name="static-libs">Install the XNVCtrl static library for accessing sensors and other features</flag>
- <flag name="tools">Install additional tools such as nvidia-settings</flag>
- </use>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-495.46.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-495.46.ebuild
deleted file mode 100644
index e37f5461e706..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-495.46.ebuild
+++ /dev/null
@@ -1,450 +0,0 @@
-# Copyright 2023-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 multilib readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.6
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64"
-IUSE="+X abi_x86_32 abi_x86_64 persistenced +static-libs +tools wayland"
-
-COMMON_DEPEND="
- acct-group/video
- 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}
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- wayland? (
- ~gui-libs/egl-wayland-1.1.7
- media-libs/libglvnd
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-drivers-470.141.03-clang15.patch
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-390.144-desktop.patch
- "${FILESDIR}"/nvidia-settings-390.144-no-gtk2.patch
- "${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- ~!X86_KERNEL_IBT
- !DEBUG_MUTEXES
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- local ERROR_X86_KERNEL_IBT="CONFIG_X86_KERNEL_IBT: is set and, if the CPU supports the feature,
- this *could* lead to modules load failure with ENDBR errors, or to
- broken CUDA/NVENC. Please ignore if not having issues, but otherwise
- try to unset or pass ibt=off to the kernel's command line." #911142
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- 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
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP
- local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=video:kernel )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- use modules &&
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- 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
- emake "${NV_ARGS[@]}" -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}
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [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 libnvidia-ifr")
- $(usev !wayland libnvidia-vulkan-producer)
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-gtk nvidia-{settings,xconfig} # built from source
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- 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 # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- 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]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl (and /dev/char wrt bug #904292)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- elog
- elog "This version of ${PN} only supports EGLStream which is only"
- elog "supported by a few wayland compositors (e.g. kwin / mutter, not sway),"
- elog "and is barely tested (X11 is recommended for this legacy branch)."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild
deleted file mode 100644
index 2f32c5948fa7..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild
+++ /dev/null
@@ -1,507 +0,0 @@
-# Copyright 2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 multilib readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.6
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- media-libs/libglvnd
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-drivers-525.116.04-clang-unused-option.patch
- "${FILESDIR}"/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-390.144-desktop.patch
- "${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- local ERROR_X86_KERNEL_IBT="CONFIG_X86_KERNEL_IBT: is set and, if the CPU supports the feature,
- this *could* lead to modules load failure with ENDBR errors, or to
- broken CUDA/NVENC. Please ignore if not having issues, but otherwise
- try to unset or pass ibt=off to the kernel's command line." #911142
- use kernel-open || CONFIG_CHECK+=" ~!X86_KERNEL_IBT"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- use !amd64 || sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-
- # temporary option, nvidia will remove in the future
- use !kernel-open ||
- sed -i '/blacklist/a\
-\
-# Enable using kernel-open with workstation GPUs (experimental)\
-options nvidia NVreg_OpenRmEnableUnsupportedGpus=1' "${T}"/nvidia.conf || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP
- local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- $(usev !wayland libnvidia-vulkan-producer)
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use amd64; then
- 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 /dev/char wrt bug #904292)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, be warned it is experimental"
- ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
- ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.309.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.309.01.ebuild
deleted file mode 100644
index 2c8cf85dbcda..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.309.01.ebuild
+++ /dev/null
@@ -1,616 +0,0 @@
-# Copyright 2023-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus flag-o-matic linux-mod-r1 multilib
-inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.13
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- media-libs/libglvnd
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-kernel-module-source-515.86.01-raw-ldflags.patch
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-390.144-raw-ldflags.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- local ERROR_X86_KERNEL_IBT="CONFIG_X86_KERNEL_IBT: is set and, if the CPU supports the feature,
- this *could* lead to modules load failure with ENDBR errors, or to
- broken CUDA/NVENC. Please ignore if not having issues, but otherwise
- try to unset or pass ibt=off to the kernel's command line." #911142
- use kernel-open || CONFIG_CHECK+=" ~!X86_KERNEL_IBT"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- use !powerd || # file is missing on arm64 (masked)
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-
- # temporary option, nvidia will remove in the future
- use !kernel-open ||
- sed -i '/blacklist/a\
-\
-# Enable using kernel-open with workstation GPUs (experimental)\
-options nvidia NVreg_OpenRmEnableUnsupportedGpus=1' "${T}"/nvidia.conf || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
- local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # kernel takes "x86" and "x86_64" as meaning the same, but nvidia
- # makes the distinction (since 550.135) and is not happy with "x86"
- # TODO?: it should be ok/better for tc-arch-kernel to do x86_64
- $(usev amd64 ARCH=x86_64)
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- $(usev !wayland libnvidia-vulkan-producer)
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- 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=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl (and /dev/char wrt bug #904292)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, be warned it is experimental"
- ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
- ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- # these can be removed after some time, only to help the transition
- # given users are unlikely to do further custom solutions if it works
- # (see also https://github.com/elogind/elogind/issues/272)
- if grep -riq "^[^#]*HandleNvidiaSleep=yes" "${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected HandleNvidiaSleep=yes in ${EROOT}/etc/elogind/sleep.conf.d/."
- ewarn "This 'could' cause issues if used in combination with the new hook"
- ewarn "installed by the ebuild to handle sleep using the official upstream"
- ewarn "script. It is recommended to disable the option."
- fi
- if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 2>/dev/null | \
- sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc -l) -gt 2 ]]
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected a custom script at ${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
- ewarn "referencing NVIDIA. This version of ${PN} has installed its own"
- ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and it is recommended"
- ewarn "to remove the custom one to avoid potential issues."
- ewarn
- ewarn "Feel free to ignore this warning if you know the other NVIDIA-related"
- ewarn "scripts can be used together. The warning will be removed in the future."
- fi
- if [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 535.183.01-r1 # may get repeated
- then
- elog
- elog "For suspend/sleep, 'NVreg_PreserveVideoMemoryAllocations=1' is now default"
- elog "with this version of ${PN}. This is recommended (or required) by"
- elog "major DEs especially with wayland but, *if* experience regressions with"
- elog "suspend, try reverting to =0 in '${EROOT}/etc/modprobe.d/nvidia.conf'."
- elog
- elog "May notably be an issue when using neither systemd nor elogind to suspend."
- elog
- elog "Also, the systemd suspend/hibernate/resume services are now enabled by"
- elog "default, and for openrc+elogind a similar hook has been installed."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.163.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.163.01.ebuild
deleted file mode 100644
index 4ff74d7a8fdc..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.163.01.ebuild
+++ /dev/null
@@ -1,597 +0,0 @@
-# Copyright 2023-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.12
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}
- Many DRM devices like DRM_I915 cannot currently be used to enable this."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-545.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # kernel takes "x86" and "x86_64" as meaning the same, but nvidia
- # makes the distinction (since 550.135) and is not happy with "x86"
- # TODO?: it should be ok/better for tc-arch-kernel to do x86_64
- $(usev amd64 ARCH=x86_64)
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, be warned it is experimental"
- ewarn "and only for modern GPUs (e.g. GTX 1650+). Try to disable if run into issues."
- ewarn "Please also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- # these can be removed after some time, only to help the transition
- # given users are unlikely to do further custom solutions if it works
- # (see also https://github.com/elogind/elogind/issues/272)
- if grep -riq "^[^#]*HandleNvidiaSleep=yes" "${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected HandleNvidiaSleep=yes in ${EROOT}/etc/elogind/sleep.conf.d/."
- ewarn "This 'could' cause issues if used in combination with the new hook"
- ewarn "installed by the ebuild to handle sleep using the official upstream"
- ewarn "script. It is recommended to disable the option."
- fi
- if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 2>/dev/null | \
- sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc -l) -gt 2 ]]
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected a custom script at ${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
- ewarn "referencing NVIDIA. This version of ${PN} has installed its own"
- ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and it is recommended"
- ewarn "to remove the custom one to avoid potential issues."
- ewarn
- ewarn "Feel free to ignore this warning if you know the other NVIDIA-related"
- ewarn "scripts can be used together. The warning will be removed in the future."
- fi
- if [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 550.107.02-r1 # may get repeated
- then
- elog
- elog "For suspend/sleep, 'NVreg_PreserveVideoMemoryAllocations=1' is now default"
- elog "with this version of ${PN}. This is recommended (or required) by"
- elog "major DEs especially with wayland but, *if* experience regressions with"
- elog "suspend, try reverting to =0 in '${EROOT}/etc/modprobe.d/nvidia.conf'."
- elog
- elog "May notably be an issue when using neither systemd nor elogind to suspend."
- elog
- elog "Also, the systemd suspend/hibernate/resume services are now enabled by"
- elog "default, and for openrc+elogind a similar hook has been installed."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild
deleted file mode 100644
index 7e1683321e74..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-555.58.02.ebuild
+++ /dev/null
@@ -1,508 +0,0 @@
-# Copyright 2023-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.9
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-gbm
- >=gui-libs/egl-wayland-1.1.10
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03.ebuild
deleted file mode 100644
index 83c8e437879b..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03.ebuild
+++ /dev/null
@@ -1,513 +0,0 @@
-# Copyright 2023-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.10
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/download/index.aspx"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- gui-libs/egl-wayland[abi_x86_32(-)?]
- media-libs/mesa[gbm(+),abi_x86_32(-)?]
- x11-libs/libdrm[abi_x86_32(-)?]
- !gui-libs/egl-gbm
- )
-"
-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
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [VULKANSC_ICD_JSON]=/usr/share/vulkansc
- [WINE_LIB]=/usr/${libdir}/nvidia/wine
- [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
- [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
- [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
- [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
- )
-
- local skip_files=(
- $(usev !X "libGLX_nvidia libglxserver_nvidia")
- $(usev !wayland "libnvidia-egl-gbm 15_nvidia_gbm")
- libGLX_indirect # non-glvnd unused fallback
- libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
- libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
- libnvidia-pkcs11.so # using the openssl3 version instead
- )
- local skip_modules=(
- $(usev !X "nvfbc vdpau xdriver")
- $(usev !modules gsp)
- $(usev !powerd powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ .*((libnvidia-ngx.so|libnvidia-egl-gbm.so).*) ]] &&
- dosym ${BASH_REMATCH[1]} ${into}/${BASH_REMATCH[2]}.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}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-565.77.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-565.77.ebuild
deleted file mode 100644
index eb90491325ca..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-565.77.ebuild
+++ /dev/null
@@ -1,629 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.12
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}
- Many DRM devices like DRM_I915 cannot currently be used to enable this."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- 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
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # kernel takes "x86" and "x86_64" as meaning the same, but nvidia
- # makes the distinction (since 550.135) and is not happy with "x86"
- # TODO?: it should be ok/better for tc-arch-kernel to do x86_64
- $(usev amd64 ARCH=x86_64)
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [VULKANSC_ICD_JSON]=/usr/share/vulkansc
- [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 powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # 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}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-
- # these can be removed after some time, only to help the transition
- # given users are unlikely to do further custom solutions if it works
- # (see also https://github.com/elogind/elogind/issues/272)
- if grep -riq "^[^#]*HandleNvidiaSleep=yes" "${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected HandleNvidiaSleep=yes in ${EROOT}/etc/elogind/sleep.conf.d/."
- ewarn "This 'could' cause issues if used in combination with the new hook"
- ewarn "installed by the ebuild to handle sleep using the official upstream"
- ewarn "script. It is recommended to disable the option."
- fi
- if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 2>/dev/null | \
- sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc -l) -gt 2 ]]
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected a custom script at ${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
- ewarn "referencing NVIDIA. This version of ${PN} has installed its own"
- ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and it is recommended"
- ewarn "to remove the custom one to avoid potential issues."
- ewarn
- ewarn "Feel free to ignore this warning if you know the other NVIDIA-related"
- ewarn "scripts can be used together. The warning will be removed in the future."
- fi
- if [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 560.35.03-r1 # may get repeated
- then
- elog
- elog "For suspend/sleep, 'NVreg_PreserveVideoMemoryAllocations=1' is now default"
- elog "with this version of ${PN}. This is recommended (or required) by"
- elog "major DEs especially with wayland but, *if* experience regressions with"
- elog "suspend, try reverting to =0 in '${EROOT}/etc/modprobe.d/nvidia.conf'."
- elog
- elog "May notably be an issue when using neither systemd nor elogind to suspend."
- elog
- elog "Also, the systemd suspend/hibernate/resume services are now enabled by"
- elog "default, and for openrc+elogind a similar hook has been installed."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild
deleted file mode 100644
index 6d3d1acb4aa9..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild
+++ /dev/null
@@ -1,628 +0,0 @@
-# Copyright 2024-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
-inherit systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.12
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- sys-devel/m4
- virtual/pkgconfig
-"
-
-QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}
- Many DRM devices like DRM_I915 cannot currently be used to enable this."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- 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
-
- # adjust service files
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
- sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-555.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # kernel takes "x86" and "x86_64" as meaning the same, but nvidia
- # makes the distinction (since 550.135) and is not happy with "x86"
- # TODO?: it should be ok/better for tc-arch-kernel to do x86_64
- $(usev amd64 ARCH=x86_64)
- )
-
- # temporary workaround for bug #914468
- CPP="${KERNEL_CC} -E" tc-is-clang && addpredict "${KV_OUT_DIR}"
-
- linux-mod-r1_src_compile
- CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe
- use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
- if use tools; then
- # avoid noisy *very* noisy logs with deprecation warnings
- CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
- emake "${NV_ARGS[@]}" -C nvidia-settings
- elif use static-libs; then
- # pretend GTK+3 is available, not actually used (bug #880879)
- emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
- -C nvidia-settings/src out/libXNVCtrl.a
- fi
-}
-
-src_install() {
- local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
- NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
- local -A paths=(
- [APPLICATION_PROFILE]=/usr/share/nvidia
- [CUDA_ICD]=/etc/OpenCL/vendors
- [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
- [FIRMWARE]=/lib/firmware/nvidia/${PV}
- [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
- [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
- [OPENGL_DATA]=/usr/share/nvidia
- [VULKAN_ICD_JSON]=/usr/share/vulkan
- [VULKANSC_ICD_JSON]=/usr/share/vulkansc
- [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 powerd)
- installer nvpd # handled separately / built from source
- )
- local skip_types=(
- GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd
- OPENCL_WRAPPER.\* # virtual/opencl
- DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused
- )
-
- local DOCS=(
- README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
- nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
- )
- local HTML_DOCS=( html/. )
- einstalldocs
-
- local DISABLE_AUTOFORMATTING=yes
- local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}; assert
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/opt/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # 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}.service
-
- dobin nvidia-bug-report.sh
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 555
- then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-
- # these can be removed after some time, only to help the transition
- # given users are unlikely to do further custom solutions if it works
- # (see also https://github.com/elogind/elogind/issues/272)
- if grep -riq "^[^#]*HandleNvidiaSleep=yes" "${EROOT}"/etc/elogind/sleep.conf.d/ 2>/dev/null
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected HandleNvidiaSleep=yes in ${EROOT}/etc/elogind/sleep.conf.d/."
- ewarn "This 'could' cause issues if used in combination with the new hook"
- ewarn "installed by the ebuild to handle sleep using the official upstream"
- ewarn "script. It is recommended to disable the option."
- fi
- if [[ $(realpath "${EROOT}"{/etc,{/usr,}/lib*}/elogind/system-sleep 2>/dev/null | \
- sort | uniq | xargs -d'\n' grep -Ril nvidia 2>/dev/null | wc -l) -gt 2 ]]
- then
- ewarn
- ewarn "!!! WARNING !!!"
- ewarn "Detected a custom script at ${EROOT}{/etc,{/usr,}/lib*}/elogind/system-sleep"
- ewarn "referencing NVIDIA. This version of ${PN} has installed its own"
- ewarn "hook at ${EROOT}/usr/lib/elogind/system-sleep/nvidia and it is recommended"
- ewarn "to remove the custom one to avoid potential issues."
- ewarn
- ewarn "Feel free to ignore this warning if you know the other NVIDIA-related"
- ewarn "scripts can be used together. The warning will be removed in the future."
- fi
- if [[ ${REPLACING_VERSIONS##* } ]] &&
- ver_test ${REPLACING_VERSIONS##* } -lt 560.35.03-r1 # may get repeated
- then
- elog
- elog "For suspend/sleep, 'NVreg_PreserveVideoMemoryAllocations=1' is now default"
- elog "with this version of ${PN}. This is recommended (or required) by"
- elog "major DEs especially with wayland but, *if* experience regressions with"
- elog "suspend, try reverting to =0 in '${EROOT}/etc/modprobe.d/nvidia.conf'."
- elog
- elog "May notably be an issue when using neither systemd nor elogind to suspend."
- elog
- elog "Also, the systemd suspend/hibernate/resume services are now enabled by"
- elog "default, and for openrc+elogind a similar hook has been installed."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-575.64.05.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-575.64.05.ebuild
deleted file mode 100644
index e93864d17f9a..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-575.64.05.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.14
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.03.ebuild
deleted file mode 100644
index 2c044e9a5d4f..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.03.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.18
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild
deleted file mode 100644
index 2c044e9a5d4f..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.159.04.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.18
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild
deleted file mode 100644
index b73c2a7ae2f2..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.17
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild
deleted file mode 100644
index 2fe2255736a7..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-595.71.05.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.19
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02.ebuild
deleted file mode 100644
index 2fe2255736a7..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.02.ebuild
+++ /dev/null
@@ -1,605 +0,0 @@
-# Copyright 2024-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.19
-NV_URI="https://download.nvidia.com/XFree86/"
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
- arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
- $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
- nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
- ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="
- NVIDIA-r2 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
- curl openssl public-domain
-"
-SLOT="0/${PV%%.*}"
-# unkeyworded due to being a beta, feel free to opt-in
-#KEYWORDS="-* ~amd64 ~arm64"
-# note: kernel-open is an upstream default in >=560 if all GPUs on the system
-# support it but, since no automagic here, keeping it off for the wider support
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
- acct-group/video
- X? ( x11-libs/libpciaccess )
- persistenced? (
- acct-user/nvpd
- net-libs/libtirpc:=
- )
- tools? (
- >=app-accessibility/at-spi2-core-2.46:2
- dev-libs/glib:2
- dev-libs/jansson:=
- media-libs/harfbuzz:=
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXxf86vm
- x11-libs/pango
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-libs/openssl:0/3
-
- sys-libs/glibc
- X? (
- media-libs/libglvnd[X,abi_x86_32(-)?]
- x11-libs/libX11[abi_x86_32(-)?]
- x11-libs/libXext[abi_x86_32(-)?]
- )
- powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
- wayland? (
- >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
- >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
- X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
- )
-"
-DEPEND="
- ${COMMON_DEPEND}
- static-libs? (
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- )
- tools? (
- dev-util/vulkan-headers
- media-libs/libglvnd
- sys-apps/dbus
- x11-base/xorg-proto
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libvdpau
- )
-"
-BDEPEND="
- app-alternatives/awk
- sys-devel/m4
- virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
- "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
- "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
- use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
- # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
- get_version
- require_configured_kernel
-
- local CONFIG_CHECK="
- PROC_FS
- ~DRM_KMS_HELPER
- ~DRM_FBDEV_EMULATION
- ~SYSVIPC
- ~!LOCKDEP
- ~!PREEMPT_RT
- ~!SLUB_DEBUG_ON
- !DEBUG_MUTEXES
- $(usev powerd '~CPU_FREQ')
- "
-
- kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
- CONFIG_CHECK+=" DRM_TTM_HELPER"
-
- use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
- use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
- local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
- DRM_AMDGPU=m (among others, consult the kernel config's help), can
- also use DRM_NOUVEAU=m as long as built as module *not* built-in."
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- ${drm_helper_msg}"
- local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
- kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
- ${drm_helper_msg}"
- local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for
- nvidia-drm.fbdev=1 support, currently off-by-default and it could
- be ignored, but note that is due to change in the future."
- local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of another option that requires it such as CONFIG_KVM."
- local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and
- will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
- set. Please do not report issues if run into e.g. kernel panics while
- ignoring this."
-
- linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
- # make patches usable across versions
- rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
- rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
- rm nvidia-settings && mv nvidia-settings{-${PV},} || die
- rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
- mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
- default
-
- # prevent detection of incomplete kernel DRM support (bug #603818)
- sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
- -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
- sed 's/__USER__/nvpd/' \
- nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
- > "${T}"/nvidia-persistenced.service || die
-
- # use alternative vulkan icd option if USE=-X (bug #909181)
- use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
- # enable nvidia-drm.modeset=1 by default with USE=wayland
- cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
- use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die
-
- # makefile attempts to install wayland library even if not built
- use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
- nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
- tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
- local xnvflags=-fPIC #840389
- # lto static libraries tend to cause problems without fat objects
- tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
- NV_ARGS=(
- PREFIX="${EPREFIX}"/usr
- HOST_CC="$(tc-getBUILD_CC)"
- HOST_LD="$(tc-getBUILD_LD)"
- BUILD_GTK2LIB=
- NV_USE_BUNDLED_LIBJANSSON=0
- NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS="${xnvflags}"
- )
-
- if use modules; then
- local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS}
-
- # conftest.sh is broken with c23 due to func() changing meaning,
- # and then fails later due to ealier misdetections
- # TODO: try without now and then + drop modargs' CC= (bug #944092)
- KERNEL_CC+=" -std=gnu17"
-
- local modlistargs=video:kernel
- if use kernel-open; then
- modlistargs+=-module-source:kernel-module-source/kernel-open
-
- # environment flags are normally unused for modules, but nvidia
- # uses it for building the "blob" and it is a bit fragile
- filter-flags -fno-plt #912949
- filter-lto
- CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags
-
- LDFLAGS=$(raw-ldflags)
- fi
-
- local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
- local modargs=(
- CC="${KERNEL_CC}" # needed for above gnu17 workaround
- IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
- SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
- # 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 are known to require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
- readme.gentoo_create_doc
-
- if use modules; then
- linux-mod-r1_src_install
-
- insinto /etc/modprobe.d
- doins "${T}"/nvidia.conf
-
- # used for gpu verification with binpkgs (not kept, see pkg_preinst)
- insinto /usr/share/nvidia
- doins supported-gpus/supported-gpus.json
- fi
-
- emake "${NV_ARGS[@]}" -C nvidia-modprobe install
- fowners :video /usr/bin/nvidia-modprobe #505092
- fperms 4710 /usr/bin/nvidia-modprobe
-
- if use persistenced; then
- emake "${NV_ARGS[@]}" -C nvidia-persistenced install
- newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced
- newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced
- systemd_dounit "${T}"/nvidia-persistenced.service
- fi
-
- if use tools; then
- emake "${NV_ARGS[@]}" -C nvidia-settings install
-
- doicon nvidia-settings/doc/nvidia-settings.png
- domenu nvidia-settings/doc/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- if use static-libs; then
- dolib.a nvidia-settings/src/out/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
- fi
-
- use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
- # mimic nvidia-installer by reading .manifest to install files
- # 0:file 1:perms 2:type 3+:subtype/arguments -:module
- local m into
- while IFS=' ' read -ra m; do
- ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
- [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] ||
- [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
- has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
- case ${m[2]} in
- MANPAGE)
- gzip -dc ${m[0]} | newman - ${m[0]%.gz}
- pipestatus || die
- continue
- ;;
- GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
- VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/
- esac
-
- if [[ -v 'paths[${m[2]}]' ]]; then
- into=${paths[${m[2]}]}
- elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
- into=${m[3]}
- elif [[ ${m[2]} == *_BINARY ]]; then
- into=/usr/bin
- elif [[ ${m[3]} == COMPAT32 ]]; then
- use abi_x86_32 || continue
- into=/usr/${libdir32}
- elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
- into=/usr/${libdir}
- else
- die "No known installation path for ${m[0]}"
- fi
- [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
- [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
- if [[ ${m[2]} =~ _SYMLINK$ ]]; then
- [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
- dosym ${m[4]} ${into}/${m[0]}
- continue
- fi
- # avoid portage warning due to missing soname links in manifest
- [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
- printf -v m[1] %o $((m[1] | 0200)) # 444->644
- insopts -m${m[1]}
- insinto ${into}
- doins ${m[0]}
- done < .manifest || die
- insopts -m0644 # reset
-
- # MODULE:installer non-skipped extras
- : "$(systemd_get_sleepdir)"
- exeinto "${_#"${EPREFIX}"}"
- doexe systemd/system-sleep/nvidia
- dobin systemd/nvidia-sleep.sh
- systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
- dobin nvidia-bug-report.sh
-
- insinto /usr/share/nvidia/files.d
- doins sandboxutils-filelist.json
-
- # MODULE:powerd extras
- if use powerd; then
- newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
- systemd_dounit systemd/system/nvidia-powerd.service
-
- insinto /usr/share/dbus-1/system.d
- doins nvidia-dbus.conf
- fi
-
- # enabling is needed for sleep to work properly and little reason not to do
- # it unconditionally for a better user experience
- : "$(systemd_get_systemunitdir)"
- local unitdir=${_#"${EPREFIX}"}
- # not using relative symlinks to match systemd's own links
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
- dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
- # also add a custom elogind hook to do the equivalent of the above
- exeinto /usr/lib/elogind/system-sleep
- newexe "${FILESDIR}"/system-sleep.elogind nvidia
- # <elogind-255.5 used a different path (bug #939216), keep a compat symlink
- # TODO: cleanup after 255.5 been stable for a few months
- dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
- # needed with >=systemd-256 or may fail to resume with some setups
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
- insinto "${unitdir}"/systemd-homed.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
- EOF
- insinto "${unitdir}"/systemd-suspend.service.d
- newins - 10-nvidia.conf <<-EOF
- [Service]
- Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
- EOF
- dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
- dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
- # symlink non-versioned so nvidia-settings can use it even if misdetected
- dosym nvidia-application-profiles-${PV}-key-documentation \
- ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
- # don't attempt to strip firmware files (silences errors)
- dostrip -x ${paths[FIRMWARE]}
-
- # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
- # are widespread and sometime affect revdeps of packages built with
- # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
- # ebuilds should handle manually if need others or addwrite)
- insinto /etc/sandbox.d
- newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
- # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure
- # our settings are used for bug 932781#c8 and nouveau blacklist if either
- # modules are included (however, just best-effort without initramfs regen)
- if use modules; then
- echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
- "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die
- fi
-}
-
-pkg_preinst() {
- has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
- has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
- use modules || return
-
- # set video group id based on live system (bug #491414)
- local g=$(egetent group video | cut -d: -f3)
- [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')"
- sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
- # try to find driver mismatches using temporary supported-gpus.json
- # TODO?: automatically check "kernelopen" bit for USE=kernel-open compat
- for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
- g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
- "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null)
- if [[ ${g} ]]; then
- g=$((${g##*\"}+1))
- if ver_test -ge ${g}; then
- NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
- break
- fi
- fi
- done
- rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
- linux-mod-r1_pkg_postinst
-
- readme.gentoo_print_elog
-
- if [[ -r /proc/driver/nvidia/version &&
- $(</proc/driver/nvidia/version) != *" ${PV} "* ]]; then
- ewarn "Currently loaded NVIDIA modules do not match the newly installed"
- ewarn "libraries and may prevent launching GPU-accelerated applications."
- if use modules; then
- ewarn "Easiest way to fix this is normally to reboot. If still run into issues"
- ewarn "(e.g. API mismatch messages in the \`dmesg\` output), please verify"
- ewarn "that the running kernel is ${KV_FULL} and that (if used) the"
- ewarn "initramfs does not include NVIDIA modules (or at least, not old ones)."
- fi
- fi
-
- if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
- ewarn "Detected that the current kernel command line is using 'slub_debug=',"
- ewarn "this may lead to system instability/freezes with this version of"
- ewarn "${PN}. Bug: https://bugs.gentoo.org/796329"
- fi
-
- if [[ -v NV_LEGACY_MASK ]]; then
- ewarn
- ewarn "***WARNING***"
- ewarn
- ewarn "You are installing a version of ${PN} known not to work"
- ewarn "with a GPU of the current system. If unwanted, add the mask:"
- if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
- ewarn " echo '${NV_LEGACY_MASK}' > ${EROOT}/etc/portage/package.mask/${PN}"
- else
- ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask"
- fi
- ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions"
- ewarn "are available or fully functional, may need to consider nouveau[2])."
- ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
- ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
- fi
-
- if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
- ewarn
- ewarn "Open source variant of ${PN} was selected, note that it requires"
- ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues."
- ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
- fi
-
- if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
- elog
- elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"
- elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. This feature is considered"
- elog "experimental but is required for wayland."
- elog
- elog "If you experience issues, either disable wayland or edit nvidia.conf."
- elog "Of note, may possibly cause issues with SLI and Reverse PRIME."
- fi
-
- if use !kernel-open && ver_replacing -lt 555; then
- elog
- elog "If using a Turing/Ampere+ GPU (aka GTX 1650+), note that >=nvidia-drivers-555"
- elog "enables the use of the GSP firmware by default. *If* experience regressions,"
- elog "please see '${EROOT}/etc/modprobe.d/nvidia.conf' to optionally disable."
- fi
-}
diff --git a/x11-drivers/xf86-input-elographics/Manifest b/x11-drivers/xf86-input-elographics/Manifest
deleted file mode 100644
index 4be52fd2a1a9..000000000000
--- a/x11-drivers/xf86-input-elographics/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-elographics-1.4.4.tar.xz 262488 BLAKE2B e2f659152beba105e649490119ff9726b5cee70ff7b1e9c64299b8729257b52a3601917c853ea5be755f3541d46b47a393c66406b1ad207e664ba97777f09907 SHA512 6e3d43d020a0805aca626b1f86027f5b76abf1c7aa8c062715e81dc35d3ac61a079c0f9d8c36a74babafdd64b81bebf453e1d11bfda07d436538b7664aa23ae6
diff --git a/x11-drivers/xf86-input-elographics/metadata.xml b/x11-drivers/xf86-input-elographics/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-elographics/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-elographics/xf86-input-elographics-1.4.4.ebuild b/x11-drivers/xf86-input-elographics/xf86-input-elographics-1.4.4.ebuild
deleted file mode 100644
index ae01e324c5d4..000000000000
--- a/x11-drivers/xf86-input-elographics/xf86-input-elographics-1.4.4.ebuild
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="Elographics input driver"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ppc ppc64 ~sparc x86"
diff --git a/x11-drivers/xf86-input-evdev/Manifest b/x11-drivers/xf86-input-evdev/Manifest
deleted file mode 100644
index c1d612edb22c..000000000000
--- a/x11-drivers/xf86-input-evdev/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-evdev-2.11.0.tar.xz 351952 BLAKE2B 11e89f0d102f94499d3d848d7047e97274b173535c22f6aefa7715dd0f7b8058bf1cedd65bde7d3eef954ccfb65b62c37ceda49f349490085098e1c39791d561 SHA512 ccd3727d9726565259a81db1c238aba7e414292c3f91e182c048845ac3caf1705c2b16ff1775f3b35ecb3b7088903257085bc90a20265641ccde05b2fc6966df
diff --git a/x11-drivers/xf86-input-evdev/metadata.xml b/x11-drivers/xf86-input-evdev/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-evdev/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.11.0.ebuild b/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.11.0.ebuild
deleted file mode 100644
index 390183b993f3..000000000000
--- a/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.11.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info xorg-3
-
-DESCRIPTION="Generic Linux input driver"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=x11-base/xorg-server-1.18[udev]
- dev-libs/libevdev
- sys-libs/mtdev
- virtual/libudev:="
-DEPEND="
- ${RDEPEND}
- >=sys-kernel/linux-headers-2.6
- x11-base/xorg-proto"
-
-pkg_pretend() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INPUT_EVDEV"
- fi
- check_extra_config
-}
diff --git a/x11-drivers/xf86-input-joystick/Manifest b/x11-drivers/xf86-input-joystick/Manifest
deleted file mode 100644
index 9c2ba4b3d62a..000000000000
--- a/x11-drivers/xf86-input-joystick/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-joystick-1.6.4.tar.xz 296132 BLAKE2B 2e24287bcf426e69ac87d2e000c94ce72807c5590a5399d9573f150e0353c93886d47ffb7d684bad119bb8dcf6cdfee14fe472ddb583f7f2554129ca8341fe30 SHA512 4e9127f125543060f9e6bc4b0aa384bc98a92acc52bfb240c9a114c565e0b24d2e9dcbc0e866845abc8aeb1e1a6c78cd5e3f0c0f22007aa93460b6a1910d67ef
diff --git a/x11-drivers/xf86-input-joystick/metadata.xml b/x11-drivers/xf86-input-joystick/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-joystick/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-joystick/xf86-input-joystick-1.6.4.ebuild b/x11-drivers/xf86-input-joystick/xf86-input-joystick-1.6.4.ebuild
deleted file mode 100644
index 913a68e144e0..000000000000
--- a/x11-drivers/xf86-input-joystick/xf86-input-joystick-1.6.4.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="X.Org driver for joystick input devices"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ppc ppc64 ~sparc x86"
-
-src_install() {
- xorg-3_src_install
-
- insinto /usr/share/X11/xorg.conf.d
- doins config/50-joystick-all.conf
-}
diff --git a/x11-drivers/xf86-input-libinput/Manifest b/x11-drivers/xf86-input-libinput/Manifest
deleted file mode 100644
index 911e68573f39..000000000000
--- a/x11-drivers/xf86-input-libinput/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-libinput-1.5.0.tar.xz 330088 BLAKE2B 33c81de8bd621c6c838420747f140689c8937d7fae4c4a5beef7ede65a1ad24e1bb620f2798a002de063eef47a6e6a5a3e8bad405370b02f87aa63c2f7897afb SHA512 03090beb7c162fdf55e9bb9da41ffb8601b20047e4a53895bad27de47b3197fc920e710f26fa23e7322b367ab65fa56ba5f9a195ec69801529af3958632c2d6e
diff --git a/x11-drivers/xf86-input-libinput/metadata.xml b/x11-drivers/xf86-input-libinput/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-libinput/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.5.0.ebuild b/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.5.0.ebuild
deleted file mode 100644
index 8b02d9b1ae84..000000000000
--- a/x11-drivers/xf86-input-libinput/xf86-input-libinput-1.5.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info xorg-3
-
-DESCRIPTION="X.org input driver based on libinput"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND=">=dev-libs/libinput-1.23.0:0="
-DEPEND="${RDEPEND}
- >=x11-base/xorg-proto-2021.5"
-
-DOCS=( "README.md" )
-
-pkg_pretend() {
- CONFIG_CHECK="~TIMERFD"
- check_extra_config
-}
diff --git a/x11-drivers/xf86-input-mtrack/Manifest b/x11-drivers/xf86-input-mtrack/Manifest
deleted file mode 100644
index d3a8f063847f..000000000000
--- a/x11-drivers/xf86-input-mtrack/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-mtrack-0.5.0.tar.gz 392992 BLAKE2B 7b0697dde374d558eec304a5b26b50d62fe85c8a0bbde916096ae0296b6bae372c499138a4ca8500e4b6bfeaf7782a18512813c60013476decd2ae6a4a838aa6 SHA512 d30551e0b8be47af336fa3d5207537eb115586f0bb078b2eb6d823fed695a2157e2e63bf145757f04b09359b94206211df817dc2d1182813a3f6370a2a126846
diff --git a/x11-drivers/xf86-input-mtrack/metadata.xml b/x11-drivers/xf86-input-mtrack/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-mtrack/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-mtrack/xf86-input-mtrack-0.5.0-r1.ebuild b/x11-drivers/xf86-input-mtrack/xf86-input-mtrack-0.5.0-r1.ebuild
deleted file mode 100644
index 827742b72b77..000000000000
--- a/x11-drivers/xf86-input-mtrack/xf86-input-mtrack-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit vcs-snapshot
-
-DESCRIPTION="Xorg Driver for Multitouch Trackpads"
-HOMEPAGE="https://github.com/p2rkw/xf86-input-mtrack"
-SRC_URI="https://github.com/p2rkw/xf86-input-mtrack/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="debug"
-
-RDEPEND="
- >=sys-libs/mtdev-1.0
- x11-base/xorg-server:="
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
-
-src_configure() {
- econf $(use_enable debug)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- elog
- elog "To enable multitouch support add the following lines"
- elog "to your xorg.conf:"
- elog
- elog "Section \"InputClass\""
- elog " MatchIsTouchpad \"true\""
- elog " Identifier \"Touchpads\""
- elog " Driver \"mtrack\""
- elog "EndSection"
- elog
-}
diff --git a/x11-drivers/xf86-input-synaptics/Manifest b/x11-drivers/xf86-input-synaptics/Manifest
deleted file mode 100644
index f267790e22c7..000000000000
--- a/x11-drivers/xf86-input-synaptics/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-synaptics-1.10.0.tar.xz 431316 BLAKE2B 02b90fca8baba07323141efbca0cc039d52406cc0272de12f6c08ac90769ffb14a7725a5e25f47d6235661f69136b5a9d8edef76203c63a027d7b12b3368f540 SHA512 deb14ba039f423c4575825ecdeb74f31e30f044a4efc7dae9c1634f841dcf7066970cd470be7e63f68eccd4899e0434d602e59c297042cb2f38ff2a3a02d7e91
diff --git a/x11-drivers/xf86-input-synaptics/metadata.xml b/x11-drivers/xf86-input-synaptics/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-synaptics/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-synaptics/xf86-input-synaptics-1.10.0.ebuild b/x11-drivers/xf86-input-synaptics/xf86-input-synaptics-1.10.0.ebuild
deleted file mode 100644
index c99f9afe6334..000000000000
--- a/x11-drivers/xf86-input-synaptics/xf86-input-synaptics-1.10.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info xorg-3
-
-DESCRIPTION="Driver for Synaptics touchpads"
-
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 x86"
-
-RDEPEND="
- >=x11-base/xorg-server-1.14
- x11-libs/libX11
- >=x11-libs/libXi-1.2
- >=x11-libs/libXtst-1.1.0
- kernel_linux? ( >=dev-libs/libevdev-0.4 )"
-DEPEND="
- ${RDEPEND}
- >=sys-kernel/linux-headers-2.6.37
- x11-base/xorg-proto"
-
-check_reqs() {
- linux-info_pkg_setup
-
- # Just a friendly warning
- if ! linux_config_exists \
- || ! linux_chkconfig_present INPUT_EVDEV; then
- ewarn
- ewarn "This driver requires event interface support in your kernel"
- ewarn " Device Drivers --->"
- ewarn " Input device support --->"
- ewarn " <*> Event interface"
- ewarn
- fi
-}
-
-pkg_pretend() {
- check_reqs
-}
-
-pkg_setup() {
- check_reqs
-}
diff --git a/x11-drivers/xf86-input-vmmouse/Manifest b/x11-drivers/xf86-input-vmmouse/Manifest
deleted file mode 100644
index 87837f82fbb4..000000000000
--- a/x11-drivers/xf86-input-vmmouse/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-vmmouse-13.2.0.tar.xz 284684 BLAKE2B a63caa3959b47ee4b43dd4e90e7b68706fc39da2d4018965112218c372b4107cbbcebb19fae8fea05a7c95c86a4a793b414ff6cd49e1391fbce04341b7a9eb9c SHA512 26a01347a679db058abdc7cbd9a363bb4fccd1a727dc18e279d15b8a0dce71f67af5ff54df28b908391da8d2fc311d8c1813f26dcded4e9a2668db7b55ca5687
diff --git a/x11-drivers/xf86-input-vmmouse/metadata.xml b/x11-drivers/xf86-input-vmmouse/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-vmmouse/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-13.2.0.ebuild b/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-13.2.0.ebuild
deleted file mode 100644
index 78792df9e1c0..000000000000
--- a/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-13.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit udev xorg-3
-
-DESCRIPTION="VMWare mouse input driver"
-
-KEYWORDS="amd64 x86"
-
-DEPEND="x11-base/xorg-proto"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- --with-hal-bin-dir=/punt
- --with-hal-callouts-dir=/punt
- --with-hal-fdi-dir=/punt
- --with-udev-rules-dir=$(get_udevdir)/rules.d
- )
- xorg-3_src_configure
-}
-
-src_install() {
- xorg-3_src_install
- rm -r "${ED}"/punt || die
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-9999.ebuild b/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-9999.ebuild
deleted file mode 100644
index 852093416b9f..000000000000
--- a/x11-drivers/xf86-input-vmmouse/xf86-input-vmmouse-9999.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit udev xorg-3
-
-DESCRIPTION="VMWare mouse input driver"
-
-DEPEND="x11-base/xorg-proto"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- --with-hal-bin-dir=/punt
- --with-hal-callouts-dir=/punt
- --with-hal-fdi-dir=/punt
- --with-udev-rules-dir=$(get_udevdir)/rules.d
- )
- xorg-3_src_configure
-}
-
-src_install() {
- xorg-3_src_install
- rm -r "${ED}"/punt || die
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/x11-drivers/xf86-input-void/Manifest b/x11-drivers/xf86-input-void/Manifest
deleted file mode 100644
index 6c773961136e..000000000000
--- a/x11-drivers/xf86-input-void/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-void-1.4.2.tar.xz 257888 BLAKE2B 864ef551c09af5a9726094d3ce7e1a0d948e0a06d23784270a43e81c4b8904b3bb1abb0e1d9efa59d9c445dcc2be7515c45d956c2e669e2e0d7ccad23c10f30b SHA512 f266494bd0ab62d2e20048d5557cb4724cc704be06b7f04f55970aad070887ca8940341c4a4929bb48a46b4d040e03c4d09ce3ae85b94ce23c70faf28486005d
diff --git a/x11-drivers/xf86-input-void/metadata.xml b/x11-drivers/xf86-input-void/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-void/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-void/xf86-input-void-1.4.2.ebuild b/x11-drivers/xf86-input-void/xf86-input-void-1.4.2.ebuild
deleted file mode 100644
index 6f1db55814aa..000000000000
--- a/x11-drivers/xf86-input-void/xf86-input-void-1.4.2.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="null input driver"
-
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ppc ppc64 ~s390 ~sparc x86"
diff --git a/x11-drivers/xf86-input-wacom/Manifest b/x11-drivers/xf86-input-wacom/Manifest
deleted file mode 100644
index 3138cf11a9d7..000000000000
--- a/x11-drivers/xf86-input-wacom/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-input-wacom-1.2.4.tar.bz2 690677 BLAKE2B 305b94e9c0b4ee7e0d75ce02c7f377cb2a7dd3790fe1a9e772ab4e67814ef9035aeb5a23948ef642c487ebe265b4a10e8e76000ddd5f8f2a13eab3d011ffc5d0 SHA512 7c1b62566f3dadad632c730afc0dfd81bf2082514091e2f1af1f04bbbf2e1f96877d6a982d127079f40d08bf503305b8c5ce8f526ff4a7ee5d7b0dcab27329b0
diff --git a/x11-drivers/xf86-input-wacom/metadata.xml b/x11-drivers/xf86-input-wacom/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-input-wacom/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-input-wacom/xf86-input-wacom-1.2.4.ebuild b/x11-drivers/xf86-input-wacom/xf86-input-wacom-1.2.4.ebuild
deleted file mode 100644
index a6a45e17087f..000000000000
--- a/x11-drivers/xf86-input-wacom/xf86-input-wacom-1.2.4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info systemd udev xorg-3 meson
-
-DESCRIPTION="Driver for Wacom tablets and drawing devices"
-HOMEPAGE="https://linuxwacom.github.io/"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXinerama
- virtual/libudev:="
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
- linux-info_pkg_setup
-
- if ! linux_config_exists \
- || ! linux_chkconfig_present HID_WACOM; then
- echo
- ewarn "If you use a USB Wacom tablet, you need to enable support in your kernel"
- ewarn " Device Drivers --->"
- ewarn " HID support --->"
- ewarn " Special HID drivers --->"
- ewarn " <*> Wacom Intuos/Graphire tablet support (USB)"
- echo
- fi
-}
-
-pkg_setup() {
- linux-info_pkg_setup
-}
-
-src_configure() {
- xorg-3_flags_setup
-
- local emesonargs=(
- -Dsystemd-unit-dir="$(systemd_get_systemunitdir)"
- -Dudev-rules-dir="$(get_udevdir)/rules.d"
- $(meson_feature test unittests)
- -Dwacom-gobject=disabled
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/x11-drivers/xf86-video-amdgpu/Manifest b/x11-drivers/xf86-video-amdgpu/Manifest
deleted file mode 100644
index 8b391c95d35a..000000000000
--- a/x11-drivers/xf86-video-amdgpu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-amdgpu-25.0.0.tar.xz 75000 BLAKE2B 150a8296d9d6806cb8c481707450145169418a0d54389c0e73ad2efb8175fef29df490163def7032bc2402ebae6de4be14d0222035f87bf7fedbb332f895068b SHA512 d143294fead7073c14100299ccab20d1f5eab8b7e36c1770b12aaade958211e1961f4353dc47123c3b9af9f7a911d913def71d25b83dab3dee1d289043869891
diff --git a/x11-drivers/xf86-video-amdgpu/metadata.xml b/x11-drivers/xf86-video-amdgpu/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-amdgpu/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-25.0.0-r1.ebuild b/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-25.0.0-r1.ebuild
deleted file mode 100644
index c0c29d864d1a..000000000000
--- a/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-25.0.0-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit xorg-meson
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="Accelerated Open Source driver for AMDGPU cards"
-
-IUSE="udev"
-
-RDEPEND=">=x11-libs/libdrm-2.4.89[video_cards_amdgpu]
- x11-base/xorg-server[-minimal]
- udev? ( virtual/libudev:= )"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- -Dglamor=enabled
- $(meson_feature udev)
- )
- xorg-meson_src_configure
-}
diff --git a/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-9999.ebuild b/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-9999.ebuild
deleted file mode 100644
index e0d71ccd22af..000000000000
--- a/x11-drivers/xf86-video-amdgpu/xf86-video-amdgpu-9999.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit xorg-meson
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Accelerated Open Source driver for AMDGPU cards"
-
-IUSE="udev"
-
-RDEPEND=">=x11-libs/libdrm-2.4.89[video_cards_amdgpu]
- x11-base/xorg-server[-minimal]
- udev? ( virtual/libudev:= )"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- -Dglamor=enabled
- $(meson_feature udev)
- )
- xorg-meson_src_configure
-}
diff --git a/x11-drivers/xf86-video-ast/Manifest b/x11-drivers/xf86-video-ast/Manifest
deleted file mode 100644
index e30392fd5151..000000000000
--- a/x11-drivers/xf86-video-ast/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-ast-1.2.1.tar.xz 322180 BLAKE2B 9309f266144551d5512f01ccf45b19f65dd70a707fef1f68dc87e6df97e9c646969d7913544b82335e1faca7d20e2ec05506a2a65e81e0cee9ed3f5af9123762 SHA512 50603333b3780aaf9a44132589e30ba8c9e1c938d769a38361ab3886231896227d2f526428cae36cc4e8f054f3bf8a75b1e4911d9c449298bf36c75c0f962745
diff --git a/x11-drivers/xf86-video-ast/metadata.xml b/x11-drivers/xf86-video-ast/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-ast/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-ast/xf86-video-ast-1.2.1.ebuild b/x11-drivers/xf86-video-ast/xf86-video-ast-1.2.1.ebuild
deleted file mode 100644
index 7f80c4285631..000000000000
--- a/x11-drivers/xf86-video-ast/xf86-video-ast-1.2.1.ebuild
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="X.Org driver for ASpeedTech cards"
-KEYWORDS="amd64 ~loong ~ppc ppc64 x86"
diff --git a/x11-drivers/xf86-video-ati/Manifest b/x11-drivers/xf86-video-ati/Manifest
deleted file mode 100644
index 964eb1c1da71..000000000000
--- a/x11-drivers/xf86-video-ati/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-ati-22.0.0.tar.xz 755812 BLAKE2B 97349eca2b01e714a44bcfc9489251d175eab2ca622ac5f475797d0d862e082cf9f2bc49d996bc4a8ef39d13f4474953542bd5c5cfa495877b280aff218e4fe2 SHA512 fba9ffc7b0eeb0c369eb1a6f8ef0bb3061cfeca26bc269baf6e3d16dcd943fbf4092f1e37adfb1bc71051cee0b7a0e6fb253f0b8bcd210732ccaf99e8f2356fe
diff --git a/x11-drivers/xf86-video-ati/metadata.xml b/x11-drivers/xf86-video-ati/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-ati/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-22.0.0.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-22.0.0.ebuild
deleted file mode 100644
index fbc6d6174389..000000000000
--- a/x11-drivers/xf86-video-ati/xf86-video-ati-22.0.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI=always
-inherit linux-info xorg-3
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~alpha amd64 arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="ATI video driver"
-HOMEPAGE="https://www.x.org/wiki/ati/"
-
-IUSE="udev"
-
-RDEPEND="
- media-libs/mesa
- >=x11-libs/libdrm-2.4.89[video_cards_radeon]
- >=x11-libs/libpciaccess-0.8.0
- x11-base/xorg-server[-minimal]
- udev? ( virtual/libudev:= )"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
-
-pkg_pretend() {
- if use kernel_linux; then
- if kernel_is -ge 3 9; then
- CONFIG_CHECK="~!DRM_RADEON_UMS ~!FB_RADEON"
- else
- CONFIG_CHECK="~DRM_RADEON_KMS ~!FB_RADEON"
- fi
- fi
- check_extra_config
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- xorg-3_pkg_setup
-}
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- --enable-glamor
- $(use_enable udev)
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
deleted file mode 100644
index 0d92004dbe0a..000000000000
--- a/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI=always
-inherit linux-info xorg-3
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="ATI video driver"
-HOMEPAGE="https://www.x.org/wiki/ati/"
-
-IUSE="udev"
-
-RDEPEND="
- media-libs/mesa
- >=x11-libs/libdrm-2.4.89[video_cards_radeon]
- >=x11-libs/libpciaccess-0.8.0
- x11-base/xorg-server[-minimal]
- udev? ( virtual/libudev:= )"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
-
-pkg_pretend() {
- if use kernel_linux; then
- if kernel_is -ge 3 9; then
- CONFIG_CHECK="~!DRM_RADEON_UMS ~!FB_RADEON"
- else
- CONFIG_CHECK="~DRM_RADEON_KMS ~!FB_RADEON"
- fi
- fi
- check_extra_config
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- xorg-3_pkg_setup
-}
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- --enable-glamor
- $(use_enable udev)
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-dummy/Manifest b/x11-drivers/xf86-video-dummy/Manifest
deleted file mode 100644
index f68ee99fbfbe..000000000000
--- a/x11-drivers/xf86-video-dummy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-dummy-0.4.1.tar.xz 262496 BLAKE2B a75a24f2e81713bdee9249d72df45877790c85fa3ba3d25214e46bd552f896df56d71bda8e68a389a93a0ee06c8e85b0a3ee5aaa8909d16125d406a5e04129e9 SHA512 ff7fd8b668e5e9f40a5d27f82599b7a455a8162fc1a247195335c17980f00ce10ae6b2c062239cbaa67d8684c86174f85b398dd7f7065d36f69294bd6f2469de
diff --git a/x11-drivers/xf86-video-dummy/metadata.xml b/x11-drivers/xf86-video-dummy/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-dummy/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.4.1.ebuild b/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.4.1.ebuild
deleted file mode 100644
index 8f781d41e276..000000000000
--- a/x11-drivers/xf86-video-dummy/xf86-video-dummy-0.4.1.ebuild
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="X.Org driver for dummy cards"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~s390 ~sparc x86"
diff --git a/x11-drivers/xf86-video-fbdev/Manifest b/x11-drivers/xf86-video-fbdev/Manifest
deleted file mode 100644
index f7f04b9a4d90..000000000000
--- a/x11-drivers/xf86-video-fbdev/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-fbdev-0.5.1.tar.xz 269900 BLAKE2B 6f4223898b36bf2d874cf8730470c00a41e59f9f3a52fed3255a0b236599764ef6a548c54f1f30f5beb2b53ad0c4917d5e25cf45d21c9ad6141f35953f16727f SHA512 ab345d796fb6a404c44a5caec31497fd36dce8882befad644b3f6fac1969c0a4ba9243e911e86a29a149ee7b0847ba676a28a49e15f1789238f2726b9dcea1a8
diff --git a/x11-drivers/xf86-video-fbdev/metadata.xml b/x11-drivers/xf86-video-fbdev/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-fbdev/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-fbdev/xf86-video-fbdev-0.5.1.ebuild b/x11-drivers/xf86-video-fbdev/xf86-video-fbdev-0.5.1.ebuild
deleted file mode 100644
index 032f9cb50b5d..000000000000
--- a/x11-drivers/xf86-video-fbdev/xf86-video-fbdev-0.5.1.ebuild
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit xorg-3
-
-DESCRIPTION="video driver for framebuffer device"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc x86"
diff --git a/x11-drivers/xf86-video-geode/Manifest b/x11-drivers/xf86-video-geode/Manifest
deleted file mode 100644
index 68a768ceb9a7..000000000000
--- a/x11-drivers/xf86-video-geode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-geode-2.18.2.tar.xz 586836 BLAKE2B 487f9de145d3cc26052e4814acdfd748deb27e258e33f45eb507226f49c7b8e9cfa97a99f92a71f8f4e09b4de9dc8574f84d642a97d832560c8d476c75c9401e SHA512 9228db606704494ab4490a676a6d25355d68438fe909b22cba9766040fc92b6484c95ac08a5e7bd09540bff7b37992b37febb4e3de44ec49c026b378836f5478
diff --git a/x11-drivers/xf86-video-geode/metadata.xml b/x11-drivers/xf86-video-geode/metadata.xml
deleted file mode 100644
index 392aa3ec8a2f..000000000000
--- a/x11-drivers/xf86-video-geode/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>leio@gentoo.org</email>
- </maintainer>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <use>
- <flag name="ztv">Enable building the V4L2 ZTV driver</flag>
- </use>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-geode/xf86-video-geode-2.18.2.ebuild b/x11-drivers/xf86-video-geode/xf86-video-geode-2.18.2.ebuild
deleted file mode 100644
index 561225f8d79a..000000000000
--- a/x11-drivers/xf86-video-geode/xf86-video-geode-2.18.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="AMD Geode GX and LX graphics driver"
-KEYWORDS="x86"
-IUSE="ztv"
-
-DEPEND="
- ztv? (
- sys-kernel/linux-headers
- )
-"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- $(use_enable ztv)
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-intel/Manifest b/x11-drivers/xf86-video-intel/Manifest
deleted file mode 100644
index 8f3e1faef22b..000000000000
--- a/x11-drivers/xf86-video-intel/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-intel-2.99.917_p20230201.tar.bz2 1250201 BLAKE2B f41aa429079b60b06a4f78289c5d94de9203c55756bcc3f1ff016a9226e7fa01b3559305ea3328acbc88063c8a5a96289a0ba9954e011c4eaeb7ac5d8fc3e240 SHA512 5f37bfead71ca5a671640919c357912d15b809fe8f55f572119927b218e58bbd75f3ec4370a80d74d454debb09c678105b3120f8d7eced3f9ed858878ba9128c
diff --git a/x11-drivers/xf86-video-intel/metadata.xml b/x11-drivers/xf86-video-intel/metadata.xml
deleted file mode 100644
index 55abe23beb7f..000000000000
--- a/x11-drivers/xf86-video-intel/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <use>
- <flag name="sna">Enable SandyBridge's New Acceleration (useful on all chipsets, not just SandyBridge)</flag>
- <flag name="tools">Build the intel-virtual-output tool</flag>
- <flag name="uxa">Enable UMA Acceleration Architecture</flag>
- <flag name="xvmc">Enables X-Video Motion Compensation support</flag>
- </use>
- <upstream>
- <remote-id type="cpe">cpe:/a:x:xf86-video-intel</remote-id>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20230201.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20230201.ebuild
deleted file mode 100644
index 284517e9312b..000000000000
--- a/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20230201.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI=dri
-XORG_EAUTORECONF=yes
-inherit linux-info xorg-3 flag-o-matic
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="amd64 x86"
- COMMIT_ID="b74b67f0f321875492968f7097b9d6e82a66d7df"
- SRC_URI="https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/archive/${COMMIT_ID}/${P}.tar.bz2"
- S="${WORKDIR}/${PN}-${COMMIT_ID}"
-fi
-
-DESCRIPTION="X.Org driver for Intel cards"
-
-IUSE="debug +sna tools +udev uxa valgrind xvmc"
-
-REQUIRED_USE="
- || ( sna uxa )
- uxa? ( dri )
-"
-RDEPEND="
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXScrnSaver
- >=x11-libs/pixman-0.27.1
- >=x11-libs/libdrm-2.4.52[video_cards_intel]
- >=x11-base/xorg-server-1.18
- tools? (
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libxshmfence
- x11-libs/libXtst
- )
- udev? (
- virtual/libudev:=
- )
- xvmc? (
- >=x11-libs/libXvMC-1.0.12-r1
- >=x11-libs/libxcb-1.5
- x11-libs/xcb-util
- )
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
- valgrind? ( dev-debug/valgrind )
-"
-
-pkg_setup() {
- linux-info_pkg_setup
- xorg-3_pkg_setup
-}
-
-src_configure() {
- # bug #582910
- replace-flags -Os -O2
- # Uses the 'flatten' attribute which explodes with LTO (bug #864379)
- filter-lto
-
- local XORG_CONFIGURE_OPTIONS=(
- --disable-dri1
- $(use_enable debug)
- $(use_enable dri)
- $(use_enable dri dri3)
- $(usex dri "--with-default-dri=3" "")
- $(use_enable sna)
- $(use_enable tools)
- $(use_enable udev)
- $(use_enable uxa)
- $(use_enable valgrind)
- $(use_enable xvmc)
- )
- xorg-3_src_configure
-}
-
-pkg_postinst() {
- if linux_config_exists && \
- kernel_is -lt 4 3 && ! linux_chkconfig_present DRM_I915_KMS; then
- echo
- ewarn "This driver requires KMS support in your kernel"
- ewarn " Device Drivers --->"
- ewarn " Graphics support --->"
- ewarn " Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->"
- ewarn " <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->"
- ewarn " i915 driver"
- ewarn " [*] Enable modesetting on intel by default"
- echo
- fi
-}
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-9999.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-9999.ebuild
deleted file mode 100644
index 0fde7595ecff..000000000000
--- a/x11-drivers/xf86-video-intel/xf86-video-intel-9999.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI=dri
-XORG_EAUTORECONF=yes
-inherit linux-info xorg-3 flag-o-matic
-
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~amd64 ~x86"
- COMMIT_ID=""
- SRC_URI="https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/archive/${COMMIT_ID}/${P}.tar.bz2"
- S="${WORKDIR}/${PN}-${COMMIT_ID}"
-fi
-
-DESCRIPTION="X.Org driver for Intel cards"
-
-IUSE="debug +sna tools +udev uxa valgrind xvmc"
-
-REQUIRED_USE="
- || ( sna uxa )
- uxa? ( dri )
-"
-RDEPEND="
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXScrnSaver
- >=x11-libs/pixman-0.27.1
- >=x11-libs/libdrm-2.4.52[video_cards_intel]
- >=x11-base/xorg-server-1.18
- tools? (
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libxshmfence
- x11-libs/libXtst
- )
- udev? (
- virtual/libudev:=
- )
- xvmc? (
- >=x11-libs/libXvMC-1.0.12-r1
- >=x11-libs/libxcb-1.5
- x11-libs/xcb-util
- )
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
- valgrind? ( dev-debug/valgrind )
-"
-
-pkg_setup() {
- linux-info_pkg_setup
- xorg-3_pkg_setup
-}
-
-src_configure() {
- # bug #582910
- replace-flags -Os -O2
- # Uses the 'flatten' attribute which explodes with LTO (bug #864379)
- filter-lto
-
- local XORG_CONFIGURE_OPTIONS=(
- --disable-dri1
- $(use_enable debug)
- $(use_enable dri)
- $(use_enable dri dri3)
- $(usex dri "--with-default-dri=3" "")
- $(use_enable sna)
- $(use_enable tools)
- $(use_enable udev)
- $(use_enable uxa)
- $(use_enable valgrind)
- $(use_enable xvmc)
- )
- xorg-3_src_configure
-}
-
-pkg_postinst() {
- if linux_config_exists && \
- kernel_is -lt 4 3 && ! linux_chkconfig_present DRM_I915_KMS; then
- echo
- ewarn "This driver requires KMS support in your kernel"
- ewarn " Device Drivers --->"
- ewarn " Graphics support --->"
- ewarn " Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->"
- ewarn " <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->"
- ewarn " i915 driver"
- ewarn " [*] Enable modesetting on intel by default"
- echo
- fi
-}
diff --git a/x11-drivers/xf86-video-mga/Manifest b/x11-drivers/xf86-video-mga/Manifest
deleted file mode 100644
index 55c6849aeb5b..000000000000
--- a/x11-drivers/xf86-video-mga/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-mga-2.1.0.tar.xz 395480 BLAKE2B 8314bf3ceb0b41bc9e863c0f640f818e0e6b86c95f57cea95311ba46bcff14ea2ea1d93961b700a7722cb90ebec82ab80b5bbf36c64cafac1940837e08f19080 SHA512 b5c83ad96004cfecd1a081440d2d0bb4a43d1ce1cd202c0ab69c0ded92cbedbc8fbe2d3e06fcb960fcac9719c56b45465b4a853f6e7d80ffb47af371403294b6
diff --git a/x11-drivers/xf86-video-mga/metadata.xml b/x11-drivers/xf86-video-mga/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-mga/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-mga/xf86-video-mga-2.1.0.ebuild b/x11-drivers/xf86-video-mga/xf86-video-mga-2.1.0.ebuild
deleted file mode 100644
index ea1f23340507..000000000000
--- a/x11-drivers/xf86-video-mga/xf86-video-mga-2.1.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="Matrox video driver"
-
-KEYWORDS="~alpha amd64 ~loong ppc ppc64 ~sparc x86"
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- --disable-dri
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-nouveau/Manifest b/x11-drivers/xf86-video-nouveau/Manifest
deleted file mode 100644
index 79ea20872b84..000000000000
--- a/x11-drivers/xf86-video-nouveau/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-nouveau-1.0.18.tar.xz 548956 BLAKE2B a68cbd07686a8c7a270a9a0c19d8d62382cc54fab6030f3d713644497430c356e251a306c52c725c5c1db75a3cfd6e53ebfc65c8781ef5f53373a8203d644739 SHA512 1330fa72f76a6fdc13e7bfa932627091d2735ddb277f6a24d4fefa79fad5f354c6bb661093f26b33770275deca435c3b018f451a6e6254fe35892c59c13e28dc
diff --git a/x11-drivers/xf86-video-nouveau/metadata.xml b/x11-drivers/xf86-video-nouveau/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-nouveau/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.18.ebuild b/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.18.ebuild
deleted file mode 100644
index 9b74fd50879f..000000000000
--- a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.18.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI="always"
-inherit xorg-3
-
-DESCRIPTION="Accelerated Open Source driver for nVidia cards"
-HOMEPAGE="
- https://nouveau.freedesktop.org/
- https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau
-"
-
-KEYWORDS="amd64 ~arm64 ~loong ppc ppc64 ~riscv x86"
-
-RDEPEND=">=x11-libs/libdrm-2.4.60[video_cards_nouveau]
- virtual/libudev:="
-DEPEND="${RDEPEND}"
diff --git a/x11-drivers/xf86-video-qxl/Manifest b/x11-drivers/xf86-video-qxl/Manifest
deleted file mode 100644
index 140dd9e56019..000000000000
--- a/x11-drivers/xf86-video-qxl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-qxl-0.1.6.tar.xz 438844 BLAKE2B 2236b8678975288e5a8d28689dc58c2808bfce6bc3d1a14fffd271695b3b5a4f322addb1cf43d96dfe636ef52d654574e45a5a877299a40debd8cfd26165f22e SHA512 f6a42355915d2e8f8a842dc24fe6d012d123aa6d23eedea1a4771fb08f88e0298d76741755b88304d76c66b3aae15f9fca74d062be395e499a82ee8f4507c7e0
diff --git a/x11-drivers/xf86-video-qxl/metadata.xml b/x11-drivers/xf86-video-qxl/metadata.xml
deleted file mode 100644
index 96ca122afd0e..000000000000
--- a/x11-drivers/xf86-video-qxl/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <use>
- <flag name="xspice">Include Xspice, a standard X server that is also a Spice server</flag>
- </use>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.6.ebuild b/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.6.ebuild
deleted file mode 100644
index 0827eb1f217e..000000000000
--- a/x11-drivers/xf86-video-qxl/xf86-video-qxl-0.1.6.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit python-single-r1 xorg-3
-
-DESCRIPTION="QEMU QXL paravirt video driver"
-
-KEYWORDS="amd64 ~loong x86"
-IUSE="xspice"
-REQUIRED_USE="xspice? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- xspice? (
- app-emulation/spice
- ${PYTHON_DEPS}
- )
- x11-base/xorg-server[-minimal]
- >=x11-libs/libdrm-2.4.46"
-DEPEND="
- ${RDEPEND}
- >=app-emulation/spice-protocol-0.12.0
- x11-base/xorg-proto"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- use xspice && python-single-r1_pkg_setup
- xorg-3_pkg_setup
-}
-
-src_prepare() {
- xorg-3_src_prepare
-
- use xspice && python_fix_shebang scripts
-}
-
-src_configure() {
- local XORG_CONFIGURE_OPTIONS=(
- $(use_enable xspice)
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-r128/Manifest b/x11-drivers/xf86-video-r128/Manifest
deleted file mode 100644
index 6fbc81755a35..000000000000
--- a/x11-drivers/xf86-video-r128/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-r128-6.13.0.tar.xz 437696 BLAKE2B ebac432479ceee42073ae3cb040fa51f2f130479667c499f087c80444eb3dc2d638b2860b65d1150edb38abe45ebb39d3077e57b12a9e23cf77571c0b7943f82 SHA512 6eae2a4f3a563d00c357025ffd3206c2b20cd35327af21add052a28447da9c0f642569bfb423cacb8989995bc92fc73cddd96d673e64438d1d7569eb926fb2ae
diff --git a/x11-drivers/xf86-video-r128/metadata.xml b/x11-drivers/xf86-video-r128/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-r128/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-r128/xf86-video-r128-6.13.0.ebuild b/x11-drivers/xf86-video-r128/xf86-video-r128-6.13.0.ebuild
deleted file mode 100644
index 8ed60f44b282..000000000000
--- a/x11-drivers/xf86-video-r128/xf86-video-r128-6.13.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic xorg-3
-
-DESCRIPTION="ATI Rage128 video driver"
-
-KEYWORDS="~alpha amd64 ~loong ppc ppc64 ~sparc x86"
-
-src_configure() {
- # always use C11 semantics
- append-cflags -std=gnu11
-
- local XORG_CONFIGURE_OPTIONS=(
- --disable-dri
- )
- xorg-3_src_configure
-}
diff --git a/x11-drivers/xf86-video-siliconmotion/Manifest b/x11-drivers/xf86-video-siliconmotion/Manifest
deleted file mode 100644
index c19cfd59486d..000000000000
--- a/x11-drivers/xf86-video-siliconmotion/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-siliconmotion-1.7.10.tar.xz 347056 BLAKE2B 436d2348d69976336ef83c2ee542615d65681fe0abf38887c223234a05255d194beeee0f3e0b1b8c2a0dfbf1c453e2189c39720d65eb8348dff6ddc957f23ef0 SHA512 d8bb90e636598ed20a32bdc049fe42420d9e6093429f09c3a886a7e78d3813c8533abf67c4fed084be97dd7553a1934c49aa9f94d1083dfa64ab36867ae55fca
diff --git a/x11-drivers/xf86-video-siliconmotion/metadata.xml b/x11-drivers/xf86-video-siliconmotion/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-siliconmotion/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-siliconmotion/xf86-video-siliconmotion-1.7.10.ebuild b/x11-drivers/xf86-video-siliconmotion/xf86-video-siliconmotion-1.7.10.ebuild
deleted file mode 100644
index 9c00dc2fbb73..000000000000
--- a/x11-drivers/xf86-video-siliconmotion/xf86-video-siliconmotion-1.7.10.ebuild
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xorg-3
-
-DESCRIPTION="Silicon Motion video driver"
-
-KEYWORDS="amd64 ~mips x86"
diff --git a/x11-drivers/xf86-video-vesa/Manifest b/x11-drivers/xf86-video-vesa/Manifest
deleted file mode 100644
index a40bd58bc66f..000000000000
--- a/x11-drivers/xf86-video-vesa/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-vesa-2.6.0.tar.xz 275572 BLAKE2B 18a4aae9125c03da183aea07403c2e0809adf18c963c4acda8b55130a2a22c9fa1b0dc02dbb3ea836a4e735396a660a1e55bec6482707c019f9bfd756442d6b9 SHA512 494e117c1e6e0ce4c66ac7798de54667862c62605bfd76dd9373447d40dcd0521100810c9285cbe9c159440e217954c0cad6d5219c5894e075509c7c0bc353c7
diff --git a/x11-drivers/xf86-video-vesa/metadata.xml b/x11-drivers/xf86-video-vesa/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-vesa/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-vesa/xf86-video-vesa-2.6.0.ebuild b/x11-drivers/xf86-video-vesa/xf86-video-vesa-2.6.0.ebuild
deleted file mode 100644
index cd26bda676d9..000000000000
--- a/x11-drivers/xf86-video-vesa/xf86-video-vesa-2.6.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info xorg-3
-
-DESCRIPTION="Generic VESA video driver"
-KEYWORDS="-* ~alpha amd64 x86"
-
-pkg_pretend() {
- linux-info_pkg_setup
-
- if ! linux_config_exists || ! linux_chkconfig_present DEVMEM; then
- echo
- ewarn "This driver requires /dev/mem support in your kernel"
- ewarn " Device Drivers --->"
- ewarn " Character devices --->"
- ewarn " [*] /dev/mem virtual device support"
- echo
- fi
-}
diff --git a/x11-drivers/xf86-video-vmware/Manifest b/x11-drivers/xf86-video-vmware/Manifest
deleted file mode 100644
index c2c853dfe7a5..000000000000
--- a/x11-drivers/xf86-video-vmware/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86-video-vmware-13.4.0.tar.xz 416296 BLAKE2B 37dc0b0fc8c4a44f64ff640aae8ee595b0d285ac2c85f531cf91f1cd059d165cd9937249c6739a566eca628950142f566d693f8b092cecdb5886142b6abe2c94 SHA512 7cacde21a490501dd9c2e9121040274c1f6ef64e6dc0ef49946b400f6297fab73a6e9548e45fe8930cee9028e65e45aaff9ba489dd69ac75a5133114726bf55d
diff --git a/x11-drivers/xf86-video-vmware/metadata.xml b/x11-drivers/xf86-video-vmware/metadata.xml
deleted file mode 100644
index 16aca1d058e1..000000000000
--- a/x11-drivers/xf86-video-vmware/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/x11-drivers/xf86-video-vmware/xf86-video-vmware-13.4.0-r1.ebuild b/x11-drivers/xf86-video-vmware/xf86-video-vmware-13.4.0-r1.ebuild
deleted file mode 100644
index 28b34d0e70df..000000000000
--- a/x11-drivers/xf86-video-vmware/xf86-video-vmware-13.4.0-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-XORG_DRI=always
-inherit xorg-3
-
-DESCRIPTION="VMware SVGA video driver"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- kernel_linux? (
- >=x11-libs/libdrm-2.4.96[video_cards_vmware]
- <media-libs/mesa-25.2[xa]
- )"
-DEPEND="${RDEPEND}"