NVIDIA (Español)
zh-CN:NVIDIA Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end Este artículo trata sobre la instalación y configuración de los controladores 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
- 1 Instalación
- 2 Configuración
- 3 Optimización
- 3.1 GUI: nvidia-settings
- 3.2 Activar MSI (Message Signaled Interrupts)
- 3.3 Avanzado: 20-nvidia.conf
- 3.3.1 Activar desktop composition
- 3.3.2 Desactivar la aparición del logo al iniciar
- 3.3.3 Activar aceleración por hardware
- 3.3.4 Omitir la detección de monitor
- 3.3.5 Activar el triple buffering
- 3.3.6 Usar los eventos del sistema
- 3.3.7 Activar el ahorro de energía
- 3.3.8 Activar el control del brillo
- 3.3.9 Activar la modalidad SLI
- 3.3.10 Forzar el nivel de rendimiento Powermizer (para portátiles)
- 3.3.11 Desactivar vblank interrupts (para portátiles)
- 3.3.12 Activar overclocking
- 4 Consejos y trucos
- 4.1 Ajustar la resolución del terminal de inicio
- 4.2 Activar Vídeo HD (VDPAU/VAAPI)
- 4.3 Decodificar aceleración de vídeo por hardware con XvMC
- 4.4 Usar la salida de TV
- 4.5 X con un televisor (DFP) como única pantalla
- 4.6 Comprobar el estado de energía
- 4.7 Visualizar la temperatura de la GPU en la shell
- 4.8 Ajustar la velocidad del ventilador en la sesión
- 4.9 Orden de instalación/desinstalación para cambiar los controladores
- 4.10 Cambiar entre los controladores nvidia y nouveau
- 5 Solución de problemas
- 5.1 Rendimiento bajo, por ejemplo, rediseño lento al cambiar las pestañas en Chrome
- 5.2 Jugar usando Twinview
- 5.3 Sincronización vertical usando TwinView
- 5.4 Antigua configuración de Xorg
- 5.5 Pantalla corrupta: el problema de las «seis pantallas»
- 5.6 Error '/dev/nvidia0' Input/Output
- 5.7 Errores '/dev/nvidiactl'
- 5.8 Las aplicaciones de 32 bits no se inician
- 5.9 Errores después de actualizar el kernel
- 5.10 Fallo general
- 5.11 Inadecuado rendimiento después de instalar una nueva versión del controlador
- 5.12 Picos altos de la CPU con tarjetas de la serie 400
- 5.13 Portátiles: X se bloquea al iniciar/cerrar sesión, obviado con Ctrl+Alt+Backspace
- 5.14 Frecuencia de refresco no detectada correctamente por los servicios dependientes de XRandR
- 5.15 No se encuentran pantallas en un ordenador portátil/NVIDIA Optimus
- 5.16 Pantalla(s) encontrada, pero ninguna configuración utilizable
- 5.17 Sin control de brillo en los portátiles
- 5.18 Barras negras durante la reproducción a pantalla completa de videos flash con la configuración TwinView
- 5.19 La retroiluminación no se apaga en algunas ocasiones
- 5.20 Tinte azul en vídeos con Flash
- 5.21 Bleeding Overlay con Flash
- 5.22 Congelación completa del sistema utilizando Flash
- 5.23 Xorg falla al cargarse o aparece una pantalla roja
- 5.24 Pantalla en negro en sistemas con GPU integrada de Intel
- 5.25 X falla lanzando «no screens found» con una Intel iGPU
- 6 Véase también
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.
1. Si no sabe qué tarjeta gráfica tiene, puede conocerla mediante la emisión de la siguiente orden:
# lspci -k | grep -A 2 -i "VGA"
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.
- Para los modelos más recientes de GPU, puede ser necesario instalar nvidia-betaAUR desde AUR, ya que los controladores estables pueden no admitir las funciones mas recientemente introducidas.
- Los paquetes nvidia-libgl o nvidia-{304xx,173xx,96xx}-utils constituyen una dependencia y son instalados automáticamente. Esta operación puede hacer que entre en conflicto con el paquete libgl, lo cual no sería extraño. Si pacman pide retirar libgl y falla debido a dependencias no satisfechas, elimínelo con la orden
pacman -Rdd libgl
. - El paquete nvidia-96xx-utilsAUR necesita una versión antigua del servidor X.Org (xorg-server1.12AUR). Dicho paquete está en conflicto con el paquete xorg-server disponible en los repositorios oficiales.
- Si está en un sistema 64 bits y necesita soporte OpenGL de 32 bits, también puede instalar el paquete lib32 equivalente disponible en el repositorio multilib (por ejemplo lib32-nvidia-libgl o lib32-nvidia-{304xx,173xx}-utils).
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:
- Artículo principal de ABS
- Artículo sobre makepkg
- Artículo sobre creación de paquetes
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
- Edite el archivo
nvidia.install
y reemplace la variableEXTRAMODULES='extramodules-3.4-ARCH'
con la versión de kernel personalizado, comoEXTRAMODULES='extramodules-3.4.4'
oEXTRAMODULES='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
PKGBUILD
cambie la variable_extramodules=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
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 enpackage()
que introduce en blacklist el módulo nvidia en/usr/lib/modprobe.d/nvidia
(no es necesario volver a hacerlo) .
Luego haga:
$ 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 controlador 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(s) 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 .
- 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.
- Si desea hacer esto manualmente, consulte esta sección de la wiki de arch sobre dkms.
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 solo 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 controlador 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
Esta orden 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.
Configuración mínima
Un archivo xorg.conf
básico podría ser similar a este:
/etc/X11/xorg.conf
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection
Varios monitores
- Consulte el artículo Multihead para obtener información más general
Para activar el soporte de pantalla dual, solo 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 solo 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 solo 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 solo 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 una orden:
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 la orden 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 controladores. 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 controlador 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.
Modo mosaic
El modo mosaic es la única forma de utilizar más de 2 monitores a través de varias tarjetas gráficas con la composición. Su gestor de ventanas puede o no reconocer la diferencia entre cada monitor.
Mosaic básico
El modo básico mosaic funciona en cualquier configuración de GPU de la serie GeForce 8000 o superior. No se puede activar desde la GUI nvidia-setting. Se debe utilizar el programa nvidia-xconfig en línea de órdenes o editar xorg.conf manualmente. MetaModes debe ser especificado. El siguiente es un ejemplo para cuatro DFP en una configuración de 2x2, cada uno funcionando a 1920x1024, con dos pantallas digitales planas conectadas a dos tarjetas:
$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
Mosaic SLI
Si tiene una configuración SLI en combinación con una GPU Quadro FX 5800, Quadro Fermi o posterior, puede utilizar el modo Mosaic SLI. Se puede activar desde dentro de la interfaz gráfica nvidia-settings o desde la línea de órdenes con:
$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
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 esta orden 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
Esto está documentado en el código fuente de nvidia-settings. Para que este ajuste permanezca, la anterior orden debe ser lanzada en cada arranque. Puede añadirlo al archivo ~/.xinitrc para iniciarlo automáticamente con X.
Activar 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.
- Consulte NVIDIA Accelerated Linux Graphics Driver README y la Guía de Instalación para más detalles y opciones de configuración.
Activar 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.
Desactivar la aparición del logo al iniciar
Agregue la opción "NoLogo"
en la sección Device
:
Option "NoLogo" "1"
Activar aceleración por hardware
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"
Activar el triple buffering
Para activar 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 solo tiene efecto cuando la sincronización para VBLANK, una de las opciones que aparecen en nvidia-settings (syncing to vblank
), está habilitada.
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"
Activar el ahorro de energía
Añadir en la sección Monitor
:
Option "DPMS" "1"
Activar el control del brillo
Añadir en la sección Device
:
Option "RegistryDwords" "EnableBrightnessControl=1"
Activar la modalidad SLI
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
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"
"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 controlador 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 una sola orden:
# 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
:
# Forzar Powermizer a un cierto nivel en todo momento: # level 0x1=highest # level 0x2=med # level 0x3=lowest # Ajustes de AC (corriente alterna): Option "RegistryDwords" "PowerMizerLevelAC=0x3" # Ajustes de batería: Option "RegistryDwords" "PowerMizerLevel=0x3"
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"
Desactivar 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.
Activar overclocking
Para activar 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
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
Ajustar la resolución del terminal de inicio
La transición de nouveau puede causar al inicio una visualización del terminal en una resolución más baja. Una posible solución (si se está utilizando GRUB) consiste en editar la línea GRUB_GFXMODE
en /etc/default/grub
con la resolución de pantalla deseada. Es posible especificar varias resoluciones, incluyendo el parámetro por defecto auto
, por lo que se recomienda que se modifique la línea para asemejarse a este ejemplo: GRUB_GFXMODE=<resolución deseada>,<fallback como 1024x768>,auto
. Véase http://www.gnu.org/software/grub/manual/html_node/gfxmode.html#gfxmode para obtener más información.
Activar Vídeo 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 controlador 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 controlador)
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 esto 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 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 controlador 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 solo lectura 'GPUPowerSource' (0 - AC, 1 - battery):
$ nvidia-settings -q GPUPowerSource -t
1
Si aparece un mensaje de error similar al de abajo, entonces necesita tener instalado acpid o iniciar el servicio systemd mediante systemctl start acpid.service
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.
(Si no está viendo este error, no es necesario instalar/ejecutar acpid únicamente para este propósito. Eso querrá decir que la fuente de alimentación actual estará correctamente informada sin acpid aún instalado.)
Visualizar la temperatura de la GPU en la shell
Método 1 - nvidia-settings
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 solamente la temperatura para su uso en programas como rrdtool
o conky
, entre otros, usar la orden:
$ nvidia-settings -q gpucoretemp -t
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
La orden 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 solo 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 la orden:
$ 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].
nvclock
no puede acceder a los sensores térmicos en las nuevas tarjetas de NVIDIA como la G210/220Puede 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"
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 controladores
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 controladores 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 # nouveau -> nvidia set -e # check if root if [[ $EUID -ne 0 ]]; then echo "You must be root to run this script. Aborting..."; exit 1; fi sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl #lib32-nouveau-dri lib32-mesa-libgl pacman -S --noconfirm nvidia #lib32-nvidia-libgl mkinitcpio -p linux
#!/bin/bash # nvidia -> nouveau set -e # check if root if [[ $EUID -ne 0 ]]; then echo "You must be root to run this script. Aborting..."; exit 1; fi sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf pacman -Rdds --noconfirm nvidia #lib32-nvidia-libgl pacman -S --noconfirm nouveau-dri xf86-video-nouveau #lib32-nouveau-dri mkinitcpio -p linux
Es necesario reiniciar para completar los cambios.
Ajuste los scripts a sus propias necesidades, en el caso de que use otros controladores de NVIDIA (por ejemplo, nvidia-173xx).
Descomente los paquetes de lib32 si corre sobre un sistema de 64-bit y necesita las bibliotecas de 32-bit (por ejemplo juegos/Steam de 32-bit ).
Solución de problemas
Rendimiento bajo, por ejemplo, rediseño lento al cambiar las pestañas en Chrome
En algunas máquinas, los últimos controladores 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 la orden:
nvidia-settings -a InitialPixmapPlacement=0
Para hacerlo permanente, esta orden puede ser colocada 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 solo 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
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, esto puede suceder incluso si solo hay un procesador de vídeo. En tal caso, debe saber la cantidad de memoria de vídeo de su sistema (por ejemplo con la orden lspci-v
) y pasar los parámetros de asignación al kernel, por ejemplo:
vmalloc = 64M o 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.
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 el driver.
Fallo general
- Intente desactivando
RenderAccel
enxorg.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 delkernel
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 controladores nvidia-96xx, intente desactivar PAT. Pase el argumento
nopat
a la línea delkernel
enmenu.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 controlador
Si FPS ha disminuido en comparación con los controladores anteriores, compruebe primero si el direct rendering está activado:
$ glxinfo | grep direct
Si la orden reporta:
direct rendering: No
esto, 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, esto 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 controladores 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 la orden descrita, 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 controlador 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 solo 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 esta:
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)
NVIDIA ha anunciado planes] para apoyar Optimus en sus controladores para Linux en futuro próximo.
Por tanto, en el estado actual, es necesario instalar el controlador 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:
- Entre en la BIOS
- Busque 'Graphics Settings' (pruebe en la pestaña 'Config', y luego en el submenú 'Display')
- Cambie 'Graphics Device' a 'Discrete Graphics" (Desactive los gráficos integrados de Intel)
- Cambie 'OS Detection for Nvidia Optimus' a 'Desactivado'
- Guarde y salga
Pantalla(s) encontrada, pero ninguna configuración utilizable
En un portátil, a veces el controlador 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.
La orden 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: Enlace
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 esto, 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 el paquete libvdpau más reciente.
- Parchee
vdpau_trace.so
_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 paquete flashplugin a la versión 11.1.102.63-1 o anterior.
- Utilice google-chromeAUR que incorpora la nueva API Pepper hromium-pepper-flashAUR.
- 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 basta con instalar la última versión de libvdpau o exportar la variable VDPAU_NVIDIA_NO_OVERLAY=1
al perfil de la shell (por ejemplo a ~/.bash_profile
o ~/.zprofile
) o ~/.xinitrc
Congelación completa del sistema utilizando Flash
Si usted experimenta ocasionales congelamientos/bloqueos completos del sistema (solo 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 100000000000: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.
Pantalla en negro en sistemas con GPU integrada de Intel
Si se dispone de una CPU Intel con una GPU integrada (por ejemplo, Intel HD 4000) y se obtiene una pantalla en negro en el arranque después de instalar el paquete nvidia, ello se puede deber a un conflicto entre los módulos gráficos. Esto se soluciona con la introducción de algunos módulos en blacklisting para la GPU de Intel. Cree un archivo /etc/modprobe.d/blacklist.conf con los módulos i915 y intel_agp para impedir que estos se carguen en el arranque:
/etc/modprobe.d/blacklist.conf
install i915 /bin/false install intel_agp /bin/false
X falla lanzando «no screens found» con una Intel iGPU
Al igual que anteriormente, si usted tiene una CPU Intel con una GPU integrada y X no arranca con mensajes de:
[ 76.633] (EE) No devices detected. [ 76.633] Fatal server error: [ 76.633] no screens found
entonces será necesario añadir el BusID de la tarjeta nvidia a la propia configuración de X. Puede encontrar dicho parámetro con la siguiente orden:
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
para resolver el problema se añade la propia tarjeta en la sección Device en el archivo de configuración de X. En este caso:
/etc/X11/xorg.conf.d/10-nvidia.conf
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:1:0:0" EndSection
Advierta como la salida 01:00.0
se escribe con el formato 1:0:0
.