Aceleración gráfica ATI

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

Con respecto a la aceleración gráfica en las tarjetas ATI existen 2 controladores (drivers) que la activan:

  • Uno es el controlador libre que viene incorporado con Ubuntu y da soporte en general a todas las tarjetas pero sólo tiene capacidad de aceleración gráfica 3D hasta el modelo radeon 9250 (inclusive). El controlador libre no es necesario que se active, da soporte 3D a modelos inferiores a la radeon 9250 desde la instalación de Ubuntu. Si dispones de uno de estos modelos, utiliza este driver ya que está en continuo desarrollo; a diferencia del driver privativo de ATI, que dejó de desarrollarse desde la versión 8.28 para estas tarjetas. Para optimizar el rendimiento de la tarjeta con este driver, ver este enlace.
  • Otro es el controlador privativo (no libre) distribuido por ATI que proporciona aceleración gráfica 3D a todas las tarjetas pero que no está incluido en Ubuntu por defecto. A continuación vamos a exponer 2 métodos para instalar el controlador privativo de ATI, uno es la instalación por paquetes (recomendable) específica para Ubuntu y otro es la instalación por medio del archivo .run de ATI (no recomendable).

ATI dejó de dar soporte a los modelos inferiores a la Radeon 9250 (inclusive) a partir de la versión 8.28.8 de sus controladores. Aunque aún se pueden descargar e instalar (esa versión) es recomendable usar los controladores libres.

Nota idea.png Es conveniente estar informado sobre nuevas versiones. Para ello ATI dispone de este feed RSS.


Instalar los drivers privativos de ATI mediante paquetes

Si usas Ubuntu 6.10 Edgy Eft o 7.04 Feisty Fawn tienes que desactivar la extensión Composite (activada por defecto):

$ sudo gedit /etc/X11/xorg.conf

Al final del archivo, escribimos estas líneas:

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

Guardamos y cerramos el editor de textos.

Si tenias alguna versión de los controladores privativos debes desactivar el antiguo controlador de la siguiente forma:

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

Ahora escribimos:

DISABLED_MODULES="fglrx"

Guardamos y cerramos el editor de textos.

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 escribiendo esto en una terminal:

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

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 fakeroot dh-make debconf libstdc++5 linux-headers-`uname -r`

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

Si usas Ubuntu 6.06 "Dapper Drake":

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

Si usas Ubuntu 6.10 "Edgy Eft":

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

Si usas Ubuntu 7.04 "Feisty Fawn":

$ sudo bash ati-driver-installer-8.40.4-x86.x86_64.run --buildpkg Ubuntu/feisty

4. Instalamos los paquetes generados:

$ sudo dpkg -i xorg-driver-fglrx_8.40.4-1_i386.deb
$ sudo dpkg -i fglrx-kernel-source_8.40.4-1_i386.deb
$ sudo dpkg -i xorg-driver-fglrx-dev_8.40.4-1_i386.deb
$ sudo dpkg -i fglrx-amdcccle_8.40.4-1_i386.deb

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 escribiendo en una terminal:

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

O como alternativa:

$ sudo gedit /etc/X11/xorg.conf

luego cambiamos 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 privativos 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:

$ sudo aptitude install 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 fichero de configuración xorg.conf escribiendo en una terminal:

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

O como alternativa:

$ sudo gedit /etc/X11/xorg.conf

luego cambia la línea:

Driver      "ati"

por estas otras:

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

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

Resolución de problemas

Radeon 9200/9250 (RV280) y la salida DVI

Hasta el momento Ubuntu Edgy 6.10 y Ubuntu Feisty 7.04 presentan un bug (un problema) con la salida DVI en los modelos de la serie Radeon 9200 y 9250

A continuación expondremos una solución que requiere de recompilar el controlador gráfico.

  • Instalamos los paquetes necesarios

Abrimos una terminal y escribimos lo siguiente para instalamos los paquetes necesarios:

Si usas Ubuntu 6.10 "Edgy Eft":

$ sudo aptitude install build-essential fakeroot
$ sudo apt-get build-dep xserver-xorg-driver-ati

Si usas Ubuntu 7.04 "Feisty Fawn":

$ sudo aptitude install build-essential fakeroot
$ sudo apt-get build-dep xserver-xorg-video-ati
  • Instrucciones

En una carpeta/directorio vacío escribimos en la terminal:

Si usas Ubuntu 6.10 "Edgy Eft":

$ apt-get source xserver-xorg-driver-ati

Si usas Ubuntu 7.04 "Feisty Fawn":

$ apt-get source xserver-xorg-video-ati

Esto descarga 3 archivos y los descomprime en la carpeta xserver-xorg-driver-ati-version (o xserver-xorg-video-ati-version en Ubuntu Feisty 7.04)

Entramos en dicha carpeta y abrimos la carpeta llamada src. En ella buscamos el archivo radeon_bios.c y lo abrimos con nuestro editor de textos preferido. Nos situamos al final del documento y veremos algo parecido a esto:

	    /* revision 4 has some problem as it appears in RV280, 
	       comment it off for now, use default instead */ 
	    /*    
		  else if (RADEON_BIOS8(tmp) == 4) {
		  int stride = 0;
		  n = RADEON_BIOS8(tmp + 5) + 1;
		  if (n > 4) n = 4;
		  for (i=0; i<n; i++) {
		  info->tmds_pll[i].value = RADEON_BIOS32(tmp+stride+0x08);
		  info->tmds_pll[i].freq = RADEON_BIOS16(tmp+stride+0x10);
		  if (i == 0) stride += 10;
		  else stride += 6;
		  }
		  return TRUE;
		  }
	    */  
	}
    }
    return FALSE;
}

Lo modificaremos de tal forma que quede así:


	    /* revision 4 has some problem as it appears in RV280, 
	       comment it off for now, use default instead */ 
		  else if (RADEON_BIOS8(tmp) == 4) {
		  int stride = 0;
		  n = RADEON_BIOS8(tmp + 5) + 1;
		  if (n > 4) n = 4;
		  for (i=0; i<n; i++) {
		  info->tmds_pll[i].value = RADEON_BIOS32(tmp+stride+0x08);
		  info->tmds_pll[i].freq = RADEON_BIOS16(tmp+stride+0x10);
		  if (i == 0) stride += 10;
		  else stride += 6;
		  }
		  return TRUE;
		  }
	}
    }
    return FALSE;
}

Es decir eliminamos los dos últimos " */ " . Guardamos el archivo y cerramos el editor.

Abrimos una terminal y escribimos:

$ cd xserver-xorg*

Para entrar en la carpeta del código fuente del controlador. Por último escribimos:

$ dpkg-buildpackage -rfakeroot -uc -b

Para generar el paquete .deb y lo instalamos con el siguiente comando:

$ sudo dpkg -i xserver-xorg*

Felicidades ya tienes tu salida DVI correctamente instalada :D

Ver también

Enlaces externos