Aceleración gráfica

De Guía Ubuntu
Saltar a: navegación, buscar

Si posees una tarjeta de vídeo o gráfica moderna, es posible que su fabricante, habitualmente nVIDIA o ATI, ofrezca la instalación de un software extra no libre, para aumentar el rendimiento y potencia de tu tarjeta de vídeo. Ubuntu, de serie, sólo puede y quiere incluir aquel que es software libre por lo que, si no te importa sacrificar este punto, deberás de realizar una serie de pasos que pueden variar dependiendo de tu fabricante y modelo de tarjeta. Suponiendo que sus fabricantes o distribuidores ofrezcan de alguna manera software para Ubuntu o sistemas GNU/Linux.

Sin esta posibilidad lo habitual es que todas aquellas aplicaciones que requieran de aceleración gráfica, especialmente juegos, no funcionen o no sean jugables por su bajo rendimiento.

Actualmente nVIDIA es la que está ofreciendo mejor software propio por su rendimiento, aunque fabricantes como ATI están aumentando su desarrollo en sistemas Linux como Ubuntu y otros como Intel han ofrecido como libre su software relacionado con sus tarjetas gráficas, populares en algunos equipos de fabricantes conocidos.

Nota clasica.png Recientemente han aparecido unos repositorios donde se encuentran los drivers ya compilados para Ubuntu Dapper. Más información en Ubuntu's Bleeding Edge Drivers.

Activar aceleración gráfica de tarjetas nVIDIA

La opción más cómoda es instalar los drivers de los repositorios, pero si disponemos de una gráfica de última generación, es necesarios instalar los últimos drivers propietarios oficiales.

Instalar los drivers propietarios de nVIDIA mediante paquetes

Primeramente hay que Activar repositorios externos. Luego instalamos los paquetes nvidia-glx y nvidia-kernel-common

$ sudo aptitude install nvidia-glx nvidia-kernel-common
$ sudo nvidia-xconfig

Finalmente reiniciamos la sesión (Sistema -> Salir -> Cerrar Sesión) y reiniciamos el servidor gráfico presionando Crtl+Alt+Backspace.

Si queremos evitar que aparezca el logo inicial de Nvidia debemos editar el archivo xorg.conf:

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-backup
$ gksudo gedit /etc/X11/xorg.conf

Buscamos la sección del dispositivo, que se ve similar a:

Section "Device"
       Identifier	"NVIDIA Corporation NV11 [GeForce2 MX/MX 400]"
       Driver		"nvidia"
       BusID		"PCI:1:0:0"

y agregamos en esta sección la siguiente línea:

   Option		"NoLogo"

Guardamos el archivo y reiniciamos el servidor gráfico.

Instalar los drivers propietarios de nVIDIA directamente

(Ésta es la mejor opción si todos los demás tutoriales os han dado fallos por algún motivo desconocido). Ubuntu trae en los repositorios una versión concreta de los drivers oficiales de nvidia, pero ésta no se actualiza, y si has comprado una tarjeta gráfica de última generación, es posible que los drivers no la soporten; lo mismo te digo si no consigues que tu tarjeta funcione adecuadamente y has probado ya un montón de tutoriales). La mejor opción en este caso es instalar directamente los drivers oficiales de la web de nvidia, cuya última versión trae soporte para las nuevas GeForce 8800GT/GTX.

  • Descargamos los drivers apropiados para nuestra arquitectura.
  • Nos aseguramos de no tener ningún restricted-module instalado (via Synaptic, por ejemplo).
  • Instalamos el paquete “linux-headers” para la versión exacta del kernel que queremos usar. Si queremos saber que kernel estamos usando en un determinado momento hacemos:
$ uname -r
para un kernel 2.6.20-14-generic se deberá instalar el paquete 
linux-headers-2.6.20-14-generic 
  • Instalamos además los siguientes paquetes:
linux-kernel-devel xorg-dev linux-headers-generic make libc6 libc6-dev
  • Creamos el enlace simbolico al fuente:
$cd /usr/src
$sudo ln -s linux-headers-2.6.15.27-386 linux
  • Cerramos la sesión -antes de hacer esto, copia las órdenes de aquí al final, porque luego vas a estar en modo texto-, pulsamos Ctrl+Alt+F1, nos logueamos y ejecutamos:
sudo /etc/init.d/gdm stop

En caso de usar KDE:

sudo /etc/init.d/kdm stop
  • Ejecutamos el instalador de nVIDIA (fíjate en qué carpeta lo has bajado, porque tienes que ejecutarlo desde la carpeta en donde esté; por ejemplo si lo has guardado en el escritorio, que es donde te lo deja por defecto el gestor de descargas del navegador Firefox, sólo tienes que teclear algo así como:
$ cd /home/<nombre_usuario>/Desktop

Donde <nombre_usuario> es el nombre que usas para iniciar la sesión. Ahora sólo teclea lo siguiente:

$ sudo sh ./NVIDIA-...run

Donde NVIDIA-....run, claro está, es el nombre del archivo que descargaste con los drivers de nVIDIA

  • Cuando nos pregunte si queremos que modifique automáticamente el fichero xorg.conf, le decimos que sí.
  • Ahora sólo falta indicarle al servidor gráfico que cargue el módulo de nVIDIA. Para ello debemos editar el archivo /etc/X11/xorg.conf y buscar la línea donde dice:
driver "nv"

y sustituirla por:

driver "nvidia"

Por ejemplo:

Section "Device"
    Identifier     "NVIDIA Corporation NVIDIA Default Card"
    Driver         "nvidia"

Comentamos las siguientes líneas con un numeral (#) en la sección Module (Section "Module"):

driver "dri"
driver "GLcore"

Nos quedará algo parecido a lo siguiente:

Section "Module"
    Load           "i2c"
    Load           "bitmap"
    Load           "ddc"
#   Load           "dri"
    Load           "extmod"
    Load           "freetype"
    Load           "glx"
    Load           "int10"
    Load           "type1"
    Load           "vbe"
EndSection
  • Al final, actualizamos GDM
$ sudo dpkg-reconfigure gdm

Guardamos los cambios (Ctrl X guardar cambios) y reiniciamos:

$ sudo shutdown now -r

o bien:

$ sudo reboot now

Al reiniciar el sistema ya deberíamos tener funcionando todo y nos saldrá la patalla de nVIDIA al arrancar el entorno gráfico.

Iniciar tarjeta Nvidia en vez de la Intel integrada

Esta sección va dirigida a los propietarios de motherboards que tienen una tarjeta gráfica Intel integrada que a veces pueden ser poco amistosas cuando tratas de usar una tarjeta diferente en GNU/Linux.

En esta sección aprenderás como desactivar la tarjeta integrada tanto en la BIOS como en ubuntu y usar tu tarjeta gráfica Nvidia (también debería funcionar con tarjetas gráficas ATI).

Requerimientos

  • Ubuntu instalado (no lo intentes en un LiveCD).
  • Una tarjeta gráfica nVIDIA.
  • Una buena conección a internet.

Instalación

  • Encendemos el ordenador, entramos a la BIOS y la configuramos para que inicie con la tarjeta gráfica integrada ("onboard").
  • Debemos asegurarnos de que el cable del monitor esté conectado a la tarjeta integrada.
  • Iniciamos Ubuntu
  • Editamos el archivo /etc/modprobe.d/blacklist/:
$ sudo nano -w /etc/modprobe.d/blacklist
  • Añadimos las siguientes líneas al final del archivo:
blacklist agpgart
blacklist intel_agp
  • Guardamos el archivo y salimos del editor.
  • Ahora, editamos el archivo xorg.conf:
$ sudo nano -w /etc/X11/xorg.conf
  • Nos desplazamos a la sección Device ("Section Device") e insertamos un "#" delante del BUSID de la tarjeta gráfica, como en el siguiente ejemplo:
Section "Device"
Identifier "NVIDIA Corporation NV34 [GeForce FX 5500]"
Driver "nv"
#BusID "PCI:1:9:0"
  • Entonces, añadimos la opción NvAGP debajo de BUSID (solo si nuestra tarjeta es nVIDIA):
Section "Device"
Identifier "NVIDIA Corporation NV34 [GeForce FX 5500]"
Driver "nv"
#BusID "PCI:1:9:0"
Option "NvAGP" "1"
  • Guardamos el archivo y salimos del editor.
Nota clasica.png Por supuesto la tarjeta que se usa en el ejemplo puede que no concuerde con la tuya. Quizás tu tarjeta Intel integrada tampoco.

Fuente: Nvidia Intel Integrated (en inglés)

Activar aceleración gráfica de tarjetas ATI

No hace mucho salió la versión 8.33.6 de los drivers propietarios. La instalación es muy simple y además existe esta guía oficial (en inglés). Detecta automáticamente antes de la instalación la arquitectura y lleva un cómodo asistente. Pero por lo que pueda pasar...

  • Para tarjetas ATI Radeon 9250, consulta más abajo en posibles problemas.
Nota idea.png Es conveniente estar informado sobre nuevas versiones. Para ello ATI dispone de este feed RSS.

Instalar los drivers propietarios de ATI mediante paquetes

1. Descarga el instalador del driver de ATI desde la página de soporte de ATI. Hay versiones para sistemas de 32bit y 64bit, aunque no lo he probado en esta última arquitectura. En la página de la descarga hay una referencia a las notas de la versión (RELEASE NOTES) en la que puedes ver si tu tarjeta está soportada. Puedes descargarte la última versión de aquí

2. Tienes que instalar algunos programas necesarios para crear los paquetes, por lo que necesitarás tener activados los repositorios universe y multiverse (Ver Activar universe y multiverse

$ sudo aptitude update
$ sudo aptitude install module-assistant build-essential 
$ sudo aptitude install fakeroot dh-make debconf libstdc++5 linux-headers-`uname -r`

3. Ahora le decimos al instalador que cree los paquetes:

$ bash ati-driver-installer-8.33.6-x86.x86_64.run --buildpkg Ubuntu/dapper

O en caso de usar Edgy:

$ bash ati-driver-installer-8.33.6-x86.x86_64.run --buildpkg Ubuntu/edgy

4. Instalamos los paquetes generados:

$ sudo dpkg -i xorg-driver-fglrx_8.33.6-1_i386.deb
$ sudo dpkg -i fglrx-kernel-source_8.33.6-1_i386.deb
$ sudo dpkg -i fglrx-control_8.33.6-1_i386.deb
Nota clasica.png Con la nueva versión puede que te crease un archivo llamado xorg-driver-fglrx-dev_8.33.6-1_i386.deb aparte del otro, instálalo también, porque si no cuando intentes construir más abajo el fglrx te dará problemas.

5. Eliminamos los debs antiguos de fglrx que pudiesen haber de /usr/src/:

$ sudo rm /usr/src/fglrx-kernel*.deb
Nota clasica.png Con la nueva versión puede que esto no haga falta hacerlo, si no ves ningún archivo o dice que no hay ninguno, no intentes borrar nada más.

6. Compilamos el módulo del kernel:

$ sudo module-assistant prepare
$ sudo module-assistant update
$ sudo module-assistant build fglrx
$ sudo module-assistant install fglrx
$ sudo depmod -a
Nota clasica.png Tienes que recompilar el módulo del kernel en cada actualización del kernel.

7. Actualizamos el fichero de configuración xorg.conf:

$ sudo aticonfig --initial
$ sudo aticonfig --overlay-type=Xv

Otra forma de hacer ésto es editar el fichero /etc/X11/xorg.conf y cambiar la línea:

Driver      "ati"

por estas otras:

Driver      "fglrx"
Option      "VideoOverlay" "on"
Option      "OpenGLOverlay" "off"

8. Y reiniciamos. Al volver a entrar en el sistema aparecerá en Aplicaciones -> Accesorios -> ATI Control el programa para gestionar algunos parámetros de nuestra ATI. Al ejecutar el programa fglrxinfo la salida debería ser algo como:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON X300/X550 Series Generic
OpenGL version string: 2.0.6011 (8.28.8)

Instalar los drivers propietarios de ATI mediante paquetes (Ubuntu 6.10 Edgy Eft)

Desactivamos la extensión Composite (activada por defecto en Ubuntu 6.10 Edgy Eft):

$ sudo gedit /etc/X11/xorg.conf

Al final del archivo, escribimos estas líneas:

Section "Extensions"
 Option "Composite" "0"
EndSection

Desactivamos el antiguo fglrx:

sudo gedit /etc/default/linux-restricted-modules-common

Ahora escribimos: DISABLED_MODULES="fglrx"

Ahora debes elegir instalar los paquetes desde los repositorios o crearlos manualmente usando el archivo de instalación de ATI.

Instalar los drivers propietarios de ATI mediante repositorios

Existe una opción más rápida que consiste en descargar directamente el driver de los repositorios. La versión que se encuentra es la 8.28.8, que es anterior a la actual. Para usar la última versión disponible deberemos instalar los paquetes manualmente.

1) Nos aseguramos antes de empezar de tener activados los repositorios Universe y Multiverse.

2) Instalamos los siguientes paquetes:

linux-restricted-modules-`uname -r` xorg-driver-fglrx

3) Añadimos los módulos al kernel:

$ sudo depmod -a
Nota clasica.png Si instalamos una nueva versión del kernel, debemos repetir este paso para recuperar la aceleración 3D.

4) Actualizamos el archivo xorg.conf:

$ sudo aticonfig --initial
$ sudo aticonfig --overlay-type=Xv

5) Ahora ya solo nos queda reiniciar el servidor gráfico (Ctrl+Alt+Retroceso) para probar el sistema.

Instalar mediante paquetes manuales

Preparamos un directorio de trabajo y descargamos los drivers de ATI:

$ mkdir ati
$ cd ati
$ wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.32.5-x86.x86_64.run

Preparamos el sistema:

$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo aptitude install module-assistant build-essential fakeroot dh-make debconf libstdc++5 linux-headers-`uname -r`
$ sudo ln -sf bash /bin/sh
$ bash ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg Ubuntu/edgy
$ sudo ln -sf dash /bin/sh

Ahora instalamos los paquetes:

$ sudo dpkg -i xorg-driver-fglrx_8.32.5-1_i386.deb
$ sudo dpkg -i fglrx-kernel-source_8.32.5-1_i386.deb
$ sudo dpkg -i fglrx-control_8.32.5-1_i386.deb

Eliminamos los paquetes antiguos:

$ sudo rm /usr/src/fglrx-kernel*.deb

Añadimos los módulos al kernel:

$ sudo module-assistant prepare,update
$ sudo module-assistant build,install fglrx
$ sudo depmod
Nota clasica.png Al actualizar a un nuevo kernel repetir estos 3 pasos para recuperar la aceleración 3D.

Actualizamos el xorg.conf:

$ sudo aticonfig --initial
$ sudo aticonfig --overlay-type=Xv

Ahora solo nos queda reiniciar el equipo con:

$ sudo shutdown now -r

o bien:

$ sudo reboot now

Instalar los drivers propietarios de ATI directamente

1. Descarga la última versión de los drivers de la página oficial de ATI/AMD. Hay que descargar el driver ATI Driver Installer, asegúrate que se trata de un archivo .run.

2. Abre el terminal y colócate en el directorio donde se ha descargado el driver e introduce en el terminal:

$ sudo sh ./ati-driver-installer-8.34.8-x86.x86_64.run

Siendo ati-driver-installer-8.34.8-x86.x86_64.run el nombre del archivo descargado.

3. Ahora basta seguir el asistente. En mi caso, cuando llego al punto Please, choose the mode of installation. sólo me permite el modo personalizado (Custom). Si te ocurre lo mismo, selecciona el modo Custom, presiona Continue y marca todas las casillas: Display and OpenGL Drivers, Kernel Module y Control Panel. El Control Panel no es estrictamente necesario.

4. Una vez concluida la instalación correctamente, introduce en el terminal:

$ sudo /usr/X11R6/bin/aticonfig --initial

5. Reinicia el sistema y comprueba la aceleración.

Posibles problemas

En algunos modelo de ATI se han experimentando cuelgues del sistema de forma aleatoria. Por ejemplo en la Radeon RV250 If [Radeon 9000 Pro]. La solución es añadir estas opciones a la configuración de la tarjeta:

Option          "SWcursor" "on"
Option          "AGPMode" "1"
Option          "RenderAccel" "0"

La primera opción está comentada porque el cursor dejaba un rastro de basura en la pantalla y la desactivé.

Para este tipo de tarjetas, Radeon 9000-9250, el driver 8.28.8 y superiores, tienen un bug que provoca que beryl se cierre, entre otros errores. Además, parece ser que ATI no dará más soporte a estas tarjetas, por lo tanto, no se solucionará el bug. Solución, que en mi caso a funcionado:

Es necesario desactivar.

sudo gedit /etc/default/linux-restricted-modules-common

y al final del archivo, allí donde: DISABLED_MODULES=””

Añadir:

DISABLED_MODULES=”fglrx”

Luego editamos el archivo xorg.conf:

sudo gedit /etc/X11/xorg.conf

Y cambiamos:

Section "Device"
 Identifier "ATI Technologies, Inc. RV280 [Radeon 9200 PRO]"
 Driver "ATI"

por:

Section "Device"
 Identifier "ATI Technologies, Inc. RV280 [Radeon 9200 PRO]"
 Driver "radeon"

Reiniciamos el servidor gráfico (Ctrl+Alt+Retroceso) y probamos la aceleración:

$ glxinfo

Tenemos el driver libre para poder utilizar Aixgl+beryl con ATI 9250.

Buscando por Internet encontré una cuantas opciones de configuración que son necesarias, por lo menos para mi tarjeta (ATI X300) y Beryl:

Option "no_accel" "no"
Option "no_dri" "no"
Option "DynamicClocks" "on"
Option "mtrr" "on"
Option "DesktopSetup" "Single"
Option "ScreenOverlap" "0"
Option "Capabilities" "0×00000000"
Option "CapabilitiesEx" "0×00000000"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "CenterMode" "off"
Option "PseudoColorVisuals" "off"
Option "Stereo" "off"
Option "StereoSyncEnable" "1"
Option "FSAAEnable" "no"
Option "FSAAScale" "1"
Option "FSAADisableGamma" "no"
Option "FSAACustomizeMSPos" "no"
Option "FSAAMSPosX0" "0.000000"
Option "FSAAMSPosY0" "0.000000"
Option "FSAAMSPosX1" "0.000000"
Option "FSAAMSPosY1" "0.000000"
Option "FSAAMSPosX2" "0.000000"
Option "FSAAMSPosY2" "0.000000"
Option "FSAAMSPosX3" "0.000000"
Option "FSAAMSPosY3" "0.000000"
Option "FSAAMSPosX4" "0.000000"
Option "FSAAMSPosY4" "0.000000"
Option "FSAAMSPosX5" "0.000000"
Option "FSAAMSPosY5" "0.000000"
Option "UseFastTLS" "0"
Option "BlockSignalsOnLock" "on"
Option "UseInternalAGPGART" "no"
Option "ForceGenericCPU" "no"
Option "KernelModuleParm" "agplock=0"
Option "PowerState" "1"

Activar aceleración gráfica de tarjetas 3DFX

Es necesario verificar si la tarjeta es una voodoo 2(o inferior) o voodoo banshee, 3 ó superior, para esto nos vamos a sistema, Administración, Administrador de dispositivos y buscamos donde diga voodoo.

Si es una Voodoo 2, debemos instalar el siguiente paquete:

libglide2

Si es una Voodoo Banshee, Voodoo 3, Voodoo 4 o Voodoo 5, este otro:

libglide3

Activar aceleración gráfica de tarjetas VIA

Envy

Ahora también hay disponible una nueva forma de conseguir la aceleración gráfica de forma muy cómoda y rápida, ya sea que tengamos una nVIDIA o una ATI. Se consigue sin más que instalar el paquete Envy, desarrollado por Alberto Milone y seleccionar nuestra marca de tarjeta. Podemos conseguir ese paquete en el sitio de su autor. Enlace de descarga directa de Envy para Ubuntu:

http://albertomilone.com/ubuntu/nvidia/scripts/envy_0.9.1-0ubuntu4_all.deb (326 kB)

Consiste en un script realizado en el lenguaje Python y que utiliza las librerías gráficas GTK, por lo tanto se integra con los escritorios GNOME y Xfce. Realizará todo este trabajo por nosotros y que, al terminar, nos dará la opción de reiniciar nuestro equipo. Tras eso, tendremos ya activa la aceleración gráfica.

Comprobar aceleración 3D

Una vez instalada la aceleración 3D con cualquier marca de tarjeta gráfica, para comprobar si ésta se encuentra funcionando podemos utilizar los programas incluidos en el paquete mesa-utils.

Primero, debemos instalar el siguiente paquete:

mesa-utils

Una vez instalado, hay dos comandos que podemos ejecutar.

El primero es glxinfo, que brinda información sobre el estado actual de la aceleración 3D. Para ejecutarlo, escribimos lo siguiente en una terminal:

$ glxinfo | grep direct

El otro comando es glxgears, que muestra en una pequeña ventana unos engranajes girando, en caso de estar activada la aceleración 3D:

$ glxgears

Ver también

Enlaces externos