Configurar ATI Radeon 9250 en Arch Linux

Antes que nada, ahora que las distribuciones más conocidas se adaptan más al nuevo hardware, es imprescindible darle una oportunidad a Arch Linux. Arch es archiconocida por su configuración “a mano” de todos los archivos. Paradójicamente, la configuración “base” va escrita en un sólo archivo (red, modulos de hard, configuración de idioma, caracteres, terminal, etc.) lo cual lo convierte en uno de los más fáciles de “sacar andando.”

¿Cómo fui a parar con Arch? Bueno, tty0 usa Arch desde hace tiempo y siempre me explicaba las ventajas. Con un poco de ayuda de él y de la wiki de Arch (que por cierto es extremadamente completa y útil) configuré el mio.

¿Qué me dió tanto trabajo? Como siempre, y para no ser menos, fue la famosa chatarra ATI Radeon 9250 (una placa vieja, complicada y sin soporte por parte de la compañía -antes tenía, ahora no.-)

Sigan leyendo para ver cómo configurar resoluciones forzadas  y demás.


El problema:

La placa es detectada y configurada automaticamente al instalar Xorg. Hasta ahí no hay ningún problema. La máxima resolución producto de la configuración automatica es de 1024×768 a 85hz. Si su monitor es un viejo CRT de 17 pulgadas y les gusta 1024×768, no sigan leyendo… ya no habrá más provecho que sacarle a la placa. Pero las resoluciones de 1024×768 resultan un tanto grandes para monitores de 17 pulgadas (a muchos nos pasa) y nos quita mucho espacio de trabajo, por lo que intenté cambiarla a 1280×1024, cosa que resultó imposible por los métodos tradicionales.

Forzando una resolución con Xrandr:

He visto varios foros que piden explicaciones de porqué no pudieron cambiar la resolución con Xrandr. Particularmente creo que si hubieran leido el man de xrandr habrían llegado a la misma conclusión que llegué yo. He aquí los pasos.

Como usuario sin privilegios (nuestro usuario):

Para ver las resoluciones:
$ xrandr

Para agregar nuestra resolución:
$ xrandr --newmode "nombre del modo" FRECUENCIA_DEL_MONITOR PARAMETROS_DE_CONFIGURACION

ésta línea no es tan simple como parece, yo obtuve los valores de ésta lista:

modeline "640x480@60" 25.2 640 656 752 800 480 490 492 525 -vsync -hsync
modeline "640x480@72" 31.5 640 664 704 832 480 489 491 520 -vsync -hsync
modeline "640x480@75" 31.5 640 656 720 840 480 481 484 500 -vsync -hsync
modeline "640x480@85" 36.0 640 696 752 832 480 481 484 509 -vsync -hsync
modeline "800x600@56" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
modeline "800x600@72" 50.0 800 856 976 1040 600 637 643 666 +hsync +vsync
modeline "800x600@75" 49.5 800 816 896 1056 600 601 604 625 +hsync +vsync
modeline "800x600@85" 56.3 800 832 896 1048 600 601 604 631 +hsync +vsync
modeline "800x600@60" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
modeline "832x624@75" 57.284 832 864 928 1152 624 625 628 667 -vsync -hsync
modeline "1024x768@85" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
modeline "1024x768@75" 78.8 1024 1040 1136 1312 768 769 772 800 +hsync +vsync
modeline "1024x768@70" 75.0 1024 1048 1184 1328 768 771 777 806 -vsync -hsync
modeline "1024x768@60" 65.0 1024 1048 1184 1344 768 771 777 806 -vsync -hsync
modeline "1024x768@43" 44.9 1024 1032 1208 1264 768 768 776 817 +hsync interlace +vsync
modeline "1152x864@75" 108.0 1152 1216 1344 1600 864 865 868 900 +hsync +vsync
modeline "1280x1024@75" 135.0 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync
modeline "1280x960@60" 102.1 1280 1360 1496 1712 960 961 964 994 -hsync +vsync
modeline "1280x960@85" 148.5 1280 1344 1504 1728 960 961 964 1011 +hsync +vsync
modeline "1280x1024@85" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +hsync +vsync
modeline "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
modeline "1280x960@75" 129.86 1280 1368 1504 1728 960 961 964 1002 -hsync +vsync
modeline "1400x1050@60" 122.61 1400 1488 1640 1880 1050 1051 1054 1087 -hsync +vsync
modeline "1400x1050@75" 155.85 1400 1496 1648 1896 1050 1051 1054 1096 -hsync +vsync
modeline "1600x1200@65" 175.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
modeline "1600x1200@60" 162.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
modeline "1600x1200@75" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
modeline "1600x1200@70" 189.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
modeline "1600x1200@85" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
modeline "1792x1344@75" 261.0 1792 1888 2104 2456 1344 1345 1348 1417 -hsync +vsync
modeline "1792x1344@60" 204.8 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync
modeline "1856x1392@60" 218.3 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync
modeline "1856x1392@75" 288.0 1856 1984 2208 2560 1392 1393 1396 1500 -hsync +vsync
modeline "1920x1440@85" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync
modeline "1920x1440@60" 234.0 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync
modeline "1920x1440@75" 297.0 1920 2064 2288 2640 1440 1441 1444 1500 -hsync +vsync
modeline "2048x1536@60" 266.95 2048 2200 2424 2800 1536 1537 1540 1589 -hsync +vsync
modeline "2048x1536@75" 340.48 2048 2216 2440 2832 1536 1537 1540 1603 -hsync +vsync

La elección de la línea depende de algo sumamente importante: las capacidades de refresco vertical del monitor. Ésas cosas se encuentran buscando las especificaciones técnicas del monitor o mirando el setup integrado del mismo. En mi caso, mi monitor FLATRON ez T710SH (de LG) soporta 1280×1024 a 60 hz. Si yo especifico una configuración que no sea de 60 hz, no funciona. Si tu monitor es viejo y configurás una resolución a una frecuencia de hz que no soporta el monitor, el monitor está frito, no sirve más (como dicen algunos documentos de ayuda.) Así que si tu monitor es viejísimo, CUIDADO con ésto.

La línea marcada en negrita es la que usé para probar mi monitor con xrandr.

Volviendo al comando, ésta vez con todos los valores para mi monitor:

$ xrandr --newmode "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync

ya está configurado el modo, ahora se debe agregar:

$ xrandr --addmode VGA-0 1280x1024@60

Dónde dice VGA-0 es el nombre de mi display. Cuando ejecutamos xrandr nos muestra los displays (la cantidad de pantallas) por su nombre (VGA-0) y su respectivas resoluciones soportadas (las cuales en éste momento estoy ignorando.)

Una vez ejecutados estos dos comandos, hago xrandr sin parámetros y ahí puedo ver mi nuevo modo agregado.

Ahora resta testearlo. Al ejecutar éste útlimo comando, estamos pasandole las configuraciones a nuestro servidor Xorg corriendo, o sea que la pantalla se pondrá oscura y, si todo está configurado de acuerdo a nuestro monitor, estaremos viendo la pantalla en nuestra nueva resolución:

xrandr –output VGA-0 –mode 1280×1024@60

¡Voilá! La resolución que no aparecía en ningún lado para seleccionar está ahora presente.

Consideraciones:

  • Los cambios de éstas resoluciones desaparecen al cerrar la sesion (es por éso que ahora voy a explicar el xorg.conf.)
  • En KDE 4, en el menú de Pantalla, la resolución que quería no aparecía (toma los mismos valores que tira xrandr por defecto.)
  • Éste comando sirve para probar la futura configuración de Xorg.conf.
  • En otras distribuciones (Debian, por ejemplo) GDM arrancaba siempre en 1280×1024 sin poder cambiarla desde xorg.conf, pero al iniciar Gnome es posible cambiar la resolución desde el panel (no testeado en Arch.)
  • Ésto sirve para cualquier distro que tenga ése tipo de inconvenientes con la placa que sea.
  • Siempre se debe tener en cuenta qué frecuencia en mhz soporta el monitor. Si es un monitor viejo y le pasamos mal las frecuencias, lo hacemos mierda.
  • Los comandos de xrandr deben ser ejecutados como usuario sin privilegios en una terminal en el entorno gráfico, de lo contrario, en las ttys habrá que exportar el display: export DISPLAY=”:0.0″ (o los números que correspondan a nuestro display -generalmente son :0.0-)

El Xorg.conf:

Ya pensando en agregar los comandos de xrandr a un ejecutable al arranque, decidí configurar Xorg como corresponde. Lo primero que hice fue generar un Xorg con:

# Xorg -configure

# cp /root/xorg.conf.new /etc/X11/xorg.conf

(para ésto habrá que iniciar runlevel 4 -no tiene que estar corriendo X- y se debe hacer como root)

Ahora editamos Xorg.conf:

nano /etc/X11/xorg.conf

Ahí vamos a las siguientes secciones y agregamos lo que le sigue:

Section Monitor

HorizSync    30.0 - 71.0
VertRefresh  50.0 - 160.0
modeline "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync

Fíjense que agregué el modeline que probé con xrandr. Por favor, fíjense bien que sea ésa antes de efectuar un cambio. HorizSync y VertRefresh son tomados de las especificaciones técnicas del monitor. Deberán buscarlas, ya sea en los manuales o bien en un foro (alguien tiene el mismo monitor y lo configuró con tal y tal número.) En otras ocasiones, no son necesarios ésos dos parámetros (les ponemos el # delante para omitirlos.) Cuestion de probar (ojo con los monitores viejos.)

SubSection “Display”

Ahí agregamos en todas las subsections las resoluciones que querramos utilizar, la que especificamos primero es la que arranca por defecto:

Modes   "1280x1024@60" "1024x768"

El driver que utilizo es el driver libre ati, que he instalado correctamente (no se molesten por poner fglrx porque ya no soporta chatarras como la Radeon 9250SE.)

Una vez que reinicio el demonio de X, kdm y KDE inician todos en 1280×1024. Si KDE no toma la resolución, basta cambiarla desde el panel de control (Pantalla.)

Redondeando:

Muchas distribuciones con Gnome me cargaban gdm en 1024×768, a pesar de haberle especficado en las SubSection “Display” todas las resoluciones correspondientes. Simplemente agregado la línea modline en Section Monitor (además de especificar las resoluciones en SubSection “Display”) ésto se soluciona perfectamente.

He visto que a muchos les ha sucedido lo mismo con otras resoluciones y monitores más grandes, pues bien, adaptando éste tutorial a los valores deseados y siguiendolo al pié de la letra es posible configurar la resolución deseada. Tengan en cuenta que los monitores no soportan algunas resoluciones a frecuencias altas, todo éso debe ser aclarado buscando la información técnica del monitor antes de probar (nos ahorra tiempo y no estresamos el monitor XD )

La entrada ha sido publicada el Sábado, 7 Noviembre, 2009 a las 3:52 PM y está catalogada en Tutoriales, Tutoriales GNU/Linux. Puedes seguir las respuestas a ésta entrada a través de RSS 2.0 feed. Podés dejar una respuesta, o trackback desde tu sitio.

Artículos Relacionados

  • » MPD controlado por tu celular con Remuco
  • » Escuchar Virgin Classics Rock con MPD
  • » COMO: instalar multifunción Brother MFC-240c
  • Dejar una comentario