Libhybris: caricare driver bionic in sistemi glibc

Di - 28 September 2012 - in

Android utilizza una implementazione della libreria standard del C chiamata bionic, ottimizzata per i dispositivi mobili (è molto leggera e veloce), anche se non del tutto completa, e incompatibile con glibc, l’implementazione del progetto GNU, ampiamente utilizzata in quasi tutte le distribuzioni di Linux.

È stata annunciata, qualche settimana fa, la libreria libhybris, che permette di utilizzare interfacce all’hardware (driver, fondamentalmente) basati su bionic anche su sistemi basati su glibc. Tale libreria funziona caricando il componente che si vuole utilizzare e rendendo disponibili in maniera trasparente alcuni simboli glibc al posto di quelli bionic.

La libreria, disponibile su GitHub, è ancora in fase di sviluppo, e l’idea sembra decisamente azzardata (hybris è in effetti la parola greca che indica il peccato di superbia nel voler realizzare qualcosa di divino), ma è funzionante e molto promettente. Le applicazioni pratiche sono immediate: sarà possibile permettere a sistemi e applicazioni basate su glibc di girare su device Android, o comunque su hardware pensato per Android, senza doversi preoccupare di riscrivere tutto l’adattamento a glibc dell’hardware che si utilizza (operazione spesso impossibile a causa dell’assenza di specifiche pubbliche).

Un grande ostacolo nel far girare su device Android distribuzioni Linux non-Android, o software di gestione della grafica, è proprio l’assenza di driver glibc per alcune componenti hardware, soprattutto per le GPU e per l’apparato radio (GSM/3G/4G).

Si potranno quindi probabilmente vedere presto distribuzioni Linux tipiche dei PC girare anche su telefoni Android e, piú probabilmente nel prossimo futuro, si potranno utilizzare sistemi grafici alternativi. In particolare, libhybris potrebbe dare una nuova spinta (e una piú ampia compatibilità con i device) al porting di Wayland su Android.

Ecco un video con QML Scene funzionante (1024×768, 60fps), fatto girare su sistema Mer (un Linux per dispositivi mobili) su di un tablet con driver GPU per Android, grazie a libhybris:

Via | +Carsten Munk

Leave a Reply

Lorenzo Breda Articolo scritto da

Studente di Informatica a Roma, si occupa di programmazione web sopratutto lato server, e di accessibilità del web. Utilizza e ama Debian GNU/Linux, e si interessa di fisica, fumetto, trekking e fotografia (gli ultimi due possibilmente abbinati). Collabora con Googlab da aprile 2012.

Contatta l'autore

Previous post:

Next post: