Har ni provat nvidiadrivrutinens 'nya' power management?
Disclaimer:
ledsen om detta diskuteras ett otal gånger men jag har inte haft så stor tur med sökfunktionen på swec, vare sig med " " eller utan (sökt på nvidia-hibernate och "nvidia-hibernate" och varje gång blir resultaten ungefär alla trådar).
Nyligen gjorde en uppdatering till min Fedora Workstation (34) med nvidias proprietära drivrutin att
/usr/lib/modprobe.d/nvidia-power-management.conf fick
"options nvidia NVreg_PreserveVideoMemoryAllocations=1" och min maskin med nvidiakort kunde inte suspenda mer.
https://download.nvidia.com/XFree86/Linux-x86_64/470.63.01/RE... förklarar saken. Den där parametern har med ett experimentiellt sätt för linuxdrivrutinen att hantera suspend, hibernate och resume för nvidia-kortet att göra och är förknippad med tre systemd-tjänster (på system med systemd).
Additionally, to unlock the full functionality of the interface, the NVIDIA Linux kernel module nvidia.ko needs to be loaded with the NVreg_PreserveVideoMemoryAllocations=1 module parameter. This changes the default video memory save/restore strategy to save and restore all video memory allocations. Also, the /proc/driver/nvidia/suspend power management mechanism (with a system management tool, such as systemd) is required for using this interface
Det går alltså inte så bra att ha optionen nämnd ovan på medan systemd-tjänsterna inte är enablade. (I det stadiet var mitt uppdaterade system som inte kunde suspenda).
Man kan sätta optionen till 0 så fungerar maskinen att suspenda som förr...men en sak jag accepterat som universiell sanning var att Darktable förlorar kontakt med OpenCL när maskinen vaknar, ja clinfo säger "inga enheter", om OpenCL används när maskinen suspendar, ex att Darktable körs när det sker.
Så provade att enabla de tre nämnda systemdtjänsterna,
/usr/lib/systemd/system/nvidia-resume.service
/usr/lib/systemd/system/nvidia-hibernate.service
/usr/lib/systemd/system/nvidia-suspend.service
och woo, maskinen kan suspenda och gör den det med Darktable igång så fortsätter det ha kontakt med OpenCL när den vaknar, riktigt skoj : )
Så kör ni den nya "experimentiella metoden" för sömnlägen för nvidiakort och funkar den väl?
Fördelen verkar ha med bland annat OpenCL/CUDA och suspend att göra. Jag tycker det nya läget är intressant för att det både gynnar mig och för att det gamla läget funnits och varit allmänt vedertaget ganska länge afaik.
Instead of callbacks from the Linux kernel, this mechanism, when used, relies on a system management tool, such as systemd, to issue suspend, hibernate, and resume commands to the NVIDIA kernel driver via the /proc/driver/nvidia/suspend interface. It is still considered experimental, and requires explicit configuration to use.
If configured correctly, this mechanism is designed to remove the limitations of the kernel driver callback mechanism. It supports power management with advanced CUDA features (such as UVM), and it is capable of saving and restoring all video memory allocations.
| 212965 00 ] == :^D * ==)