NVIDIA (Español)

From ArchWiki
Revision as of 21:37, 5 December 2012 by Pedro (Talk | contribs) (Instalación)

Jump to: navigation, search
Sumario help replacing me
Información sobre la instalación, configuración y solución de problemas de los drivers propietarios de las tarjetas de vídeo de NVIDIA
Relacionado
ATI (Español)
Intel (Español)
Nouveau (Español)
Xorg (Español)

Este artículo trata sobre la instalación y configuración de los drivers propietarios para la tarjeta gráfica NVIDIA. Si, por el contrario, desea obtener información acerca de los controladores de código abierto, consulte Nouveau.

Contents

Instalación

Estas instrucciones son para aquellos que utilizan el paquete stock linux. Para la configuración de kernel personalizado, vaya a la sección correspondiente .

Sugerencia: Por lo general es ventajoso instalar el controlador NVIDIA a través de pacman en lugar del paquete proporcionado por el sitio web de NVIDIA, dado que permite asegurarse que el controlador se actualice conforme se vaya actualizando el sistema.

1. Visite el sitio NVIDIA donde se descarga el driver a fin averiguar el controlador apropiado para su tarjeta de video. Puede comprobar también esta lista para las tarjetas antiguas.

Nota: Para los modelos más recientes de GPU, puede ser necesario instalar nvidia-betaAUR de AUR, ya que los controladores estables no pueden soportar las características de reciente introducción. Pruebe los estables primero (ver abajo).

2. Instale el controlador apropiado para su tarjeta:

  • Para las tarjetas de la serie GeForce 8 y posteriores [NVC0 y posteriores], instale el paquete nvidia, disponible en los repositorios oficiales.
  • Para las tarjetas de las series GeForce 6/7 [NV40-FANV], instale el paquete nvidia-304xx, disponible en los repositorios oficiales.
  • Para las tarjetas de la serie GeForce 5 FX [NV30-NV38], instale el paquete nvidia-173xxAUR, disponible en AUR.
  • Para las tarjetas de las series 2/3/4 MX/Ti [NV11 y NV17-NV28], instale el paquete nvidia-96xxAUR, disponible en AUR.
El paquete nvidia{,-304xx,-173xx,-96xx}-utils es una dependencia y vendrá instalado de forma automática. Esto hecho puede hacer que entre en conflicto con el paquete libgl, lo cual no sería extraño. Si pacman pide que retire libgl y falla debido a dependencias no satisfechas, elimínelo usando el comando pacman-Rdd libgl.
El paquete nvidia-96xx-utils necesita una versión antigua del servidor X.Org (xorg-server1.12AUR), que está en conflicto con la versión xorg-server presente en los repositorios oficiales.
Nota: Para sistemas x86_64 Arch también debe instalar el paquete lib32 equivalente (por ejemplo, lib32-nvidia-utils o lib32-nvidia-utils-beta AUR).

3. Reinicie. El paquete nvidia contiene un archivo que introduce en blacklist al módulo nouveau, por lo que es necesario reiniciar.

Una vez que el controlador ha sido instalado, proceda a su configuración.

Instalación alternativa: kernel personalizado

En primer lugar, es bueno saber cómo funciona el sistema ABS mediante la lectura de algunos de los artículos acerca de él:

Nota: Usted también puede encontrar el paquete nvidia-allAUR en AUR, que hace que sea más fácil de usar con kernels personalizados y/o múltiples

Lo que sigue es un breve tutorial para crear un paquete personalizado de controladores NVIDIA usando ABS:

Instale el paquete abs desde los repositorios oficiales y genere el árbol con:

# abs

Como usuario normal (sin privilegios), cree un directorio temporal para crear el nuevo paquete:

$ mkdir -p ~/abs

Haga una copia del paquete nvidia al directorio:

$ cp -r /var/abs/extra/nvidia/ ~/abs/

Entre en el directorio de compilación temporal nvidia :

$ cd ~/abs/nvidia

Ahora es necesario modificar los archivos nvidia.install y PKGBUILD de modo que contengan las variables correctas de la versión del kernel.

Ejecutando el kernel personalizado, se obtine el kernel apropiado y los nombres de la versión local:

$ uname -r
  1. Edite el archivo nvidia.install y reemplace la variable EXTRAMODULES='extramodules-3.4-ARCH' con la versión de kernel personalizado, como EXTRAMODULES='extramodules-3.4.4' o EXTRAMODULES='extramodules-3.4.4-custom' dependiendo de la versión del kernel y el texto/número de la versión local. Repita esta operación en todas las apariciones del número de versión en este archivo.
  2. En el archivo PKGBUILD cambie la variable _extramodules=extramodules-3.4-ARCH para que coincida con la versión adecuada, como antes.
  3. Si hay más de un kernel en el sistema instalado en paralelo (como un kernel personalizado junto con el kernel por defecto de ARCH), cambie la variable pkgname=nvidia en el archivo PKGBUILD a un nuevo identificador único, como nvidia-344 ó nvidia-custom. Esto permitirá que los dos kernels puedan utilizar el módulo nvidia, ya que el paquete del módulo personalizado tendrá un nombre diferente y no sobreescribirá el original. Usted también tendrá que comentar la línea en package() que introduce en blacklist el módulo nvidia en /usr/lib/modprobe.d/nvidia (no es necesario volver a hacerlo) .

Luego hacer:

$ makepkg -ci

La variable -c ordena a makepkg que limpie los archivos sobrantes del proceso de empaquetado después de la creación del paquete, mientras que -i especifica a makepkg que ejecute automáticamente pacman para instalar el paquete resultante.

Recompilación automatica del modulo NVIDIA para cada actualización en cualquier kernel

Esto es posible gracias al paquete nvidia-hookAUR de AUR. Será necesario instalar las fuentes del modulo: o nvidia-sourceAUR para el controlador estable, o bien nvidia-source-betaAUR para el driver beta. Con nvidia-hook, la funcionalidad para la «recompilación automática» se consigue mediante un hook de nvidia en mkinitcpio después de haber forzado la actualización del paquete linux-headers. Será necesario añadir nvidia a la matriz HOOK en /etc/mkinitcpio.conf y añadir «linux-headers» al propio kernel personalizado con la opción SyncFirst en /etc/pacman.conf para hacer que este método funcione.

El hook invocará la orden dkms para actualizar el módulo NVIDIA a la versión del nuevo kernel .

Nota: Si se utiliza esta funcionalidad es importante comprobar la salida del proceso de instalación del paquete de linux (o cualquier otro kernel). El hook nvidia señalará cualquier cosa que ande mal.
Nota: Durante la actulización del kernel, el antiguo módulo situado en /usr/lib/modules deberá ser eliminado manualmente.

Configuración

Es posible que después de instalar el controlador no sea necesario crear un archivo de configuración para el servidor Xorg. Puede realizar una prueba para ver si el servidor Xorg funcionará correctamente sin un archivo de configuración. Sin embargo, aún funcionando correctamente, todavía puede ser útil crear un archivo de configuración /etc/X11/xorg.conf con el fin de realizar diversos ajustes. Esta configuración puede ser generada por la herramienta de configuración Xorg NVIDIA, o puede ser creado manualmente. Si la crea manualmente, puede consistir en una configuración mínima (en el sentido de que sólo suministrarán las opciones básicas para el servidor Xorg), o puede incluir una serie de ajustes más detallados que pueden puentear las opciones preconfiguradas del driver o las propias de Xorg.

Nota: Desde la versión 1.8.x Xorg utiliza archivos de configuración separados ubicados en /etc/X11/xorg.conf.d / - consulte la sección configuración avanzada.

Configuración automática

El paquete NVIDIA incluye una herramienta de configuración automática para crear un archivo de configuración (xorg.conf) para el servidor Xorg y se puede ejecutar a través de:

 # nvidia-xconfig

Este comando buscará automáticamente y creará (o modificará, si ya existe) la configuración de /etc/X11/xorg.conf de acuerdo con el hardware instalado.

Si está presente la instancia de DRI, asegúrese de que está comentada:

 #    Load        "dri"

Revise su archivo /etc/X11/xorg.conf para asegurarse de que los valores predefinidos sobre depth (profundidad), horizontal sync (sincronización horizontal), vertical refresh (refresco vertical), y las resoluciones del monitor son aceptables por su hardware.

Advertencia: Este procedimiento puede no funcionar correctamente con Xorg-server 1.8

Configuración mínima

Un archivo xorg.conf básico podría ser similar a éste:

/etc/X11/xorg.conf
Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
EndSection
Tip: Si está actualizando a nvidia después de haber utilizado el driver nouveau, asegúrese de eliminar "nouveau" del archivo /etc/mkinitcpio.conf. Consulte cómo cambiar entre los drivers nvidia y nouveau, si desea cambiar entre los controladores abiertos y propietarios.

Varios monitores

Consulte el artículo multimonitor para obtener información más general

Para activar el soporte de pantalla dual, sólo tiene que editar el archivo /etc/X11/xorg.conf.d/10-monitor.conf que se habrá creado previamente.

Por cada monitor físico, añadir una sección Monitor, Device y Screen, y luego una sección ServerLayout para su gestión. Tenga en cuenta que cuando Xinerama está activada, el controlador de NVIDIA desactiva automáticamente la propiedad de composición (compositing). Si usted desea disfrutar de esta propiedad, debe comentar la línea Xinerama en "ServerLayout" y utilizar, en su lugar, TwinView (ver más abajo).

/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
    Identifier     "DualSreen"
    Screen       0 "Screen0"
    Screen       1 "Screen1" RightOf "Screen0" #Screen1 a la derecha de Screen0
    Option         "Xinerama" "1" #Para mover ventanas entre pantallas
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable"   "1"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable"   "1"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Screen         0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Screen         1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView"  "0"
    SubSection "Display"
        Depth       24
        Modes       "1280x800_75.00"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "TwinView"  "0"
    SubSection "Display"
        Depth      24
    EndSubSection
EndSection

TwinView

Si usted quiere sólo una pantalla grande en vez de dos. Ajuste la opción TwinView a 1. Esta opción debe ser utilizada en lugar de Xinerama (ver arriba), si desea la composición (compositing).

Option "TwinView" "1"


TwinView sólo funciona sobre una tarjeta de base: Si tiene varias tarjetas (¿y no SLI?), usted tendrá que usar xinerama o la modalidad zaphod (múltiples pantallas en X). Se pueden combinar TwinView con el modo zaphod, por ejemplo, con dos pantallas X que cubren dos monitores cada uno. La mayoría de los gestores de ventanas fallan miserablemente en modo zaphod. La excepción brillante es Awesome. En algunos casos, también funciona con KDE.

Ejemplo de configuración:

/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
    Identifier     "TwinLayout"
    Screen         0 "metaScreen" 0 0
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable"   "1"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable"   "1"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"

    #consulte el enlace de abajo para obtener más información sobre cada una de las siguientes opciones.
    Option         "HorizSync"           "DFP-0: 28-33; DFP-1 28-33"
    Option         "VertRefresh"         "DFP-0: 43-73; DFP-1 43-73"
    Option         "MetaModes"           "1920x1080, 1920x1080"
    Option         "ConnectedMonitor"    "DFP-0, DFP-1"
    Option         "MetaModeOrientation" "DFP-1 LeftOf DFP-0"
EndSection

Section "Screen"
    Identifier     "metaScreen"
    Device         "Card0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView"   "1"
    SubSection "Display"
        Modes      "1920x1080"
    EndSubSection
EndSection

Información sobre las opciones para usar en Device

Configuración automática

El paquete NVIDIA ofrece Twinview. Este módulo le ayudará a configurar automáticamente todos los monitores conectados a la tarjeta de vídeo. Esto sólo funciona para múltiples monitores en una sola tarjeta. Para configurar el servidor Xorg con el uso de Twinview:

# nvidia-xconfig --twinview
Configuración manual de CLI con xrandr

Si las últimas soluciones no funcionan para usted, puede usar la baza autostart de su gestor de ventanas para ejecutar un comando:

xrandr --output DVI-I-0 --auto --primary --left-of DVI-I-1

o

xrandr --output DVI-I-1 --pos 1440x0 --mode 1440x900 --rate 75.0

donde:

  • --output sirve para indicar a cuál "monitor" establecer las opciones.
  • DVI-I-1 es el nombre del segundo monitor.
  • --pos es la posición del segundo monitor respecto al primero.
  • --mode es la resolución del segundo monitor.
  • --rate establece la frecuencia de refresco en Hz.

Es necesario adaptar esta cadena con opciones de xrandr con la ayuda de la salida generada por el comando xrandr ejecutado en un terminal.

Utilizar NVIDIA Settings

También puede utilizar la herramienta nvidia-settings proporcionada por nvidia-utils. Con este método, se utiliza el software propietario NVIDIA puesto a diposición de sus drivers. Basta con ejecutar nvidia-settings como root, a continuación, configurar como se desee, y luego guardar la configuración en /etc/X11/xorg.conf.d/10-monitor.conf.

ConnectedMonitor

Si el driver no detecta correctamente un segundo monitor, se puede forzar a que lo haga con ConnectedMonitor.

/etc/X11/xorg.conf

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Panasonic"
    ModelName      "Panasonic MICRON 2100Ex"
    HorizSync       30.0 - 121.0 # este monitor dispone de EDID incorrecto, por lo tanto, se usa Option "UseEdidFreqs" "false"
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Gateway"
    ModelName      "GatewayVX1120"
    HorizSync       30.0 - 121.0
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          1
EndSection

La sección duplicada de "Device" con Screen es la forma de obtener X para usar dos monitores en una sola tarjeta sin utilizar TwinView. Tenga en cuenta que nvidia-settings elimina todas las opciones ConnectedMonitor que haya añadido.

Optimización

GUI: nvidia-settings

El paquete NVIDIA incluye el programa nvidia-settings con el que se permite ajustar varias opciones adicionales.

Para cargar los ajustes al iniciar sesión, ejecute este comando en el terminal:

$ nvidia-settings --load-config-only

O lo añade al método de auto arranque del propio entorno de escritorio.

Para un aumento considerable de rendimiento de los gráficos 2D en aplicaciones que explotan en modo intensivo el pixmap, por ejemplo, Firefox, establezca el parámetro InitialPixmapPlacement a 2:

 $ nvidia-settings -a InitialPixmapPlacement=2

Ésto está documentado en el código fuente de nvidia-settings. Para que este ajuste permanezca, el anterior comando debe ser lanzado en cada arranque del sistema o añadirlo al archivo ~/.nvidia-settings-rc.

Tip: Es raro, pero en ocasiones el archivo ~/.nvidia-settings-rc puede resultar corrupto. Si esto ocurre, el servidor Xorg puede bloquearse y el archivo tendrá que ser eliminado para solucionar el problema.

Habilitar MSI (Message Signaled Interrupts)

Por defecto, la tarjeta gráfica utiliza un sistema de interrupción compartida. Para dar un pequeño aumento de rendimiento, edite /etc/modprobe.d/modprobe.conf y añada:

options nvidia NVreg_EnableMSI=1

¡Tenga cuidado, ya que esto se ha reportado como dañoso para algunos sistemas con hardware antiguo!

Para confirmarlo, ejecute:

# cat /proc/interrupts | grep nvidia
  43:          0         49       4199      86318   PCI-MSI-edge      nvidia

Avanzado: 20-nvidia.conf

Edite el archivo /etc/X11/xorg.conf.d/20-nvidia.conf, y añada las opciones a la sección correcta. El servidor Xorg tendrá que ser reiniciado para que los cambios se apliquen.

Habilitar desktop composition

A partir de la versión 180.44 del controlador NVIDIA, el apoyo a GLX con Damage y las extensiones Composite X están habilitadas de forma predeterminada. Consulte Composite para obtener instrucciones detalladas.

Deshabilitar la aparición del logo al iniciar

Agregue la opción "NoLogo" en la sección Device:

Option "NoLogo" "1"

Habilitar aceleración por hardware

Nota: RenderAccel está activado por defecto desde la versión 97.46.xx del driver

Agregue la opción "RenderAccel" en la sección Device:

Option "RenderAccel" "1"

Omitir la detección de monitor

La opciónn "ConnectedMonitor" en la sección Device permite anular la detección del monitor cuando el servidor X se inicia, lo que puede ahorrar una cantidad significativa de tiempo en el arranque. Las opciones disponibles son: "CRT" para las conexiones analógicas, "DFP" para monitores digitales y "TV" para televisores.

La siguiente declaración fuerza al controlador NVIDIA a omitir las comprobaciones del arranque y a reconocer el monitor como DFP:

Option "ConnectedMonitor" "DFP"
Nota: Se usa "CRT" para todas las conexiones analógicas de 15 pin VGA, aunque el monitor sea una pantalla plana. "DFP" está diseñado para conexiones DVI digitales.

Habilitar el triple buffering

Para habilitar el uso de triple buffering se añade la opción"TripleBuffer" en la sección Device:

Option "TripleBuffer" "1"

Utilice esta opción si la tarjeta gráfica tiene suficiente memoria RAM (igual o superior a 128 MB). El ajuste sólo tiene efecto cuando la sincronización para VBLANK, una de las opciones que aparecen en nvidia-settings (syncing to vblank), está habilitada.

Nota: Esta opción puede producir problemas de visualización en pantalla completa. A partir de los controladores R300, VBLANK está activado por defecto.

Usar los eventos del sistema

Tomado del archivo LÉAME del controlador de NVIDIA: "[...] el uso de los eventos del sistema permite notificar eficientemente a X cuando un cliente ha realizado el direct rendering sobre una ventana que tiene que ser compuesta". Cualquier cosa identificada, puede ayudar a mejorar el rendimiento, pero esta opción, por el momento, es incompatible con la tecnología SLI y multi-GPU.

Añadir en la sección Device:

Option "DamageEvents" "1"
Nota: Esta opción está activada por defecto en las versiones más recientes del controlador.

Habilitar el ahorro de energía

Añadir en la sección Monitor:

 Option "DPMS" "1"

Habilitar el control del brillo

Añadir en la sección Device:

Option "RegistryDwords" "EnableBrightnessControl=1"

Habilitar la modalidad SLI

Advertencia: Después de habilitar SLI puede experimentar un rendimiento lento de las prestaciones de vídeo si se utiliza GNOME 3 como entorno de escritorio.

Tomado del apendice de README del controlador de Nvidia: Esta opción controla la configuración SLI del renderizado en configuraciones compatibles. Una configuración compatible es un ordenador equipado con un placa base SLI-Certified y 2 ó 3 tarjetas de video SLI-Certified GeForce GPUs. Consulte NVIDIA Zona SLI para obtener más información.

En primer lugar identifique el PCI Bus ID de la GPU utilizando lspci:

$ lspci | grep VGA

Ésto devolverá algo similar a:

03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)

Agregue el BusID (3 en el ejemplo anterior) en la sección Device:

BusID "PCI:3:0:0"
Nota: El formato es importante. El valor BusID debe especificarse como "PCI:<BusID>:0:0"

Añadir el valor deseado para la modalidad de renderizado SLI a utilizar en la sección Screen:

Option "SLI" "SLIAA"

En la siguiente tabla se presentan los modos de renderizados disponibles.

Valor Comportamiento
0, no, off, false, Single Usa únicamente una sola GPU para el renderizado.
1, yes, on, true, Auto Habilita SLI y permite al driver seleccionar automáticamente el modo de renderizado adecuado.
AFR Habilita SLI y utiliza un modo de renderizado con fotograma alternativo.
SFR Habilita SLI y utiliza un modo de renderizado con fotograma "dividido".
SLIAA Habilita SLI y utiliza también SLI antialiasing. Utilice esta función junto con la modalidad anti-aliasing para mejorar la calidad visual.

Como alternativa, puede usar la utilidad nvidia-xconfig para insertar estos cambios directamente en el archivo xorg.conf con un solo comando:

# nvidia-xconfig --busid=PCI:3:0:0 --sli=SLIAA

Para comprobar que el modo SLI está habilitado, escriba en un terminal:

$ nvidia-settings -q all | grep SLIMode
 Attribute 'SLIMode' (arch:0.0): AA 
   'SLIMode' is a string attribute.
   'SLIMode' is a read-only attribute.
   'SLIMode' can use the following target types: X Screen.

Forzar el nivel de rendimiento Powermizer (para portátiles)

Añada en la sección Device:

# Force Powermizer to a certain level at all times
# level 0x1=highest
# level 0x2=med
# level 0x3=lowest
# AC settings:
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
# Battery settings:
Option	"RegistryDwords" "PowerMizerLevel=0x3"

Los ajustes se explican mejor en driver de NVIDIA para X.org: sugerencias de rendimiento y ahorro de energía.

Dejar que la GPU establezca su propio nivel de rendimiento basado en la temperatura

Añada en la sección Device:

 Option "RegistryDwords" "PerfLevelSrc=0x3333"

Deshabilitar vblank interrupts (para portátiles)

Cuando la utilidad de reconocimiento de interrupciones powertop está activa, se puede observar que el controlador de Nvidia va a generar una interrupción por cada VBLANK. Para evitar este inconveniente, añada la siguiente línea en la sección Device:

 Option    "OnDemandVBlankInterrupts" "1"

Esto reducirá las interrupciones a aproximadamente una o dos por segundo.

Habilitar overclocking

Advertencia: Tenga en cuenta que el overclocking puede dañar el hardware y que ninguna responsabilidad puede ser trasladada a los autores de esta página por los posibles daños reportados por la instrumentalización del hardware modificado para funcionar de manera diferente de las especificaciones técnicas de fábrica

Para habilitar overclocking (aceleración de la GPU y la memoria), coloque la línea siguiente en la sección Device:

 Option         "Coolbits" "1"

Esta modificación permitirá la gestión de overclocking en una sesión de X ejecutando:

  $ nvidia-settings
Nota: Las tarjetas nvidia de la serie GTX 4xx/5xx que utilizan el núcleo "Fermi" no soportan actualmente el método 'Coolbits' para overclocking. Una alternativa es flashear y modificar la BIOS de la GPU ya sea bajo DOS (preferido), o dentro de un entorno Win32 mediante nvflash y NiBiTor 6.0. La ventaja de hacer un flash de la BIOS es que no sólo puede verse aumentado el límite de voltaje, sino que la estabilidad se mejora generalmente en comparación con los métodos de overclocking software tales como Coolbits.
Configurar un marcador estático 2D/3D

Establezca la siguiente línea en la sección Device para ajustar el sistema PowerMizer en su máximo nivel de rendimiento:

  Option "RegistryDwords" "PerfLevelSrc=0x2222"

Establezca una de las dos líneas siguientes en la sección Device para permitir el control manual del ventilador de la GPU a través de nvidia-settings:

  Option "Coolbits" "4"
  Option "Coolbits" "5"

Consejos y trucos

Habilitar Video HD (VDPAU/VAAPI)

Hardware requerido:

Tener una tarjeta de vídeo que soporte, al menos, la segunda generación de PureVideo HD [1]

Software requerido:

Tarjetas de video NVIDIA con el driver propietario instalado proporcionarán las capacidades de descodificación de vídeo con la interfaz VDPAU a niveles diferentes de acuerdo con la generación PureVideo.

También puede añadir soporte para la interfaz VA-API instalando:

 # pacman -S vdpau-video

Compruebe la compatibilidad VA-API con:

 $ vainfo

Para aprovechar al máximo la capacidad de decodificación de hardware de la tarjeta de vídeo se necesita utilizar un reproductor multimedia que soporte VDPAU o VA-API.

Para activar la aceleración de hardware en MPlayer edite ~/.mplayer/config

 vo=vdpau
 vc=ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau, ffodivxvdpau,

Para activar la aceleración de hardware en VLC ir a:

Tools (Herramientas) -> Preferences (Preferencias) -> Input & Codecs -> active Use GPU accelerated decoding

Para activar la aceleración de hardware en smplayer ir a:

Options (Opciones) -> Preferences (Preferencias) -> General -> Video Tab (Tarjeta Vídeo) -> seleccionar vdpau como output driver (salida del driver)

Para activar la aceleración de hardware en gnome-mplayer ir a:

Edit (Editar) -> Preferences (Preferencias) -> ajustar video output(salida de video) en vdpau


Reproducción de películas HD en tarjetas con poca memoria:

Si su tarjeta gráfica no tiene mucha memoria (> 521MB?), puede experimentar problemas técnicos cuando se ven películas con una resolución de 1080p o 720p, incluso. Puede evitar ésto con un administrador de inicio de sesión simple como TWM o MWM.

Además, el aumento de tamaño de la memoria caché de MPlayer editando el archivo ~/.mplayer /config puede ayudar, cuando al visionar una película en HD decae la velocidad del disco duro.

Decodificar aceleración de vídeo por hardware con XvMC

La codificación de la aceleración de vídeos MPEG-1 y MPEG-2 mediante XvMC es compatible con las tarjetas series GeForce4, GeForce 5 FX, GeForce 6 y GeForce 7. Para utilizarla, cree un nuevo archivo /etc/X11/XvMCConfig con el contenido siguiente:

libXvMCNVIDIA_dynamic.so.1

Consulte cómo configurar See how to configure software compatible.

Usar la salida de TV

Un buen artículo sobre el tema se puede encontrar aquí

X con un televisor (DFP) como única pantalla

El servidor X se cambia a CRT-0 si no hay ningún monitor reconocido automáticamente. Esto puede ser un problema cuando se utiliza una TV conectada vía DVI como la pantalla principal, y el servidor X se inicia mientras el TV está apagada o desconectada de otra manera.

Para forzar al driver nvidia a utilizar DFP, guarde una copia de la EDID en algún lugar del sistema de archivos para que X puede analizar el archivo en lugar de leer la EDID de la TV/DFP.

Para adquirir el EDID, inicie nvidia-settings. Se mostrará algo de información en estructura de árbol, ignore el resto de los ajustes por ahora y seleccione la GPU (la entrada correspondiente debería titularse "GPU-0" o similar), haga clic en la sección DFP (de nuevo, DFP-0 o similar), haga clic sobre el botón Adquirir Edid y guárdelo en alguna parte, por ejemplo, /etc/X11/dfp0.edid.

Editar xorg.conf añadiendo a la sección Device:

 Option "ConnectedMonitor" "DFP"
 Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"

La opción ConnectedMonitor obliga al controlador a reconocer el DFP como si estuviera conectado. La opción CustomEDID proporciona los datos EDID del dispositivo, lo que significa que se comportará como si el TV/DFP estuviese conectado durante el proceso de arranque de X.

De esta manera, uno puede comenzar automáticamente un administrador de sesión en el arranque y entonces tendrá una pantalla de X funcionando y configurada correctamente para el momento en que encienda el televisor.

Comprobar el estado de energía

El controlador NVIDIA X.org puede detectar la fuente de alimentación. Para ver el estado actual, compruebe el parámetro de sólo lectura 'GPUPowerSource' (0-AC, 1-battery):

   $ nvidia-settings -q GPUPowerSource -t
   1

Para que este parámetro sea capaz de detectar ésto es necesario tener instalado previamente acpid. Asegúrese de incluirlo en la matriz DAEMONS en rc.conf o, de lo contrario, esta advertencia se mostrará en el registro del sistema:

 ACPI: failed to connect to the ACPI event daemon; the daemon
 may not be running or the "AcpidSocketPath" X
 configuration option may not be set correctly. When the
 ACPI event daemon is available, the NVIDIA X driver will
 try to use it to receive ACPI event notifications. For
 details, please see the "ConnectToAcpid" and
 "AcpidSocketPath" X configuration options in Appendix B: X
 Config Options in the README.

Visualizar la temperatura de la GPU en la shell

Método 1 - nvidia-settings

Nota: Este método requiere el uso de una sesión X. No se requiere si, alternativamente, se usa el método 2 ó el método 3. También tenga en cuenta que el método 3, de momento, no funciona con las nuevas tarjetas de NVIDIA como la G210/220 así como las integradas en la GPU como la Zotac IONITX's 8800GS.

Para mostrar la temperatura de la GPU en el shell, utilice nvidia-settings de la siguiente manera:

 $ nvidia-settings -q gpucoretemp

Lo que daría algo similar a lo siguiente:

 Attribute 'GPUCoreTemp' (hostname:0.0): 41.
 'GPUCoreTemp' is an integer attribute.
 'GPUCoreTemp' is a read-only attribute.
 'GPUCoreTemp' can use the following target types: X Screen, GPU.

Las temperaturas de la GPU de esta placa es de 41ºC.

Para conseguir sólamente la temperatura para su uso en programas como rrdtool o conky, entre otros, usar el comando:

 $ nvidia-settings-q-t gpucoretemp
 41

Método 2 - nvidia-smi

Use nvidia-smi que puede leer directamente la temperatura de la GPU sin necesidad de utilizar X en absoluto. Esto es importante para un pequeño grupo de usuarios que no disponen de X, bien por que se trata de un servidor, bien por que no utilizan aplicaciones con interfaz gráficas. Para mostrar la temperatura de la GPU en el shell, utilice nvidia-smi como sigue:

 $ nvidia-smi

El comando debe generar una salida similar a lo siguiente:

$ nvidia-smi
Fri Jan  6 18:53:54 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 2.290.10   Driver Version: 290.10         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce 8500 GT           | 0000:01:00.0  N/A    |       N/A        N/A |
|  30%   62 C  N/A   N/A /  N/A |  17%   42MB /  255MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           ERROR: Not Supported                                          |
+-----------------------------------------------------------------------------+

Para mostrar sólo la temperatura:

$ nvidia-smi -q -d TEMPERATURE

==============NVSMI LOG==============

Timestamp                       : Fri Jan  6 18:50:57 2012

Driver Version                  : 290.10

Attached GPUs                   : 1

GPU 0000:01:00.0
    Temperature
        Gpu                     : 62 C

Con el fin de obtener tan solo el valor de la temperatura para su uso en programas como rrdtool o conky, entre otros, usar el comando:

 $ nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36
 62


Referencia: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli

Método 3 - nvclock

Utilice nvclock que está disponible en el repositorio [extra].

Nota: nvclock no puede acceder a los sensores térmicos en las nuevas tarjetas de NVIDIA como la G210/220

Puede haber diferencias significativas entre las temperaturas reportadas por nvclock y nvidia-settings/nv-control. Según este post del autor (thunderbird) de nvclock, los valores nvclock deberían ser más precisos.

Ajustar la velocidad del ventilador en la sesión

Se puede ajustar la velocidad del ventilador de la tarjeta gráfica con la interfaz de usuario nvidia-settings. Primero, asegúrese de que la configuración Xorg establece la opción Coolbits a 4 ó 5 en la sección Device para permitir el control del ventilador.

 Option "Coolbits" "4"
Nota: Las tarjetas de la serie GTX 4xx/5xx actualmente no pueden establecer la velocidad del ventilador al iniciar la sesión utilizando este método. Este método sólo permite el ajuste de la velocidad del ventilador dentro de la sesión X actual a través de nvidia-settings.

Coloque la línea siguiente en el archivo ~/.xinitrc para ajustar la velocidad del ventilador al iniciar Xorg. Sustituya <n> con un valor porcentual relativo a la velocidad del ventilador que desea configurar.

 nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"

También puede configurar una segunda GPU mediante el incremento del número de la GPU y el número de ventiladores.

 nvidia-settings -a "[gpu:0]/GPUFanControlState=1" \ 
 -a "[gpu:1]/GPUFanControlState=1" \
 -a "[fan:0]/GPUCurrentFanSpeed=<n>" \
 -a  [fan:1]/GPUCurrentFanSpeed=<n>" &

Si utiliza un gestor de inicio de sesión, como GDM o KDM, puede crear un archivo .desktop para procesar este ajuste. Cree el archivo ~/.config/autostart/nvidia-fan-speed.desktop y coloque el texto que sigue en su interior. Una vez más, sustituya <n> por el valor porcentual en base a su exigencia.

 [Desktop Entry]
 Type=Application
 Exec=nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"
 X-GNOME-Autostart-enabled=true
 Name=nvidia-fan-speed

Orden de instalación/desinstalación para cambiar los drivers

Cuando el controlador antiguo de nvidia es nvidiaO y el nuevo es nvidiaN, el orden a seguir para sustituir uno por otro sería:

Eliminar nvidiaO
Instalar nvidia-utilsN
Instalar nvidiaN
Instalar lib32-nvidia-utils-N (si es necesario)

Cambiar entre los drivers nvidia y nouveau

Si va a cambiar entre el controlador nvidia y el controlador nouveau con frecuencia, puede utilizar estos dos scripts para que sea más fácil (ambos tienen que ser lanzados como root):

#!/bin/bash
# nvidia -> nouveau

sed -i 's/#*options nouveau modeset=1/options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf

pacman -Rdds --noconfirm nvidia{,-utils}
pacman -S --noconfirm nouveau-dri xf86-video-nouveau

#cp {10-monitor,20-nouveau}.conf /etc/X11/xorg.conf.d/

mkinitcpio -p linux
#!/bin/bash
# nouveau -> nvidia

sed -i 's/options nouveau modeset=1/#options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf

pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau libgl
pacman -S --noconfirm nvidia{,-utils}

#rm /etc/X11/xorg.conf.d/{10-monitor,20-nouveau}.conf

mkinitcpio -p linux

Es necesario reiniciar para completar los cambios.

Ajuste los scripts a sus propias necesiades, en el caso de que use otros controladores de NVIDIA (por ejemplo, nvidia-173xx).

Si se usa una versión xorg-server superior a 1.10.2, descomente las líneas para copiar y eliminar {10-monitor ,20-nouveau}.conf. Desde la versión 1.10.2, X carga nouveau automáticamente.

Solución de problemas

Rendimiento bajo, por ejemplo, rediseño lento al cambiar las pestañas en Chrome

En algunas máquinas, los últimos drivers de nvidia introducen un bug (?) que provoca un reajuste del mapa de píxeles muy lento en X11. El cambio de pestañas en Chrome/Chromium (si se mantienen abiertas más de 2 pestañas) toma 1-2 segundos, en lugar de unos pocos milisegundos.

Parece que la modificación de la variable InitialPixmapPlacement a 0 soluciona ese problema, aunque (como se describe en algunos párrafos más arriba) InitialPixmapPlacement=2 en realidad debería ser el método más rápido.

La variable puede ser creada (temporalmente) con el comando:

 nvidia-settings -a InitialPixmapPlacement=0

Para hacerlo permanente, este comando puede ser colocado en un script de arranque.

Jugar usando Twinview

En caso de que quiera jugar a pantalla completa cuando se utiliza la opción TwinView, se dará cuenta de que los juegos reconocen las dos pantallas como si fuera una gran pantalla. Si bien esto es técnicamente correcto (la pantalla virtual de X es realmente el tamaño de sus dos pantallas combinadas), es probable que no quieren jugar en ambas pantallas al mismo tiempo.

Para corregir este comportamiento para SDL, intente:

 export SDL_VIDEO_FULLSCREEN_HEAD=1

Para OpenGL, añada las Metamodes apropiadas para su xorg.conf en la sección Device y reinicie X:

 Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL;  1280x1024,NULL;""

Otro método que puede funcionar ya sea solo o en combinación con los mencionados anteriormente consiste en el starting games in a separate X server.

Sincronización vertical usando TwinView

Si utiliza vertical sync (sincronización vertical) en combinación con TwinView (la opción "Sync to Vblank" en nvidia-settings), se dará cuenta de que sólo una pantalla se sincroniza correctamente, a menos que tenga dos monitores idénticos. Aunque nvidia-settings ofrece una opción para permitir la sincronización al cambiar la pantalla (la opción "Sync to this display device"), esto no siempre funciona. Una solución es añadir las siguientes variables de entorno en la fase de arranque:

  nano /etc/profile

Añadir al final del archivo:

  export __GL_SYNC_TO_VBLANK=1
  export __GL_SYNC_DISPLAY_DEVICE=DFP-0
  export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0

Puede cambiar DFP-0 con su pantalla preferida; (DFP-0 indica el puerto DVI, mientras CRT-0 es el puerto VGA).

Antigua Configuración de Xorg

Si está actualizando desde una instalación antigua, por favor, elimine las antiguas rutas /usr/X11R6/, ya que puede causar problemas durante la instalación.

Pantalla Corrupta: el problema de las "Seis pantallas"

Para algunos usuarios que utilizan la tarjeta de vídeo Geforce GT 100M, la pantalla se vuelve corrupta después del inicio de X, dividida en 6 secciones con una resolución limitada a 640x480.

Para resolver este problema, habilite el Validation Mode NoTotalSizeCheck en la sección Device:

Section "Device"
 ...
 Option "ModeValidation" "NoTotalSizeCheck"
 ...
EndSection

Error '/dev/nvidia0' Input/Output

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: verificar qué sugerencias relativas a la BIOS funcionan y qué ajustes no coinciden con la solución de los problemas. (Discuss in Talk:NVIDIA (Español)#'/dev/nvidia0' Input/Output error... suggested fixes)

Este error puede ocurrir por varias razones diferentes, y la solución más común para este error es comprobar los permisos del grupo/archivo, aunque en casi todos los casos no es la solución del problema. La documentación de NVIDIA no aborda en detalle sobre lo que debe hacerse para corregir este problema, pero hay algunas cosas que han funcionado para algunos usuarios. El problema puede ser un conflicto con el IRQ de otro dispositivo o enrutamiento mal asignado ya sea por el kernel o por la BIOS.

La primera cosa a intentar es quitar otros dispositivos de vídeo tales como tarjetas de captura de vídeo y ver si el problema desaparece. Si hay demasiados procesadores de video en el mismo sistema puede hacer que el kernel sea incapaz de arrancar, debido a problemas de asignación de memoria con el controlador de vídeo. En particular, en los sistemas con baja memoria de vídeo, ésto puede suceder incluso si sólo hay un procesador de vídeo. En tal caso, debe saber la cantidad de memoria de vídeo de su sistema (por ejemplo con el comando lspci-v) y pasar los parámetros de asignación al kernel, por ejemplo:

 vmalloc = 64M
 ó
 vmalloc = 256M

Si se ejecuta un kernel de 64 bits, un defecto del controlador puede hacer que el módulo nvidia aborte la inicialización IOMMU cuando está encendido. Algunos usuarios han reportado que apagarlo en la BIOS puede ser la solución. [2][3]

Otra cosa que puede probar es cambiar su BIOS IRQ routing de Operating system controlled en BIOS controlled o al revés. El primero de ellos se puede pasar como un parámetro del kernel:

 PCI=biosirq

El parámetro noacpi del kernel también se ha sugerido como una posible solución, pero, dado que desactiva ACPI por completo, debe utilizarse con precaución. Algunos dispositivos pueden ser fácilmente dañados por sobrecalentamiento.

Nota: Las opciones del kernel se pueden pasar a través de la línea de comandos del kernel o al archivo de configuración del gestor de arranque. Consulte la página Wiki sobre su gestor de arranque para más información.

Error '/dev/nvidiactl'

Al intentar iniciar una aplicación OpenGL podría dar lugar a errores tales como:

 Error: Could not open /dev/nvidiactl because the permissions are too
 restrictive. Please see the FREQUENTLY ASKED QUESTIONS 
 section of /usr/share/doc/NVIDIA_GLX-1.0/README 
 for steps to correct.

Se resuelve añadiendo el usuario apropiado al grupo video e iniciando de nuevo la sesión:

 # gpasswd -a username video

Las aplicaciones de 32 bits no se inician

En sistemas de 64 bits, la instalación de lib32-nvidia-utils, que corresponde a la misma versión instalada para el controlador de 64 bits, soluciona el problema.

Errores después de actualizar el kernel

Si se utiliza un módulo NVIDIA compilado en lugar del paquete proporcionado en [extra], se requiere una recompilación cada vez que se actualiza el kernel. Se recomienda reiniciar el sistema después de actualizar los controladores del kernel y driver.

Fallo general

  • Intente desactivando RenderAccel en xorg.conf.
  • Si Xorg genera un error de "conflicting memory type" o "failed to allocate primary buffer: out of memory", agregue nopat al final de la línea del kernel en /boot/grub/menu.lst.
  • Si el compilador NVIDIA se queja de las diferentes versiones de GCC entre el actual y el que se utiliza para compilar el kernel, añada en /etc/profile:
 export IGNORE_CC_MISMATCH=1
  • Si Xorg está fallando con un "Signal 11" al usar los drivers nvidia-96xx, intente desactivar PAT. Pase el argumento nopat a la línea del kernel en menu.lst.

Más información sobre solución de problemas del controlador se puede encontrar en los NVIDIA forums.

Inadecuado rendimiento después de instalar una nueva versión del driver

Si FPS ha disminuido en comparación con los controladores anteriores, compruebe primero si el direct rendering está activado:

 $ glxinfo | grep direct

Si el comando reporta:

 direct rendering: No

ésto, podría ser una indicación de la caída repentina del FPS.

Una posible solución podría ser la de volver a la versión del controlador instalado anteriormente y reiniciar después.

Picos altos de la CPU con tarjetas de la serie 400

Si usted está experimentando picos intermitentes de CPU con una tarjeta de la serie 400, ésto puede ser causado por PowerMizer que cambia constantemente la frecuencia del reloj de la GPU. Cambie la configuración de PowerMizer de Adaptive a Performance, agregando lo siguiente a la sección Device de la configuración de Xorg:

  Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"

Portátiles: X se bloquea al iniciar/cerrar sesión, obviado con Ctrl+Alt+Backspace

Si durante el uso de los drivers NVIDIA, Xorg se cuelga al inicio o cierre de sesión (en particular, con una pantalla extraña dividida en dos piezas en blanco y negro/gris), pero sigue siendo posible efectuar el registro o login a través de Ctrl-Alt-Backspace (o cualquiera que sea la nueva combinación de teclas para "kill X"), pruebe a añadir lo siguiente en /etc/modprobe.d/modprobe.conf:

 options nvidia NVreg_Mobile=1

Un usuario ha reportado solucionarlo con el comando descrito, pero hace que el rendimiento disminuya significativamente, por lo que se podría intentar lo siguiente:

 options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1

Tenga en cuenta que NVreg_Mobile necesita ser cambiado de acuerdo con el tipo de portátil:

  • 1 para portátiles Dell.
  • 2 para portátiles no Compal Toshiba.
  • 3 para otros portátiles.
  • 4 para portátiles Compal Toshiba.
  • 5 para portátiles Gateway.

Consulte Léame del Driver de NVIDIA:Apéndice K para más información.

Frecuencia de refresco no detectada correctamente por los servicios dependientes de XRandR

La extensión XRandR X no es capaz actualmente de gestionar múltiples dispositivos de visualización en una única pantalla de X, sino que sólo ve el box delimitador de MetaMode, que puede contener uno o más modos reales. Esto significa que si múltiples MetaModes tienen la misma box de delimitación, XRandR no será capaz de distinguir entre ellos.

Con el fin de apoyar DynamicTwinView, el controlador de NVIDIA debe hacer que aparezca cada MetaMode como único para XRandR. Actualmente, el controlador de NVIDIA logra esto mediante el uso de la frecuencia de refresco como un identificador único.

Use nvidia-settings-q RefreshRate para consultar la actual frecuencia de actualización en cada dispositivo de visualización.

La extensión XRandR está siendo rediseñada por la comunidad de X.Org, por lo que el problema de la frecuencia de actualización puede ser resuelto en poco tiempo.

Esta solución también se puede desactivar mediante el establecimiento de la opción de configuración de X DynamicTwinView en false, la cual deshabilita el apoyo a NV-CONTROL para la manipulación de MetaModes, pero hará, para ser precisa, que la tasa de refresco de XRandR y XF86VidMode sea visible.

No se encuentran pantallas en un ordenador portátil/NVIDIA Optimus

Si en un portátil, el controlador de NVIDIA no puede encontrar la pantalla (no screen found), es posible que esté en presencia de una configuración que utiliza Nvidia Optimus: un chipset Intel conectado a la pantalla y las salidas de vídeo, y una tarjeta NVIDIA que hace todo el trabajo duro y escribe para el chipset de la memoria de video.

Compruebe con

 lspci | grep VGA

Si obtiene una salida similar a ésta:

 00:02.0 VGA compatible controlador: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
 01:00.0 VGA compatible controlador: nVidia Corporation Device 0df4 (rev a1)

Desafortunadamente NVIDIA no tiene intención, por el momento, de dar soporte a este tipo de controladores corriendo en linux.

Por tanto, en el estado actual, es necesario instalar el driver Intel para manejar las pantallas, y luego, si quiere que funcione también el software 3D, puede utilizar Bumblebee para que, a través de dicho programa, pueda hacer uso de la tarjeta NVIDIA.

Posible Solución

Un usuario ha reportado una posible solución en un portatil Lenovo W520 con una Quadro 1000M y Nvidia Optimus, consistente en entrar en la BIOS y cambiar en gráficos por defecto de "Optimus" a "discreta" y, de este modo, el controlador de Nvidia (versión 295.20-1 y posteriores) reconoce las pantallas.

Pasos:

-Entrar en la BIOS
-Buscar Graphics Settings.
-Cambiar a "Gráfica discreta" (Desactiva gráficos integrados de Intel)
-"Desactivadar": Detección del sistema operativo para Nvidia Optimus 
-Guardar y salir

Pantalla(s) encontrada, pero ninguna configuración utilizable

En un portátil, a veces el driver NVIDIA no puede encontrar la pantalla activa. Puede ser causada porque se posee una tarjeta gráfica con salida VGA/TV. Debe examinar Xorg.0.log para ver lo que está mal.

Otra cosa que puede probar consiste en usar una opción que invalide "ConnectedMonitor" Option en la seción "Device" para obligar a Xorg a lanzar un error y mostar cómo corregirlo. Aquí más información sobre ajustes de ConnectedMonitor.

Después de reiniciar X, supervise Xorg.0.log para obtener el valor correcto de CRT-x, DFP-x, TV-x.

El comando nvidia-xconfig --query-gpu-info también podría ser útil.

Sin control de brillo en los portátiles

Pruebe añadiendo la siguiente línea en el archivo 20-nvidia.conf

 Option "RegistryDwords" "EnableBrightnessControl=1"

Si todavía no funciona, puede intentarlo instalando nvidia-bl o nvidiabl.

Barras negras durante la reproducción a pantalla completa de videos flash con la configuración TwinView

Siga las instrucciones que aparecen en este artículo: Link

La retroiluminación no se apaga en algunas ocasiones

De forma predeterminada, DPMS debe apagar la luz de fondo con el ajuste de tiempo de espera dado o ejecutando xset. Sin embargo, probablemente debido a un error de los controladores propietarios de Nvidia, a veces el resultado es una pantalla en blanco, sin el consiguiente ahorro de energía. Para solucionar ésto, hasta tanto el error haya sido corregido, puede utilizar el vbetool como usuario root.

Instale el paquete vbetool.

Para apagar la pantalla a la vista cuando se desee y luego, pulsando una tecla cualquiera, encender de nuevo la retroiluminación:

 vbetool dpms off && read -n1; vbetool dpms on

Alternativamente, xrandr es capaz de desactivar y reactivar salidas de monitor sin necesidad de actuar como root.

 xrandr --output DP-1 --off; read -n1; xrandr --output DP-1 --auto

Tinte azul en vídeos con Flash

Un problema con las versiones 11.2.202.228-1 y 11.2.202.233-1 de flashplugin causan que envíen a los paneles de U/V una orden incorrecta, que da como resultado una coloración azul en la visualizanción de algunos vídeos. Hay algunos arreglos posibles para este error:

  • Instale libvdpau-git-flashpatchAUR de AUR
  • Parchee vdpau_trace.so con este makepkg.
  • Haga clic con el botón derecho del mouse sobre un vídeo, seleccione 'Ajustes... (Settings ...)', y desmarque "Activar aceleración de hardware (Enable hardware acceleration)". Vuelva a cargar la página para que los ajustes surtan efecto. Tenga en cuenta que esto desactiva la aceleración GPU.
  • Efectúe un Downgrade del flash a la versión 11.1.102.63-1 o anterior.
  • Utilice Google Chrome que incorpora la nueva API Pepper.
  • Pruebe una de las pocas alternativas de Flash.

Los méritos de cada uno de estos posibles arreglos se discuten en este hilo. No obstante lo anterior y a modo de resumen: si desea que todos los sitios flash (youtube, vimeo, etc.) funcionen correctamente en los navegadores que no sean Chrome, sin pérdida de funcionalidades (tales como la pérdida de la aceleración de hardware), sin accidentes/inestabilidad (que permite la decodificación de hardware), sin problemas de seguridad (CVEs múltiples contra antiguas versiones de flash) y sin romper la biblioteca vdpau al desviarla de su destino previsto, la solución menos objetable es instalar libvdpau-git-flashpatchAUR.

Bleeding Overlay con Flash

Este error se debe a una clave de color incorrecta que utiliza la versión 11.2.202.228-1 de flashplugin, y hace que el contenido flash se "filtre" a otras páginas o fondos negros sólidos. Para evitar este problema simplemente exportar VDPAU_NVIDIA_NO_OVERLAY=1 en el perfil de su shell (por ejemplo: ~/.bash_profile o ~/.zprofile) o ~/.xinitrc

Congelación completa del sistema utilizando Flash

Si usted experimenta ocasionales congelamientos/bloqueos completos del sistema (sólo el ratón se mueve) durante la utilización de flashplugin y obtiene del registro:

 # /var/log/errors.log
 NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000

una posible solución es desactivar la aceleración hardware del flash, estableciendo

 # /etc/adobe/mms.cfg
 EnableLinuxHWVideoDecode=0

Xorg falla al cargarse o aparece una pantalla roja

Si se obtine una pantalla roja y utiliza grub2, deshabilite el framebuffer de grub2 editando /etc/defaults/grub, y descomentando la cadena GRUB_TERMINAL_OUTPUT. Para obtener más información consulte Deshabilitar el framebuffer.

Véase también