Livello di compatibilità Xlib/X11 offerto per il sistema operativo Haiku

Gli sviluppatori del sistema operativo aperto Haiku, che continua lo sviluppo delle idee di BeOS, hanno preparato una prima implementazione del layer per garantire la compatibilità con la libreria Xlib, consentendo di eseguire applicazioni X11 in Haiku senza utilizzare un server X. Il livello è implementato attraverso l'emulazione delle funzioni Xlib traducendo le chiamate all'API grafica Haiku di alto livello.

Nella sua forma attuale, il livello fornisce la maggior parte delle API Xlib comunemente utilizzate, ma alcune chiamate rimangono sostituite con stub. Il livello consente di compilare ed eseguire applicazioni basate sulla libreria GTK, ma la qualità della disposizione degli elementi in Windows richiede ancora miglioramenti. L'elaborazione dell'input utilizzando la tastiera e i clic del mouse non è stata ancora portata in un modulo funzionante (è stata aggiunta solo l'elaborazione dell'evento di movimento del mouse).

Il supporto per la libreria Qt in Haiku era precedentemente implementato creando un port Qt nativo che viene eseguito sull'API Haiku. Ma per il supporto GTK, l'uso dell'emulazione X11 è visto come un'opzione migliore, poiché gli interni GTK non sono così astratti e la creazione di un backend GTK separato per Haiku richiederebbe risorse significative. Come soluzione, è stata presa in considerazione la possibilità di creare un port del server X11 per Haiku, ma questo approccio è stato considerato inappropriato in condizioni in cui l'API X11 poteva essere implementata direttamente sull'API Haiku. X11 è stato scelto come protocollo stabilizzato e immutabile da tempo, mentre gli esperimenti con Wayland sono ancora in corso, è richiesta la creazione della propria implementazione del server e non tutte le estensioni del protocollo necessarie sono state finalmente approvate.

Livello di compatibilità Xlib/X11 offerto per il sistema operativo Haiku

Quando si eseguono applicazioni più semplici su Tcl/Tk e wxWidgets attraverso il layer, si notano anche problemi che non sono ancora stati risolti, ma l'aspetto è già più vicino alla normalità:

Livello di compatibilità Xlib/X11 offerto per il sistema operativo Haiku
Livello di compatibilità Xlib/X11 offerto per il sistema operativo Haiku
Livello di compatibilità Xlib/X11 offerto per il sistema operativo Haiku

Ricordiamo che il progetto Haiku è stato creato nel 2001 come reazione alla riduzione dello sviluppo del sistema operativo BeOS e sviluppato sotto il nome OpenBeOS, ma è stato rinominato nel 2004 a causa di rivendicazioni relative all'uso del marchio BeOS nel nome. Il sistema si basa direttamente sulle tecnologie BeOS 5 e mira alla compatibilità binaria con le applicazioni per questo sistema operativo. Il codice sorgente per la maggior parte del sistema operativo Haiku è distribuito sotto la licenza gratuita del MIT, ad eccezione di alcune librerie, codec multimediali e componenti presi in prestito da altri progetti.

Il sistema è rivolto ai personal computer e utilizza il proprio kernel, costruito su un'architettura ibrida, ottimizzata per un'elevata reattività alle azioni dell'utente e un'esecuzione efficiente di applicazioni multi-thread. OpenBFS viene utilizzato come file system, che supporta attributi di file estesi, registrazione, puntatori a 64 bit, supporto per la memorizzazione di meta tag (per ogni file è possibile salvare gli attributi nella forma chiave=valore, il che rende il file system simile a un database ) e indici speciali per velocizzarne il recupero. Gli “alberi B+” vengono utilizzati per organizzare la struttura delle directory. Dal codice BeOS, Haiku include il file manager Tracker e Deskbar, entrambi open source dopo che BeOS ha cessato lo sviluppo.

Fonte: opennet.ru

Aggiungi un commento