diff options
Diffstat (limited to 'x11-drivers')
12 files changed, 368 insertions, 18 deletions
diff --git a/x11-drivers/Manifest.gz b/x11-drivers/Manifest.gz Binary files differindex a17d9abed47f..516059d4309e 100644 --- a/x11-drivers/Manifest.gz +++ b/x11-drivers/Manifest.gz diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index af8567d940c0..7e569a00d2a0 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,8 +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 1219 BLAKE2B 334975e048d2cafbbf5fc9d0a74ce9cea4af82103be4d02539d91bb3da4fb39fbb24f64dd6240a526259306c5b971323c00104e2254893fd433f3ef56c9ba8f2 SHA512 6e218dd8da6cfd2d13a259a461348221b65d8475e018c0a6ef5856fd177748306569751545171237c84ccbe3ac526231184bcbe286507f18b32a3518c40bdcb7 -AUX nvidia-545.conf 1449 BLAKE2B 128abdb32edafac6e81bd056e3174daf21905ee553ff4f65e25af211f5610f92d02ff25e32060e6a7832e3b25902ab748a5491df560e84e44ab9db6c3c7edb72 SHA512 c01e2c19537d9fd6a766d459b0f0e8affefb881141f5d5a897d02860cd23e3365c76ae0f6fc89108d4c9263ebd672e34b6fb78b8e6efbc11cb81ba5bf631c46e -AUX nvidia-555.conf 1755 BLAKE2B 65c2c0daeac96d03550abf5d2ef99e785a06f3810a490f4d67c18f7c07b10e8482598feeffb9cb8ce7ce15f5ec6313ba784c4be23d747616634673fd89e0b9fd SHA512 8f1bc3189a8819a566cb57fa3e8f6a2eee124b3eefd7469f821cee7d4f424ed5dd96e8c112bbc1bf554ed8bfa7b33c3457710467459313b05d37141a7e6602ee +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 @@ -21,6 +21,7 @@ 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.183.01.run 269908911 BLAKE2B 93665bfd2c66391b232c0db7faa2b7929048f4eb0ac660726bc45fcee21bcf9b255da5f4fbdc14c281092f31e7603b5b112fc42b3c7d6e4769cdbedf8d0f16b0 SHA512 d2ac1be8c19b359023c31941374911f3adfe1be34aa2821ef582df4c854ac4eefbbcb10aa22583ac8c9d5caf9326bda12ed1ce6343d67479ed37a4887bd17b5e DIST NVIDIA-Linux-aarch64-550.107.02.run 236334785 BLAKE2B 6ed0cfddbe82566e6c9056d10454f6cb289a60e928b05cb64b65ae7ee341888f942e888c556d3e528b3d1228cc1ee14e938fa25c84750f85ab95239fb684f2ff SHA512 a62d5d13089dbc98c022cb3bdf00999d79da7ae370c6e84405ca9e32034f19fcea65ac74845323223f1a8b8f1443e506c60704ba56e6f5add04b2a007d2d443c @@ -69,10 +70,10 @@ DIST nvidia-xconfig-550.107.02.tar.bz2 111170 BLAKE2B dbf2b0b7f7b71f17ce5a0b6ae1 DIST nvidia-xconfig-560.35.03.tar.bz2 111203 BLAKE2B 347d4f80b9a16da54fbd7116d0ceafbb15b3b6e78aa1640b8505674b9ffc32056197925b67506d2cbb5d130054944c13246a592d9021f0bb2410ee6e8216df4e SHA512 1a68729b8aa1d3518b43392d4f9af163e2a084c635c08343b25ce761f835801aad203778fd03564ba050ad949a9d2df84fba4c8a48bb1a7afea5e72eb364eb58 DIST open-gpu-kernel-modules-550.40.71.tar.gz 13811934 BLAKE2B 479c08b73afc91a2f09d7a28bd06795db4dd8f253b2787e41e3c5c8bcde5d606f9715f48d8d3f61ed0cc637445db83dbb6e4b09b0b50cbabe358ea13f8ff683e SHA512 81cb651a9a56aebf806b8442a9de70147beec415f6cb26f41e3d60ef31c024dc84f6c9754ccaff6d0112cc0d97a564403f4d64192c57d38c4969a9d026fc1f61 EBUILD nvidia-drivers-390.157.ebuild 14786 BLAKE2B 0aa98cd61987bbcd67e2c117e0acee43d28b54787f1d4dbafa3e871902dc6d066873b8b6cfb57a83b1a17e49b8701925924e4b5f2d2abb22f12494c852a65c8a SHA512 2e85077a050a546a5b6a8f4ec38c27d7269a5993ff04b6f49e6b7a96e2e27ecd84e61730e286470af63e87a314258eb5e6a64a3c93aa7347d27541d9ea30ade7 -EBUILD nvidia-drivers-470.256.02.ebuild 14335 BLAKE2B 4ccf76ce3ee46fec93e8bad162c41b3e00dbdc61eca1225993ec8a68ab3d3c078012ef152b75e5fd2cff6e33f710db588f6bc0b56ddb2b6970a552039bb655fe SHA512 921307b5d9013bfdb04ff23f03884ac8da32d880327c2d52eb85894f216af0359e5319923220a08012b15a572805d870660d5c332a09fb8b7faeb70038f908a9 -EBUILD nvidia-drivers-525.147.05.ebuild 17649 BLAKE2B c587c8ec8f356844b95c4f5dc77cc4c4c684f79c8b67ad745e472c4760925c1e4b736dfaa111fa462ccfe6ebb7e20792937a374aaa347e697180f0087a341bb8 SHA512 4dfd604a3692d4330999617bb96f02dfec0ced6a07dd393113a3ee9dee8c3aa1b9792c3bf17af1d5da6181cbf3c79873ac2cd78ce7b13fb00041696d3f0a6ef1 -EBUILD nvidia-drivers-535.183.01.ebuild 17499 BLAKE2B e06cd90559e3af3ec6f6f3890426b46d10c61a761a4e7e01c8e7b4e86898c43eed802aa06f185b6b4650ad1572c866e55267ce4b0d8b0c626e364976119c2ea6 SHA512 f9d0dbc07c068e4e28de61f81d878b87ef9fe63e31f02f0d3f7587a5fef7c2fa6b237b5cde736f78623db9073244240c2818424633bf8e3fff6d592c97007efa -EBUILD nvidia-drivers-550.107.02.ebuild 16589 BLAKE2B 61e4bb8a4f0f397d2a5a72872b0a85b8e6dea7e3e80e4a66a7f307cf61a9e41be995e74fba3209b36feb84b9d192953f225a5f96b66eeef136fbcd72850e2e05 SHA512 0495d80551cd07d2f8dfe00bc34428ae891d2eca421d50ae86645e4fc32cf3853bf4e82677576e77e00d44f3221c86ab71666c555178bdea6aae9b41bd1639c2 -EBUILD nvidia-drivers-550.40.71.ebuild 16642 BLAKE2B 07a8bfd5f412c20a3dc9e42668bb285bd43605994cd6d27a5fd4d1a23547535929096a791988ad2cd9d1853d1675076925e3d73078994ddff26f9414dd6157f7 SHA512 1f1109b3c68ee0594ba297d55cac251062e04c4f75bdfc2ac3cb4fa4c0251243ba22332af147ffc443dc5bd42fbb51554ad7f3ed7f86895efbaaa23239defb6b -EBUILD nvidia-drivers-560.35.03.ebuild 17350 BLAKE2B c2e380495b2bdfc7c998a4de6584b27235c0688d1a63b2d755481219d9418f95e421e5ddd227afa9d9ea7707e3eb5d5c367d0f8aee27e97924f9a3cda7fbca47 SHA512 430b76702ba826b65bacb4fe883681736b45971ffa8446bab8497909541fc3ac810a757a65cb160a0c986003693dcc43e4745c7d57d0e288eb630ccf5a033f24 +EBUILD nvidia-drivers-470.256.02-r1.ebuild 17333 BLAKE2B 35823d70cff4f6cc62ee0cc748725ef3d6049b2041bd9d25acdd21eee589839981469d1a5a80bed4c3cd4265b3f4a83160ffb6d5054d514a17973f0471c96ffd SHA512 4076abad69b099fa266917db15877c27e0d849b040ff2c486bc1c61f9d5c654a3ca9957e29ff9062a638731ff4ce74e8c93c87b360b401dfcfe92d032245930d +EBUILD nvidia-drivers-525.147.05-r1.ebuild 20647 BLAKE2B 4b2f98045d25202dd2b07431b6958977a468f130ee05bee465748f875233f5973f7084e22cd6d8170bff86987c2a95b4d9605fceb85cf3c53d0143d46bd7ede2 SHA512 92f57b234f4ed899f2c2c68acb4150e96279821775b097ca67ddacc1761fbf53164b07c2aa6f3d3feceb58700780ac93359f5e2babc6a41fd7c6b2490dc12d7b +EBUILD nvidia-drivers-535.183.01-r1.ebuild 20497 BLAKE2B 8d79e450006c54a1bd9acd50ef8dec314b5a658781e6eac388d12ef55df07e027cf5b6796812946ac8f1f26b95ceeb32ba3b11904ce9ea8c6c9a7e879ada4351 SHA512 2cbe6fcf01255afda9f0d6da3a3853f0e49712f4a880943fc3e19169c201b8d78e6c3bba45538767fd80395b58033ff380ecefd33b91aa96cec458b1837702b6 +EBUILD nvidia-drivers-550.107.02-r1.ebuild 19587 BLAKE2B 55c67efa4ac7c2206b89e619940ecb3641f528a9da2a64734bc412bcb907d6cf4868bcefe8f540916d439d2b37ee06381a7de7b604d03e07ffe35b18da529f0f SHA512 54fca7be7815c83c22f1798b86d9ec232605fc711dbd3750c7a7aec6538eee4aa64194755270ceda838a27c8ce296999f196356ed33268ec2c0dc50c1f6bd14c +EBUILD nvidia-drivers-550.40.71-r1.ebuild 19639 BLAKE2B fba51679ad674a628eb5b91b2e731c44d0d965697996ad12edc82e0bb4c7eb28d1b030c1e187e9b797976dd6072cab78e2a4fc1ec0f67c8a702c1fba14c652f9 SHA512 74f75d15dbd13a2512376f33fc77b7a4df71534d29bf137fb76a21c082cb3ef17674aae361d8d1729280d724a4172dcf0902f0e75fa39f2d5c7502aff331e85b +EBUILD nvidia-drivers-560.35.03-r1.ebuild 20347 BLAKE2B 9e9f2014b956e258efeb827eab041fc7ddf380a2f1533ec43ec155f0f7316557aee62a494c87759d1858071d2dd0a1c8d1faa17ee869c667c01728f878a31e07 SHA512 550cb00a9dffc58d2c3558742875f4b6e795914a749b7f950cbb04ea683aae81f9a28afc345f398d1b2aedd8ce3943607e8f3ab37f3f46e6361ad2f0afbe2cf3 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 2b87b67602e0..4dd0badfb271 100644 --- a/x11-drivers/nvidia-drivers/files/nvidia-470.conf +++ b/x11-drivers/nvidia-drivers/files/nvidia-470.conf @@ -9,10 +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). +# 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 d5be9b654091..7c399e0c9490 100644 --- a/x11-drivers/nvidia-drivers/files/nvidia-545.conf +++ b/x11-drivers/nvidia-drivers/files/nvidia-545.conf @@ -14,10 +14,12 @@ blacklist nouveau # 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). +# 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 index 98bd87c43080..7f83ba752025 100644 --- a/x11-drivers/nvidia-drivers/files/nvidia-555.conf +++ b/x11-drivers/nvidia-drivers/files/nvidia-555.conf @@ -20,10 +20,12 @@ blacklist nouveau # Cannot be disabled if using USE="kernel-open". #options nvidia NVreg_EnableGpuFirmware=0 -# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's -# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend). +# 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/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/nvidia-drivers-470.256.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.256.02-r1.ebuild index 72647eb64cb8..5223357f1af2 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.256.02.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 @@ -435,4 +451,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..de085dd0ad2b 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 @@ -518,4 +534,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.183.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.183.01-r1.ebuild index b6e7ae3c70c1..340237b6525e 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.183.01.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 @@ -518,4 +534,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-550.107.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild index 42c25308f23a..430c45687498 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild @@ -400,6 +400,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 @@ -497,4 +513,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.71.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild index 0b678cefa151..de02b58759b9 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild @@ -402,6 +402,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 @@ -499,4 +515,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.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild index 7201283bfb9f..31a3eab6d6e2 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild @@ -405,6 +405,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 @@ -512,4 +528,44 @@ pkg_postinst() { 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 } |