dimarts, 31 de març del 2009

Escriptori extés amb dues pantalles.

Ja feia temps que volia fer un article de com configurar un escriptori de dues pantalles (aka dual-head, big desktop). En el meu cas en tenc una de 22" (Samsung T220) i una IISonic de 15.4. Ambdues són panoràmiques, una a 1680x1050 i l'altre a 1280x720.

Les pantalles van connectades a una Ati Radeon HD3200 integrada a la placa base, la IISonic està a la entrada VGA i la Samsung a la DVI.

La intenció és tenir un "gran escriptori" i que el ratolí pugui arrossegar finestres d'una banda a l'altre.

En el seu moment vaig posar el controlador privatiu d'Ati el famós fglrx, després de trastejar bastant amb la utilitat aticonfig vaig trobar que amb una sola línia es generava el xorg.conf per configurar les pantalles (el xrandr no estava suportat per el driver fglrx, no se si ara ja ho està):

aticonfig --initial=dual-head --dtop=horizontal --resolution=0,1680x1050 --resolution=1,1280x720

Supòs que si jugau amb els paràmetres 1 i 0 de resolution podreu girar les pantalles (jo tenc la IISonic a la dreta del Samsung) i l'horizontal es deu poder canviar per un vertical i posar-les una sobre l'altre.



La cosa és que aquest cap de setmana fent el tradicional upgrade de la Debian la cosa va petar... m'imagino que hauran actualitzat el servidor de les X o alguna cosa semblant. Total que el driver que tenia no el suporta per tant s'ha d'actualitzar... però premi les noves versions tenen un bug amb les Radeon 3200 i 3600 que corromp les X, tot apareix de colorins i puntents. Hi ha qui diu que amb un:

aticonfig --acpi-services=off

s'arregla però a mi no m'ha funcionat, ni tan sols reconfigurant les X amb una sola pantalla.

Al final he decidit posar el driver lliure radeonhd aconsellat per en Pau que se que li funciona prou bé amb les seves dues pantalles (i una radeon X1200 si mal no record)

Primer de tot hem de mirar d'instal·lar els drivers RadeonHD aquí[1] diu com s'ha de fer a una Debian Squeeze/Sid, supòs que també es podran trobar paquets precompilats... bé vos en faig cinc cèntims (que és el que val la meva traducció)...

Instal·lam un parell de paquets per satisfer futures dependències de compilació

apt-get install checkinstall build-essential git-core configure-debian automake xorg-dev libtool autoconf pciutils-dev libpciaccess-dev mesa-common-dev libgl1-mesa-dev libdrm-dev x11proto-dri2-dev
apt-get build-dep xserver-xorg-video-radeonhd

Abans que res feim una carpeta i ens hi movem per tal de ser un poc curiosos

mkdir radeondh-tmp
cd radeonhd-tmp

Ara toca instal·lar el DRM (direct rendering manager no confondre amb Digital Rights(Restrictions) Managements :P)

git clone git://anongit.freedesktop.org/mesa/drm
cd drm/linux-core
git checkout -b r6xx-r7xx-support origin/r6xx-r7xx-support
cd ..
./autogen.sh --prefix=/usr
make
sudo make install # as root
Generam els mòduls:

cd linux-core
make DRM_MODULES="radeon"
sudo make install
sudo depmod -a
Tornam a la carpeta inicial

cd ../..

I instal·lam el RadeonHD

git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd
cd xf86-video-radeonhd
./autogen.sh --prefix=/usr
make
make install # as root
En aquest punt sols falta afegir un Driver "radeonhd" a la secció Device del xorg.conf i tindreu el controlador funcionant. En el meu cas també vull les dues pantalles, el que he fet es posar un virtual a la secció de pantalla i després configurar-ho amb el xrandr (i la interfície gràfica grandr).

sudo aptitude install grandr

Vos pos d'exemple el meu xorg.conf que ha d'estar ubicat a /etc/X11/xorg.conf

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
Option "XkbVariant" "cat"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection

Section "Device"
Identifier "RadeonHD3200"
Driver "radeonhd"
Option "monitor-VGA_1" "IISonic"
Option "monitor-DVI_1" "SamsungT220"
EndSection

Section "Monitor"
Identifier "SamsungT220"
Option "DPMS"
EndSection

Section "Monitor"
Identifier "IISonic"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "RadeonHD3200"
DefaultDepth 24
SubSection "Display"
Depth 24
Virtual 3000 1050
EndSubSection
EndSection


Record que si no teniu dues pantalles però si una Radeon HD 1xxx 2xxx 3xxx o 4xxx podeu generar vosaltres el fitxer (sudo dpkg-reconfigure xserver-xorg) o editar-lo manualment (afegint la inia del Driver "radeonhd").


[1] http://www.x.org/wiki/radeonhd:INSTALL

3 comentaris:

paurullan ha dit...

No sé si és un poc basto això de recompilar tot el material de les radeonhd quan està a experimental. D'aquí no res acabarà a entrar a unstable.

La meva crec que és una RS6xxx, el vespre t'ho confirmaré.

Gràcies per l'enllaç i comentari ^_~

Rellos ha dit...

De res només faltaria, a tu per el xorg.conf d'exemple.

paurullan ha dit...

Del sobretaula:

01:05.0 VGA compatible controller: ATI Technologies Inc RS690 [Radeon X1200 Series]