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

(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 ó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
  • 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 guardado en el escritorio, que es donde te lo deja por defecto el gestor de descargas del navegador Firefox, solo 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 solo 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 solo 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.

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 extension Composite (activada por defecto en Edgy)

$ sudo gedit /etc/X11/xorg.conf

Al final del documento 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 deberás instalar los paquetes manualmente.

Asegúrate antes de empezar de tener activados los repositorios Universe y Multiverse.

Actualizamos los repositorios y preparamos el sistema:

$ sudo aptitude update
$ sudo aptitude install linux-restricted-modules-`uname -r`

Instalamos el paquete:

$ sudo aptitude 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 aceleración 3D.

Actualizamos el xorg.conf:

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

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

Si queremos, podemos hacer:

glxinfo | grep direct

Si el resultado es "yes" significa que todo ha salido como debería y tenemos nuestra aceleración 3D.

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

Si queremos, hacemos un: glxinfo | grep direct

Si el resultado es "yes" significa que todo ha salido como debería y tenemos nuestra aceleración 3D.

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

Ver también

Enlaces externos