summaryrefslogtreecommitdiff
path: root/x11-drivers/nvidia-drivers
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers/nvidia-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest101
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-470.conf9
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-545.conf16
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-555.conf44
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch134
-rw-r--r--x11-drivers/nvidia-drivers/files/system-sleep.elogind7
-rw-r--r--x11-drivers/nvidia-drivers/metadata.xml6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild7
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-470.256.02-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-470.239.06.ebuild)63
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild)63
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-535.183.01-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-535.171.04.ebuild)63
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-535.179.ebuild)125
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-550.78.ebuild)89
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.40.75.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-550.40.61.ebuild)91
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild591
15 files changed, 1300 insertions, 109 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 2039fada7b31..44e7d79a7f79 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,7 +1,8 @@
AUX 95-nvidia-settings-r1 54 BLAKE2B 598067babb48bd0f5680300cf3cbb37ac804edb3131c47510d3350511b918cd47fcf44f1ccd4746e4a41f2f8aa36511f20c2c6f313010e89a79b7869771b9ee6 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7
AUX nvidia-390.conf 797 BLAKE2B 7cb7dc58841d2e7cf28f677939031a20ff820e2d46f799177c6004d94e73c308d2a9ee81fca476ff7ab4846a275cce996f68a53a7a9f819c3d57b5dace1d40e2 SHA512 17cabfcaa4b7323c635d1491e46710624d13396c019591499993662a20df39c8e3fa843387594aeb66d70cf38ab9fde7bee85dd1ab37eaa637a315fd52328222
-AUX nvidia-470.conf 1291 BLAKE2B dd0a427857d029643bc8a900bd4f3841ec1d8af198e0b930d76ada4f16efe54462218e3f203c8bd05bc751e10ab650e033fb6e990c9da485e407b457a0d84416 SHA512 b52a28f08f673ade3f5bdfe3e3b8d826cf07baf17ea4ab139c401e46647410f9f41755bfd8efb16fa5e9cbfea7e2d0034d150dd021b381527e7db0a833e17ae6
-AUX nvidia-545.conf 1597 BLAKE2B 5d25a34c141bd78f565f39eed0de06296d3758ee276aed61e8464f3b2aa435235760a514d896f1b131d392e72f6b942a7977d21edefe1efcb2de91c5cc2e8482 SHA512 19c6cc73dc488660fbc54ae9ca981606629f30f68379f8e8a062340289253257a5daec459d18b967e8b455feddf67629e37309a124287278d082e52d560646a8
+AUX nvidia-470.conf 1316 BLAKE2B b7ebe612ba932592b7b280042cd635486f0f2ce65a70d6213d796b46904b2151cdd6bd9ac531149ae1274207b5e18435d03fd44b5e8d54d659cd2e5e20356243 SHA512 c84ce3668ff80357c789de305ba40b31e55208204afd3a155f280aaa836b233d56e6543832e0d5735874a4e8ef0688c0e6ddd31b6d85dd2a19c454b592abab52
+AUX nvidia-545.conf 1546 BLAKE2B 29ec9b17749bfc23483726adbe69ea2ef7c0edd98276be3ac0af15039b97b9fa937b5bf1766ed7e04bd9182dd0739dfd06260e99c977c9106048e8530bb8bdbe SHA512 bf8a37e57caf762d316ba6ce4e75af65ca81065c9c4e2345809ca804991cb23a804e1524e9497be4be59cd8201d4108d4a1c015e21b32c74dc922cf2545ce1b5
+AUX nvidia-555.conf 1852 BLAKE2B 8a21c6cf9607575d4a9b6feef8b57718071505d65e5c78842322bdf5995f55a2d7f997535b4afa23b8db84116dd6c0d732a23c338cdd2b9605d296281db9c4d8 SHA512 8ed7c6775b6b22b28cd3c60c5964f9648887ebff8add09dd03ed02daa2495c5a0871ec31fc679a235e6713d25428dae866af2170b25fbb26bef4a51dd188c18a
AUX nvidia-drivers-390.154-clang15-x86.patch 1085 BLAKE2B 5bb221407b280f2dde69ef2b37317606bec1c108dbc56653898cfa9318de6e47df21e5b38943212caf13bc6412f2427fad7c534491d868d03399091e2146daaa SHA512 1349c1c715b2f09e64a5e91412aceabc80041d070a6bbacfdf7038872f1f4a798bbc63277d47a25d1a5b28b573b3d5bd6295dadbbdbf245f5cfb0241879a3bc4
AUX nvidia-drivers-390.154-clang15.patch 2915 BLAKE2B e9799aee3c6b814ecdc40e83d2e495acad046f18c88fe8c1b5fead1c9cd0fab3d0a0a2924730dadec5eb8ea1e2d2132c495298d6ab108c015721bab911a4da79 SHA512 6e1c99ae8efb06aa4fc3accb4cee55f43a6498f94fca064fd4b9b007a3555913a5cef042d4e74b6f24a3eb6f14988f810d0c848d34ae81835fbae8ec32cf0cf0
AUX nvidia-drivers-470.141.03-clang15.patch 3757 BLAKE2B 9cec15b57c82c8e24f89a025a73bf78e3d7ea5df681cf803888ca4ad8b96976b433717d01c9fdad5036cb06376345bef64dd05287791ed0ce7dc2a06c8a79aab SHA512 10ed0fa6b1fdf24fbc18432a9b94b1c1b9d7d6003926272d3c924d72a298c1d3a8875b43a42472d701864fe9dda35d75f9cf7c51ca841d20b989ed46ed994311
@@ -9,6 +10,7 @@ AUX nvidia-drivers-470.223.02-gpl-pfn_valid.patch 2298 BLAKE2B 5375cbf40e1974708
AUX nvidia-drivers-525.116.04-clang-unused-option.patch 883 BLAKE2B 264cd7cf7972b686a8096c13c8e6b9cdcc8b0c32995de476482a597041160c347793ad7ef53d9d214df64c48d6e87995543e625ebace8a09845bcbc34063f529 SHA512 58f8c7b505ef4195ef0211bc06e5220fec58fa4c25ca61f45f79742516895d9339fd8ecf8abba767abf7bec121d9a6c9a539c9ac6b16fd12a25805df9fda5ae7
AUX nvidia-drivers-525.147.05-gcc14.patch 1348 BLAKE2B bd6d048b325ea2aef59c27ec51f6060329ba78aad5a663504d4be1b0cf6e57d2422170091324ef0e225584e849073779ecfd6c04c7ce0af72751deb837366a3d SHA512 4adb7aba14d5d50dc91a966c2cfdb94c1f24eb9580d7e46a5793e3b59eae58840dd790aa1d5899b5eee8117b2dc6559805b9e7e759f98bc7ed8957387a6892b8
AUX nvidia-drivers-535.43.22-kernel-6.7.patch 1485 BLAKE2B 06f0d46a03b4b07f906f057b06b93e56f0841118a48f74ff9d8cc15adc78e2d2a34d5bb8a63808099ef54286ea08816a69040953326c14dec04828054af6ab59 SHA512 9343294014917086b61dc72b091a7840f2a4fa929846e1554d201e38c3bc2d82b2d022e693045134eb8a52955e8df1dd3d65947f68ea8f294e6d69a23805da54
+AUX nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch 5055 BLAKE2B 2ad807c720c41d1981e3807fd6c44387a997fce244f0e9b88ca20dcd8dedf1a67a5057c2bdf0cc854eeb781c69021fdb2422a30d6ce6fd62d46509e76f2a918a SHA512 971e8a780b3c078ded47508e76d28cda3b5ed0032cde08b1b6bf84d8ad7876cf4b9de1736bbe6e57fbf550ac01d233131f95597bf013bf457734474394d3fa34
AUX nvidia-drm-outputclass-390.conf 179 BLAKE2B 2a7d3bb2bb131db6ddf24c9fa157a1044e72a3229088654f4768f76eb871cdaacdee58e82be5504c1c0af928c343448b4d03f23d289a4479b64218d57fbd7a16 SHA512 8e5dfe54b9cf261d28c206ca1594183cba4945ed633a13ab4b1801b2ad4614ca10038ab7f0cf35dbf4eaa7b2de6e747c3be13ecb11d05740b22654626f09d774
AUX nvidia-kernel-module-source-515.86.01-raw-ldflags.patch 628 BLAKE2B da490e4af1c898958df0ef656914e8bba3f7236fb1d2f94420a42d895d7f47ddc9cc173ef3b4b29f80ac880266767d54e76613dfc3defb1d4fe3f2b48377a71b SHA512 0a972c4efd219ddc8e814753c7c2bdea8fd0f0f3d2255bd0f9a4baab2a96319c8238cc027f602e399be9521467e110cffb1e0ee6b90f38867df49cd4c3b11c5d
AUX nvidia-modprobe-390.141-uvm-perms.patch 563 BLAKE2B 9befd708ad2193e507583e066f306e11d55e82912f456e738d850b804d35331df2ca5de3a35e8ab551188c1103af762941098639fa9581b4437bc5e68595ddd6 SHA512 0546d51a86554985cd7cc036e7b8f65b457cd1a1c0549ef496422fa422d2757354a47b83247b100597f908c2653314878c721b3918ebc529cae4282824d4eada
@@ -20,63 +22,68 @@ AUX nvidia-settings-390.144-desktop.patch 433 BLAKE2B 5f2eacf1cb1d8ad1ba2cd7163f
AUX nvidia-settings-390.144-no-gtk2.patch 367 BLAKE2B 59a60b103df6b187009417dca22caaf45292b94005d92df9e513804e5137959ffeda1d9abd5506cbb5c7be604023d2c59f0841190b03502542ad0c2d3f084a10 SHA512 421558442a2228f6ffdb82b2bd6862cbc286b8ba259c4970f54dcc445a988575864404f2c3933d2436d8d40de1bf0e34ee7ed855742c5d677094c260e32a1e66
AUX nvidia-settings-390.144-raw-ldflags.patch 468 BLAKE2B bf4c00a76351e6c3d1587b4f71be61fac8cc516fa22da0a47538fede92b619eb77b1cc09222cd403175a2015eb2ca745e8cdca90c9dca1b938ca13a2e59810ba SHA512 1fc568bfd1faba1f7af4f4b07715912b7f1d8103626ec0c9fcbb465ded606059ca264f386fe415105ab9f95c4ab173bf4b784ea7380bf17ab6979f56fbd01757
AUX nvidia-settings-530.30.02-desktop.patch 406 BLAKE2B 63f645d5c9f76349b405c61327bc4f6d44e0716b4ec4c2f1aa012505638be0a329bc9589812d1f164641e4725dd15ac652eed0992161e767325b1310d9cd0718 SHA512 ff0fed69d7d36b2f67f9382055490a031ef8e834119bb18b0f71d1265afe92fad44cb11d6fabc5e3750a434c51e4660cfaa3347d062036d975fd341967187494
+AUX system-sleep.elogind 177 BLAKE2B 207d06f14e507dbaad58b94d7500ef415bf2ed842124edb149b42bacff7192d575aabb4b4576d2e84575a3039c9864b427625d748dcd051764f00ab8050d6520 SHA512 e727e5957ef719ca3f3a72f260f5bbcd2f95c5c8e1a3ae158afc95e6c043fa7a597ce33dde03cc0d55d6f9e9254c6d0798b51419d8df22137795a4f3d9b28cda
DIST NVIDIA-Linux-aarch64-525.147.05.run 262738232 BLAKE2B 742feded05f659fa9965b2eebcc6a269b0355d08b6f2a686dad47c1acf2c20a359f9a9c33184ab2d51044b8823535bd7606180e31d348f362a016fad74cf476b SHA512 d1d9e49e16ee6cc69340a3458566f89fee7b63effdd8cae3e55e40cdfbd35d1e87b958769fd3b2ce5ab29596d88c3ac68189232d7a1dad8c16773faedcf5b568
-DIST NVIDIA-Linux-aarch64-535.171.04.run 269824478 BLAKE2B 9dee3a4cf649c02a18cf6f7ede664f474a438f56949fae048389b3964bb8b226ad9bc39c96da40da3a1bb20e2c8cf58e18176bfd5b44b3677f8e60826c5ae0d0 SHA512 b8829fcba9b1a077c075b515449ded0675ac3cd68fc2f5167d25c9a1a5b4f2515c77d3893678e7a08f625d984eca9be025c6f5b7e0d28475709b6d1aa0b4601e
-DIST NVIDIA-Linux-aarch64-535.179.run 269856453 BLAKE2B cff0364da59d5de088e8f0e29a210d9aa5c3ebe922bbc6b46ec15ea2efefb8f503fff184bfbc0ec0f667f8e6cc9eb66b21295d10320b7bb9f52211854784430d SHA512 a859d3fc1650ac66521910a7db15bfba751a8691d99a45bd5d0cb42ca2b63f1d894db303a9de6ab01e4280d4e21c5939d282e388f429f97b8df12d38c3bdac81
-DIST NVIDIA-Linux-aarch64-550.78.run 236152931 BLAKE2B 1ae4edd55f762a18243501acbe9ce82c77aa4ce86e30a30d36499279d6672f0840c134707a6638529e3d496e48f8ef82139615fe79f54686b9c113c8aadc05cb SHA512 b823c031b5adbe6a19c1bb69bd990d0d4dbcb371628f7933843fb935547d9a749a359db54ab252bf7fa54797da21357d9eb6c020b1fe947cc2aeece3302fde70
+DIST NVIDIA-Linux-aarch64-535.183.01.run 269908911 BLAKE2B 93665bfd2c66391b232c0db7faa2b7929048f4eb0ac660726bc45fcee21bcf9b255da5f4fbdc14c281092f31e7603b5b112fc42b3c7d6e4769cdbedf8d0f16b0 SHA512 d2ac1be8c19b359023c31941374911f3adfe1be34aa2821ef582df4c854ac4eefbbcb10aa22583ac8c9d5caf9326bda12ed1ce6343d67479ed37a4887bd17b5e
+DIST NVIDIA-Linux-aarch64-550.107.02.run 236334785 BLAKE2B 6ed0cfddbe82566e6c9056d10454f6cb289a60e928b05cb64b65ae7ee341888f942e888c556d3e528b3d1228cc1ee14e938fa25c84750f85ab95239fb684f2ff SHA512 a62d5d13089dbc98c022cb3bdf00999d79da7ae370c6e84405ca9e32034f19fcea65ac74845323223f1a8b8f1443e506c60704ba56e6f5add04b2a007d2d443c
+DIST NVIDIA-Linux-aarch64-550.120.run 236346287 BLAKE2B 2c700eea6e46ab1580d2ae1fb411e99601e6f9cce46727ab3c44f9ef59ca2102e83ff846bdc0280fa99c84eec9aa456654475339c79a4e0ef374061281da6f00 SHA512 716cef3377855bdc1a0a79a35cee578ca9e34f71709436244534b9a164fbae220ac64163a81d1d8fb6264430c8c7e6b8ba2e4e02059cff83bb54f35da01fe7da
+DIST NVIDIA-Linux-aarch64-560.35.03.run 251160249 BLAKE2B 3ad8c6757b980668f6483d8867f247857519636a3ea464107e90620557ecdbbfc3437cadb7916655b14e6a85e5929db1f03387494df7daa9169d8fe6b2de1849 SHA512 8df331104f3d63d4aaeeace412a986a93355be3ce69a968fbc12b7d0b21a34e71cdf37758c23a392c358a1c3ba1da21115002f55017c2a829c7bb4d41536e543
DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0
DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a
-DIST NVIDIA-Linux-x86_64-470.239.06.run 272849102 BLAKE2B 556c8f7058b83d8c4c7ccb2f62619ac001f7c3868b80ee091e2949fb7b35e136fec83c15efcf4dd4c99d312f8c36f83c76e250d18d091e053355396b8347af11 SHA512 92bdfb11db405071cd58deed2a0853448932657e256258e0a0bda5069f00485e2b6e49b4a0eeff499a4991be4f884273f3564c164110b1ed1f5d924506f13e2d
+DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88
DIST NVIDIA-Linux-x86_64-525.147.05.run 414135234 BLAKE2B 77a12905771772804a5e5cf36df3e5032fe0160ac7c8a1b4ea002f65dac3732d9c900c1787a3e26d08b951a8de4893467cc7a80d424e017990d12669354d4191 SHA512 0c7b31715fce6a7bd77a2d9f9a3dca54a929a7790d748051576f62cdaeaeb6a9d0f3fbb13f0b20a51966bdb9470acdbc9ee529a9e84f38a9c834a1bd28d81773
-DIST NVIDIA-Linux-x86_64-535.171.04.run 341705434 BLAKE2B 2d5dc19e8f80710a3a4324555ccabbf262552ebd71454a60541d9a726ace74697f37d112f8c38999bd5eb577dbf96cbd8c6c835a17c72140ad8deb96036a8a0a SHA512 5db0f8bedb0667d08beb56592cb1f1d3510906dd9b931899dabac289a73f26ff35d68ede8523af4e3226421fb5c18b86106c8f1cb4ad635a53cd037c46e8762f
-DIST NVIDIA-Linux-x86_64-535.179.run 341713010 BLAKE2B db41149c85e13fd399bcbd5af4b032eab9330c1ad4f860f4353b8f8a81ea5e104a4dcc478427d7c2efdad16c43fe55c66f39e4a31c9af06bc11b92d600427f8a SHA512 904d530872a2666ec8ae6d9d3d81f3194cb33100e6a5cf17bc66d5044267798d8abe6a344f01564185e364f114e3c8111b078c973c01999aa3606cf80053863d
-DIST NVIDIA-Linux-x86_64-550.40.61.run 307035207 BLAKE2B 58685133a0c205677c9b18e8d75f0e09892356e64ee7d682cee08cc167d803b207620b4515e79465d7ac1eac8b01bb65ddd34d7e6efd21346eb1bb032ab8fa5f SHA512 987574431a8baede4c790af71d4cda2d4fedb425ad2316c724bdf349768d2930cc858c1d9986e23ca951156f5fab9cfc8f9152e258a25e084dc200a20e65a9b2
-DIST NVIDIA-Linux-x86_64-550.78.run 306886562 BLAKE2B acc9e787d0cbaee86fc568010a67314a6d3a133f23ebc8aa622f253f92b27df9969a197084a3eb71442c51b5a599361fab4a38c93e3f85898ed6a68bb965aa6e SHA512 02c69e2699cd20c99bf147139920ce4708c0e4224b7234c499481996e45a879f29ebe1e5eb0e94f756bf8290d2a019050dd92add9ad375ea3bd5e21704823249
+DIST NVIDIA-Linux-x86_64-535.183.01.run 341725273 BLAKE2B a1cc782a960309a25d64d7334a818bdf9bd24be4ae7bbcf76c11c071db614d00c59e4cdca366bd36565a612a262d8b4ede7d8224f6cd3d824128178ad7d2d707 SHA512 02b6b679f4fc1d5305f32fca8ce0875eef04cb99f5611d0bb85ac7607ecdd5b2aa4d60b51bf47546477464531a07fffa5bf3db3859868648bd5e86565d85afbb
+DIST NVIDIA-Linux-x86_64-550.107.02.run 307251605 BLAKE2B 767300982ac4b28fc731b250141cd0f5e9531424dcecd816e995c6fe63a8e2c15c0a42f9324f93c19da12868fd48abbaa15a1de752b675b88fa45a3c4385f40a SHA512 da0a15f87a4e6562f9a5e087a76b92de873db4849c8fdbf57d7dfe9d524e55dfbd578aef38d8818b9cb712a905a31fd0b97e399c74613943810545c92cf30f9d
+DIST NVIDIA-Linux-x86_64-550.120.run 307064664 BLAKE2B 657e69e2fb7c32c47e52a7bd5469158f9f5431cdf65f9ac5b660b8f4ae3511914a1efa837d4a81bb8dd63d09735a315a6b297023e6417d849f764c9a8dc0d88f SHA512 1d7c91755faacb5accdb33314b638f9749115a1ece6150e39cfe1c07d2ada022de20992c500e96d785b3813962b6214bffbe94ed6bf58a539c48d2526b534507
+DIST NVIDIA-Linux-x86_64-550.40.75.run 312414062 BLAKE2B 113209ca6288abbf3b0d8869fa496a721d83b453ca381dc353993d482300a276b5f157f219d7b372f40faa85355c024262a371a5fbb1b0582db4b45644b79f11 SHA512 a92d00569b6525bfc1aeb5d41ff0254cb85ce3a6ce1c7b134c8f609c018ae2d868b25dde1f0ade6310ae7ef693342ec500e924c921a67fc1b2e3832cf0108545
+DIST NVIDIA-Linux-x86_64-560.35.03.run 322523941 BLAKE2B e84819e6c6b75dbe75212b695ee1e7793c16091b1861250b406cdf570a8cae2a8114627f64bdefc8538f12dd6da8d80d3d62d41deeb7211cfaf159f853feba08 SHA512 97137160b64928ff84fd6145a0ebc209c045d6a07ccc53ec6df6ba1fda2ad72038eda7ecdc0a0178a2628aa4e18819a9b3ff3b693b22bdc9de543be0a968f8aa
DIST NVIDIA-kernel-module-source-525.147.05.tar.xz 10140684 BLAKE2B a8ce7c1d1047be9154fd67366c5bfa13a19f03c883f24ee35043d17d517e83303420449750f9e7adc7142f61564dd5d8e5a19884dbe540514979df6381ff7f1f SHA512 58920b26081a68e05178176edb0ce8ac4a5d365492adf51d6ffe57102385ff08abc5e14741e0500419e62a752441c97051d60939245eea64b039cc7efca15b7d
-DIST NVIDIA-kernel-module-source-535.171.04.tar.xz 12523644 BLAKE2B 8917cc65166618db4b3fc6ecc77b3093885acf4cf1f8b10698c04ab3574d4b7ed8712766e198e6344c2abfae7d18f4401c00df86953849e37fc2dce9b228515f SHA512 fddb112b782176d51305b9b6ff3dfe610c6ce0a5c3b382fd04bbc9fe4da36daf06f435b2159a1baa8516bb1227d2f468b23a46b0adfa166315ffa433e38bc64c
-DIST NVIDIA-kernel-module-source-535.179.tar.xz 12509824 BLAKE2B 5380e5d06fbe372cccb5fca4b53980ba08baf0daf5f00aa72ae7995d0fdb0b9cdf4400a950ddd428a684153c59a000b99f5deffc409127b2869af5a541c1beac SHA512 ef70dc527fca2d0ffdc2c6052e0eafeb1c5520663cbc983a374c6741208260605ff689ff3b8383e2d9563311f3f156c5e43a083433ac22933424116f5a0953b5
-DIST NVIDIA-kernel-module-source-550.78.tar.xz 13468756 BLAKE2B 3f8786d1ca1aa84fa4cf68cdc4044332df19de40688eee280ab04da4fb7eb2d6be4e198b4315db8125f4c9f4351730dfd1631ff7adc0cee8c82898de9c8d7f2e SHA512 ac636712b3be56d29ed6f0dc91f5591a43c499f971b45e606104d47b93667a866314f178ddf752bdfe9b79357ab59dcaf644a64de3a35fba74228b56a5993895
+DIST NVIDIA-kernel-module-source-535.183.01.tar.xz 12521824 BLAKE2B 5ae8c2c0d9d019b99c947f1581712989325815cfe88ee308df0b710b64c4bc5c501c9741c67e25c47eaf7a114c521a595aabc85d0f05854c0692216f320378c4 SHA512 1c255eeafc79d228b3d76d1d20d1a2dc4583cbbb77db6af48b389694b0daaabd7c1962cf73e1a489e0ab07cf57751770ff8ce5f2489f2489a211e39bd7436637
+DIST NVIDIA-kernel-module-source-550.107.02.tar.xz 13521488 BLAKE2B 43996ec8a3df6684e65df4bee03d4652a0a0fab1c7892ad4e1d114abe31818c46e6c3fc0b345936414fedcb9bf0b89805f667c446502c2ba384a1487fb49c115 SHA512 2d1a1d356649cce27a90bd59dd1018f31720e223f16d7ce5c3d9d8a5c495d785269aa486e870cdf91f689f57a290e33000b9d306937667d2bbd3510485e43a2a
+DIST NVIDIA-kernel-module-source-550.120.tar.xz 13511404 BLAKE2B dc95ce1309d90672e6eb4368b087615c21bee537c37c4d662267746bc2996c158dec8f7a3f54926ba66f8ff23a5e1e039d93dda752c54b68ef1f203e4a19c3de SHA512 103cb90beccf143920d9eedcaf58a89bd06e780171156c311756b035e89bddc5c0267e32b6af2d40753cd5877d0afae1060e50c55fd0334c5da7cf3f0b32f4b6
+DIST NVIDIA-kernel-module-source-560.35.03.tar.xz 15023144 BLAKE2B d56ea634dd76c3031372e4be283f0348d95e87d088025aaf59ed342a550144f3a8cda22b4c56db4cc2a4c2eb5ef2563251b1aeba75c2a35bad7a4a24c2f5e4d9 SHA512 eec3263d09cc809afc4c2c9eed6e0ec1bd2fed71d43f96d2f56c5b507aead96d93c6de93d37b649fc97f1d849aed64942afeae6e0c2be399d39b1ee416c6b863
DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
-DIST nvidia-installer-470.239.06.tar.bz2 146286 BLAKE2B c288c0455e6426d0e18ab7b9f5c0437af50420bdf86cebd798dd3aca463341e831808ecb297d9c3233d50a4e9dac435f8114d6eb2ed2fcb6c39be7824c3dc95c SHA512 e60f6d295649557c3c316174fb37ca0ae6e57604bc3880a3b5929b33ff6d7cc8ef74a118f9075795b81d36b6a4107a02fbad0acbca18b78d05e5d9e7998c82a8
+DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd
DIST nvidia-installer-525.147.05.tar.bz2 147986 BLAKE2B 982e1a95bc255b960913cba1e78675845db472534af6cae054c74ebf82b1e4407211166249b164299f0f81ec643b7c1190e5960ac3c7844322ca42c23dc0a90a SHA512 171f9c235b2bf41dc40a875576e8cad0f4c78ba574e72db3f1ff3644701f327916121ae493cea1aed93f4826d96ef1833e98502d2d4272f4f536bab03f20e5cb
-DIST nvidia-installer-535.171.04.tar.bz2 148469 BLAKE2B fd63add7fecdd5761e7f51e96d7ff77064c93c419c37f52b6a3d8aaeffd2ce0f5685c2114de7e09b9507cc11c312144b1c62c1ab2a0564ad6a351dfe9069977f SHA512 672e0fb503d8ddda6c5ccb3aac9cc2fcc1684856ab35b0b365916ddf7153ba6aaa24704c750eac7ea7c4e0fa54de99ac77dad8eb0d17ade902049ba211dadd68
-DIST nvidia-installer-535.179.tar.bz2 148563 BLAKE2B 9824db7b791b11b493c93aad4e2f147fb483c588d2589de296a7686aad3cebd59aa5e66fb57ddeffb488b08b10615442ae639de43251e1c7c7f0c744fe1ba1c9 SHA512 5c3c2a3bc05f1989c7abf7d5a1bd4a883ea3f33b7ecc31f141dea0936e686ca154cb140a969923761c948f8fbcb387237d07512a1fe54274511973965570c52b
-DIST nvidia-installer-550.76.tar.bz2 155497 BLAKE2B 0e0d3d52614b35cc12cbc8d697cd2dd4b67e36f28eb30ab01942d8296a11191ba6b02c4bb5a02beded1e4bc9751ac0528f8421ec512bd2d1aa651c3ea69c869c SHA512 62dc1e25a0bc0faf64c028056e2c2bb6b8f9f9cd598e3a9d9fd9f210400b3fef5d78fe47b556e05fd7e7b033657310bb9263c56fc3e2ff4911fc2620828ec6f5
-DIST nvidia-installer-550.78.tar.bz2 155771 BLAKE2B 8834c210e35485548a63c42d976cc85cb8e41f9f2fb171dce179a28041a664d750239c55cf87522852efd63710a21fac2274829feac886a61d2da2e700f6927b SHA512 42617f36213a7b566da72d8ed71fbdd5470a2aed50142759882fd72875e011ad5a269eea23f71c91b23061845db82f07ef811be6017d177ac54cb170a1722473
+DIST nvidia-installer-535.183.01.tar.bz2 148412 BLAKE2B 6eff47169ab5b2b4bfec5917bccc0102502aade2ccf523a404e50c8925e407e225d8009ac79ddfc38a1c6b7de361740d60a0896c2e31756e0f2392b77ad44490 SHA512 76e9bdb4b94bcb103710552a1cb64ca5df0765e3248e2723a88bf70277ef52fd5b7074f7a9cf58b9f3a33af9c04b0cb848748e97ba19f02e96a4eaf081b153bb
+DIST nvidia-installer-550.107.02.tar.bz2 155423 BLAKE2B 5bd3d57dfd9ca70c38908f5b397d71802bd78ca1de4c6d9b32de147e39adac61028ca56848b2cb10f13717046204b690c86c880034d1f386df9298e7f15c4b65 SHA512 2120f31f9ab92bb3a8da6991c4d5df6cf50ed81e5c6eadcf23f6af98f08ef674e137ac2bf62f1bf76d94f005d0fc9ef2a130d2e606fca929229f358ac51377d1
+DIST nvidia-installer-550.120.tar.bz2 155781 BLAKE2B 22846a5625bf19550c4f94996e8df5b8c30455f0a9e434069b7318a3d4e7bdd10cb6cdfdbcabecb5014a96bfd46e2267b29f79242ff3e486f1a570190c885570 SHA512 c4b64d88da9a953b574f2de0963f69aea6441f1e3cbea80a151689b03c10d57e65dbc9780c48735b813a0a45131c8a7181fe468b8fe7a9df4bdbbdc34e68ae29
+DIST nvidia-installer-560.35.03.tar.bz2 168904 BLAKE2B 81a1e4070cc36688c8a2e768c304cad4d680f56757addf137c0544aed93345a4587a65e8df5212f1853e1d4f5a882c457866818157f303148603d50a7152f21d SHA512 685cec94e01a0a0282bd013896a1a05d1a061226863431d39bafd31d78a3224879eceed24da5da65f2a6757faef40b999aad624cdbc86de53674d7595b4c763a
DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
-DIST nvidia-modprobe-470.239.06.tar.bz2 38783 BLAKE2B d572bfb18b0ff99606a5ca909c0f4e45709d69dbcbba43ce37e570d4dfa2dae11fab352129879418af2af26d8ad20eb976e9c2e4d181895bdbec00beb61a9fc6 SHA512 9293b33b4c14e5f873846fba3526059b6605d70a4d7e35c7032c3ed89cc7a6a71e04b344695093d97ed3280ec2094988105144e8c66dc037ed5eb8292022eec0
+DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31
DIST nvidia-modprobe-525.147.05.tar.bz2 40439 BLAKE2B 3029d39cce928b3f6a6baeb57391ddd412a35e36d880b3036dedf083b6df979ec531360421bdd347aa223821006ae3610b115277804c22614a221258944ea37f SHA512 25939b278bd2354ff787f1d10771d19baa6c691c5243bc647a556e40c4f38c16f6a248b2ce0b4a328d80b768147a188cb2d8b54e39fbfa4cf436d1f3b1b6440f
-DIST nvidia-modprobe-535.171.04.tar.bz2 40702 BLAKE2B c7e04b7e776c0f7f43577b9a13e7476cff2eb3a2bb7516d59557666b6b0bd90bc44ffe78f14aede4c31e7946221f5f97448e5ebc74ddda0146cb4702a16413cb SHA512 5d6fdafd64b7ddbeeea0c7c9812d4d04e2cd551440119b6fdc37c57f32f94b7c7c8578959c6cccd45e91e6eff040e274474e1089ced3e9bf5b0ae9166a47b2f6
-DIST nvidia-modprobe-535.179.tar.bz2 40619 BLAKE2B 0a1130d85cd2dd088742f8692626fc17c71a86f2763f15bc8327200e87cdcad7be9fd8b50690715106225b45fc8e607bf48c1f0788f0d4fda0c1fcdb1fa43fb3 SHA512 41942bb9e653c47e4316984430e55e1ad8a42285d2b1d7bebc2cd39adf92a168b5eb64323ba7bde7446f78227997715c1e4e0ef92f76eeff19ec657f67d06d17
-DIST nvidia-modprobe-550.76.tar.bz2 41523 BLAKE2B 3c2aad629017129a555f36f5327605c3716f42d991a5064c26de97812468aea616b3bc1e24e7cb9e9cf6c6aca5fec998a01ea0f3b1e5dbaaa6c39744367df1c6 SHA512 00d0816bf0788466ef9509b8778a08178280c869a81d125deee25d7d215854c1143abd89cde325c0a377a602e03bdd32371c595b68f608d7cef52737e57fe330
-DIST nvidia-modprobe-550.78.tar.bz2 41538 BLAKE2B 6cac94baccb3cd402d42140803317856feb659cde43613e8b59c37f6f0b8e5697cfd9583002ab40d0ab53757a64d902f8fb3a7e302a2ca11022b6fbd9188fac3 SHA512 e97501946ec6250a0778c99fe5ba2698cc0d4a49c19bbcedf60a20aedfc722cf56b31a75dccaf19a3a44852b52451fcacb7b84b6529a84a8313fc6afe8a99439
+DIST nvidia-modprobe-535.183.01.tar.bz2 40623 BLAKE2B 52c6f6758b6881ef61a41a7e245c166a2ab60ac372c031b5211651931f72cbc24af54b3b2ffb9a42b2f0973db7e0ae6d189cbd3cf1e0fbec8628056e4235b873 SHA512 93b802dbdc98bebed89ca72d07401e1b0801504899f30bbac4baac3d3a24bf548f78bcc0418db112299b068e1e278b379d301680cf4b13784206a80a9169c986
+DIST nvidia-modprobe-550.107.02.tar.bz2 41486 BLAKE2B 4c74caa2f91bda9ad96e6366986e2934776cc31ae3b0dd596fe5d0392cf023a766e2fb2fc765d5886e872935028fda0836df1826fdeea2e2a76701420021778e SHA512 6fc755b50f6ccf25812ed6936560784a7ea5766152f04631829b192a070b47ba68296bc215b60d1f7a9773f2db6388214d55e115794db8cf944a6f64d19ce34f
+DIST nvidia-modprobe-550.120.tar.bz2 41490 BLAKE2B 0d2d12d533bf911aeabd5147bad7f2db24a936637cff3d974a1f92e4911810a6a42b8b415c3db4a462af459b2e7580949b6f569dd4adbc686a45dbd6527b1be8 SHA512 12d75920131350b631856b495ed5fe0bf2b8f58b4adce8088abf9128691829fb903c8ad84c0ced7d14c5cff1dc7fb3f7bbe99f41e1d36f959b24c14e3ea5619a
+DIST nvidia-modprobe-560.35.03.tar.bz2 41637 BLAKE2B 4a72161e3569af5b53a6372da51d6980ab6a428207db0ef2c20b87a9abe569a136ece0a332954004e24f4381889826e50fce42c0c362c749adcb0152035e8862 SHA512 ed592cfba5512fde34e1d9b3dfcf3463df447202eb99d1d792f87d0a68c73193d141f82835e9272d315f3de9e973e7d9f64b06a9cb1e6485dd7adce3e9c360f0
DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
-DIST nvidia-persistenced-470.239.06.tar.bz2 46554 BLAKE2B 41d8ba35f68dd4609cd215249913790b150c22410c3c6b3675d7003136b660f427e14d48abb9495851d18028042ecbd1cf0557bad877fe5b0e5e6cf15d90b77c SHA512 69ff1cf92e90e5ef87d44764abf165cf3540d321264962dc09e093bb9c1e767f468e9d1e989f43a14d1ba47fc24f1e34252bf478743a80f51373d4bd20baf6fa
+DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9
DIST nvidia-persistenced-525.147.05.tar.bz2 48089 BLAKE2B a9cbf291fae9d7af50a9633fa5e197939674825e72150883b4e89e72165a512c164b4d79522f5b6c329e980e1145d958ba592202e5b73edfd32b149457714982 SHA512 e9685d330d32a5e9864b45a7e099e78ef873188972700747c158c3ab1fc95ea036726c793207fba33d4a50f17b92802366ce1ad38dd110b86ee923f48e622cfe
-DIST nvidia-persistenced-535.171.04.tar.bz2 48591 BLAKE2B f15db40686e422fec6f1da28a39de55478d80a527b085d12896ad059fce697bade243f003defc09041aa676562fc58f74ab7f7d463bcff1cd929ebb5335020ca SHA512 ffbe0fcc11ff152e43f69f0d44f90b767e805a2f5aeac0c75fb58fa8ff5eb81d74a97e06ad1de36f4c9c5e25960417cdee14916a1a2dade514abe8dae3679d7f
-DIST nvidia-persistenced-535.179.tar.bz2 48615 BLAKE2B e72e3324289a9180ea65e0c02909a061acb31b127b3af6c322152b35b8e98c2a617f504c896389c28745f2e92742a90ad01f8bcaa7d845cc94ca87136629a3f6 SHA512 9c1173ba30b8af6a890c53f19440c69f4a2ed6b8df0aca7a5573f6e8e8b483e089c465c59deb02c26fc82e867d8adb519600b5806f77a9c16d40e30d627bd454
-DIST nvidia-persistenced-550.76.tar.bz2 49704 BLAKE2B 540bc85478c4458611fc2a9b251408704a89479b5bd77b994704f3c675eddb17cb3dbe3572c09381e1ac6fbd02839ea83988766c70e6f9d9af1fd22d03220811 SHA512 79d877808fd5f86fb9ee9994bbce3f12e82146372b09da41ebd23cc50e0cfb7182c365cc9829379087db51fdcafd76e7a3c1488b380f7433b61a0230debf78d2
-DIST nvidia-persistenced-550.78.tar.bz2 49682 BLAKE2B 860785b94f35affa85fc6fa4f68508cc63e841168534be9bb762f82e72fe89434a32e265722a3f37cb3ffc2f41c57fae354a5b6679a68b40269efeecc81b37f9 SHA512 86dbe155a8270a292dc68b2ad8e9ab751d0e06fbcbd906085cafdbd3a681449159dcd1842ee5e2c9b09c157f035e2759e32b8fb8b654c36fb48f1de789e97118
+DIST nvidia-persistenced-535.183.01.tar.bz2 48585 BLAKE2B 8f000f85ff959b86e7e0a4af0d7ae53cc2aa76670c04ea57c8bd2b7fdcf7ac071dd4a345b9121fcac97db7befac1f2635c41a40ecee4189a646977165a3b3bd5 SHA512 234b25fbd2e3b7573d77336047ea4898b4687d59fd0ab9cbe5c01dd33f14db610f467674120cc6ce2f3fa77ea53c9d3e23025e08afbabe07e5f6109840f6213c
+DIST nvidia-persistenced-550.107.02.tar.bz2 49661 BLAKE2B 695bcf0211194263b38444305c5b6bd6a13331ab57c05bd85d9ea5e007af37e34b96bc450fbcb92bb12050d75c3885d51563fdc2a827f25a433283b067e204ee SHA512 6b398f53a3670d73c13be364d1c7acd563878ebe1162ff5fd0f1f3749c20284a8dd9d98cadccf1fc0b354f353006a3dd2acfd066f98601e6fe1577f0dc59631f
+DIST nvidia-persistenced-550.120.tar.bz2 61251 BLAKE2B 207a0c3a186ec40f23c06bc77614b1b869a1e4d68f5f8edcda6111df50a6a7f3474b5a3151e625584ce69b69450718b3b89207b6fe81bce8ac1676b199cd8a64 SHA512 afe71b9421652872aa4d3ca89a3abcc36bd617782ed3fbd4af31162d89c97c12fb27a16c82f4c4e54d2f4ee8b9b755dc19226ee877fbe70c8d2b5d5636064063
+DIST nvidia-persistenced-560.35.03.tar.bz2 49873 BLAKE2B 5b19e8bef623d3950948fcf2a57c097e451c846e1d3013344ce8f10b91e57d3f031c460a9a9e4d94940ed3035d4d5836e5ff672d25f0f132ea915eeac62b94de SHA512 65c12503f8b457de704c58e7f066c1938645d88cc8b986a2fa993dcc5c60f45b72b22950df9419577c37e815e65b6e3749d4ce551457ac1bd868e24093074fbe
DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
-DIST nvidia-settings-470.239.06.tar.bz2 1062310 BLAKE2B 1154421feafe40a0ce0e980374a60f325801f52a03af9f96ea9411c61de6c7bf8049dd2750204ae53a570ebe600c7972cdefcee84886fb2a6c170affd00d51bc SHA512 a1f70491bb8bb06a802c3db36858c8956fb93db463b46c13bd8dc4fa81ff4aea01bb53ebbc9b4d18da241c4442e8d17cb4204fdcbb5a8ad3e23275b7205bf3c1
+DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007
DIST nvidia-settings-525.147.05.tar.bz2 1088088 BLAKE2B cea74a20ed8208f99cb586bd40fe2cafeec55ca2db19b2c0691d3bcabadc09941ff8288e940582e63f10d8f6cd7e8813e1c5776bf65cdc7b6ee291a8b3a7e28f SHA512 9c29a477b32db3f4324d7c6d28b8da9f3de5286e39f8c67bae88a93c3d3ee0c3f0a0f3e0c29c1fa8ba01b7311623569df27e349d6148ed70b3fd42ebd36f0dcd
-DIST nvidia-settings-535.171.04.tar.bz2 1094654 BLAKE2B 566b649615b414bf6e9a52839e9e12ae68208edd67970f2d8117ecfb7d9cffb0b6138b1e3594477b6e117825dd8af17fcb3c1834886b2575a597735dd462e817 SHA512 e93ffaae481cb0235c52c10e9d65a25475e8c32e348d7916d0824f691e34fbece7ffea6906e84cfa08bcd829e8cfae8b1fb13046835f4f6cba22cddf40e34258
-DIST nvidia-settings-535.179.tar.bz2 1094655 BLAKE2B fe9545a18acab9f453cdfaba69ec9f0fbe36232861caa7b20578c4326739b9c58f78f4fbae65b0821dbe98f78c5541021e8746dab0ad551d37396b0567345740 SHA512 d6459d3a25c23410f5eadf39f5df1b944b5a54d04278cbac4d68a06c72b14a7537e40c7f06217fce6ad1cb34c51f3fe2cbb215c10bc513029030ed888598cd6d
-DIST nvidia-settings-550.76.tar.bz2 1099706 BLAKE2B d8cf5d054dbcf973e6caaaacbfd122f22e09953831c5886c2e9203b5c69146ab0ebcdfc9074373245b381b4e6a4aa8c8f4aa07c28acee90427b316546ddb3411 SHA512 299ea5995c4105a62e4bf815e7d1f977808015c3fb21ba2088955109c9272435f7dcc2abfc4d49cb2b7d86257f77560b71f9ad1e463b1a92cbbfacdea3f1d4b8
-DIST nvidia-settings-550.78.tar.bz2 1099746 BLAKE2B a57b4731109072c9bf2accdffebf3ac4e12c964f85e4a70b6058f2e78843caa1cc46d468de87ecb01965787323af9bcbcecde1d72f5ecf5a18d9d122391af52a SHA512 f7e1a82f86cadb78b5c5b6482893fd949cc5017ca052ce083aec4ad0e48d83c35330ed9e2d970fd49c4907bec8cda8231d34b66f47cf0187a25735159989d42e
+DIST nvidia-settings-535.183.01.tar.bz2 1094944 BLAKE2B 70d8deff3b587f54fcc6eb9b4a6396493e9aa89ced07bbaecd517e3a3f18ed4ab093777c0a74ddba24cb7e3ec4bd89a91e3f3ab877345e36fa6f8b71928af2dd SHA512 b7bcfdc48d053419e58d6eca762e55814feeb9ad992a134dd870ed899f4f2fab60fbc30f2c12b655bae248bab1602efaf02d31c0cabae1dbb8044d1b7c65b834
+DIST nvidia-settings-550.107.02.tar.bz2 1099298 BLAKE2B 5a393970b1163cd082f3ab61ddacd22599d43755b059ea84f245dfc28a436ad6c000704326e1fab29ba0a60f7f0ba5ecb51928e12caa870ed87bd38bbaf2128d SHA512 aacda2c6648932c0c3558a59a8d40bd5b27750009939addd455b211962a5840a79b87ba52fbb77d4b0fe5da2184d13c31bd5bdb6ea7ed53d0b0a9552985f3551
+DIST nvidia-settings-550.120.tar.bz2 1099121 BLAKE2B 072503d74873ac00bdb2df3689136ab60d314f1205cbbf1ba1d861ab01f2a1385f35db8c100c6271bda7b55c2e8e7148932f4fadb0dcafd428970e94c1b04b07 SHA512 665026474f23c027c859bd34fb8d9880522012159234ec36b432dd6f8e291b50eea460fbf288053744df42e5ec03b0cf2567fa405131da98ebf0b0e9b2d05a4f
+DIST nvidia-settings-560.35.03.tar.bz2 1115724 BLAKE2B 937a3ea634e9bbc4b76f6c50fd20108c783a941e021a3fe1a9fd3288248fe14069f4e7b147cb3666e1d6bab91be2c0305daaeee57d338b9af546cefc79725be1 SHA512 7ed656ebe35ce55a0064dae57fdcc5c3eecc3c6db71bfc66f001dd60c4db764c6a2565af29f84ca1246280fbd573d8da4d09e21444b71210cedea5d1462b85f0
DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
-DIST nvidia-xconfig-470.239.06.tar.bz2 108687 BLAKE2B e400a59b4626b37abd12893438774737f18500771c8fd8d63e7060e80463a8599f7248fda542096a5e9bcac700595cec151494695e68dc7667c89509eeb14646 SHA512 aec235f65c9f568c6717a37fe0f16b8100ffbba7731975bac5c17802b70f1ec1ff235e08c09a0bc9de0c63a705018ce76acc8252a39f56c300b9e2a556f3612a
+DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca
DIST nvidia-xconfig-525.147.05.tar.bz2 110987 BLAKE2B 49116c8922b5c14eaa88b6230a824447609a885f7d97df28ed4f3b9a2e146a213f31f9f184aadd38c4c9f692f0a1476d0db0704b55947ce95cbbeebcb9a683da SHA512 4b7c02de6080924eee5ee9fe770e632404b380529e5ee40a8d0f259a5c96d6915e83c26113b3c65434ce461c959347b3651abc15de7c40def16c46bb3f6faeae
-DIST nvidia-xconfig-535.171.04.tar.bz2 111107 BLAKE2B 8f640c6a4b93d12f085fc8df042b0930ac23e98f5ef76b2daa83856bb39a2f71b3596ebb3a6b2f83bbbf932111d7b5a3d232c751aa818bcdab9a9336700a1228 SHA512 d30466fb9b6d254573460fb9d38b59a1948caf6531dfd2655ac96ffe28ff42ead048f4083c6150479931a7a695e810de75d704533a37781958aa5a74cfc83457
-DIST nvidia-xconfig-535.179.tar.bz2 110596 BLAKE2B b13b385e50dfd6f2f0506fe637c8fef02b8946b50b31486d5b2da2fba0f9ab747831ddf758419cceaf78f726e05056ccc11c7db11483f30f59ca44cbded81f1d SHA512 c2650411726c6a8e22ab834078e79e740daca12a7b4d6d0620cabd72ec46ac52fad5ad2deff55360cde3144a97b227aa153fee2b28941c353941ca9c9fb7d661
-DIST nvidia-xconfig-550.76.tar.bz2 111169 BLAKE2B 2a02227d80974795648c5b5bedd1f01834360f0252ced2b53946b53e80be063e5297477c52b77f338c5f732e71b8b2e53118f01412d573800faecbb6903fc422 SHA512 1bcff751df31bbd3da5fa40462f98b6e3a08a3b4e7f0bebcf9a26084b3699ce20abdc54381fb69d6a48533cb43d7374c563277cc3ac5ad502c49ad0eacb7f96a
-DIST nvidia-xconfig-550.78.tar.bz2 111190 BLAKE2B d4c7418554765d278458dcc664d37a5d641baa047312920787717c09aceaad13a2d99a0eb97f0d8d7b4b960013a02183eb3a1ee31fca40918e5f4c0fda024e43 SHA512 513733a80ec5a4e5fc60c3a1a0f787a6f1b64ffefd72d69208833626cd096a09957ad8f66568711c4059178879c3ce6167acefee6f23e4dd99cc226eecadf080
-DIST open-gpu-kernel-modules-550.40.61.tar.gz 13725452 BLAKE2B 3a031e0ef9e064564ad97afcb3fd7ea54dac64260a96fc6c434eeabc709aacf553b30e5d1569e353acc69db5f52019e7963e0b968262386f88fca3d84b678a0a SHA512 d02dfe31900321583bf33bbf5b3d4a5e0bec62817e14d809147a225f7fc8f28e2067b4591cd3658b6a3878ebb2ecf78c670d56b4dbf86100ef8b48c963f44aa5
-EBUILD nvidia-drivers-390.157.ebuild 14786 BLAKE2B 0aa98cd61987bbcd67e2c117e0acee43d28b54787f1d4dbafa3e871902dc6d066873b8b6cfb57a83b1a17e49b8701925924e4b5f2d2abb22f12494c852a65c8a SHA512 2e85077a050a546a5b6a8f4ec38c27d7269a5993ff04b6f49e6b7a96e2e27ecd84e61730e286470af63e87a314258eb5e6a64a3c93aa7347d27541d9ea30ade7
-EBUILD nvidia-drivers-470.239.06.ebuild 14335 BLAKE2B 4ccf76ce3ee46fec93e8bad162c41b3e00dbdc61eca1225993ec8a68ab3d3c078012ef152b75e5fd2cff6e33f710db588f6bc0b56ddb2b6970a552039bb655fe SHA512 921307b5d9013bfdb04ff23f03884ac8da32d880327c2d52eb85894f216af0359e5319923220a08012b15a572805d870660d5c332a09fb8b7faeb70038f908a9
-EBUILD nvidia-drivers-525.147.05.ebuild 17649 BLAKE2B c587c8ec8f356844b95c4f5dc77cc4c4c684f79c8b67ad745e472c4760925c1e4b736dfaa111fa462ccfe6ebb7e20792937a374aaa347e697180f0087a341bb8 SHA512 4dfd604a3692d4330999617bb96f02dfec0ced6a07dd393113a3ee9dee8c3aa1b9792c3bf17af1d5da6181cbf3c79873ac2cd78ce7b13fb00041696d3f0a6ef1
-EBUILD nvidia-drivers-535.171.04.ebuild 17499 BLAKE2B e06cd90559e3af3ec6f6f3890426b46d10c61a761a4e7e01c8e7b4e86898c43eed802aa06f185b6b4650ad1572c866e55267ce4b0d8b0c626e364976119c2ea6 SHA512 f9d0dbc07c068e4e28de61f81d878b87ef9fe63e31f02f0d3f7587a5fef7c2fa6b237b5cde736f78623db9073244240c2818424633bf8e3fff6d592c97007efa
-EBUILD nvidia-drivers-535.179.ebuild 17500 BLAKE2B 502ccea065dff52427ed2291d5c16ff90b0637965eebfd8ad1d5e0418700dcf1da65bf813116e4467efab9f68611e7f018789e627c3d098f48cae2cc5d19223a SHA512 bf2d3bdb0d670cd2315d5a0add2c02ae8e3aaccb1d52800d0a122c145cffe389f60f75fe27a2265d9a75d113de961aadd465b4524187508a5d251a6144bdd93d
-EBUILD nvidia-drivers-550.40.61.ebuild 16595 BLAKE2B 2021b85380eb51a0754070a4613abe3846d6ea8321e55042127af8538ee1eca2caa63a3d617fa605de885f28ff2ffe5c866714bee98ea586e6336e2d9e209c2d SHA512 8e691888e0eb71d3f368da33ede58cbff3d0d9069e58868a86e2bdbd481be52604058b60f4dd8cba3491cddd79ac02874ac74d25f171302b0fa2d93f9c7a4c65
-EBUILD nvidia-drivers-550.78.ebuild 16588 BLAKE2B 6cebe5de291b90b518e590bf29a7dded93cd57767d41c47899aec0f70251f7013c86e3b3291f3849bab943cac1e285454de6b1ef36e7d3bba91460aa16be3fa3 SHA512 515acafda6faadc2d1cddb891e00f50f9fa369389f672ebca8b256c4093ce0aa11d777aeb21f33a74acebd119f9aacf61cc7e9db4ebfb7a03ebcfe179ad37219
-MISC metadata.xml 1407 BLAKE2B c0d284fde68808892e17edbb2b1e43b059388306eae874276d4a3f336a5dc2a41cc025a834466b2ad96112b550e0bc0f759f683bd6c58ba64a41cbc8ddebd92f SHA512 39be6982c1177961706ba6426861752339373241c959fd06504e314c9f0313677ff7c7341e7d9fb41cad2b768b99f6474e087b9813016d33cd6a9c77567c50cb
+DIST nvidia-xconfig-535.183.01.tar.bz2 110994 BLAKE2B 154f0e3885fdc2a30373daad07924b109b1763a08d8d9a53e40037471548e9068762b6ce157ae3de7c3c0d7f0f33d02b875b9bc98d0b99888edf00722b0201f1 SHA512 101c0f3da4452e1bf5f4283f17297384e320c81f1bcf20a5eef2fca4802e91795782afbc5eb73f0620285b4c43eba25a80a65eaa8cc4d126036c83f6ce710adb
+DIST nvidia-xconfig-550.107.02.tar.bz2 111170 BLAKE2B dbf2b0b7f7b71f17ce5a0b6ae1c5346a573ea11163b24c4bce1b18281d4af70f38458bc122c39ad948242a8cfc37b68e696141b8dd3ce16f9ae7fb3fb61af735 SHA512 a7b9ba8d542041b273deaeb354c398fba4241dfdcf68be71e1c1138c925206db0f7ce2945c5ec92eddbcdbf240c5340802b3989e6140593828d1eb79854730e3
+DIST nvidia-xconfig-550.120.tar.bz2 111154 BLAKE2B bbb60c07497786c9947f418f2fa3e11244a53e38478db62bed4d3ccb1af8c5fd209710760df9bb727685b2f95618f91ce93b03f71aaa2e81b0001ca840e87937 SHA512 c286cf5f8fcc0eee25ca0459212b04292adda356b3ee3f0ed4c7d1aef0c859e5cd2498f7010950fb3834726f13a58ea19b84934635a0045e2a2cf843197a2d86
+DIST nvidia-xconfig-560.35.03.tar.bz2 111203 BLAKE2B 347d4f80b9a16da54fbd7116d0ceafbb15b3b6e78aa1640b8505674b9ffc32056197925b67506d2cbb5d130054944c13246a592d9021f0bb2410ee6e8216df4e SHA512 1a68729b8aa1d3518b43392d4f9af163e2a084c635c08343b25ce761f835801aad203778fd03564ba050ad949a9d2df84fba4c8a48bb1a7afea5e72eb364eb58
+DIST open-gpu-kernel-modules-550.40.75.tar.gz 13813169 BLAKE2B 6033b8faa985a3f82c9ea7c79e54bc6d14c8c493a59db509f8fab59f2c58f8a44c264ba57f482893f5eb4473a9e06bf964f0a6410de062991df6f42fa094186e SHA512 ca7de8249457c6910f9b95b535c76127fad4c2b7e2648b7705cee04b2e0d3319f4365cedfc0f87b603bb1b50b48c63cd0580bb8f434630919511d4b5b22c01ca
+EBUILD nvidia-drivers-390.157.ebuild 15136 BLAKE2B 6ef5e51472ecc63dec8bd6bcd452829925f9877c631a2e08fbbdf02e082b3d6030dbe11f8eee48259ba10912692dc43582540284c65312560a7552be2e1d4664 SHA512 b6655ce0fe1c36e0cabfc5b8fa82ea0435090703b9bdc20a0abdcb8fbaf0f39affd38684d58c13ec4b8e8e704063fab52d57d838f09a56a08e3a7de14ff793a1
+EBUILD nvidia-drivers-470.256.02-r1.ebuild 17683 BLAKE2B b99e6fa06b692100321d38ec9d1207d14e2818d7977ee75424ed038191ca582f074af584a0373fe552a7382e664f74a38d3eb7aae360b32843c4d99d0f970e27 SHA512 c1ab9067dea4303cdbbe4fdc58e7e024449df41145208440d54af11bf7fc889075d85b6865616ee78308fa7c1d63ded9382021805a58b2f0cf92c4dd431cf1cc
+EBUILD nvidia-drivers-525.147.05-r1.ebuild 20997 BLAKE2B d7e0f34b40c029b64640a508b75620e62208f356979b99943b7d22895d0c432cb234214085fbdf4a00f7a31f68ae60d87f695b52efc373f79487bbfce04873ec SHA512 a2b4802077d61be25885d1f809ffe443927398656e1326725916c9977f49a3492610b9fe57dc9c5cdcf088eacc7557a4f3dab45a1e7673d6bbe32eb05cccc54c
+EBUILD nvidia-drivers-535.183.01-r1.ebuild 20847 BLAKE2B 3bb33cb7e134c89efb77ea2b5eb03f9169c73b09472c8691770fabd05e9135c6c5715aa53c02734ee3546427497856d5e5f5962529aaeae04e40a895bc25e4d6 SHA512 ac07d896a40159e7ef8df9d164052201043f6ba146ae1c19e6d8b7c964e3e867bd829fab99dfa7f889ed22cc4c5f8a4ca2b0fed2cf69e466613a4e940f61cf0d
+EBUILD nvidia-drivers-550.107.02-r1.ebuild 20526 BLAKE2B 32f04d6cd902845e6b8243ee52584a6b7cb0b0b850258b3c7ccbd0f786f7b1ba875742aa43967207cb245c874e94740f9b781fbd2940648dce9c3ffc8274bb68 SHA512 23d90e42b52ffdd66a001e5d64292cb72717fe292524328320477bbf13864dd6be1ba6345ed6b91ceb934208924e251c27f93766a229874d4b2368ab344d4002
+EBUILD nvidia-drivers-550.120.ebuild 20462 BLAKE2B 6b66c77de9020dbe9e064b8f52dba8c435f502fe692fffc96cf3952c4c61e601fe1f0d8adfef97a11fadaf0d30c34e664a06e593a4ef082908b4e0409772f57d SHA512 3599be6db3efcbadaf9c5df25a37b669fcac88630f47b211c803a265cf4b6c34527ccaa31f60b6a1f79671e90531a6d307b6f0c21843b1c2e6c976735664dda5
+EBUILD nvidia-drivers-550.40.75.ebuild 20575 BLAKE2B a5464df047dbd9cd9a32705aeb7046df9a980012b4ae6acb1149ee5506f0b8ba8d2a838a514aa8fdd8d8d3056e19287df9ffbd40cd6fc1c09f1b12ee2da3463d SHA512 3dcc98febcfe70f3c61761e83a7b9e21ad10060bf39376f8489fcc02a9898680db546f7e5a2559c4f9b7a3835ace6b4b644af84f06bff6bc23a82df60b566e24
+EBUILD nvidia-drivers-560.35.03-r1.ebuild 21286 BLAKE2B 43107d56e92c9df707d05ad3dd4bd68415abfff9af49ded939389eeb0b061926c9898dc5198874f709a1cdf825d4020c8d3765f983ff8eb76a0cfdeb75da67a3 SHA512 4d5c1beebb2a8feecfe5b286c46bc7232456795c42202bd1f90a07cb32673932454b78ae9418e9a3eedbb677ac2b7188d55bbea1de5c7f67d82d3eb7b6c23754
+MISC metadata.xml 1457 BLAKE2B 10fccbffe28ab58e012aae439123f947acea95eb3bdc4d0e2eb1ec14a92ad24fc2e3e0c248dcce87d9fdec54a65b8e040b2ed048d9ef11054f762f295c24ce39 SHA512 8469884c614a0275f438a0f8d583f2823d1159905ee27402e859c824cc458ac31daf69f2b7960533daaf86e1ca203be745c03e4e67ff12e9bbb2c08b91c667a0
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-470.conf b/x11-drivers/nvidia-drivers/files/nvidia-470.conf
index 74126224c6ce..4dd0badfb271 100644
--- a/x11-drivers/nvidia-drivers/files/nvidia-470.conf
+++ b/x11-drivers/nvidia-drivers/files/nvidia-470.conf
@@ -9,11 +9,12 @@ blacklist nouveau
# 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),
-# but even then may lead to issues on some setups (keep 0 if in doubt).
+# Suspend options. Note that Allocations=1 requires suspend hooks currently
+# only used when either systemd or elogind is used to suspend. If using
+# neither or have issues, try Allocations=0 (revert if it does not help
+# as =0 is not recommended).
options nvidia \
- NVreg_PreserveVideoMemoryAllocations=0 \
+ NVreg_PreserveVideoMemoryAllocations=1 \
NVreg_TemporaryFilePath=/var/tmp
# !!! Security Warning !!!
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-545.conf b/x11-drivers/nvidia-drivers/files/nvidia-545.conf
index 6de5577d5bf9..7c399e0c9490 100644
--- a/x11-drivers/nvidia-drivers/files/nvidia-545.conf
+++ b/x11-drivers/nvidia-drivers/files/nvidia-545.conf
@@ -9,17 +9,17 @@ blacklist nouveau
# 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).
+# Enable experimental framebuffer console support (requires modeset=1 above).
+# Replaces efifb, simpledrm, or similar once loaded (emphasis on being
+# experimental, "may" cause issues X mode switching, sleep, or more).
#options nvidia-drm fbdev=1
-# Suspend options. 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).
+# Suspend options. Note that Allocations=1 requires suspend hooks currently
+# only used when either systemd or elogind is used to suspend. If using
+# neither or have issues, try Allocations=0 (revert if it does not help
+# as =0 is not recommended).
options nvidia \
- NVreg_PreserveVideoMemoryAllocations=0 \
+ NVreg_PreserveVideoMemoryAllocations=1 \
NVreg_TemporaryFilePath=/var/tmp
# !!! Security Warning !!!
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-555.conf b/x11-drivers/nvidia-drivers/files/nvidia-555.conf
new file mode 100644
index 000000000000..7f83ba752025
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-555.conf
@@ -0,0 +1,44 @@
+# 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 above).
+# Replaces efifb, simpledrm, or similar once loaded (emphasis on being
+# experimental, "may" cause issues X mode switching, sleep, or more).
+#options nvidia-drm fbdev=1
+
+# 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. Note that Allocations=1 requires suspend hooks currently
+# only used when either systemd or elogind is used to suspend. If using
+# neither or have issues, try Allocations=0 (revert if it does not help
+# as =0 is not recommended).
+options nvidia \
+ NVreg_PreserveVideoMemoryAllocations=1 \
+ NVreg_TemporaryFilePath=/var/tmp
+
+# !!! Security Warning !!!
+# Do not change the DeviceFile options unless you know what you are doing.
+# Only add trusted users to the 'video' group, these users may be able to
+# crash, compromise, or irreparably damage the machine.
+options nvidia \
+ NVreg_DeviceFileGID=@VIDEOGID@ \
+ NVreg_DeviceFileMode=432 \
+ NVreg_DeviceFileUID=0 \
+ NVreg_ModifyDeviceFiles=1
+
+# Should be no need to touch anything below.
+alias char-major-195 nvidia
+alias /dev/nvidiactl char-major-195
+remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
new file mode 100644
index 000000000000..01f7e2aa1660
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
@@ -0,0 +1,134 @@
+At a glance this should(?) only be affecting fbdev=1 (default-off and
+marked experimental in nvidia.conf). Compiles fine either way given
+the test would've failed resulting in usage being skipped.
+
+NVIDIA is already aware[1] and this should be unnecessary next bumps.
+[1] https://github.com/NVIDIA/open-gpu-kernel-modules/pull/692
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -6612,2 +6612,21 @@
+
++ drm_fbdev_ttm_setup)
++ #
++ # Determine whether drm_fbdev_ttm_setup is present.
++ #
++ # Added by commit 9060d7f49376 ("drm/fb-helper: Finish the
++ # generic fbdev emulation") in v4.19.
++ #
++ CODE="
++ #include <drm/drm_fb_helper.h>
++ #if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++ #include <drm/drm_fbdev_ttm.h>
++ #endif
++ void conftest_drm_fbdev_ttm_setup(void) {
++ drm_fbdev_ttm_setup();
++ }"
++
++ compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions"
++ ;;
++
+ drm_aperture_remove_conflicting_pci_framebuffers)
+--- a/kernel/header-presence-tests.mk
++++ b/kernel/header-presence-tests.mk
+@@ -17,2 +17,3 @@
+ drm/drm_fbdev_generic.h \
++ drm/drm_fbdev_ttm.h \
+ drm/drm_framebuffer.h \
+--- a/kernel/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel/nvidia-drm/nvidia-drm-drv.c
+@@ -75,2 +75,6 @@
+
++#if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++#include <drm/drm_fbdev_ttm.h>
++#endif
++
+ #include <linux/pci.h>
+@@ -1853,3 +1857,7 @@
+ }
++#if defined(NV_DRM_FBDEV_TTM_AVAILABLE)
++ drm_fbdev_ttm_setup(dev, 32);
++#else
+ drm_fbdev_generic_setup(dev, 32);
++#endif
+ }
+--- a/kernel/nvidia-drm/nvidia-drm-os-interface.h
++++ b/kernel/nvidia-drm/nvidia-drm-os-interface.h
+@@ -60,4 +60,7 @@
+
+-#if defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
++#if (defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) || defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
+ #define NV_DRM_FBDEV_GENERIC_AVAILABLE
++#if defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)
++#define NV_DRM_FBDEV_TTM_AVAILABLE
++#endif
+ #endif
+--- a/kernel/nvidia-drm/nvidia-drm-sources.mk
++++ b/kernel/nvidia-drm/nvidia-drm-sources.mk
+@@ -69,2 +69,3 @@
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_generic_setup
++NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_ttm_setup
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_attach_hdr_output_metadata_property
+--- a/kernel-module-source/kernel-open/conftest.sh
++++ b/kernel-module-source/kernel-open/conftest.sh
+@@ -6612,2 +6612,21 @@
+
++ drm_fbdev_ttm_setup)
++ #
++ # Determine whether drm_fbdev_ttm_setup is present.
++ #
++ # Added by commit 9060d7f49376 ("drm/fb-helper: Finish the
++ # generic fbdev emulation") in v4.19.
++ #
++ CODE="
++ #include <drm/drm_fb_helper.h>
++ #if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++ #include <drm/drm_fbdev_ttm.h>
++ #endif
++ void conftest_drm_fbdev_ttm_setup(void) {
++ drm_fbdev_ttm_setup();
++ }"
++
++ compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions"
++ ;;
++
+ drm_aperture_remove_conflicting_pci_framebuffers)
+--- a/kernel-module-source/kernel-open/header-presence-tests.mk
++++ b/kernel-module-source/kernel-open/header-presence-tests.mk
+@@ -17,2 +17,3 @@
+ drm/drm_fbdev_generic.h \
++ drm/drm_fbdev_ttm.h \
+ drm/drm_framebuffer.h \
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-drv.c
+@@ -75,2 +75,6 @@
+
++#if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++#include <drm/drm_fbdev_ttm.h>
++#endif
++
+ #include <linux/pci.h>
+@@ -1853,3 +1857,7 @@
+ }
++#if defined(NV_DRM_FBDEV_TTM_AVAILABLE)
++ drm_fbdev_ttm_setup(dev, 32);
++#else
+ drm_fbdev_generic_setup(dev, 32);
++#endif
+ }
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-os-interface.h
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-os-interface.h
+@@ -60,4 +60,7 @@
+
+-#if defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
++#if (defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) || defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
+ #define NV_DRM_FBDEV_GENERIC_AVAILABLE
++#if defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)
++#define NV_DRM_FBDEV_TTM_AVAILABLE
++#endif
+ #endif
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-sources.mk
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-sources.mk
+@@ -69,2 +69,3 @@
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_generic_setup
++NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_ttm_setup
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_attach_hdr_output_metadata_property
diff --git a/x11-drivers/nvidia-drivers/files/system-sleep.elogind b/x11-drivers/nvidia-drivers/files/system-sleep.elogind
new file mode 100644
index 000000000000..d36e2697b86c
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/system-sleep.elogind
@@ -0,0 +1,7 @@
+#!/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
index 8a3bfb5d3a1b..86a8f688e863 100644
--- a/x11-drivers/nvidia-drivers/metadata.xml
+++ b/x11-drivers/nvidia-drivers/metadata.xml
@@ -10,7 +10,11 @@
<name>David Seifert</name>
</maintainer>
<use>
- <flag name="kernel-open">Use the open source variant of drivers (Turing/Ampere+ GPUs only, aka GTX 1650+, experimental)</flag>
+ <flag name="kernel-open">
+ Use the open source variant of the drivers
+ (Turing/Ampere+ GPUs only, aka GTX 1650+ --
+ recommended with >=560.xx drivers if usable)
+ </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>
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild
index ce34ec976cfa..9de2db703e7e 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild
@@ -400,6 +400,13 @@ documentation that is installed alongside this README."
# manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl"'
+
+ # Dracut does not include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.239.06.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.256.02-r1.ebuild
index 72647eb64cb8..901fcedc63b3 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.239.06.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.256.02-r1.ebuild
@@ -358,6 +358,22 @@ documentation that is installed alongside this README."
dobin nvidia-bug-report.sh
+ # 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
+
# 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
@@ -371,6 +387,13 @@ documentation that is installed alongside this README."
# ebuilds should handle manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
+
+ # Dracut does not include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
@@ -435,4 +458,44 @@ pkg_postinst() {
ewarn "[1] https://www.nvidia.com/object/IO_32667.html"
ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
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 | 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 470.256.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-525.147.05.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild
index 69c715a9288b..e799f517bebc 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.147.05-r1.ebuild
@@ -422,6 +422,22 @@ documentation that is installed alongside this README."
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
+
# 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
@@ -435,6 +451,13 @@ documentation that is installed alongside this README."
# ebuilds should handle manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
+
+ # Dracut does not include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
@@ -518,4 +541,44 @@ pkg_postinst() {
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 | 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 525.147.05-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-535.171.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.183.01-r1.ebuild
index b6e7ae3c70c1..d547a90fb2f7 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.171.04.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.183.01-r1.ebuild
@@ -422,6 +422,22 @@ documentation that is installed alongside this README."
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
+
# 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
@@ -435,6 +451,13 @@ documentation that is installed alongside this README."
# ebuilds should handle manually if need others or addwrite)
insinto /etc/sandbox.d
newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/char"'
+
+ # Dracut does not include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
@@ -518,4 +541,44 @@ pkg_postinst() {
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 | 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-535.179.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
index 9c9e507b0456..7b1df6278314 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.179.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
@@ -4,10 +4,10 @@
EAPI=8
MODULES_OPTIONAL_IUSE=+modules
-inherit desktop flag-o-matic linux-mod-r1 multilib readme.gentoo-r1
+inherit desktop flag-o-matic linux-mod-r1 readme.gentoo-r1
inherit systemd toolchain-funcs unpacker user-info
-MODULES_KERNEL_MAX=6.9
+MODULES_KERNEL_MAX=6.11
NV_URI="https://download.nvidia.com/XFree86/"
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
@@ -24,7 +24,7 @@ S=${WORKDIR}
LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
SLOT="0/${PV%%.*}"
-KEYWORDS="-* ~amd64 ~arm64"
+KEYWORDS="-* amd64 ~arm64"
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
REQUIRED_USE="kernel-open? ( modules )"
@@ -62,7 +62,6 @@ RDEPEND="
wayland? (
gui-libs/egl-gbm
>=gui-libs/egl-wayland-1.1.10
- media-libs/libglvnd
)
"
DEPEND="
@@ -89,15 +88,18 @@ BDEPEND="
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
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.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
@@ -108,21 +110,23 @@ pkg_setup() {
$(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"
+ 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."
@@ -140,9 +144,6 @@ src_prepare() {
default
- kernel_is -ge 6 7 &&
- eapply "${FILESDIR}"/nvidia-drivers-535.43.22-kernel-6.7.patch
-
# 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
@@ -151,31 +152,22 @@ src_prepare() {
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
+ 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
+ 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
-
- # 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
@@ -258,7 +250,6 @@ src_install() {
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
@@ -422,6 +413,22 @@ documentation that is installed alongside this README."
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
+
# 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
@@ -429,15 +436,23 @@ documentation that is installed alongside this README."
# don't attempt to strip firmware files (silences errors)
dostrip -x ${paths[FIRMWARE]}
- # sandbox issues with /dev/nvidiactl (and /dev/char wrt bug #904292)
+ # 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/char"'
+ newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
+
+ # Dracut does not include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
+ has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
use modules || return
@@ -502,7 +517,7 @@ pkg_postinst() {
ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau"
fi
- if use kernel-open; then
+ 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."
@@ -518,4 +533,44 @@ pkg_postinst() {
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 | 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-550.78.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild
index 12db63ac7b18..3f80d1a64cc2 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.78.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild
@@ -7,7 +7,7 @@ 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.9
+MODULES_KERNEL_MAX=6.11
NV_URI="https://download.nvidia.com/XFree86/"
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
@@ -24,7 +24,7 @@ S=${WORKDIR}
LICENSE="NVIDIA-r2 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
SLOT="0/${PV%%.*}"
-KEYWORDS="-* amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland"
REQUIRED_USE="kernel-open? ( modules )"
@@ -95,6 +95,10 @@ PATCHES=(
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
@@ -105,15 +109,23 @@ pkg_setup() {
$(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."
+ 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."
@@ -400,6 +412,22 @@ documentation that is installed alongside this README."
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
+
# 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
@@ -413,6 +441,13 @@ documentation that is installed alongside this README."
# 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 include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
@@ -497,4 +532,44 @@ pkg_postinst() {
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 | 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-550.40.61.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.75.ebuild
index f1af40fab149..7c967cc422fc 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.61.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.75.ebuild
@@ -7,8 +7,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.9
-NV_PIN=550.76
+MODULES_KERNEL_MAX=6.11
+NV_PIN=550.120
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
HOMEPAGE="https://developer.nvidia.com/vulkan-driver"
@@ -91,11 +91,16 @@ 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
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.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
@@ -106,15 +111,23 @@ pkg_setup() {
$(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."
+ 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."
@@ -228,6 +241,7 @@ src_install() {
[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
@@ -401,6 +415,22 @@ documentation that is installed alongside this README."
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
+
# 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
@@ -414,6 +444,13 @@ documentation that is installed alongside this README."
# 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 include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
}
pkg_preinst() {
@@ -498,4 +535,44 @@ pkg_postinst() {
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 | 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.40.71-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-560.35.03-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
new file mode 100644
index 000000000000..2027543207fe
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
@@ -0,0 +1,591 @@
+# 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.11
+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"
+# 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(-)?]
+ )
+"
+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
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.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-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")
+ 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
+ # 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
+
+ # 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
+
+ # 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 include /etc/modprobe.d if hostonly=no, but we do need this
+ # to ensure that the nouveau blacklist is applied
+ # https://github.com/dracut-ng/dracut-ng/issues/674
+ # https://bugs.gentoo.org/932781
+ echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \
+ "${ED}/usr/lib/dracut/dracut.conf.d/10-${PN}.conf" || die
+}
+
+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 | 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
+}