Небольшое руководство, которое поможет вам установить драйвер графического процессора NVIDIA и управлять им в вашей системе Ubuntu.
Лично я на данный момент являюсь пользователем Ubuntu 24.04.1 , так что в основном это то, к чему относится это руководство (хотя я считаю, что оно должно хорошо работать с более новыми выпусками, а также со старыми выпусками, которые не являются старыми или очень старыми [something like Ubuntu 20.04+]
)
️ ПредупреждениеПожалуйста, внимательно следуйте и читайте каждую часть этого руководства, чтобы избежать возникновения каких-либо проблем.
Также не беспокойтесь, если на каком-либо этапе перезагрузки система выглядит зависшей. На самом деле оно не застряло! Пожалуйста, подождите до 2 минут для завершения перезагрузки.
graphics-drivers
[РЕКОМЕНДУЕТСЯ]Этот подход к установке является рекомендуемым, и на самом деле именно его я использую для установки драйвера в своей системе(ах).
Убедитесь, что вы удалили все ранее установленные драйверы NVIDIA:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): Удаление драйвераУстановите эти зависимости, чтобы обеспечить поддержку DKMS и беспроблемный процесс установки:
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-555
reboot
ПРИМЕЧАНИЕ. На момент последнего обновления этого руководства 555 — это последняя протестированная версия драйвера, доступная в репозитории.
Перейдите по адресу https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa, чтобы проверить последнюю версию драйвера, затем замените часть driver-555
версией, которую вы хотите установить.
nvidia-smi
, чтобы убедиться, что драйвер установился без проблем.Эта процедура является более сложной и часто не рекомендуется. Однако все будет хорошо, если вы будете выполнять каждый шаг терпеливо и внимательно :)
Убедитесь, что вы удалили все ранее установленные драйверы NVIDIA:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): Удаление драйвера Убедитесь, что у вас нет установленной вручную версии libnvidia-egl-wayland1
(особенно, если вы собираетесь установить версию драйвера Nvidia 555+). Драйвер уже включает его, как указано @ https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installedcomComponents.html.
sudo apt remove libnvidia-egl-wayland1
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
Перейдите по адресу https://www.nvidia.com/Download/index.aspx?lang=en-us и загрузите подходящий драйвер для вашего графического процессора и архитектуры Linux. Веб-сайт должен предоставить вам файл с расширением .run
.
Переключитесь в вид терминала вашей системы, нажав Ctrl + Alt + F3
(если это не переключит вас из режима графического интерфейса в режим терминала, попробуйте вместо этого Ctrl + Alt + F1
или Ctrl + Alt + F2
для другого tty)
Остановите службу GDM:
sudo systemctl stop gdm
sudo systemctl stop gdm3
Если это не помогло, попробуйте вместо этого sudo systemctl stop lightdm
.
Обратите внимание , что важно останавливать службу GNOME Display Manager (GDM) на протяжении всего процесса установки/удаления драйвера, поскольку в противном случае это может вызвать проблемы.
Измените путь к каталогу, содержащему загруженный файл .run
с помощью cd
Запустите установщик:
chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run
(обязательно замените имя файла фактическим, полученным с веб-сайта Nvidia)
ПРИМЕЧАНИЕ. Если установщик попросит вас отключить Nouveau, позвольте установщику отключить его за вас. После этого вам может потребоваться прервать установку, затем запустить sudo update-initramfs -u && reboot
, а затем снова начать с шага 5, как только система завершит перезагрузку.
sudo update-initramfs -u
чтобы обновить initramfs./etc/default/grub
с помощью sudo nano /etc/default/grub
nvidia-drm.modeset=1
и nvidia-drm.fbdev=1
внутри вашего GRUB_CMDLINE_LINUX
(т.е. GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
nvidia-smi
, чтобы убедиться в этом). graphics-drivers
Бегать:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
sudo rm -rf /lib/modprobe.d/nvidia-installer-*
sudo rm -rf /etc/modprobe.d/nvidia-installer-*
sudo rm -rf /usr/lib/modprobe.d/nvidia-installer-*
nvidia-drm.modeset
, nvidia-drm.fbdev
и т. д.) из файла /etc/default/grub
. ( это важно ).sudo update-grub
sudo nvidia-installer --uninstall
sudo update-initramfs -u
graphics-drivers
).Похоже, об ошибке сообщается по адресу https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-535/+bug/2063222.
Обходной путь:
[ Workaround ]
1. sudo rm /dev/dri/card0
2. Log in again.
/etc/gdm3/custom.conf
с помощью sudo nano /etc/gdm3/custom.conf
WaylandEnable=true
и убедитесь, что он не закомментирован (не начинается с #
).sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
Это может произойти по многим причинам. Уже давно известно, что у NVIDIA есть проблемы с оконной системой Wayland. Однако NVIDIA работает над улучшением ситуации. И на самом деле ситуация уже стала намного лучше, начиная с драйвера NVIDIA 555.42.02, который добавил поддержку явной синхронизации.
Итак, прежде всего, убедитесь, что у вас есть:
затем продолжайте читать ниже, чтобы сделать процесс еще более плавным:
Ваша система может использовать драйвер Mesa вместо драйвера NVIDIA в сеансах Wayland. Вы можете подтвердить это, набрав glxinfo | egrep "OpenGL vendor|OpenGL renderer*"
Чтобы решить эту проблему:
/etc/default/grub
с помощью sudo nano /etc/default/grub
nvidia-drm.modeset=1
и nvidia-drm.fbdev=1
внутри вашего GRUB_CMDLINE_LINUX
(т.е. GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
Возможно, у вас включена прошивка GSP от Nvidia, и это, как известно, вызывает некоторые проблемы с производительностью в бета-версии драйвера 555.42.02. Возможно, это будет исправлено в будущем, а пока мы можем отключить прошивку GSP, если это необходимо.
Вы можете проверить, включена ли прошивка GSP, набрав nvidia-smi -q | grep "GSP Firmware"
— если написано N/A
, значит, прошивка не включена. Если иначе (показывает версию прошивки GSP), то прошивка включена.
Чтобы отключить прошивку GSP, выполните следующие действия:
/etc/default/grub
с помощью sudo nano /etc/default/grub
nvidia.NVreg_EnableGpuFirmware=0
в ваш GRUB_CMDLINE_LINUX
sudo update-grub
См. https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606 для получения дополнительной информации по этой проблеме.
Возможно, вам не хватает пакета libnvidia-egl-wayland1
(который часто рекомендуется). Попробуйте установить пакет с помощью sudo apt install libnvidia-egl-wayland1
(не делайте этого, если вы установили драйвер Nvidia версии 555+, поскольку установщик драйвера уже устанавливает его за вас. Пакеты репозитория PPA также устанавливают его по умолчанию. ).
для Google Chrome (и браузеров на базе Chromium в целом) вам может потребоваться переключить флаг «Предпочитаемая платформа Ozone» на «Wayland» или «авто». Чтобы применить это, выполните следующие действия:
для некоторых приложений Electron вам может потребоваться передать тот же флаг платформы Ozone, что и выше. Например, code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
для кода Visual Studio
Возможно, у вас не включен параметр модуля сохранения выделения видеопамяти, и это может вызвать проблемы, особенно при приостановке и возобновлении работы системы, обычно в виде графических артефактов или нарушенной среды рабочего стола.
Вы можете проверить, включен ли параметр модуля, набрав sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
. Если значение равно 0
или отсутствует, то параметр не включен.
Чтобы включить параметр модуля сохранения выделения видеопамяти, выполните следующие действия:
/etc/default/grub
с помощью sudo nano /etc/default/grub
nvidia.NVreg_PreserveVideoMemoryAllocations=1
в ваш GRUB_CMDLINE_LINUX
sudo update-grub
sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
чтобы убедиться, что параметр теперь установлен. Если после включения этого параметра модуля у вас по-прежнему возникают проблемы с приостановкой/возобновлением, вы можете просмотреть документацию Nvidia по управлению питанием, чтобы дважды проверить, установлены и включены ли соответствующие службы systemd
.