Nouveau (Español)

Esta traducción de
Nouveau
fue revisada el
2021-02-10
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
NVIDIA
Xorg
Bumblebee
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#Forcing modes and 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
linux-git
AUR
Use PKGBUILD para utilizar el árbol de Nouveau en
https://github.com/skeggsb/linux/
[
enlace roto
2024-01-13]
, en vez de hacer un paquete de cero.
libdrm-git
AUR
lib32-libdrm-git
AUR
lib32-mesa-git
AUR
mesa-git
AUR
xf86-video-nouveau-git
AUR
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:
https://floppym.blogspot.de/2013/07/fan-control-with-nouveau.html
https://web.archive.org/web/20141031191559/https://kalgan.cc/blog/posts/Controlling_nVidia_cards_fans_with_nouveau_in_Debian/
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).