Я использую Ubuntu 16.04 LTS и nvidia-340.
При включенных драйверах NVIDIA я не могу выйти из режима ожидания.
Я могу выйти из режима ожидания, если переключусь на драйвер Intel или использую драйверы Nouveau.
Я попробовал обновить ядро, но это не решило проблему.
Есть ли способ решить эту проблему с помощью фирменных драйверов NVIDIA?
Если нет, то сильно ли я потеряю в производительности, используя драйверы nouveau вместо фирменных драйверов nvidia?
решение1
Suspend/Hibernate/Resume можно настроить для добавления специальной обработки для вашей видеокарты через пакет pm-utils
( utilities and scripts for power management
). Прочитайте man
страницы для pm-action
, pm-powersave
, pm-is-supported
, pm-suspend-hybrid
, pm-hibernate
, pm-suspend
и прочитайте файлы в /usr/share/doc/pm-utils/
.
решение2
Используя последнюю версию nvidia-driver-495, я смог сбросить параметры загрузки. Все вернулось к норме...
Обновлено
Добавление следующих параметров загрузки (в GRUB_CMDLINE_LINUX_DEFAULT
) помогло мне:
acpi_osi=! acpi_osi="Windows 2009"
[двойные кавычки "
необходимо экранировать обратной косой чертой \
в /etc/default/grub]
Реквизиты дляhttps://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-594328434(Хотя я не использую Bumblebee ..)
Система состоит из:
- NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] / NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
- Работает Ubuntu 20.04.3
- Использование драйвера nvidia-470
Как обходной путь(больше не работает...)для меня это приостановка через командную строку (то есть не используя верхнюю панель «Приостановить» и не закрывая крышку - или хуки из pm-suspend, как я понимаю):
systemctrl suspend
Пока не опробовано (скопировано) решение с форума nvidia:
Короткий ответ, что происходит?- в процессе возобновления работы Linux (+systemd) забыли включить монитор. Поэтому для решения проблемы нужно просто включить монитор.
Краткое решение (быстрая проверка, помогает оно вам или нет)
Ctrl+Alt+F1
, вы увидите приглашение на вход в систему, войдите в систему как обычный пользователь (не root) и выполните (команда в одну строку):
chvt 7 ; sleep 3; xrandr --display :0.0 --auto
Длинное решение
Установите драйвер 360 и установите все nvidia-*.service
и установите /usr/bin/nvidia_sleep.sh
драйвер 470 (который не содержит эти службы systemd в /usr/share/doc/nvidia-*
папках). Отредактируйте /usr/bin/nvidia_sleep.sh
и в разделе resume после команды chvt добавьте под своим пользователем xserver:
sleep 3; xrandr --display :0.0 --auto
Также необходимо добавить root (может быть и другого) в качестве пользователя XServer, поэтому в рабочей XSession вам нужно разрешить root выполнять xrandr: отредактируйте /etc/X11/xinit/xinitrc и добавьте:
xhost +localhost
или
xhost +root@localhost
проверьте, работает ли:
sudo su -l xrandr
должно сработать.