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 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 respositorios 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 comoda es instalar los drivers de los repositorios, pero si disponemos de una gráfica de última generación, es necesarios instalar los últimos drivers oficiales.


Instalando los drivers propietarios de nVIDIA mediante paquetes

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

$ sudo apt-get 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.


Instalando los drivers propietarios de nVIDIA directamente

(esta 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 esta no se actualiza, y si has comprado una 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 los siguientes paquetes:
    • linux-kernel-devel.
    • xorg-dev.
    • linux-headers-generic.
  • Cerramos la sesión [antes de hacer esto copia las ordenes de aquí al final, porque luego vas a estar en modo *texto y sin firefox] (Ctrl+Alt+F1, nos loguemos y ejecutamos:
sudo /etc/init.d/gdm stop
  • Ejecutamos el instalador de nvidia (date cuenta de a qué carpeta lo has bajado, porque tienes que ejecutarlo desde la carpeta en donde esté; por ejemplo si lo has bajado al escritorio, que es donde te lo deja por defecto el descargador del firefox, solo tienes que teclear algo así como:
cd /home/nombrequeutilizasparainiciarsesión/Desktop

ahora solo teclea lo siguiente, donde NVIDIA-....run,es, claro está, el nombre del archivo que te bajaste con los drivers de Nvidia.

sudo sh ./NVIDIA-...run
  • Cuando nos pregunte si queremos que modifique automáticamente el fichero xorg.conf, le decimos que si.

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.

Instalando los drivers propietarios de ATI mediante paquetes Ubuntu

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 apt-get update
$ sudo apt-get install module-assistant build-essential 
$ sudo apt-get 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 sino 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 veis ningún archivo o dice que no hay ninguno, no intenteis 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)

Instalando los drivers propietarios de ATI mediante paquetes Ubuntu/Edgy Eft

Desactivamos la extension Composite (activada por defecto en Edgy)

sudo gedit /etc/X11/xorg.conf


Al final del documento escribimos estas lineas:

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.

Instalación mediante repositorios

Existe la opción más rápida de 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 deberás instalar los paquetes manualmente.

Asegurate antes de empezar que tienes activado el repositorio Universe y Multiverse.

Actualizamos los repositorios y preparamos el sistema.

sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r)

Instalamos el paquete.

sudo apt-get install xorg-driver-fglrx

Añadimos los módulos al kernel.

sudo depmod -a
Nota clasica.png Al actualizar a un nuevo kernel repetir este paso para recuperar la aceleracion 3D

Actualizamos el xorg.conf

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

Ahora ya sólo nos queda reiniciar (Ctrl+Alt+Backspace) para probar el sistema.

glxinfo | grep direct

Si el resultado es "yes" es que todo ha salido como deberia y tenemos nuestra aceleracion 3D.


Instalación 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 modulos 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 aceleracion 3D

Actualizamos el xorg.conf

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

Reiniciamos el PC

glxinfo | grep direct

Si el resultado es "yes" es que todo ha salido como deberia y tenemos nuestra aceleracion 3D.

Instalando 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.28.8.run

Siendo ati-driver-installer-8.28.8.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 algún modelo de ATI he experimentando cuelgues del sistema de forma aleatoria. Por ejemplo en la Radeon RV250 If [Radeon 9000 Pro]. La solución que he encontrado 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 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 se edita el xorg.conf

sudo gedit /etc/X11/xorg.conf

Y se cambia

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 entorno gráfico y probamos 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 nos vamos a la consola y tecleamos

sudo aptitude install libglide2

ó vamos a Sistema, Administración, Gestor de paquetes Synaptic y buscamos "libglide2" le damos click derecho, "marcar para instalar y le damos Aplicar.

Si es una voodoo Banshee, voodoo 3, voodoo 4 ó voodoo 5 nos vamos a la consola y tecleamos

sudo aptitude install libglide3

ó vamos a Sistema, Administración, Gestor de paquetes Synaptic y buscamos "libglide3" le damos click derecho, "marcar para instalar y le damos Aplicar.

Activar aceleración gráfica de tarjetas VIA

Ver también

Enlaces externos