LINUX.ORG.RU

Нвидиа и гибернация и выполнение скрипта

 ,


1

1

На опенсусю прилетели обновления драйвера нвидиа и поломалась гибернация. Интернет подсказал https://ask.fedoraproject.org/t/fedora-34-kde-unable-to-suspend-after-nvidia-driver-update/16241 что надо немного настроить драйвера, а именно включить службы [code]sudo systemctl enable nvidia-suspend.service sudo systemctl enable nvidia-hibernate.service sudo systemctl enable nvidia-resume.service[/code] Гибернация теперь работает, но есть нюанс. У меня в директории /usr/lib/systemd/system-sleep/ имеется скрипт для выполнения при уходе в гибернацию и при просыпании. Так вот теперь он работает только при просыпании.

★★

Последнее исправление: KOT040188 (всего исправлений: 3)

не знаю куда прописывать NVreg_PreserveVideoMemoryAllocations 1

Туда, откуда modprobe берет параметры для загрузки модулей. У меня это /etc/modprobe.d/nvidia.conf

И вообще что даёт новое управления гибернацией непонятно.

По-идее оно должно позволять корректно уходить в спячку с запущенными OpenGL/Vulkan-приложениями и не получать после пробуждения мусор в видеопамяти. Когда я включил эту штуку, мусор действительно перестал появляться, но гарантии, что приложение продолжит нормальную работу, все еще нет

annulen ★★★★★
()
Ответ на: комментарий от annulen

В файле /etc/modprobe.d/nvidia.conf только строчка blacklist nouveau. Как понять что именно из этого файла нвидиа берёт настройки?

не получать после пробуждения мусор в видеопамяти. Когда я включил эту штуку, мусор действительно перестал появляться

Это хорошо, мусор бывал раньше. Допустим я хочу остаться на этом режиме, но как мне быть со скриптом? Куда теперь его прописать, чтобы он исполнялся при уходе в спячку и при просыпании?

KOT040188 ★★
() автор топика
Последнее исправление: KOT040188 (всего исправлений: 3)
Ответ на: комментарий от KOT040188

В файле /etc/modprobe.d/nvidia.conf только строчка blacklist nouveau. Как понять что именно из этого файла нвидиа берёт настройки?

Хз. Мне в генте сразу дали шаблон, в котором можно раскомментировать то, чего не хватает :)

Сейчас у меня вот такой nvidia.conf:

# nvidia-drivers and nouveau cannot be used at same time.
# Comment out the following line if you wish to allow nouveau.
blacklist nouveau

# Kernel Mode Setting (notably needed for EGLStream/Wayland)
# Enabling may possibly cause issues with SLI and Reverse PRIME.
options nvidia-drm modeset=1

# Suspend options. Allocations=0 recommended over =1 unless enable nvidia's
# systemd sleep services (nvidia-hibernate, nvidia-resume, nvidia-suspend),
# but even then may lead to issues on some setups (keep 0 if in doubt).
options nvidia \
	NVreg_PreserveVideoMemoryAllocations=1 \
	NVreg_TemporaryFilePath=/var/tmp/nvidia

# !!! 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=27 \
	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
annulen ★★★★★
()
Ответ на: комментарий от KOT040188

В файле /etc/modprobe.d/nvidia.conf только строчка blacklist nouveau. Как понять что именно из этого файла нвидиа берёт настройки?

оно из всех файлов /etc/modprobe.d/*.conf берет все настройки.

И не nvidia, а ядро, когда загружает модули.

options nvidia-drm modeset=1

Вот увидит ядро такую строчку и при modprobe nvidia-drm добавит параметр modeset=1

options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp/nvidia

а тут как придет пора загружать модуль nvidia, оно ему укажет два параметра.

AVL2 ★★★★★
()