Après un an et demi de développement, la quatrième version bêta du système d'exploitation Haiku R1 a été publiée. À l'origine, le projet a été créé en réponse à la fermeture de l'OS BeOS et a évolué 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 son nom. Plusieurs images Live bootables (x86, x86-64) ont été préparées pour évaluer le fonctionnement de cette nouvelle version. Le code source de la majeure partie de l'OS Haiku est distribué sous la licence MIT, à l'exception de certaines bibliothèques, codecs multimédia et composants empruntés à d'autres projets.
Le système d'exploitation Haiku est orienté vers les ordinateurs personnels, utilisant son propre noyau basé sur une architecture modulaire, optimisé pour une grande réactivité aux actions de l'utilisateur et une exécution efficace des applications multithread. Un API orienté objet est proposé aux développeurs. Le système est directement basé sur les technologies BeOS 5 et vise la compatibilité binaire avec les applications pour ce système d'exploitation. Exigence matérielle minimale : CPU Pentium II et 384 Mo de RAM (recommandé Intel Core i3 et 2 Go de RAM).
Le système de fichiers OpenBFS est utilisé, prenant en charge les attributs de fichier étendus, le journalisation, des pointeurs 64 bits, et le stockage de métadonnées (pour chaque fichier, des attributs peuvent être sauvegardés sous forme clé=valeur, rendant le FS semblable à une base de données) ainsi que des index spéciaux pour accélérer les requêtes. Des arbres B+ sont utilisés pour organiser la structure des répertoires. Le gestionnaire de fichiers Tracker et le panneau Deskbar issus du code de BeOS ont été intégrés à Haiku, leurs codes sources ayant été libérés après le retrait de BeOS.
Les principales nouveautés :
- Amélioration du fonctionnement sur les écrans à haute densité de pixels (HiDPI). Une mise à l'échelle correcte de l'interface a été mise en œuvre, ne se limitant pas à la modification de la taille des polices. Lors du premier démarrage, Haiku tente désormais de détecter automatiquement la présence d'un écran HiDPI et de sélectionner les tailles nécessaires pour la mise à l'échelle. Les paramètres sélectionnés peuvent être modifiés dans les paramètres, mais nécessitent encore un redémarrage pour s'appliquer. Les options de mise à l'échelle sont prises en charge dans la plupart des applications natives et dans certaines portées, mais pas dans toutes.
- Il est maintenant possible d'utiliser un style avec un décorateur de fenêtres plat et un design de boutons plat, au lieu d'un design impliquant activement des dégradés. Le design plat est inclus dans le paquet Haiku Extras et peut être activé dans la section des paramètres de style.

- Une couche a été ajoutée pour la compatibilité avec la bibliothèque Xlib, permettant de lancer des applications X11 dans Haiku sans démarrer le serveur X. Cette couche est réalisée par l'émulation des fonctions Xlib à l'aide de la traduction des appels vers l'API graphique de haut niveau d'Haiku.
- Une couche préparée pour assurer la compatibilité avec Wayland permet de lancer des kits d'outils et des applications utilisant ce protocole, y compris des applications basées sur la bibliothèque GTK. Cette couche fournit la bibliothèque libwayland-client.so, basée sur le code de libwayland et compatible au niveau API et ABI, ce qui permet de lancer des applications Wayland sans modifications. Contrairement aux composites typiques serveurs Wayland, cette couche ne s'exécute pas en tant que processus serveur distinct, mais se charge en tant que plugin aux processus clients. Au lieu des sockets dans le serveur elle utilise une boucle de traitement des messages native basée sur BLooper.
- Grâce à des couches de compatibilité avec X11 et Wayland, un port fonctionnel de la bibliothèque GTK3 a été préparé. Parmi les applications pouvant être lancées grâce à ce port, on trouve GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord et HandBrake.

- Un port fonctionnel avec Wine a été ajouté, permettant d'exécuter des applications Windows sous Haiku. Parmi les limitations, il est à noter que le lancement n'est possible que dans des versions 64 bits de Haiku et ne prend en charge que les applications Windows 64 bits.

- Un port de l'éditeur de texte GNU Emacs, fonctionnant en mode graphique, a été ajouté. Les paquets sont disponibles dans le dépôt HaikuDepot.

- Le gestionnaire de fichiers Tracker a été amélioré avec la prise en charge de la génération et de l'affichage de miniatures d'images. Les miniatures sont enregistrées dans les attributs étendus des fichiers.

- Une couche de compatibilité avec les pilotes FreeBSD a été mise en œuvre. Des pilotes FreeBSD ont été portés pour prendre en charge les adaptateurs USB sans fil avec des puces Realtek (RTL) et Ralink (RA). Parmi les limitations, il est mentionné que l'appareil doit être connecté avant le démarrage (après le démarrage, l'appareil n'est pas reconnu).
- La pile sans fil 802.11 a été portée depuis OpenBSD avec prise en charge de 802.11ac et les pilotes iwm et iwx prenant en charge les adaptateurs sans fil Intel « Dual Band » et « AX ».
- Un pilote USB-RNDIS a été ajouté, permettant d'organiser un point d'accès à travers USB (partage de connexion USB) pour être utilisé comme carte réseau virtuelle.
- Un nouveau pilote NTFS, basé sur la bibliothèque du projet NTFS-3G, a été ajouté. La nouvelle implémentation est plus stable, prend en charge l'intégration avec la couche de mise en cache des fichiers et offre de bonnes performances.
- Un traducteur pour lire et écrire des images au format AVIF a été ajouté.
- Le moteur de navigation HaikuWebKit a été synchronisé avec la version actuelle de WebKit et a été transféré vers un backend réseau basé sur la bibliothèque cURL.
- Le chargeur a été mis à jour avec la prise en charge des systèmes 32 bits avec EFI, offrant la possibilité d'installer un environnement Haiku 64 bits depuis un chargeur EFI de 32 bits.
- La compatibilité avec les normes POSIX a été améliorée. La substitution des appels à la bibliothèque standard C, précédemment transférés de glibc, par des alternatives de musl a été poursuivie. La prise en charge des threads C11 et des méthodes locale_t a été ajoutée.
- Le pilote pour les disques NVMe a été amélioré, avec la prise en charge de l'opération TRIM pour informer le disque des blocs libérés.
- La possibilité de compiler le noyau et les pilotes avec les nouvelles versions de GCC (y compris GCC 11) a été assurée, cependant, en raison des dépendances au vieux code pour la compatibilité avec BeOS, GCC 2.95 reste nécessaire pour compiler le système.
- Un travail général a été effectué pour améliorer la stabilité de l'ensemble du système.
Source : opennet.ru





