Una pequeña guía para ayudarle a instalar y administrar el controlador de GPU NVIDIA en su(s) sistema(s) Ubuntu
Personalmente, soy usuario de Ubuntu 24.04.1 en este momento, por lo que esto es principalmente a lo que se aplica esta guía (aunque creo que debería funcionar bien en versiones más nuevas y también en versiones más antiguas que no son muy antiguas [something like Ubuntu 20.04+]
)
️ AdvertenciaSiga y lea cada parte de esta guía con mucho cuidado para evitar que surjan problemas.
Tampoco se preocupe si el sistema parece atascado durante cualquier paso de reinicio. ¡En realidad no está atascado! Espere hasta 2 minutos para que se complete el reinicio.
graphics-drivers
[RECOMENDADO]Este método de instalación es el recomendado y, en realidad, es el método que utilizo para mantener la instalación del controlador en mis propios sistemas.
Asegúrese de haber desinstalado todos los controladores NVIDIA instalados previamente:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): Desinstalación del controladorInstale estas dependencias para garantizar la compatibilidad con DKMS y un proceso de instalación sin problemas:
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
NOTA: En el momento de la última actualización de esta guía, 555 es la última versión probada del controlador disponible en el repositorio.
Navegue a https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa para verificar cuál es la última versión del controlador, luego reemplace la parte driver-555
con la versión que desea instalar.
nvidia-smi
para confirmar que el controlador se haya instalado sin problemas.Este procedimiento es más avanzado y, a menudo, no se recomienda. Sin embargo, todo irá bien siempre y cuando sigas cada paso con paciencia y cuidado :)
Asegúrese de haber desinstalado todos los controladores NVIDIA instalados previamente:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): Desinstalación del controlador Asegúrese de no tener una versión instalada manualmente de libnvidia-egl-wayland1
(especialmente si va a instalar la versión 555+ del controlador Nvidia). El controlador ya lo incluye como se indica en https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installedcomponents.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
Navegue a https://www.nvidia.com/Download/index.aspx?lang=en-us y descargue el controlador adecuado para su GPU y arquitectura Linux. El sitio web debería proporcionarle un archivo que termine con la extensión de archivo .run
.
Cambie a la vista de terminal de su sistema presionando Ctrl + Alt + F3
(si esto no cambia del modo GUI al modo terminal, pruebe Ctrl + Alt + F1
o Ctrl + Alt + F2
para obtener un tty diferente)
Detenga el servicio GDM:
sudo systemctl stop gdm
sudo systemctl stop gdm3
Si esto no le funciona, intente sudo systemctl stop lightdm
en su lugar.
Tenga en cuenta que es importante detener el servicio GNOME Display Manager (GDM) durante todo el proceso de instalación/desinstalación del controlador, ya que de lo contrario puede causar problemas.
Cambie a la ruta del directorio que incluye el archivo .run
descargado usando cd
Ejecute el instalador:
chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run
(asegúrese de reemplazar el nombre del archivo con el real que obtuvo del sitio web de Nvidia)
NOTA: Si el instalador le pide que desactive Nouveau, permita que lo desactive por usted. Es posible que deba cancelar el instalador después de esto, luego ejecutar sudo update-initramfs -u && reboot
y luego comenzar nuevamente desde el paso 5 una vez que el sistema haya completado el reinicio.
sudo update-initramfs -u
para actualizar initramfs./etc/default/grub
usando sudo nano /etc/default/grub
nvidia-drm.modeset=1
y nvidia-drm.fbdev=1
dentro de su GRUB_CMDLINE_LINUX
(es decir, GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
nvidia-smi
para confirmarlo). graphics-drivers
Correr:
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.) de su archivo /etc/default/grub
. ( esto es importante ).sudo update-grub
sudo nvidia-installer --uninstall
sudo update-initramfs -u
graphics-drivers
).Esto parece ser un error reportado en https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-535/+bug/2063222
Una solución alternativa es:
[ Workaround ]
1. sudo rm /dev/dri/card0
2. Log in again.
/etc/gdm3/custom.conf
usando sudo nano /etc/gdm3/custom.conf
WaylandEnable=true
esté configurado en ese archivo y asegúrese de que no esté comentado (no comience con #
)sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
Esto puede suceder por muchas razones. Desde hace un tiempo, se sabe que NVIDIA tiene problemas con el sistema de ventanas Wayland. Sin embargo, NVIDIA ha estado trabajando para mejorar esto. Y esto ya ha mejorado mucho a partir del controlador NVIDIA 555.42.02, que agregó soporte explícito de sincronización.
Entonces, antes que nada, asegúrese de tener:
luego continúa leyendo a continuación para que la experiencia sea aún más fluida:
Es posible que su sistema esté usando el controlador Mesa en lugar del de NVIDIA en las sesiones de Wayland. Puedes confirmar esto escribiendo glxinfo | egrep "OpenGL vendor|OpenGL renderer*"
Para solucionar esto:
/etc/default/grub
usando sudo nano /etc/default/grub
nvidia-drm.modeset=1
y nvidia-drm.fbdev=1
dentro de su GRUB_CMDLINE_LINUX
(es decir, GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
Es posible que tenga habilitado el firmware GSP de Nvidia, y se sabe que esto causa algunos problemas de rendimiento en la versión beta 555.42.02 del controlador. Quizás esto se solucione en el futuro, pero por ahora, podemos desactivar el firmware GSP si es necesario.
Puede comprobar si el firmware GSP está habilitado o no escribiendo nvidia-smi -q | grep "GSP Firmware"
: si dice N/A
, entonces el firmware no está habilitado. De lo contrario (muestra una versión para el firmware GSP), entonces el firmware está habilitado.
Para desactivar el firmware GSP, siga los pasos a continuación:
/etc/default/grub
usando sudo nano /etc/default/grub
nvidia.NVreg_EnableGpuFirmware=0
dentro de su GRUB_CMDLINE_LINUX
sudo update-grub
Consulte https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606 para obtener más información sobre este tema.
Es posible que le falte el paquete libnvidia-egl-wayland1
(que suele recomendarse). Intente instalar el paquete usando sudo apt install libnvidia-egl-wayland1
( No haga esto si instaló la versión 555+ del controlador Nvidia, ya que el instalador del controlador ya lo instala por usted. Los paquetes de repositorio de PPA también lo instalan de forma predeterminada. ).
para Google Chrome (y los navegadores basados en Chromium en general), es posible que deba cambiar el indicador "Plataforma preferida de Ozone" a "Wayland" o "auto". Siga los pasos a continuación para aplicar esto:
Para algunas aplicaciones de Electron, es posible que deba pasar el mismo indicador de plataforma Ozone que hicimos anteriormente. Por ejemplo code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
para Visual Studio Code
Es posible que no tenga habilitado el parámetro del módulo de conservación de asignaciones de memoria de video, lo que puede causar problemas, particularmente al suspender y reanudar el sistema, generalmente en forma de artefactos gráficos o un entorno de escritorio roto.
Puede verificar si el parámetro del módulo está habilitado o no escribiendo sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
. Si el valor es 0
o falta, entonces el parámetro no está habilitado.
Para habilitar el parámetro del módulo de conservación de asignaciones de memoria de video, siga los pasos a continuación:
/etc/default/grub
usando sudo nano /etc/default/grub
nvidia.NVreg_PreserveVideoMemoryAllocations=1
dentro de su GRUB_CMDLINE_LINUX
sudo update-grub
sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
para verificar que el parámetro ya esté configurado Si aún tiene problemas con suspender/reanudar después de habilitar este parámetro de módulo, puede consultar la documentación de administración de energía de Nvidia para verificar que los servicios systemd
relevantes estén instalados y habilitados.