Исправление черного экрана после приостановки в Ubuntu 22.04: руководство по NVIDIA и AMD
Несомненно, проблема с черным экраном Ubuntu 22.04 LTS после приостановки стала критической проблемой для некоторых пользователей. Если у вас есть видеокарта NVIDIA или AMD, вы можете столкнуться с этой проблемой чаще. В данной статье представлен глубокий анализ проблемы и предлагаются различные варианты ее решения.
В этом уроке вы узнаете:
- Как устранить неполадки и исправить проблему с черным экраном после приостановки в Ubuntu 22.04 LTS для видеокарт NVIDIA, включая отключение сервисов NVIDIA systemd и понижение или обновление драйверов
- Обходной путь для пользователей с драйвером NVIDIA 515 и CUDA 11.7 для решения проблемы с черным экраном после приостановки
- Решения для пользователей видеокарт AMD, которые предполагают установку пакета amdgpu-install
Понимание сути проблемы
Проблема в первую очередь возникает из-за того, как драйверы NVIDIA обрабатывают управление питанием в Linux. Возможны два метода:
- Обратный вызов драйвера ядра: Этот метод работает безупречно, не требуя какой-либо настройки, но он экономит лишь часть видеопамяти. Кроме того, ему не хватает расширенных возможностей управления питанием.
- systemd (/proc/driver/nvidia/suspend): В отличие от обратного вызова драйвера ядра, этот метод имеет расширенные функции управления питанием и может полностью заполнить видеопамять. Тем не менее, это требует установки и настройки.
Эта проблема, похоже, всплывает на поверхность с миграцией драйвера NVIDIA 470 на метод systemd. В более ранних версиях драйверов использовался обратный вызов драйвера ядра. Этот переход представляется проблематичным для некоторых конфигураций ядра.
Обход проблемы
Поскольку проблема заключается в методе systemd, нам нужно временно вернуться к методу Kernel Driver Callback. Вот как вы можете этого добиться:
Отключите сервисы NVIDIA systemd,
sudo systemctl stop nvidia-suspend.service
sudo systemctl stop nvidia-hibernate.service
sudo systemctl stop nvidia-resume.service
sudo systemctl disable nvidia-suspend.service
sudo systemctl disable nvidia-hibernate.service
sudo systemctl disable nvidia-resume.service
Эта последовательность команд остановит и отключит службы NVIDIA systemd, связанные с приостановкой, гибернацией и возобновлением. После этого мы удалим скрипт systemd от NVIDIA, выполнив следующую команду:
sudo rm /lib/systemd/system-sleep/nvidia
После этого перезагрузите компьютер. Ваш компьютер должен иметь возможность надлежащим образом приостанавливать и возобновлять работу с версией драйвера 470.xx. Обратите внимание, что это обходной путь и может не быть постоянным решением.
Дополнительные решения
- Разные версии драйверов NVIDIA: Если вы используете разные версии драйверов NVIDIA, такие как версии 510 и 515, вы можете захотеть перейти на версию 470. Для этого используйте приложение "Дополнительные драйверы", чтобы выбрать версию драйвера NVIDIA 470 и применить изменения.
- Видеокарты AMD: Если вы работаете с видеокартами AMD, вы можете улучшить ситуацию, установив пакет amdgpu-install. Вы можете получить его, выполнив
amdgpu-install --usecase=graphics
. - Изменение драйвера NVIDIA: изменение драйвера на «Драйвер NVIDIA 515 протестирован» также может решить проблему.
- Наконец, обновление драйвера NVIDIA до версии 525: Для тех, кто использует видеокарту GeForce GTX 1060 на Ubuntu 22.04, вам следует обновить драйвер NVIDIA до версии 525. Перейдите в приложение «Программное обеспечение и обновления» в вашей системе и выберите версию драйвера NVIDIA 525. Внесите изменения и перезагрузите систему.
Заключение
Эти решения должны устранить проблему с черным экраном после приостановки в Ubuntu 22.04 LTS. Всегда создавайте резервные копии важных данных, прежде чем вносить существенные изменения в систему. Сообщество Ubuntu всегда доступно для дополнительной помощи в случае возникновения проблемы.