Difference between revisions of "NVIDIA (Español)"

From ArchWiki
Jump to: navigation, search
(Error '/dev/nvidiactl')
(31 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
[[tr:Nvidia]]
 
[[tr:Nvidia]]
 
[[zh-CN:NVIDIA]]
 
[[zh-CN:NVIDIA]]
{{out of date|Este artículo no está actualizado ni completo respecto al original en versión inglesa}}
+
{{Article summary start|Sumario}}
¡El paquete es para aquellos que utilizan el kernel predeterminado de arch!
+
{{Article summary text|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}}
Sólo está probado con el kernel 2.6 y xorg.
+
{{Article summary heading|Relacionado}}
 +
{{Article summary wiki|ATI (Español)}}
 +
{{Article summary wiki|Intel (Español)}}
 +
{{Article summary wiki|Nouveau (Español)}}
 +
{{Article summary wiki|Xorg (Español)}}
 +
{{Article summary end}}
 +
Este artículo trata sobre la instalación y configuración de los drivers propietarios para la tarjeta gráfica [http://www.nvidia.com NVIDIA]. Si, por el contrario, desea obtener información acerca de los controladores de código abierto, consulte [[Nouveau]].
  
''NOTA de alguien más: no nos hemos olvidado de la gente que usa el kernel -beyond, mira el siguiente párrafo''
+
==Instalación==
 +
Estas instrucciones son para aquellos que utilizan el paquete stock {{pkg|linux}}. Para la configuración de kernel personalizado, vaya a la [[#Instalación alternativa: kernel personalizado|sección correspondiente]] .
  
Usuarios con varios kernels:
+
{{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.}}
¡Necesitarán instalar el paquete de nvidia para cada kernel extra!
+
  
====Instalación de los drivers====
+
1. Visite el sitio NVIDIA donde se [http://www.nvidia.com/Download/index.aspx?lang=es descarga el driver] a fin averiguar el controlador apropiado para su tarjeta de video. Puede comprobar también [http://www.nvidia.com/object/IO_32667.html esta lista] para las tarjetas antiguas.
 +
: {{Nota|Para los modelos más recientes de GPU, puede ser necesario instalar {{AUR|nvidia-beta}} de [[AUR]], ya que los controladores estables no pueden soportar las características de reciente introducción. Pruebe los estables primero (ver abajo).}}
  
Necesitarás el repositorio extra, así que activa su uso en /etc/pacman.conf
+
2. Instale el controlador apropiado para su tarjeta:
¡Sal del entorno gráfico, si no lo haces pacman no podrá acabar la instalación y no funcionará!
+
:* Para las tarjetas de la serie GeForce 8 y posteriores [NVC0 y posteriores], instale el paquete {{Pkg|nvidia}}, disponible en los [[Official Repositories (Español)|repositorios oficiales]].
ejecuta como  root:
+
:* Para las tarjetas de las series GeForce 6/7 [NV40-FANV], instale el paquete {{Pkg|nvidia-304xx}}, disponible en los [[Official Repositories (Español)|repositorios oficiales]].
pacman -S nvidia (para tarjetas gráficas nuevas)
+
:* Para las tarjetas de la serie GeForce 5 FX [NV30-NV38], instale el paquete {{AUR|nvidia-173xx}}, disponible en [[Arch User Repository (Español)|AUR]].
pacman -S nvidia-legacy (para tarjetas gráficas antiguas)
+
:* Para las tarjetas de las series 2/3/4 MX/Ti [NV11 y NV17-NV28], instale el paquete {{AUR|nvidia-96xx}},  disponible en [[Arch User Repository (Español)|AUR]].
para los usuarios de '''-beyond''':
+
pacman -S nvidia-beyond
+
pacman -S nvidia-legacy-beyond (para tarjetas gráficas antiguas)
+
  
si usas alguno de los kernels '''-ck''', '''-mm''' o '''suspend2''', edita el comando anterior con la extension apropiada.
+
: 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 {{ic | pacman-Rdd libgl}}.
  
por favor lee el [http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9631/README/appendix-a.html <code>README</code>] de nvidia para saber qué tarjetas gráficas están soportadas.
+
:El paquete ''nvidia-96xx-utils'' necesita una versión antigua del servidor X.Org ({{AUR|xorg-server1.12}}), que está en conflicto con la versión  ''xorg-server'' presente en los repositorios oficiales.
  
Si hay algún error durante la instalación lee el archivo:
+
: {{Nota|Para sistemas [[multilib|x86_64 Arch]] también debe instalar el paquete ''lib32'' equivalente (por ejemplo, {{pkg|lib32-nvidia-utils}} o {{AUR|lib32-nvidia-utils-beta }}).}}
  /var/log/nvidia-installer.log
+
  
====Configuración de servidor X====
+
3. '''Reinicie'''. El paquete ''nvidia''  contiene un archivo que introduce en blacklist al módulo ''nouveau'', por lo que es necesario reiniciar.
  
Edita el <code>/etc/X11/XF86Config</code> o <code>/etc/X11/xorg.conf</code>:
+
Una vez que el controlador ha sido instalado, proceda a su [[#Configuración|configuración]].
Desactiva en la sección modules <code>GLcore</code> y <code>DRI</code>
+
  
Añade a esa misma sección esto:
+
===Instalación alternativa: kernel personalizado===
Load "glx"
+
  
Desactiva por completo la <code>Section DRI</code>:
+
En primer lugar, es bueno saber cómo funciona el sistema ABS mediante la lectura de algunos de los artículos acerca de él:
#Section "DRI"
+
# Mode 0666
+
#EndSection
+
  
Cambia el <code>Driver "nv"</code> por <code>Driver "nvidia"</code>
+
* Artículo principal de [[ABS]]
Si existe desactiva la opción <code>Chipset</code> (sólo es necesaria para el driver nv).
+
* Artículo sobre [[makepkg]]
 +
* Artículo sobre [[Creating_Packages|creación de paquetes]]
  
Esto servirá para una configuración básica, si quieres afinar más las opciones lee el documento <code>/usr/share/doc/NVIDIA_GLX-1.0/README.txt</code>.
+
{{Nota|Usted también puede encontrar el paquete {{AUR|nvidia-all}} en [[AUR]], que hace que sea más fácil de usar con kernels personalizados y/o múltiples}}
  
También podrías ejecutar:
+
Lo que sigue es un breve tutorial para crear un paquete personalizado de controladores NVIDIA usando [[ABS]]:
nvidia-xconfig
+
  
Lee [[http://www.archlinux.com.ar/wiki/index.php/Xorg7 Instalando y configurando xorg]]
+
[[Pacman|Instale]] el paquete {{Pkg|abs}} desde los [[official repositories|repositorios oficiales]] y genere el árbol con:
 +
# abs
  
====Modificación del <code>rc.conf</code>====
+
Como usuario normal (sin privilegios), cree un directorio temporal para crear el nuevo paquete:
 +
$ mkdir -p ~/abs
 +
Haga una copia del paquete {{ic|nvidia}} al directorio:
 +
$ cp -r /var/abs/extra/nvidia/ ~/abs/
 +
Entre en el directorio de compilación temporal {{ic|nvidia}} :
 +
$ cd ~/abs/nvidia
 +
Ahora es necesario modificar los archivos {{ic|nvidia.install}} y {{ic|PKGBUILD}} de modo que contengan las variables correctas de la versión del kernel.
  
Añade <code>nvidia</code> a <code>/etc/rc.conf</code>, en la sección MODULES (ya no es necesario si tienes xorg y udev).
+
Ejecutando el kernel personalizado, se obtine el kernel apropiado y los nombres de la versión local:
¡Hace falta para nvidia-legacy y kernel >=2.6.13!
+
$ uname -r
 +
# Edite el archivo {{ic|nvidia.install}} y reemplace la variable {{ic|EXTRAMODULES<nowiki>=</nowiki>'extramodules-3.4-ARCH'}} con la versión de kernel personalizado, como {{ic|EXTRAMODULES<nowiki>=</nowiki>'extramodules-3.4.4'}} o {{ic|EXTRAMODULES<nowiki>=</nowiki>'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.
 +
# En el archivo {{ic|PKGBUILD}} cambie la variable {{ic|_extramodules<nowiki>=</nowiki>extramodules-3.4-ARCH}} para que coincida con la versión adecuada, como antes.
 +
# 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 {{ic|pkgname<nowiki>=</nowiki>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 {{ic|package()}} que introduce en blacklist el módulo nvidia en {{ic|/usr/lib/modprobe.d/nvidia}} (no es necesario volver a hacerlo) .
  
====Problemas que podrían surgir====
+
Luego hacer:
 +
$ makepkg -ci
 +
La variable {{ic|-c}} ordena a makepkg que limpie los archivos sobrantes del proceso de empaquetado después de la creación del paquete, mientras que {{ic|-i}} especifica a makepkg  que ejecute automáticamente pacman para instalar el paquete resultante.
  
=====Específicos de Nvidia=====
+
=== Recompilación automatica del modulo NVIDIA para cada actualización en cualquier kernel ===
Xorg7:
+
Por favor, borra tu antiguo directorio /usr/X11R6. Podría causar problemas durante la instalación. Comrpueba que tienes instalado el paquete <code>pkgconfig</code>. El instalador de NVIDIA utiliza pkgconfig para determinar dónde están los componentes modulares de Xorg.
+
  
Si experimentas un rendimiento bajo 3D comprueba los archivos
+
Esto es posible gracias al paquete {{AUR|nvidia-hook}} de [[AUR]]. Será necesario instalar las fuentes del modulo: o {{AUR|nvidia-source}} para el controlador estable, o bien {{AUR|nvidia-source-beta}} para el driver beta. Con '''nvidia-hook''', la funcionalidad para la «recompilación automática» se consigue mediante un  '''hook de nvidia''' en [[mkinitcpio (Español)|mkinitcpio]] después de haber forzado la actualización del paquete '''linux-headers'''. Será necesario añadir {{ic|nvidia}} a la matriz HOOK en {{ic|/etc/mkinitcpio.conf}} y añadir «linux-headers» al propio kernel personalizado con la opción {{ic|SyncFirst}} en {{ic|/etc/pacman.conf}} para hacer que este método funcione.
<code>/usr/lib/libGL.so.1</code>, <code>/usr/lib/libGL.so</code>, <code>/usr/lib/GLcore.so.1</code>
+
Tal vez están mal enlazados a mesa o algo así.
+
Intenta reinstalar con <code>pacman -S nvidia</code>.
+
  
Cuando te aparezca este mensaje cuando intentas ejecutar una aplicación openGL application (como  enemy-territory o glxgears):
+
El hook invocará la orden '''dkms''' para actualizar el módulo NVIDIA a la versión del nuevo kernel .
Error: Could not open /dev/nvidiactl because the permissions are too
+
restrictive. Please see the <code>FREQUENTLY ASKED QUESTIONS</code>
+
section of <code>/usr/share/doc/NVIDIA_GLX-1.0/README</code>
+
for steps to correct.
+
  
Añade a tu usuario al grupo <code>video</code> con <code>gpasswd -a ''tu_nombre_de_usuario'' video</code> (no olvides salir de tu sesión y volver a entrar después de hacer esto).
+
{{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.}}
  
=====Específicos de Arch=====
+
==Configuración==
  
'''Actualización de GCC:'''
+
Es posible que después de instalar el controlador no sea necesario  crear un archivo de configuración para el servidor Xorg. Puede realizar [[Xorg#Running Xorg|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 {{ic|/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 [[Xorg#Manual configuration|serie de ajustes]] más detallados que pueden puentear las opciones preconfiguradas del driver o las propias de Xorg.
Debes compilar el módulo con la misma versión de gcc que se utilizó para compilar el kernel, en caso contrario puede fallar.
+
:{{Nota|Desde la versión 1.8.x Xorg utiliza archivos de configuración separados ubicados en {{ic|/etc/X11/xorg.conf.d /}} - consulte la sección [[#Avanzado: 20-nvidia.conf|configuración avanzada]].}}
Un simple <code>pacman -S nvidia</code> lo debería hacer, si no es así podrías esperar a que aparezca una actualización del kernel y reinstalar el paquete nvidia.
+
  
'''Actualización del Kernel:'''
+
===Configuración automática===
Cada vez que se actualiza el kernel se debe reinstalar el driver. Lee arriba ''Modificación del <code>rc.conf</code>''
+
 
 +
El paquete NVIDIA incluye una herramienta de configuración automática para crear un archivo de configuración ({{ic|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 {{ic|/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 {{ic|/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 {{ic|xorg.conf}} básico podría ser similar a éste:
 +
 
 +
{{hc|/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 "{{ic|nouveau}}" del archivo {{ic|/etc/mkinitcpio.conf}}. Consulte cómo [[#Cambiar entre los drivers nvidia y nouveau|cambiar entre los drivers nvidia y nouveau]], si desea cambiar entre los controladores abiertos y propietarios.}}
 +
 
 +
===Varios monitores===
 +
 
 +
:''Consulte el artículo [[Multihead|multimonitor]] para obtener información más general''
 +
 
 +
Para activar el soporte de pantalla dual, sólo tiene que editar el archivo {{ic|/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 {{ic|Xinerama}} en "{{ic|ServerLayout}}" y  utilizar, en su lugar, TwinView (ver más abajo).
 +
 
 +
{{hc|/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 {{ic|TwinView}} a {{ic|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:
 +
{{hc|/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
 +
}}
 +
 
 +
[http://us.download.nvidia.com/XFree86/Linux-x86/304.22/README/configtwinview.html 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:
 
   
 
   
====Herramienta de configuración del Driver====
+
# nvidia-xconfig --twinview
Hay una nueva herramienta de configuración del driver llamada 'nvidia-settings'
+
¡No hace falta que la utilices, es sólo un añadido! <br>
+
Para más información sobre ella, echa un vistazo a este archivo:<br>
+
/usr/share/doc/NVIDIA_GLX-1.0/nvidia-settings-user-guide.txt<br>
+
Por favor instala gtk2 con "pacman -S gtk2" si quieres utilizar la herramienta.
+
  
'''NOTA:'''
+
=====Configuración manual de CLI con xrandr=====
Si experimentas problemas como la caída del servidor X al utilizar la herramienta borra el archivo <code>.nvidia-settings-rc</code> de tu directorio home.
+
  
====Problemas conocidos====
+
Si las últimas soluciones no funcionan para usted, puede usar la baza ''autostart'' de su gestor de ventanas para ejecutar un comando:
  
Si experimentas caídas, prueba a desactivar la opción <code>RenderAccel "true"</code>.
+
xrandr --output DVI-I-0 --auto --primary --left-of DVI-I-1
  
Si el instalador se queja de problemas entre la versión de gcc actual y la utilizada para compilar el kernel lee cómo instalar el driver a la manera tradicional, pero recuerda <code>export IGNORE_CC_MISMATCH=1</code>
+
o
  
Si quieres comentar algo sobre el paquete, por favor, ponlos aquí: http://bbs.archlinux.org/viewtopic.php?t=10692
+
xrandr --output DVI-I-1 --pos 1440x0 --mode 1440x900 --rate 75.0
  
Si tienes algún problema con los drivers entra el el forum de nvidia: http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14
+
donde:
  
Para ver un listado de cambios (Changelog): http://www.nvidia.com/object/linux_display_ia32_1.0-8762.html
+
* {{ic|--output}} sirve para indicar a cuál "monitor" establecer las opciones.
 +
* {{ic|DVI-I-1}} es el nombre del segundo monitor.
 +
* {{ic|--pos}} es la posición del segundo monitor respecto al primero.
 +
* {{ic|--mode}} es la resolución del segundo monitor.
 +
* {{ic|--rate}} establece la frecuencia de refresco en Hz.
 +
Es necesario adaptar esta cadena con opciones de {{ic|xrandr}}  con la ayuda de la salida generada por el comando {{ic|xrandr}} ejecutado en un terminal.
  
Nota: por favor no cambies la parte de arriba sin comunicármelo.
+
====Utilizar NVIDIA Settings====
  
===Rendimiento desastroso después de instalar el nuevo nvidia-driver===
+
También puede utilizar la herramienta {{ic|nvidia-settings}}  proporcionada por {{pkg|nvidia-utils}}. Con este método, se utiliza el software propietario NVIDIA puesto a diposición de sus drivers. Basta con ejecutar {{ic|nvidia-settings}} como root, a continuación, configurar como se desee, y luego guardar la configuración en {{ic|/etc/X11/xorg.conf.d/10-monitor.conf}}.
  
Si obtienes unos fps muy bajos en comparación con los drivers de la versión anterior comprueba si tienes el 'Direct Rendering' en on. Puedes hacerlo así:
+
====ConnectedMonitor====
  
glxinfo | grep direct
+
Si el driver no detecta correctamente un segundo monitor, se puede forzar a que lo haga con ConnectedMonitor.
  
Si obtienes: direct rendering: No entonces este es tu problema.  
+
{{hc|/etc/X11/xorg.conf|
Después comprueba que tienes la misma versión de glx para el cliente y el servidor con:
+
  
glxinfo | egrep "glx (vendor|version)"
+
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
  
Y si tienes distintos vendor o versiones para el cliente y el servidor haz esto:
+
Section "Monitor"
 +
    Identifier    "Monitor2"
 +
    VendorName    "Gateway"
 +
    ModelName      "GatewayVX1120"
 +
    HorizSync      30.0 - 121.0
 +
    VertRefresh    50.0 - 160.0
 +
    Option        "DPMS"
 +
EndSection
  
ln -fs /usr/lib/libGL.so.$VER /usr/X11R6/lib/libGL.so
+
Section "Device"
ln -fs /usr/lib/libGL.so.$VER /usr/X11R6/lib/libGL.so.1
+
    Identifier    "Device1"
ln -fs /usrlib/libGL.so.$VER /usr/lib/libGL.so.1.2
+
    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
  
Donde $VER es la versión del paquete nvidia que utilizas. Puedes comprobarlo con <code>nvidia-settings</code>
+
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
  
Eso es todo. Ahora reinicia tu servidor X y deberías tener aceleración normal ;)
+
}}
  
===Instalación del driver NVIDIA con el método tradicional===
+
La sección duplicada de "Device" con {{ic|Screen}} es la forma de obtener X para usar dos monitores en una sola tarjeta sin utilizar {{ic|TwinView}}. Tenga en cuenta que {{ic|nvidia-settings}} elimina todas las opciones {{ic|ConnectedMonitor}} que haya añadido.
  
* Descarga el último driver NVIDIA desde: http://www.nvidia.com/object/linux.html
+
==Optimización==
  
El nombre del archivo debería ser algo como: <code>NVIDIA-Linux-x86-1.0-7167-pkg0.run</code>
+
===GUI: nvidia-settings===
  
Los pasos del Kernel (los 4 siguientes pasos) se pueden saltar si tienes por lo menos la versión del kernel 2.6.5 porque el paquete del kernel ya tendrá todo lo necesario.
+
El paquete NVIDIA incluye el programa  {{ic|nvidia-settings}} con el que se permite ajustar varias opciones adicionales.
  
* Baja el código fuente del kernel de la misma versión que estés utilizando
+
Para cargar los ajustes al iniciar sesión, ejecute este comando en el terminal:
<code>uname -r</code> te informará de la versión adecuada
+
$ nvidia-settings --load-config-only
** http://www.kernel.org/pub/linux/kernel/v2.6/ - para la rama 2.6
+
** http://www.kernel.org/pub/linux/kernel/v2.4/ - para la rama 2.4
+
  
* Mueve el árbol del código fuente incompleto del kernel actual a 2.x.x.old:
+
O lo añade al método de auto arranque del propio entorno de escritorio.
mv /usr/src/2.x.x /usr/src/2.x.x.old
+
  
* Descomprime y desempaqueta el código fuente en <code>/usr/src</code>:
+
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 {{ic|InitialPixmapPlacement}} a {{ic|2}}:
mv /path/to/linux-2.x.x.tar.bz2 /usr/src
+
cd /usr/src
+
tar --bzip2 -xvf linux-2.x.x.tar.bz2
+
  
* Copia el directorio include antiguo y el archivo <code>.config</code> al nuevo árbol del kernel:
+
  $ nvidia-settings -a InitialPixmapPlacement=2
cp -rp linux-2.x.x.old/include/ linux-2.x.x/include/
+
cp linux-2.x.x.old/.config linux-2.x.x/.config
+
  
* Abre una sesión no gráfica
+
Ésto está documentado en el [http://cgit.freedesktop.org/~aplattner/nvidia-settings/tree/src/libXNVCtrl/NVCtrl.h?id=b27db3d10d58b821e87fbe3f46166e02dc589855#n2797 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 {{ic|~/.nvidia-settings-rc}}.
** Pulsa Control-Alt-F5 (o la F que quieras)
+
** Entra como root
+
** Ve al runlevel 3
+
init 3
+
  
* Ejecuta el instalador NVIDIA
+
{{Tip|Es raro, pero en ocasiones el archivo {{ic|~/.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.}}
sh /path/to/NVIDIA-Linux-x86-1.0-5336-pkg0.run
+
Se te preguntará si aceptas la licencia, pulsa OK un par de veces en las pantallas de información y el driver se compilará e instalará
+
  
* Edita el archivo XFree86Config o xorg.conf
+
===Habilitar MSI (Message Signaled Interrupts)===
** Utiliza el editor que quieras para abrir <code>/etc/X11/XFree86Config</code> o <code>/etc/X11/xorg.conf</code> y ve a la sección <code>Device</code>
+
** Cambia tu driver actual (probablemente <code>nv</code> o <code>vesa</code>) por <code>nvidia</code>:
+
*** <code>Driver "nv"</code> por <code>Driver "nvidia"</code>
+
** Descomenta la línea de load glx
+
*** <code>#Load "glx"</code> por <code>Load "glx"</code>
+
** Comenta o borra la línea Chipset si existe
+
  
* Edita los módulos que se cargan al arrancar
+
Por defecto, la tarjeta gráfica utiliza un sistema de interrupción compartida. Para dar un pequeño aumento de rendimiento, edite {{ic|/etc/modprobe.d/modprobe.conf}} y añada:
** Edita <code>/etc/rc.conf</code>
+
options nvidia NVreg_EnableMSI=1
** Añade <code>nvidia</code> a la sección de módulos
+
¡Tenga cuidado, ya que esto se ha reportado como dañoso para algunos sistemas con hardware antiguo!
MODULES=(''... algunos módulos ...'' nvidia)
+
  
* Reincia la máquina y disfruta de la aceleración 3D ... y de un kernel corrompido :)
+
Para confirmarlo, ejecute:
 +
# cat /proc/interrupts | grep nvidia
 +
  43:          0        49      4199      86318  PCI-MSI-edge      nvidia
  
===Cómo desactivar el logo de NVIDIA al iniciar===
+
===Avanzado: 20-nvidia.conf===
  
* Edita el xorg.conf
+
Edite el archivo {{ic|/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.
** Ve a la sección <code>Device</code>
+
** Añade la opción <code>"NoLogo"</code>
+
Option "NoLogo" "true"
+
  
===Activar Control de Brillo===
+
* Consulte [http://us.download.nvidia.com/XFree86/Linux-x86_64/256.53/README/index.html NVIDIA Accelerated Linux Graphics Driver README y la Guía de Instalación] para más detalles y opciones de configuración.
  
Añadir bajo la sección {{ic|Device}} en /etc/X11/xorg.conf:
+
====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 {{ic|"NoLogo"}} en la sección {{ic|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 {{ic|"RenderAccel"}} en la sección {{ic|Device}}:
 +
Option "RenderAccel" "1"
 +
 
 +
====Omitir la detección de monitor ====
 +
 
 +
La opciónn {{ic|"ConnectedMonitor"}} en la sección {{ic|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: {{ic|"CRT"}} para las conexiones analógicas, {{ic|"DFP"}} para monitores digitales y {{ic|"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{{ic|"TripleBuffer"}} en la sección {{ic|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 ({{ic|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 [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt 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 {{ic|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 {{ic|Monitor}}:
 +
  Option "DPMS" "1"
 +
 
 +
====Habilitar el control del brillo====
 +
 
 +
Añadir en la sección {{ic|Device}}:
 
  Option "RegistryDwords" "EnableBrightnessControl=1"
 
  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 [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-8774/README/appendix-d.html 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 [http://www.slizone.com/page/home.html Zona SLI] para obtener más información.
 +
 +
En primer lugar identifique el PCI Bus ID de la GPU utilizando {{ic|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 {{ic|Device}}:
 +
BusID "PCI:3:0:0"
 +
 +
{{Nota|El formato es importante. El valor BusID debe especificarse como {{ic|"PCI:<BusID>:0:0"}}}}
 +
 +
Añadir el valor deseado para la modalidad de renderizado SLI a utilizar en la sección {{ic|Screen}}:
 +
Option "SLI" "SLIAA"
 +
 +
En la siguiente tabla se presentan los modos de renderizados disponibles.
 +
 +
{| border="1"
 +
! 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 {{ic|nvidia-xconfig}} para insertar estos cambios directamente en el archivo {{ic|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 {{ic|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 [http://tutanhamon.com.ua/technovodstvo/NVIDIA-UNIX-driver/ 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 {{ic|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 {{ic|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 {{ic|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 [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,127/orderby,2/page,1/ nvflash] y [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,135/orderby,2/page,1/ 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 {{ic|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 {{ic|Device}} para permitir el control manual del ventilador de la GPU a través de {{ic|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 [http://en.wikipedia.org/wiki/PureVideo_HD#Table_of_PureVideo_.28HD.29_GPUs]
 +
 +
'''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 libva-vdpau-driver
 +
 +
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 {{ic|~/.mplayer/config}}
 +
 +
  vo=vdpau
 +
  vc=ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau, ffodivxvdpau,
 +
 +
Para activar la aceleración de hardware en [[VLC]] ir a:
 +
 +
{{ic|'''Tools''' ('''Herramientas''')}} -> {{ic|'''Preferences''' ('''Preferencias''')}} -> {{ic|'''Input & Codecs'''}} -> active {{ic|'''Use GPU accelerated decoding'''}}
 +
 +
Para activar la aceleración de hardware en '''smplayer''' ir a:
 +
 +
{{ic|'''Options''' ('''Opciones''')}} -> {{ic|'''Preferences''' ('''Preferencias''')}} -> {{ic|'''General'''}} -> {{ic|'''Video Tab''' ('''Tarjeta Vídeo''')}} -> seleccionar {{ic|vdpau}} como {{ic|'''output driver''' ('''salida del driver''')}}
 +
 +
Para activar la aceleración de hardware en '''gnome-mplayer''' ir a:
 +
 +
{{ic|'''Edit''' ('''Editar''')}} -> {{ic|'''Preferences''' ('''Preferencias''') }} -> ajustar {{ic|'''video output'''('''salida de video''')}} en {{ic|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 {{ic|~/.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  {{ic|/etc/X11/XvMCConfig}} con el contenido siguiente:
 +
libXvMCNVIDIA_dynamic.so.1
 +
Consulte cómo configurar See how to configure [[XvMC#Supported software|software compatible]].
 +
 +
===Usar la salida de TV===
 +
 +
Un buen artículo sobre el tema se puede encontrar [http://en.wikibooks.org/wiki/NVidia/TV-OUT 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 {{ic|DFP}}  (de nuevo, {{ic|DFP-0}} o similar), haga clic sobre el botón {{ic|Adquirir Edid}} y guárdelo en alguna parte, por ejemplo, {{ic|/etc/X11/dfp0.edid}}.
 +
 +
Editar {{ic|xorg.conf}} añadiendo a la sección {{ic|Device}}:
 +
  Option "ConnectedMonitor" "DFP"
 +
  Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"
 +
La opción {{ic|ConnectedMonitor}} obliga al controlador a reconocer el DFP como si estuviera conectado. La opción {{ic|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    {{ic|DAEMONS}} en {{ic|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 {{ic|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 {{ic|rrdtool}} o {{ic|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:
 +
 +
{{bc|<nowiki>$ 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                                          |
 +
+-----------------------------------------------------------------------------+
 +
</nowiki>}}
 +
 +
Para mostrar sólo la temperatura:
 +
{{bc|<nowiki>
 +
$ 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
 +
 +
</nowiki>}}
 +
 +
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|{{ic|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 [http://sourceforge.net/projects/nvclock/forums/forum/67426/topic/1906899 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 {{ic|nvidia-settings}}. Primero, asegúrese de que la configuración Xorg establece la opción Coolbits a {{ic|4}} ó {{ic|5}} en la sección {{ic|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 {{ic|~/.xinitrc}} para ajustar la velocidad del ventilador al iniciar Xorg. Sustituya {{ic|<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 {{ic|~/.config/autostart/nvidia-fan-speed.desktop}} y coloque el texto que sigue en su interior. Una vez más, sustituya {{ic|<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 {{ic|{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 {{ic|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 [[Gaming#Starting_games_in_a_separate_X_server|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 {{ic|nvidia-settings}}), se dará cuenta de que sólo una pantalla se sincroniza correctamente, a menos que tenga dos monitores idénticos. Aunque {{ic|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 {{ic|DFP-0}} con su pantalla preferida; ({{ic|DFP-0}} indica el puerto DVI, mientras {{ic|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 {{ic|/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 {{ic|NoTotalSizeCheck}} en la sección {{ic|Device}}:
 +
Section "Device"
 +
  ...
 +
  Option "ModeValidation" "NoTotalSizeCheck"
 +
  ...
 +
EndSection
 +
 +
===Error '/dev/nvidia0' Input/Output ===
 +
{{Accuracy|verificar qué sugerencias relativas a la BIOS funcionan y qué ajustes no coinciden con la solución de los problemas.|section='/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 {{ic|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 [http://en.wikipedia.org/wiki/IOMMU IOMMU] cuando está encendido. Algunos usuarios han reportado que apagarlo en la BIOS puede ser la solución. [http://www.nvnews.net/vbulletin/showthread.php?s=68bb2fabadcb53b10b286aa42d13c5bc&t=159335][[User:Clickthem#nvidia module]]
 +
 +
Otra cosa que puede probar es cambiar su BIOS IRQ routing de {{ic|Operating system controlled}} en {{ic|BIOS controlled}} o al revés. El primero de ellos se puede pasar como un parámetro del kernel:
 +
  PCI=biosirq
 +
 +
El parámetro {{ic|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.}}
 +
 +
===Errores '/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 {{ic|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 {{ic|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 {{ic|RenderAccel}} en {{ic|xorg.conf}}.
 +
* Si Xorg genera un error de "conflicting memory type" o "failed to allocate primary buffer: out of memory", agregue {{ic|nopat}} al final de la línea del {{ic|kernel}} en {{ic|/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 {{ic|/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 {{ic|nopat}} a la línea del {{ic|kernel}} en {{ic|menu.lst}}.
 +
Más información sobre solución de problemas del controlador se puede encontrar en los [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 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 {{ic|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 {{ic|/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 {{ic|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 [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt 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 {{ic|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 {{ic|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 {{ic|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 {{ic|DynamicTwinView}} en {{ic|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 {{ic|"ConnectedMonitor" Option}} en la seción {{ic|"Device"}}
 +
para obligar a Xorg a lanzar un error y mostar cómo corregirlo.
 +
[http://http.download.nvidia.com/XFree86/Linux-x86/1.0-8178/README/appendix-d.html 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 {{ic|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 {{ic|20-nvidia.conf}}
 +
  Option "RegistryDwords" "EnableBrightnessControl=1"
 +
Si todavía no funciona, puede intentarlo instalando [https://aur.archlinux.org/packages.php?ID=25467 nvidia-bl] o [https://aur.archlinux.org/packages.php?ID=50749 nvidiabl].
 +
 +
===Barras negras durante la reproducción a pantalla completa de videos flash con la configuración TwinView===
  
===Utilización de la salida TV con las tarjetas NVIDIA===
+
Siga las instrucciones que aparecen en este artículo:
 +
[http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops Link]
  
Un buen artículo sobre esto es el siguiente:
+
===La retroiluminación no se apaga en algunas ocasiones===
  http://en.wikibooks.org/wiki/NVidia/TV-OUT
+
  
'''Ejemplo:''' Clonar el escritorio para la TV (CRT).
+
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 {{ic|vbetool}} como usuario root.
  
En este ejemplo se ha conectado la salida de TV de la tarjeta de video a la entrada S-Video del TV (CRT solution). "PAL-B" como se ve abajo, es el estandar utilizado en Australia. (mira el link anterior para ver el de otras regiones).
+
Instale el paquete {{pkg|vbetool}}.
  
Usa nano ó vim para abrir '''/etc/X11/xorg.conf''' y busca la sección que dice "Device".
+
Para apagar la pantalla a la vista cuando se desee y luego, pulsando una tecla cualquiera, encender de nuevo la retroiluminación:
  
Y verás algo como:<br>
+
  vbetool dpms off && read -n1; vbetool dpms on
  
    Section "Device"
+
Alternativamente, xrandr es capaz de desactivar y reactivar salidas de monitor sin necesidad de actuar como root.
        Identifier  "Card0"
+
        Driver      "nvidia"
+
        VendorName  "ALL"
+
        BoardName    "ALL"
+
    EndSection
+
  
Y agrega lo siguiente:<br>
+
  xrandr --output DP-1 --off; read -n1; xrandr --output DP-1 --auto
  
    Option "TwinView"                  "true"
+
===Tinte azul en vídeos con Flash===
    Option "SecondMonitorHorizSync"    "30-50"
+
    Option "SecondMonitorVertRefresh"  "60"
+
    Option "TwinViewOrientation"      "Clone"
+
    Option "TVOutFormat"              "SVIDEO"
+
    Option "TVStandard"                "PAL-B"
+
  
Entonces se convierte en:<br>
+
Un problema con las versiones 11.2.202.228-1 y 11.2.202.233-1 de {{pkg|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:
  
    Section "Device"
+
* Instale {{AUR|libvdpau-git-flashpatch}} de [[AUR]]
        Identifier  "Card0"
+
* Parchee vdpau_trace.so con [https://bbs.archlinux.org/viewtopic.php?pid=1078368#p1078368 este makepkg].
        Driver      "nvidia"
+
* 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.
        VendorName  "ALL"
+
* Efectúe un Downgrade del flash a la versión 11.1.102.63-1 o anterior.
        BoardName    "ALL"
+
* Utilice Google Chrome que incorpora la nueva API Pepper.
        Option      "TwinView"                  "true"
+
* Pruebe una de las pocas alternativas de Flash.
        Option      "SecondMonitorHorizSync"    "30-50"
+
        Option      "SecondMonitorVertRefresh"  "60"
+
        Option      "TwinViewOrientation"      "Clone"
+
        Option      "TVOutFormat"              "SVIDEO"
+
        Option      "TVStandard"                "PAL-B"
+
    EndSection
+
  
Guarda los cambios y reinicia Xorg. (Ctrl-Alt- <------)
+
Los méritos de cada uno de estos posibles arreglos se discuten en [https://bbs.archlinux.org/viewtopic.php?id=137877 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 {{AUR|libvdpau-git-flashpatch}}.
  
Se confirmado que funciona en las Geforce2 MX400, Geforce 5900XT, Geforce 7300GT, y Geforce 7600GS.
+
===Bleeding Overlay con Flash===
  
NOTA: Existe un problema, la salida de TV sufrirá un efecto "tear" cuando se vean videos por la salida de TV. El problema varia dependiendo de una configuración u otra, y por supuesto del video que se vé. Esto es debido a que la opción "Overlay" sólo funciona en un dispositivo ("Pantalla principal 0"). Esto puede ser una limitación del X. Se recomienda configurar xorg.conf para que la salida del televisor sea el número "screen 0" (Haciendo que el efecto "tear" se ponga a la PC).  
+
Este error se debe a una clave de color incorrecta que utiliza la versión 11.2.202.228-1 de {{pkg|flashplugin}}, y hace que el contenido flash se "filtre" a otras páginas o fondos negros sólidos. Para evitar este problema simplemente exportar {{ic|1=VDPAU_NVIDIA_NO_OVERLAY=1}} en el perfil de su shell (por ejemplo: {{ic|~/.bash_profile}} o {{ic|~/.zprofile}}) o {{ic|~/.xinitrc}}
  
Otra opción es desactivar el monitor y utilizar sólo la TV para mostrar. Se puede hacer añadiendo:<br>
+
===Congelación completa del sistema utilizando Flash===
  
    Option      "ConnectedMonitor"  "TV"
+
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:
  
De todas maneras, esto puede resultar no factible en algunas situaciones.
+
  # /var/log/errors.log
 +
  NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000
  
===¿Por qué la tasa de refrescamiento no es reportada correctamente por las utilidades que utilizan las extensiones XRandR X (ejemplo, el panel de GNOME para cambiar la resolución, `xrandr -q`, etc)?===
+
una posible solución es desactivar la aceleración hardware del flash, estableciendo
  
Las extensiones XRandR X  no estan pendientes de varios medios de salida de vídeo en una sóla pantalla de X; Esto significa que si varios MetaModes tienen distintos 'Bounding Box', XRandR no distinguirá entre ellos.
+
  # /etc/adobe/mms.cfg
 +
  EnableLinuxHWVideoDecode=0
  
Para obtener soporte de DynamicTwinView, el driver de NVIDIA X  debe hacer que cada MetaMode parezca ser único a XRandR. Actualmente, el driver de NVIDIA X logra esto tratando la tasa de refresco como un único identificador.
+
=== Xorg falla al cargarse o aparece una pantalla roja ===
  
Tu puedes usar `nvidia-settings -q RefreshRate` para colocar la tasa de refresco para cada dispositivo.
+
Si se obtine una pantalla roja y utiliza grub2, deshabilite el framebuffer de grub2 editando {{ic|/etc/defaults/grub}}, y descomentando la cadena GRUB_TERMINAL_OUTPUT. Para obtener más información consulte [[GRUB2_(Italiano)#Disabilitare_il_framebuffer|Deshabilitar el framebuffer]].
  
Las extension XRandR X esta siendo rediseñada por la comunidad de X.Org community, para que el problema de la tasa de refresco sea eliminada en un futuro.
+
== Véase también ==
  
Este problema puede ser desactivado colocando la opción "DynamicTwinView" X a FALSE, lo que desactiva el soporte NV-CONTROL para manipular los MetaModes,pero causarán que la tasa de refreso de XRandR y XF86VidMode se calibren.
+
* [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 foros NVIDIA]
 +
* [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt Readme Oficial para los controladores de NVIDIA]

Revision as of 16:58, 6 December 2012

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.

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 libva-vdpau-driver

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]User:Clickthem#nvidia module

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.

Errores '/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