Nouveau (Español)

From ArchWiki
Estado de la traducción: esta traducción de Nouveau fue revisada el 2021-02-10. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Este artículo trata sobre el controlador de código abierto Nouveau para tarjetas gráficas NVIDIA. Para obtener información sobre el controlador propietario, consulte NVIDIA.

Busque el nombre en código de su tarjeta (se puede encontrar una lista más detallada en Wikipedia), y compárelo con la matriz de características para ver las características soportadas.

Instalación

Instale el paquete mesa, que proporciona el controlador DRI para la aceleración 3D.

  • Para obtener soporte de las aplicaciones 32 bits, instale también el paquete lib32-mesa del repositorio multilib.
  • Para obtener el controlador DDX (la cual proporciona aceleración 2D en Xorg), instale el paquete xf86-video-nouveau.

Véase también Aceleración por hardware.

Carga

El módulo del kernel de Nouveau debería cargarse automáticamente al arrancar el sistema. Si no lo hace, entonces:

  • Asegúrese de que no tiene nomodeset o vga= como parámetro del kernel, ya que Nouveau requiere la configuración del modo kernel.
  • Además, compruebe que no tiene Nouveau deshabilitado usando cualquier técnica de lista negra de modprobe dentro de /etc/modprobe.d/ o /usr/lib/modprobe.d/.
  • Si después de todo lo anterior nouveau sigue sin cargar, compruebe dmesg para saber si hay un error de opcode. Añada nouveau.config=NvBios=PRAMIN a sus parámetros del Kernel para evitar la deshabilitación del módulo.[1]
  • Compruebe si /etc/X11/xorg.conf existe y hace referencia al controlador nvidia. Probablemente sea una buena idea renombrar el archivo.

Habilitar el inicio anticipado KMS

Sugerencia: Si tiene problemas con la resolución, compruebe Kernel mode setting (Español)#Forzar modos y EDID.

El Kernel Mode Setting (KMS) es requerido por el controlador Nouveau. Por defecto, el KMS se realiza después de cargar los otros módulos del kernel. Verá el texto "Cargando módulos" y el tamaño del texto puede cambiar, posiblemente con un parpadeo indeseado. Véase Nouveau KernelModeSetting para más detalles.

También es posible iniciar el KMS lo antes posible en el proceso de arranque, al cargar initramfs.

Para ello, añada nouveau a la matriz MODULES en /etc/mkinitcpio.conf (los nombres de los módulos están separados por espacios):

MODULES="... nouveau ..."

Si usa un archivo EDID personalizado, también debería incluirlo en el initramfs:

/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"

Vuelva a generar la imagen inicial del ramdisk:

# mkinitcpio -p <kernel preset; e.g. linux>

Si tiene problemas con Nouveau que le conllevan a recompilar nouveau-drm varias veces por razones de testeo, no añada nouveau al initramfs. Es demasiado fácil olvidarse de recompilar initramfs y solo hará más difícil cualquier prueba. Use "Late start" solo cuando esté seguro de que el sistema es estable. Puede haber problemas adicionales con initramfs si necesita un firmware personalizado (generalmente no es aconsejable).

Consejos y trucos

Mantener el controlador NVIDIA instalado

Si desea mantener el driver propietario de NVIDIA instalado (y no está usando OpenGL), pero quiere usar el controlador Nouveau, comente la lista negra de nouveau en /etc/modprobe.d/nouveau_blacklist.conf, /usr/lib/modprobe.d/nvidia.conf, o /usr/lib/modprobe.d/nvidia-dkms.conf modificándolo de la siguiente manera:

#blacklist nouveau

Y dígale a Xorg que cargue nouveau en vez de nvidia creando el archivo /etc/X11/xorg.conf.d/20-nouveau.conf con el siguiente contenido:

Section "Device"
    Identifier "Nvidia card"
    Driver "nouveau"
EndSection

Si ya ha utilizado el controlador de NVIDIA, y desea probar Nouveau sin necesidad de reiniciar, asegúrese de que el módulo 'nvidia' ya no está cargado:

# rmmod nvidia

Después, cargue el módulo 'nouveau':

# modprobe nouveau

Y compruebe que se cargó correctamente mirando los mensajes del kernel:

# dmesg

Instalar los últimos paquetes de desarrollo

Para obtener las últimas mejoras de Nouveau

Dual head

Véase Multihead#RandR para saber cómo configurar múltiples monitores usando RandR.

Configurar la resolución de la consola

Puede pasar la resolución a nouveau con la opción de línea de kernel video= (véase KMS).

Gestión de energía

La falta de una adecuada gestión de energía en el controlador nouveau es una de las principales causas de los problemas de rendimiento, ya que la mayoría de tarjetas permanecerán en su estado de menor energía con velocidades de reloj más bajas durante su uso. El soporte experimental para el reclocking de la GPU está disponible para algunas tarjetas (véase Nouveau PowerManagement) y desde el kernel 4.5 puede ser controlado a través de una interfaz debugfs localizada en /sys/kernel/debug/dri/*/pstate.

Por ejemplo, para comprobar los estados de energía disponibles y la configuración actual de la primera tarjeta de su sistema, ejecute

# cat /sys/kernel/debug/dri/0/pstate

También es posible establecer/forzar manualmente un determinado estado de energía escribiendo en dicha interfaz:

# echo pstate > /sys/kernel/debug/dri/0/pstate
Advertencia: El soporte para el reclocking es altamente experimental. Establecer manualmente el estado de energía puede colgar su sistema, causar corrupción o sobrecalentar la tarjeta.

Control del ventilador

Si está implementado para su tarjeta, es posible configurar el control de los ventiladores a través de /sys.

$ find /sys -name pwm1_enable
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/pwm1_enable
$ readlink /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/driver
../../../../bus/pci/drivers/nouveau

Es posible ajustar pwm1_enable a los valores 0, 1 o 2, lo que significa que el control del ventilador sería NINGUNO, MANUAL y AUTO respectivamente. Si elige el control manual del ventilador, puede configurar pwm1 manualmente, por ejemplo a 40 para el 40%.

Advertencia: ¡Úselo bajo su propia responsabilidad! ¡No sobrecaliente la tarjeta!

También puede establecerse mediante una regla udev:

$ cat /etc/udev/rules.d/50-nouveau-hwmon.rules
ACTION=="add", SUBSYSTEM=="hwmon", DRIVERS=="nouveau", ATTR{pwm1_enable}="2"

Fuentes:

Optimus

Existen dos posibilidades para usar Optimus en un portátil (también conocido como gráficos híbridos, cuando se tienen dos GPUs en el portátil): Bumblebee y PRIME

Sincronización vertical

Los compositores de Xorg son propensos a mostrar problemas con Nouveau. A diferencia de la mayoría de ellos, Picom ofrece un montón de opciones de configuración para obtener un resultado más suave y libre de tearing. Una configuración que se espera que ofrezca un buen resultado sería la siguiente

picom -b --unredir-if-possible --backend xr_glx_hybrid --vsync --use-damage --glx-no-stencil
Sugerencia: No olvide desactivar la composición del gestor de ventanas de su entorno de escritorio (como KWin) cuando se use un compositor diferente.

Solución de problemas

Agregue drm.debug=14 y log_buf_len=16M a sus parámetros del kernel para activar la depuración de vídeo:

Cree un registro verboso de Xorg:

$ startx -- -logverbose 9 -verbose 9

Vea los parámetros y valores del módulo de vídeo cargado:

$ modinfo -p video

Desactivar MSI

Si sigue teniendo problemas para cargar el módulo o iniciar X server, agregue nouveau.config=NvMSI=0 a sus parámetros del Kernel.

Fuente: https://bugs.freedesktop.org/show_bug.cgi?id=78441

Problema de salidas fantasma

Es posible que el controlador nouveau detecte salidas "fantasma". Por ejemplo, que tanto VGA-1 como LVDS-1 se muestren como conectados pero sólo LVDS-1 esté realmente presente.

Esto causa problemas de visualización y/o impide la suspensión al cerrar la tapa.

Parámetros del kernel

El problema se puede solucionar desactivando la salida fantasma (VGA-1 en los ejemplos dados) con los parámetros del kernel:

video=VGA-1:d

Donde d = deshabilitar.

El módulo del kernel de nouveau también tiene una opción para deshabilitar la detección de salida de TV [2]:

 tv_disable=1

Configuración de Xorg

La salida fantasma se puede desactivar en Xorg añadiendo lo siguiente a /etc/X11/xorg.conf.d/20-nouveau.conf:

Section "Monitor"
Identifier "VGA-1"
Option "Ignore" "1"
EndSection

Fuente: https://web.archive.org/web/20170118202740/http://gentoo-en.vfose.ru/wiki/Nouveau

Xrandr

Xrandr puede desactivar la salida:

 $ xrandr --output VGA-1 --off

Esto puede añadirse a la configuración de xinit.

Bloqueos aleatorios con mensajes de error del kernel

Al usar Nouveau, algunos chips de Nvidia pueden causar bloqueos aleatorios del sistema y más comúnmente lanzar muchos mensajes del kernel, vistos con dmesg. Pruebe a agregar el parámetro del kernel nouveau.noaccel=1. Véase [3] para más información.

Como alternativa, también puede usar la variable de entorno QT_XCB_FORCE_SOFTWARE_OPENGL=1 para desactivar la aceleración de OpenGL en las aplicaciones Qt.

Flat Panel Table Invalid

Las tarjetas gráficas NVIDIA con chipsets recientes pueden causar problemas de arranque - esto incluye que X11 no pueda iniciarse y que lspci se congele indefinidamente[4][5][6][7][8].

Esto puede romper las distribuciones/medios de instalación en vivo. Se puede detectar ejecutando lspci, o comprobando el registro de systemd para el error:

nouveau E[     DRM]Pointer to flat panel table invalid

El sistema podría iniciar si el controlador Nouveau está desactivado al pasar los siguientes parámetros del kernel:

modprobe.blacklist=nouveau

El controlador Nouveau puede entonces cargarse con

modprobe nouveau

En consecuencia, el sistema debería funcionar correctamente. Si tiene otra tarjeta gráfica Nvidia, o simplemente desea estar seguro, puede desactivar la tarjeta problemática mediante:

$ echo 1 > /sys/bus/pci/devices/[id tarjeta del dispositivo]/remove

El controlador propietario de Nvidia funciona bien actualmente (versión 381).