Poulsbo: un’occasione mancata


Intel_questionPoulsbo è una ridente cittadina nello stato di Washington, USA.

Poulsbo è una spina nel fianco di coloro che, acquistato un netbook, vogliano vedervi funzionare Linux con prestazioni grafiche decenti. Infatti è il nome in codice del sottosistema grafico integrato in chip come l’US15W. Sottosistema non ancora supportato dalle varie distribuzioni Linux: o meglio, il supporto si limita al lento framebuffer, su processori Atom che già di per sé (e per progetto) non sono mostri di velocità. E’ anche noto con la sigla GMA500.

Eppure Intel è da vari anni un campione dell’apertura del proprio hardware verso Linux. Se fossi Intel, mi direi:

  • Vendo hardware. Il mio desiderio è vendere più hardware. Se supporto Linux, posso sperare che si apra anche questo mercato per la fascia consumer. La fascia server/enterprise è già dignitosamente coperta.
  • Linux mi consente di avere una piattaforma, assolutamente aperta, per sperimentare le mie future architetture. Ad esempio, da qualche anno il primo sistema operativo che porto su un nuovo processore è una distribuzione Linux, spesso quando ancora il processore in questione non è più di una sofisticata simulazione. Ancora prima che gli sviluppatori di Microsoft alzino un ditino per testare il supporto Windows, che comunque è il mercato di riferimento.

E` per questo che, dopo qualche singhiozzo iniziale, i laboratori open source di Intel hanno da vari anni un pool di sviluppatori che lavora attivamente al supporto di Linux. Nell’ultimo “censimento” di chi contribuisca più attivamente al kernel, i dipendenti Intel si sono piazzati al sesto posto con il 5.3% di patch accettate.

Allora come si può spiegare un fallimento come Poulsbo? Semplicemente così: Intel aveva bisogno velocemente di un chip ad alte prestazioni grafiche per i netbook, ma non l’aveva; in fin dei conti, chip di questo tipo richiedono anni per essere sviluppati da zero. E quando non si ha una cosa, soprattutto se ti chiami Intel e non vuoi che AMD ti batta al tuo stesso gioco dopo l’acquisto di ATI, ebbene… la compri. E` così che Intel ha acquisito la licenza da Imagination Technologies per i loro chip PowerVR che consentissero grafica 2D e 3D accelerata, nonché la codifica/decodifica H.264/MPEG-4 assistita in hardware. Per gli amanti dell’alta definizione, un economico netbook con Poulsbo sarebbe in grado di gestire senza colpo ferire le risoluzioni 720p e 1080i. Vedere YouTube non a tre fotogrammi al secondo, insomma.

Ma per Linux, o meglio per X.org, regna la confusione più totale: il driver ufficioso non è granché mantenuto da almeno un anno, mentre esistono gli Intel Embedded Graphics Driver a codice sorgente chiuso con istruzioni per l’installazione che si riferiscono a vecchie versioni di Ubuntu e Fedora, in versione 10.3.1 al momento (richiesta iscrizione gratuita al sito). O a Moblin, che è possibile scaricare nella recente versione 2.1 IVI, per godere di tutto lo splendore di XFCE (ambiente di sviluppo si direbbe). Si suppone che il medesimo supporto Poulsbo migrerà poi a MeeGo; i driver dovrebbero essere basati in futuro sul progetto Gallium3D, ma è probabile che continuino a rimanere chiusi.

Del codice recentemente aggiunto al kernel dallo stesso Greg Kroah-Hartman è stato rigettato, rimanendo parti rilevanti del codice sorgente del driver chiuse, a cominciare dal firmware. Il problema è che Intel, non ne faccio qui l’avvocato, non ha neanche sviluppato la prima versione dei driver: oltre ad avere licenziato la proprietà intellettuale di Poulsbo, ha assunto la Tungsten Graphics per sviluppare il driver. Questa è stata poi acquistata da VMWare; per cui ora lavora a migliorare attivamente la grafica nell’omonimo ambiente di virtualizzazione e non si cura di portarne avanti lo sviluppo. Però continua a sviluppare anche Gallium3D.

Una delle distribuzioni Linux che meglio supportano Poulsbo è Ubuntu, purtroppo nella versione 9.04. Le istruzioni che si possono trovare sull’wiki suggeriscono di utilizzare il Personal Package Archive di tale versione. Personalmente, nel supportare una scheda che utilizzava questo chip non ho avuto grande fortuna con le istruzioni lì accluse, né ho avuto miglior sorte con Jolicloud (derivata da Ubuntu) o con Mandriva One 2010.0, altra distribuzione che afferma di supportare il chip. Per molti, ma non per tutti.

Volevo condividere il metodo con il quale ho invece avuto più successo. Qualcuno ha preso i vecchi driver non mantenuti e li ha adattati (bene) a Ubuntu 9.10. Le sintetiche istruzioni che mi hanno aiutato sono qui reperibili. Per completare l’opera, aiuta anche installare la beta di Adobe Flash 10.1 (accelerata), che consente prestazioni decenti.

Ma non finisce qui. Dall’wiki di Ubuntu il file poulsbo.sh consiglia di installare anche altri applicativi che prenderebbero vantaggio dalla VAAPI (Video Acceleration API): essenzialmente, questa consente l’accesso all’accelerazione grafica in hardware, per cui è possibile compilare versioni di mplayer piuttosto che di ffmpeg che la sfruttino.

Ricordate che, ad ogni aggiornamento del kernel, deve essere rieseguito:

sudo dpkg-reconfigure psb-kernel-source

per ricompilare i moduli del driver per il nuovo kernel.

… pronti per l’imminente upgrade di Ubuntu alla versione 10.04?