Nouveau

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Nouveau and the translation is 67% complete.
Outdated translations are marked like this.

nouveau es el controlador de código abierto para las tarjetas gráficas NVIDIA. Es mantenido bajo el paraguas del proyecto FreeDesktop.

Limitaciones

Al ser un proyecto de código abierto que se ejecuta en lo que es, en gran medida, el hardware propietario, hay algunas limitaciones inherentes a Nouveau que no son aplicables al controlador de código cerrado nvidia-drivers. Dicho esto, Nouveau está en constante evolución, por lo que estas limitaciones están sujetas a cambiar con el tiempo.

Aquellos interesados en utilizar este controlador deben verificar que su tarjeta (y sus funciones) este soportada aquí matriz de funciones del upstream. El upstream tambien mantiene una lista de de nombres clave de tarjetas para referenciar de la matriz de funciones.

Instalación

El núcleo de Linux

Necesita activar las siguientes opciones del núcleo:

KERNEL Activar nouveau
Device Drivers  --->
   Graphics support  --->
      <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
         <*> Enable legacy fbdev support for your modesetting driver
      <M/*> Nouveau (NVIDIA) cards

Firmware

Empezando por la serie Kepler (Geforce 600 y superiores) algunas tarjetas pueden necesitar cargarle firmware al momento del arranque para que operen de manera correcta. Es recomendado que se construya el firmware que se necesite dentro del núcleo. Esto es lo predeterminado en los sistemas que utilizan el sistema de init systemd. Veáse el artículo Linux firmware para más información sobre como construir el firmware dentro del núcleo.

Véase la lista de nombres código del upstream para determinar que firmware es necesario.

El firmware para las tarjetas nouveau es distribuido en el paquete sys-firmware/nvidia-firmware. Asegúrese que ha sido instalado antes de definir el firmware en el núcleo.

root #emerge --ask sys-firmware/nvidia-firmware

El controlador

ARCHIVO /etc/portage/make.confEstablecer VIDEO_CARDS en nouveau
VIDEO_CARDS="... nouveau ..."

After setting or altering VIDEO_CARDS values remember to update the system using the following command so the changes take effect:

root #emerge --ask --changed-use --deep @world

Udev

Si se ha instalado el controlador propietario de NVIDIA, se habrá instalado tambień un archivo de reglas de udev en /lib/udev/rules.d/99-nvidia.rules. Al intentar utilizar el controlador nouveau sin desactivar dicho archivo de reglas, el archivo del registro de X11 se llenará con bloques de mensajes como este repitiéndose cada 10 ms:

ARCHIVO /var/log/Xorg.0.logResultados de la regla de udev obsoleta para nvidia-drivers
 [   180.669] (II) NOUVEAU(0): EDID vendor "SAM", prod id 430
 [   180.669] (II) NOUVEAU(0): Using hsync ranges from config file
 [   180.669] (II) NOUVEAU(0): Using vrefresh ranges from config file
 [   180.669] (II) NOUVEAU(0): Printing DDC gathered Modelines:
 [   180.669] (II) NOUVEAU(0): Modeline "1600x1200"x0.0  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz eP)
 [   180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
 [...]
 [   180.669] (II) NOUVEAU(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
 [   180.669] (II) NOUVEAU(0): Modeline "1280x960"x0.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
 [   180.669] removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2 /dev/dri/card2

Para evitar esto (sin desinstalar el paquete x11-drivers/nvidia-drivers), basta con quitar/mover/renombrar el archivo udev /lib/udev/rules.d/99-nvidia.rules de modo que ya no esté ocupado por udev (vea Advanced Configuration of udev). Tenga en cuenta que la próxima vez que actualice nvidia-drivers, se volverá a instalar ese archivo, por lo que considere desinstalar nvidia-drivers.

Configuración

Permisos

If the acl USE flag is enabled globally and elogind is being used (default for desktop profiles) permissions to video cards will be handled automatically. It is possible to check the permissions using getfacl:

user $getfacl /dev/dri/card0 | grep larry
user:larry:rw-

A broader solution is to add the user(s) needing access the video card to the video group:

root #gpasswd -a larry video

Note that users will be able to run X without permission to the DRI subsystem, but hardware acceleration will be disabled.

xorg.conf

El servidor X está diseñado para funcionar una vez instalado, sin necesidad de modificar manualmente los archivos de configuración de X.Org. Este debe detectar y configurar dispositivos tales como pantallas, teclados y ratones.

Dicho lo anterior, el archivo de configuración principal del servidor X es xorg.conf.

Switching between Intel GPU and Nouveau

Sometimes users may want to switch between two drivers. One way this matter is handled is through initramfs and early Kernel Mode Setting.

For example, if initramfs is built using dracut, and nouveau is meant to be used, the following adjustments must take place:

ARCHIVO /etc/dracut.conf
#add_drivers+=" i915 " # Note leading and trailing spaces
add_drivers+=" nouveau " # Note leading and trailing spaces
#force_drivers+=" i915 " # Note leading and trailing spaces
force_drivers+=" nouveau " # Note leading and trailing spaces

In kernel mode setting method using GRUB, the variable GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub can be changed to enable or disable either of GPUs by taking the right values.

For instance, to disable i915 and enable nouveau, we will add the following to GRUB_CMDLINE_LINUX_DEFAULT variable: i915.modeset=0 nouveau.modeset=1.

Limitaciones

Algunos de los problemas o inconvenientes actuales del controlador nouveau en comparación con el de código cerrado x11-drivers/nvidia-drivers serían:

  • El rendimiento (especialmente el rendimiento en 3D) en la misma tarjeta/chipset puede ser significativamente peor que usando nvidia-drivers.
  • Los intentos para funcionar a frecuencias más altas (es decir, por encima de los 60 Hz) pueden fallar.
  • La utilización de funciones avanzadas de varias tarjetas NVIDIA (por ejemplo, capacidades de visualización múltiple de las tarjetas Quadro sin SLI) pueden no funcionar correctamente.


Solución de problemas

Problemas con varios monitores

Si está teniendo problemas de congelación con posibles sondas EDID cuando se utilizan monitores/pantallas duales, pruebe a añadir video=VGA-1:e o video=VGA-1:d (activar o desactivar, respectivamente) a la variable

GRUB_CMDLINE_LINUX_DEFAULT en el fichero /etc/default/grub. En grub-legacy, edite el fichero grub.cfg directamente y añadádalo como opciones de la línea de órdenes. En los dos casos asegúrese de sustituir el nombre del monitor por el que figure listado dentro de dmesg o /var/log/Xorg.0.log. (es decir, CRT-1, VGA-1, LVDS-1, DVI-1, ...)

Por ejemplo, en un portátil Dell Inspiron 8100 con una pantalla externa conectada a través del puerto VGA externo del portátil, una posible línea de órdenes sería: video=LVDS-1:1280x1024@60 video=VGA-1:1280x1024@60. La sonda EDID (DRM) en la pantalla conectada al puerto VGA externo sigue siendo la que está causando la congelación durante la carga de nouveau/drm, pero, por lo menos, se puede utilizar si la pantalla está conectada después de que grub se haya cargado y antes de que lo hagan los módulos nouveau/drm. Y con las resoluciones LVDS/VGA de la línea de órdenes mencionadas antes, las pantallas se clonan y se centran con las resoluciones correctas para las pantallas clonadas.

NVIDIA Optimus

Si está utilizando un portátil con la tecnología Optimus de NVIDIA (normalmente se encuentran en los portátiles fabricados en 2010 y posterior) entonces todo se pasa a través de su controlador de gráficos integrado (por lo general, Intel) antes de que llegue a la tarjeta de video dedicada (NVIDIA), que, cuando está activada, puede causar una gran cantidad de problemas, que de otro modo no se explicarían. Hay distintas maneras de manejar esto, pero la más sencilla es desactivar Optimus a través de la BIOS (normalmente se accede a ella pulsando F12 durante la fase de arranque). Esto dará lugar a un aumento del consumo de energía (disminución de la duración de la batería, aumento de temperatura de funcionamiento, ...), dado que su tarjeta NVIDIA se encargará de todo en todo momento.

Véase también

Recursos externos