Cambiando de los drivers propietarios de Nvidia a los libres Nouveau

Lo malo de tener una computadora que tiene 8 años con la misma instalación de Linux es que algunos elementos se empiezan a quedar atrás.

El hardware es el mismo, no cambia o no cambia mucho, pero al usar Manjaro (una distribución rolling release) las actualizaciones son constantes y a veces es un poco complicado estar al día.

Tabla de contenidos

En enero de este año (léase Actualizar Manjaro, Failed to start Load Kernel Modules ¡Gulp!) sabrán que tuve un problema serio con los drivers propietarios de Nvidia.

Mi tarjeta de video funciona perfectamente, pero los drivers deben de estar a la par del kernel de Linux. El kernel avanza (nunca se va a detener) pero se vuelve complicado mantener a esas tarjetas viejitas y hay dos opciones.

En enero de este año tomé la primer opción. Instalar nuevamente los drivers propietarios de Nvidia con las recomendaciones de Philip Müller. Para evitar futuros problemas decidí dejar de cambiar la versión del kernel y las actualizaciones futuras de los drivers.

De esa forma pretendí curarme en salud y durante varios meses funcionó bastante bien… hasta ayer.

Nouveau significa nuevo

La actualización de ayer transcurrió sin problemas y tengo la costumbre de reiniciar mi equipo después de una actualización grande. Al encender mi equipo me encontré con una pantalla negra y un tímido cursor parpadeando en la esquina superior izquierda.

Era algo que había pospuesto, pero ya no quedaba de otra, era tiempo de instalar el driver libre nouveau, pero no fue tan sencillo como esperaba.

Encontré mi tarjeta en la lista de tarjetas soportadas por nouveau y al ser una tarjeta viejita estaba bien soportada, bueno pues a instalar.

Instalar nouveau

Manjaro tiene una opción para instalar tarjetas gráficas que simplifica mucho la tarea, pero creo que algo falló en mi caso y a lo mejor a alguién más le puede llegar a suceder.

Para instalar nouveau hay que elegir la opción libre. Según el wiki de Manjaro Configure Graphics Cards la instrucción es como sigue:

sudo mhwd -a pci free 0300

Y después hacer varias cosas, reinicié mi equipo y nada … no funcionó. Ni modo, a leer un poco más.

Cuando todo falla, el wiki de Arch

Bueno, intenté el método tradicional, pero por experiencia propia me he dado cuenta de que el wiki de Arch Nouveau (Español) es más completo para resolver algunos problemas.

Y revisé las instrucciones de instalación y los posibles problemas.

Al teclear

sudo modprobe nouveau

Algo sucedió en la pantalla, eso quiere decir que el driver esta instalado, pero no se carga durante el arranque.

Así que leyendo nuevamente me di cuenta de que el driver nouveau estaba en una lista negra, por eso no cargaba durante el arranque.

nouveau en la lista negra del archivo mhwd-gpu.conf
Ignoro porque estaba en una lista negra.

En el archivo /etc/modprobe.d/mhwd-gpu.conf aparecía en la lista negra el driver nouveau.

#
## Generated by mhwd - Manjaro Hardware Detection
##

# blacklist nouveau
blacklist ttm
blacklist drm_kms_helper
blacklist drm

Comenté esa línea y parecía que ya todo iba a funcionar ¡Iluso de mi!

El archivo de configuración xorg

Va el resumen, ya instalé el driver, el módulo se carga durante el arranque, pero sigue sin funcionar.

Recordé el famoso comando startx para iniciar la pantalla en modo gráfico y me dio unos mensajes de error interesantes.

Entonces revisé el archivo de configuración, en la carpeta /etc/X11/xorg.conf.d

Intenté un consejo creando un archivo 20-nouveau.conf pero no funcionó, así que revisé el archivo 90-mhwd.conf y me di cuenta de que todavía hacía uso del driver de nvidia.

Lo modifiqué para que usara nouveau es la sección Device del archivo:

Section "Device"
    Identifier     "Device0"
    Driver         "nouveau"
    VendorName     "NVIDIA Corporation"
    Option "NoLogo" "1"
EndSection

Reiniciar … redoble de tambores … un poco de suspenso ¡Funcionooooooo!

Mi equipo arrancó de forma normal, funcionó la interfaz gráfica, hice login y para comprobar teclee: inxi -G

 Graphics:
  Device-1: NVIDIA GT218 [GeForce 8400 GS Rev. 3] driver: nouveau v: kernel 
  Display: x11 server: X.Org 1.20.11 driver: loaded: nouveau resolution: 1440x900~60Hz 
  OpenGL: renderer: NVA8 v: 3.3 Mesa 21.1.2 

Eliminar lo que ya no se necesita

Como un plus, creo que ya no es necesario conservar y actualizar paquetes de nvidia que ya no se van a utilizar. Para hacer una lista de estos paquetes:

pamac list -i | grep nvidia

Y eliminar la mayoría de los paquetes de esa lista. Hubo un par que no se pudo eliminar por dependencias, pero los dejé, no creo que causen mayor problema.

Problemas con kernels nuevos

Parece que el driver libre no se lleva bien con los kernels más modernos, estoy hablado de las versiones superiores a la 5.4

En momentos random la computadora se congela, el audio se sigue escuchando por unos instantes, el puntero del mouse se sigue moviendo pero no reacciona a los clics.

No es posible cambiar a entornos no gráficos presionando las teclas Ctrl + Alt + F2. La única alternativa es reiniciar presionando el botón de Reset de la computadora.

Los mensajes de diagnóstico muestran lo siguiente:

nouveau 0000:01:00.0: Direct firmware load for nouveau/nva8_fuc084d failed with error -2
nouveau 0000:01:00.0: msvld: unable to load firmware data
nouveau 0000:01:00.0: msvld: init failed, -19

Estos problemas son muy similares a los que se detallan en Linux Mint 20.3 laptop freezes randomly because of nouveau driver.

Usaré el kernel 5.4 y sus actualizaciones.

Por el momento lo he solucionado instalando el Kernel 5.4 que es LTS y eso también ayuda a evitar algunos problemas que he tenido con Virtualbox.

Conclusiones

Escribo estas notas a un día de hecho el cambio. No he notado problemas mayores, algunos detalles menores en la decoración de las ventanas y configuración de fondos de escritorio pero nada más. La reproducción de videos es fluida y a simple vista no he notado una diferencia entre los drivers propietarios y los libres.

Este cambio me libera de futuros problemas con las actualizaciones del kernel y del driver nouveau, así que espero tener unos años extra de estabilidad o hasta que el hardware aguante.

2 comentarios en “Cambiando de los drivers propietarios de Nvidia a los libres Nouveau”

  1. Estimado amigo,yo como sabes soy un tipo nervioso y aunque me funcionaba bien linux mint 20.03,actualice a linux mint 21.Pero he aqui mi error mi tarjeta nvidia Gforce 210 ya no estaba soportada,asi que el ordenador arranco con los drivers de noveau,que no van tambien como los propietarios y quisiera saber antes de formatear de nuevo a mint 20.03 si es posible mejorar los drivers libres y si tienen alguna app.Gracias por tu blog amigo un saludo.

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.