Couche de compatibilité Xlib/X11 offerte pour Haiku OS

Les développeurs du système d'exploitation ouvert Haiku, qui poursuit le développement des idées BeOS, ont préparé une première implémentation de la couche pour assurer la compatibilité avec la bibliothèque Xlib, permettant d'exécuter des applications X11 dans Haiku sans utiliser de serveur X. La couche est implémentée via l'émulation des fonctions Xlib en traduisant les appels vers l'API graphique Haiku de haut niveau.

Dans sa forme actuelle, la couche fournit la plupart des API Xlib couramment utilisées, mais certains appels restent remplacés par des stubs. La couche permet de compiler et d'exécuter des applications basées sur la bibliothèque GTK, mais la qualité de la disposition des éléments dans Windows reste encore à améliorer. Le traitement des entrées à l'aide des clics du clavier et de la souris n'a pas encore été intégré à un formulaire fonctionnel (seul le traitement de l'événement de mouvement de la souris a été ajouté).

La prise en charge de la bibliothèque Qt dans Haiku était auparavant implémentée en créant un port Qt natif qui s'exécute au-dessus de l'API Haiku. Mais pour la prise en charge de GTK, l'utilisation de l'émulation X11 est considérée comme une meilleure option, car les composants internes de GTK ne sont pas aussi bien abstraits et la création d'un backend GTK distinct pour Haiku nécessiterait des ressources importantes. Comme solution, la possibilité de créer un portage du serveur X11 pour Haiku a été envisagée, mais cette approche a été jugée inappropriée dans des conditions où l'API X11 pouvait être implémentée directement au-dessus de l'API Haiku. X11 a été choisi comme protocole stabilisé et immuable depuis longtemps, alors que les expériences avec Wayland sont toujours en cours, la création de votre propre implémentation de serveur est requise et toutes les extensions de protocole nécessaires n'ont pas été finalement approuvées.

Couche de compatibilité Xlib/X11 offerte pour Haiku OS

Lors de l'exécution d'applications plus simples sur Tcl/Tk et wxWidgets via la couche, des problèmes qui n'ont pas encore été résolus sont également notés, mais l'apparence est déjà plus proche de la normale :

Couche de compatibilité Xlib/X11 offerte pour Haiku OS
Couche de compatibilité Xlib/X11 offerte pour Haiku OS
Couche de compatibilité Xlib/X11 offerte pour Haiku OS

Rappelons que le projet Haiku a été créé en 2001 en réaction à l'arrêt du développement de BeOS OS et développé sous le nom d'OpenBeOS, mais a été renommé en 2004 en raison de réclamations liées à l'utilisation de la marque BeOS dans le nom. Le système est directement basé sur les technologies BeOS 5 et vise une compatibilité binaire avec les applications de cet OS. Le code source de la plupart des systèmes d'exploitation Haiku est distribué sous licence gratuite MIT, à l'exception de certaines bibliothèques, codecs multimédias et composants empruntés à d'autres projets.

Le système est destiné aux ordinateurs personnels et utilise son propre noyau, construit sur une architecture hybride, optimisée pour une grande réactivité aux actions de l'utilisateur et une exécution efficace des applications multithread. OpenBFS est utilisé comme système de fichiers, qui prend en charge les attributs de fichiers étendus, la journalisation, les pointeurs 64 bits, la prise en charge du stockage des balises méta (pour chaque fichier, vous pouvez enregistrer les attributs sous la forme clé=valeur, ce qui rend le système de fichiers similaire à une base de données ) et des index spéciaux pour accélérer leur récupération. Les « arbres B+ » sont utilisés pour organiser la structure des répertoires. À partir du code BeOS, Haiku inclut le gestionnaire de fichiers Tracker et Deskbar, tous deux open source après l'arrêt du développement de BeOS.

Source: opennet.ru

Ajouter un commentaire