Computer / Linux · 21 January 2010 0

Linux: attivare l’accelerazione 2D/3D sull’Asus 1101 HA

Chi di voi ha acquistato l’Asus Eee 1101 HA avrà senz’altro notato come il supporto Linux per il suo chip grafico, l’odiatissimo (dai Linuxiani) Intel GMA 500, sia praticamente inesistente. Ciò è dovuto al fatto che, come ho detto nel mio precedente post, questo chipset è prodotto da una società terza e rimarchiato da Intel che non ne detiene quindi i diritti totali e non può rilasciare dei driver open-source dato che alcune porzioni del codice dei driver del costruttore non sono liberamente distribuibili. In attesa che Intel stessa rilasci dei driver completamente liberi e funzionanti dobbiamo barcamenarci con dei vecchi driver che sono stati rilasciati da Dell per una versione modificata di Ubuntu che preinstallava su un proprio netbook basato sul chip GMA 500. Questi driver sono stati poi adattati per diverse distribuzioni per la gioia di coloro i quali vogliono usare il Pinguino sul piccolo netbook. Attualmente le distribuzioni per le quali esistono porting di questi driver sono (a mia conoscenza): Fedora 11, Mandriva 2010 (via repository ufficiali), Ubuntu e derivate.

Mandriva non l’ho provata. Ho provato però Fedora ma devo lamentare una non completa stabilità dei driver (alle volte il netbook si bloccava in fase di arresto oppure in fase di avvio del sistema): il vantaggio era che i driver si installano in maniera molto semplice. Ubuntu 9.10 invece mi ha dato, rispetto a Fedora, molti più problemi per l’installazione ma dall’altro verso ho avuto una completa compatibilità del sistema con il netbook ed una perfetta stabilità dei driver grafici. In questa piccola guida analizzerò quindi i passi necessari per installare i suddetti driver su Ubuntu Karmic Koala 9.10.

Prima di tutto dobbiamo accertarci di una cosa: dobbiamo avere il kernel originale di Karmic, vale a dire il 2.6.31.14. Se la vostra versione è superiore potreste avere dei problemi. Se la vostra versione è maggiore o uguale alla 2.6.31.17 avrete dei problemi. Quindi, prima di tutto, aprite Synaptic, il gestore di pacchetti, e controllate di avere il kernel 2.6.3.14: se il vostro è superiore come versione, fate un downgrade. I moduli sono ottimizzati per questa versione.

Adesso apriamo il nostro browser e puntate a questa pagina: da qui preleveremo i pacchetti Deb dei moduli per il kernel dei driver Poulsbo (il nome del chip grafico).

Fatto questo dobbiamo modificare la lista dei repository inserendo i seguenti:

deb http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/albertomilone/poulsbo-graphics/ubuntu jaunty main
deb-src http://ppa.launchpad.net/albertomilone/poulsbo-graphics/ubuntu jaunty main

Per far ciò possiamo utilizzare direttamente  gli strumenti di Ubuntu: clicchiamo su Sistema/Amministrazione/Sorgenti software e poi inseriamo nella lista presente in “Altro software” le righe su menzionate una ad una, facendo un semplice copia-e-incolla. Ah, non fate caso al fatto che sono per Jaunty:  funzionano lo stesso anche per Karmic.

Resta da importare le chiavi di autenticazione dei repository. Da terminale digitate:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6699F3D9
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6598A30
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 99C0198F

Adesso diamo i seguenti comandi da terminale:

sudo apt-get update
apt-get install  dkms fakeroot
apt-get install libdrm-poulsbo1
apt-get install poulsbo-driver-2d poulsbo-driver-3d psb-firmware

Abbiamo installato quasi tutto. Restano i moduli che avevamo scaricato precedentemente. Sempre da terminale scriviamo:

sudo dpkg -i psb-kernel-*.deb

Ci vorrà un po’ di tempo: saranno ricompilati i moduli quindi attendete pazientemente. Fatto ciò dobbiamo mettere in blacklist i moduli Intel forniti con Karmic. Per far ciò da terminale diamo:

sudo nano /etc/modprobe.d/blacklist.conf

ed aggiungere in fondo al file la seguente riga:

blacklist i915

Salviamo ed usciamo (CTRL+X, poi “S” ed invio). Adesso ricostruiamo l’immagine con i moduli poulsbo:

sudo update-initramfs -u

Fatto questo creiamo il file /etc/X11/xorg.conf:

sudo nano /etc/X11/xorg.conf

e copiamoci dentro il seguente testo:

Section "Device"
Identifier      "GMA500"
Option "AccelMethod" "EXA"
#        Option "DRI" "off"
Option "MigrationHeuristic" "greedy"
Option "IgnoreACPI" "yes"
Driver "psb"
EndSection

Section “DRI”
Mode    0666
EndSection

Siamo alla fine! Ora non resta che riavviare e godere dell’accelerazione 2D/3D.
Rispetto ad altre procedure i fattori che determinano il positivo esito dell’installazione sono 3: il pacchetto libdrm-poulsbo1 del repository di Alberto Milone, che non va in conflitto con libdrm2 presente in Karmic, il mettere in blacklist il modulo i915 ed il ricreare l’immagine initramfs, così che l’i915 ed il drm.ko errati non vengano caricati.

Spero che questa guida sia risultata utile a chi, come me, ha acquistato questo bel netbook.