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

Ubuntu trae en los repositorios una versión concreta de los drivers oficiales de nvidia, pero esta no se actualiza, y si comprar una gráfica de última generación, es posible que los drivers no la soporten. 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 (Ctrl+Alt+F1, nos loguemos y ejecutamos "sudo /etc/init.d/gdm stop").
  • Ejecutamos el instalador 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.32.5 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...

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/Dapper

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.

Si tienes un sistema de 32bit (lo más usual) 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.28.8.run --buildpkg Ubuntu/dapper

4. Instalamos los paquetes generados:

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

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

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

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 instalacion 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é.

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