domingo, 27 de noviembre de 2016

Guía de instalación de drivers propietarios NVIDIA en Fedora 25

Hasta la versión 25 de Fedora, he utilizado los drivers propietarios de NVIDIA de RPM Fusion. Son sencillos de instalar y se van actualizando automáticamente.

Al ser mi tarjeta gráfica algo antigua (NVIDIA-GT-240) utiliza los drivers  "legacy" de NVIDIA. Es decir, NVIDIA solo se compromete a actualizar los driver para hacerlos compatibles con las nuevas versiones del servidor XOrg, no a nuevas funcionalidades  y solo hasta finales de 2019. Las ultimas versiones de los drivers pueden verse aquí .

Al actualizar a Fedora 25, no se pueden instalar los drivers de la version 340.XX de RPM Fusion ya que la versión de Xorg instalada por Fedora es la versión Xorg-server-1.19-RC-2 (Release Candidate). NVIDIA solo da soporte y actualizaciones a la versión final del servidor. La alternativa es utilizar el driver libre Nouveau. Aunque se puede utilizar para salir de apuro al permitir utilizar el ordenador, le falta buen soporte para la aceleración gráfica 3D y en mi caso, es algo inestable. De vez en cuando el sistema se cuelga teniendo que reiniciar.

La solución mostrada en este tutorial es hacer un downgrade a la versión antigua de Xorg-1.18, eliminar el driver Nouveau e instalar el driver binario propietario de NVIDIA.



Este tutorial muestra como usar los drivers de NVIDIA descargados de su página web y dkms para compilar el driver a las nuevas versiones kernel de GNU/Linux. La versión del driver utilizada ha sido la 340.98 sobre una tarjeta NVIDIA GT-240.
Al usar DKMS, cada vez que se instale un nuevo kernel de GNU/Linux los drivers se compilaran automáticamente al reiniciar el sistema. Cuando salga una nueva versión de los drivers propietarios de NVIDIA, se podrá descargar de la página web de NVIDIA o bien usar el comando "NVIDIA-installer --update".

1.- Versión de los drivers a utilizar


$ lspci |grep -E "VGA|3D"

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 240] (rev a2)

En esta dirección se puede ver que se ha de usar la versión 340.xx.

2. Instalación de los drivers de NVIDIA


Una vez descargado el instalador de la web de NVIDIA , se ha de dar permisos de ejecución:

$ chmod +x NVIDIA-Linux-x86_64-340.98.run

Y se ha actualizar Fedora con las ultimas actualizaciones y las dependencias necesarias para compilar los drivers:

$ su
$ dnf update
$ dnf install kernel-devel kernel-headers gcc dkms acpid
$ reboot

Deshabilitar el driver nouveau

$ su
$ echo "blacklist nouveau" > /etc/modprobe.d/blacklist.conf

Editar el archivo /etc/sysconfig/grub y añadir ‘rd.driver.blacklist=nouveau’ al final de la linea ‘GRUB_CMDLINE_LINUX=”…”‘. Por ejemplo:

GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) nomodeset rhgb quiet rd.driver.blacklist=nouveau"

Actualizar la configuración de grub2:
   ## Para BIOS
$ grub2-mkconfig -o /boot/grub2/grub.cfg

   ## Para UEFI
$ grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Eliminar el driver nouveau para xorg-x11

$ dnf remove xorg-x11-drv-nouveau

Downgrade Xorg a la versión 1.18 de Fedora 24, que permite utilizar la versión 340.98 de los drivers de NVIDIA.

$ dnf --releasever=24 downgrade xorg-x11-server-Xorg --allowerasing

Añadir la siguiente linea a /etc/dnf/dnf.conf para evitar que DNF actualice el servidor Xorg a la versión de Fedora 25. Esta linea se tendrá que eliminar si en el futuro salen nuevas versiones actualizadas de NVIDIA que soporten la versión 1.19 de Xorg.

exclude=xorg-x11*

Generar un nuevo initramfs.
    ## Copia de seguridad del antiguo initramfs con soporte nouveau
$ mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

    ## Crear un nuevo initramfs
$ dracut /boot/initramfs-$(uname -r).img $(uname -r)

Reiniciar a runlevel 3 (gráficos desactivados, solo linea de comandos)

$ systemctl set-default multi-user.target
$ reboot

Instalar los drivers propietarios de NVIDIA

./NVIDIA-Linux-x86_64-340.98.run

A partir de aquí la instalación es automática mostrando varias pantallas con opciones:
- Aceptar los términos de la licencia. (YES)
- Registro de los módulos del kernel con DKMS. (YES)
- Instalación de compatibilidad de 32 bits. (YES)
- Actualización y backup de la configuración de X. (YES)

Durante la instalaciones pueden surgir varios errores que se pueden ignorar.

Cannot create symlink /usr/lib/libGL.so.1 (File exists)
Cannot create symlink /usr/libGL.so (File exists)
Cannot create symlink /usr/libGLX-NVIDIA.so.0 (File exists)

Una vez finalizada la instalación se reinicia a runlevel 5 (gráficos activados).

$ systemctl set-default graphical.target
$ reboot

Soporte de VDPAU/VAAPI para la aceleración de video en reproductores multimedia.

$ dnf install vdpauinfo libva-vdpau-driver libva-utils

Una vez finalizada la instalación, ya se tiene el driver propietario de NVIDIA en funcionamiento.

$ nvidia-settings


No hay comentarios:

Publicar un comentario