Sortie de la version R1 beta 4 de Haiku

Posté par  (site web personnel, Mastodon) . Édité par orfenor, Benoît Sibaud, palm123 et tisaac. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
39
31
déc.
2022
Haiku

La version R1 beta 4 de Haiku est sortie le 23 décembre 2022. Cette dépêche fait un tour des nouveautés dans cette version et un point sur la situation du projet Haiku et des plans pour la suite.

Sommaire

Une publication un 23 décembre?

Oui, cette version est sortie juste avant Noël, suivant le principe habituel des versions de Haiku : ça sort quand c’est prêt. Cette fois ça tombe pendant les fêtes de fin d’année, période habituellement plutôt calme. C’est comme ça.

Les principales nouveautés

Amélioration de l’affichage sur les écrans à haute densité

C’est la poursuite d’un travail déjà commencé dans la version précédente et qui va encore continuer un peu. Toute l’interface graphique de Haiku est dessinée avec des instructions vectorielles (pas d’images bitmap) mais il reste encore quelques endroits où la taille de certains éléments est codée en dur. L’idée est de s’adapter automatiquement en fonction de la taille de police de caractères choisie, de la résolution de l’écran et/ou de sa densité (nombre de pixels par centimètre carré). Pour l’instant seule la taille de police est prise en compte.

Une apparence pour les contrôles et un « décorateur » plats

L’apparence de l’interface graphique de Haiku évolue peu. Elle fait un usage raisonnable de dégradés et d’effets de relief pour bien visualiser les éléments de l’interface graphique. Cela déplaît à certains utilisateurs qui souhaitent une apparence plus « plate », à base de couleurs unies. Cela est maintenant possible avec le décorateur et l’apparence « plats », disponible dans le paquet haiku_extras.

Des miniatures dans le Tracker

Tracker, le navigateur de fichiers, peut maintenant afficher des miniatures pour les fichiers à la place de leur icône. Le tracker peut générer lui-même une miniature pour les fichiers image pour lesquels il existe un translator. Pour les autres fichiers, c’est à chaque application de créer une miniature (stockée dans les attributs étendus du fichier) si c’est utile. Par exemple, certains émulateurs peuvent ajouter une miniature représentant l’écran de la machine émulée dans leurs sauvegardes instantanées.

Pilotes réseau

Une nouvelle couche de compatibilité avec OpenBSD permet d’exploiter les pilotes réseau développés pour ce dernier. En particulier, cela permet d’utiliser des pilotes Wifi 802.11ac (la dernière norme Wifi haut débit), et certaines cartes Wifi USB.

D’autre part, le nouveau pilote usb_rndis permet d’utiliser le partage de connexion d’un téléphone fonctionnant par exemple sous Android ou d’autres systèmes similaires (mais pas iOS qui utilise une autre solution pour le partage de connexion).

Nouveau pilote NTFS

La prise en charge de NTFS dans Haiku est faite en utilisant le code de NTFS-3G (pilote en espace utilisateur basé sur FUSE). Ce code avait été adopté pour BeOS avant d’être à nouveau adapté pour Haiku. Le pilote existant avait de nombreux problème de performance et de fonctionnement (fonctions non implémentées, corruptions de données, pas d’utilisation du cache disque). Il a donc été entièrement réécrit à partir de la dernière version de NTFS-3G.

Traducteur AVIF

Un nouveau traducteur permet de lire et écrire les images au format AVIF, toutes les applications utilisant les traducteurs peuvent en bénéficier.

Navigateur web

Le navigateur WebPositive a reçu une mise à jour qui corrige de nombreux problèmes. Il abandonne pour l’instant l’implémentation native de HTTP de Haiku pour utiliser CURL, en attendant une réécriture de l’API HTTP native qui est en cours et devrait régler de nombreux problèmes.

Chargeur de démarrage

La prise en charge des systèmes EFI 32-bit a été ajoutée. Ce travail a été démarré dans le cadre de la version de Haiku pour les processeurs ARM, mais bénéficie également aux toutes premières machines EFI qui utilisent une implémentation 32 bits (certains ordinateurs de chez Apple, et quelques tablettes à base de processeurs x86).

Couches de compatibilité X11 et Wayland

Haiku utilise son propre serveur graphique nommé app_server. Cependant, cela rend complexe le portage d’applications existantes. Une solution a été mise en place qui consiste en une couche de compatibilité qui se substitue à la libx11 ou à la libwayland dans les applications. Ainsi, avec une simple recompilation, on peut faire fonctionner les applications GTK. Par exemple on pourra trouver GIMP, Inkscape, ou encore Epiphany (GNOME Web) dans le dépôt d’applications.

On trouve également parmi les nouveautés une version de Wine, pour l’instant limitée aux applications Windows 64bit.

Du côté des applications qui fonctionnent directement sur Haiku, on peut citer Emacs qui se dote d’une nouvelle interface graphique (c’était déjà fait depuis très longtemps pour Vim).

Corrections de bugs

La liste complète des bugs corrigés est trop longue pour tout détailler ici. La plupart corrigent simplement des plantages du système ou des fuites de mémoire. Mais voici tout de même une sélection de quelques changements intéressants.

Compatibilité POSIX

La compatibilité avec POSIX s’améliore et les travaux démarrent déjà pour implémenter les fonctions qui seront ajoutées dans la prochaine version de POSIX ou les déplacer au bon endroit (les extensions GNU et BSD sont généralement séparées dans des bibliothèques spécifiques et protégées via le fichier d’en-tête features.h).

Parmi les nouveautés, citons la gestion de locale_t et des fonctions associées, les threads C11, dl_iterate_phdr, des corrections sur la gestion des weak symbols, et une correction sur O_NOCTTY qui posait problème à GPG.

Pilotes de périphériques

De nombreux problèmes ont été résolus dans les pilotes NVMe, USB, et HDA audio.

Noyau compilé avec gcc 11

Dans la version 32 bits de Haiku, une partie du système est toujours compilée avec gcc2 pour assurer la compatibilité avec BeOS. C’était dans les versions précédentes le cas pour le noyau, afin d’assurer la compatibilité avec les pilotes matériels de BeOS. Cependant, des changements sur la gestion des areas (zone de mémoires partagées entre plusieurs processus ou entre un processus et le noyau) et l’introduction d’une gestion plus fine des protections a de toutes façons cassé la compatibilité avec ces pilotes. Et ils n’avaient que peu d’intérêt : soit ils ciblaient du matériel obsolète depuis longtemps, soit leurs sources ont été publiées et intégrées dans Haiku, soit des pilotes de remplacement ont été développés.

Cette contrainte étant levée, il n’y avait plus de raison de compiler le noyau avec gcc 2. Il est donc maintenant compilé avec gcc 11 ce qui permet de commencer à utiliser certaines fonctionnalités modernes de C++ dans le code du noyau.

Les plans pour la suite

Il s’agit de la première version publiée depuis l’embauche d’un développeur à plein temps cet été. Cela explique en partie les grosses avancées et plus de 400 tickets fermés dans l’outil de suivi de bugs.

Cependant, le budget actuel de Haiku inc ne permet toujours pas de financer cet emploi à plein temps de façon durable. L’association puise donc dans ses réserves d’argent pour continuer ce contrat. L’idée étant de continuer à publier des versions et des nouveautés régulièrement pour attirer plus d’utilisateurs et de donateurs, et ainsi de pérenniser la situation.

Il ne reste plus que 634 tickets dans la feuille de route avant la version R1, qui ne semble donc plus trop loin si les choses continuent à ce rythme. Mais, pour l’instant, le budget 2022 de Haiku inc est loin d’être bouclé, il manque près de 4000 euros sur les 20 000 prévus. Sans évolutions de ce côté, le contrat à plein temps ne pourra pas être renouvelé et le développement de Haiku serait à nouveau ralenti. C’est un peu la difficulté de Haiku inc, qui se trouve depuis plusieurs années un peu coincée dans cette situation : largement assez de dons pour financer l’infrastructure du projet (serveurs, noms de domaines, marques déposées) mais pas pour embaucher des développeurs.

Aller plus loin

  • # Page de don ?

    Posté par  (site web personnel) . Évalué à 8.

    Il manque un lien vers la page de don, puisqu'il manque un peu de sous pour boucler le budget ;)

    • [^] # Re: Page de don ?

      Posté par  (site web personnel) . Évalué à 5.

      Lien ajouté.

    • [^] # Re: Page de don ?

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      En fait le budget de 20000$ a été bouclé juste quelques heures avant la fin de l'année. Mais ce serait mieux d'avoir plus (avec 20000$ on ne peut pas financer durablement un développeur à plein temps vivant aux USA)

      • [^] # Re: Page de don ?

        Posté par  (Mastodon) . Évalué à -1.

        En même temps pourquoi financer quelqu'un qui coûte plus cher, gaspille plus d'énergies et de matières premiéres, rejette plus de pollution et de plastiques plutôt qu'un dev tunisien ou un roumain?

        • [^] # Re: Page de don ?

          Posté par  (site web personnel, Mastodon) . Évalué à 10.

          On a pas de développeurs installés dans ces pays actuellement. Et on a pas de département des resources humaines pour aller y chercher des gens.

          Les contrats proposés par Haiku inc sont plutôt attribués aux développeurs qui contribuent déjà activement au projet sur leur temps libre, pour leur permettre de le faire à plein temps. C'est la solution la plus efficace en terme de rapport argent dépensé vs. code produit et intégré dans le projet.

          De plus, le paiement est bien en-dessous du prix du marché ce qui fait que ça aurait peu de chances d'attirer des personnes extérieures (et ce ne serait pas très sérieux de publier des offres d'emploi sous-payées sous prétexte qu'on a pas beaucoup de sous).

          Les paramètres écologiques ne rentrent pas vraiment dans la balance du point de vue de l'association Haiku, ou en tout cas pas en priorité. De plus, il n'y a pas de détails sur le style de vie du développeur embauché qui permette de calculr son empreinte carbone/déchets/pollution personelle.

          • [^] # Re: Page de don ?

            Posté par  (Mastodon) . Évalué à 1.

            Je connaissais la réponse avant de poser la question, c'était plus rhétorique et pour voir si quelqu'un allait sauter à pied joint dans le troll qu'autre chose _^

            De toute manière 20000€ même dans beaucoup de pays au niveau de vie moins élevé que les USA ça ne paye que quelques mois tout au plus une fois les charges sociales, assurances diverses et prévoyance retraite prise en compte.

    • [^] # Re: Page de don ?

      Posté par  . Évalué à 3.

      Je l'ajoute au thread des améliorations possible. Le chapeau ne dit rien de ce qu'est le projet ou de ces objectifs. Pour moi qui suit d'une manière assez distraite le projet quand je suis tombé sur la première référence à BeOS je ne savais plus si BeOS était l'OS d'origine ou l'un des autres projets qui tentent de maintenir l'écosystème.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # Et niveau portages ?

    Posté par  . Évalué à 3.

    On sait tout de la Béta mais pas des logiciels. Pourtant il y a eu des progrès sur les portages en cours, tout marche mieux, non ? Où en est-on ?

    Je précise pour les autres que le Haiku Depot Server contient pratiquement tout ce qui est disponible et libre. C'est trié par catégories. Même si ce n'est pas gigantesque, sachez qu'il y a tout ce qu'il faut pour nos occupations courantes : Libre Office, plein d'outils KDE, plusieurs navigateurs légers basés sur webkit (Falkon, Doodle, etc.), clients Gemini, clients email, serveurs web et sql, outils de montages son et vidéo, outils graphiques (Gimp, Krita, Inkscape), des jeux pour les plus sérieux d'entre nous…

    • [^] # Re: Et niveau portages ?

      Posté par  (site web personnel, Mastodon) . Évalué à 4.

      C'eft grâce à ce qui est expliqué dans le chapitre "Couches de compatibilité X11 et Wayland" qui permet de recompiler beaucoup d'applications existantes.

      C'est pratique mais un peu en contradiction avec l'objectif du hrojet qui est d'avoir un système et un ensembled'applications cohérents, unifiés et très inter-opérables, ce qui n'est pas possible en mélangeant les toolkits graphiques de cette façon. On verra si cette approche permet d'avoir plus d'utilisateurs qui vont ensuite attirer plus de développeurs, ou si au contraire elle va offrir une solution "de facilité" au détriment des applications conçues spécifiquement pour Haiku

      • [^] # Re: Et niveau portages ?

        Posté par  . Évalué à 7.

        Bah, KDE a beau avoir une très bonne suite bureautique, un chouette navigateur web, un super éditeur, un environnement de codage excellent, … tout le monde installe LibreOffice, Firefox, Vim, Emacs, …

        Il y a des outils (et des habitudes) qu'on n'arrive pas à remplacer.

      • [^] # Re: Et niveau portages ?

        Posté par  (site web personnel) . Évalué à 5.

        Est-ce que le toolkit de Haiku est disponible sur d'autres OS ? Ce serait une bonne façon d'embrasser les autres OS, puis de s'étendre et heu c'était quoi déjà la dernière phase du plan?

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: Et niveau portages ?

          Posté par  (site web personnel, Mastodon) . Évalué à 4.

          Pas de façon vraiment exploitable actuellement. Il y a eu différents projets dans ce but: BlueEyedOS, Cosmoe et V\OS, mais ils sont soit abandonnés soit pas encore utilisables.

          Il y a également Haiku on Genode qui utilise une partie des sources de Haiku avec un noyau Genode. Ça a l'air d'être assez avancé mais je ne sais pas si ce sera diffusé ou si ça restera pour un usage interne chez TuneTracker Systems, qui utilisait Haiku en remplacement de BeOS mais ont rencontré trop de problèmes d'instabilités ou de compatibilité matérielle.

      • [^] # Re: Et niveau portages ?

        Posté par  (Mastodon) . Évalué à 6.

        Je pense qu'il y a assez de problèmes à résoudre pour rendre le système attractif avant de n'avoir que des applications natives.

        Je viens de tester haiku 1 ou 2 heures sur un VM. La différence entre les applis natives et sous toolkit QT ou GTK ne se ressent pas trop [1], disons que QT se marie mieux que GTK.

        Par contre en très peu de temps j'ai trouvé 2 gros inconvénients majeurs qui rend difficile son utilisation comme OS principal et je n'ai fait qu'effleurer la surface:
        - le chiffrement du disque entier à l'installation n'est pas encore supporté. J'ai trouvé un projet de chiffrement de disque qui permettrait de chiffrer une partition et de la déchiffrer au boot mais je n'ai pas encore testé si ça peut s'appliquer à minima au home complet.
        - la gestion des types des types de fichier est cassée. Exemple bête: le package de Gnome Web ne fournit aucune association par défaut et il est impossible de sauver d'autres associations dans "File Type -> Application Types". Je venais de créer un compte sur le bug tracker et m'apprêtais à ouvrir un bug mais je me suis rendu compte qu'il est déjà référencé et date de 6 ans(!), tu es d'ailleurs le dernier à y avoir commenté. Il y a même un ticket plus récent mais qui n'a pas été marqué comme doublon. On ressent fortement le manque de main d'oeuvre. :( Alors oui si le package est bien fait l'utilisateur ne devrai pas avoir besoin de changer ces associations mais manifestement ça n'est pas le cas. Du coup je vais voir pour corriger le paquet (pas encore regardé comment ça se fait) et/ou contacter le mainteneur du paquet à ce sujet.

        Je vais regarder pour à minima l'utiliser comme OS kiosque sur mon plus vieux laptop. Celui qui traine à la cuisine pour chercher des recettes de cuisine, visiter rapidement une page web, jouer de la musique. Pas vraiment beaucoup de temps libre pour contribuer au code de haiku (Le C et C++ sont très loin derrière moi) mais si au moins ça permet de trouver des bugs et/ou contribuer d'une autre manière (portages d'applis, maintenance de paquets) ce serait bien car c'est un beau projet et je suis pour la diversité.

        [1] globalement en comparant WebPositive, otter browser et Gnome Web/Epiphany, j'ai surtout vu la disparition du petit carré pour redimensionner plus facilement une fenêtre via la souris et des différences de tailles de police par défaut. Le reste n'étant pas trop choquant comparé à l'hétérogénéité des toolkits et UIs sur Linux, Windows et MacOS.

  • # GCC 2

    Posté par  (site web personnel) . Évalué à 4. Dernière modification le 01 janvier 2023 à 22:04.

    GCC 2.0 est sorti en février 1992. La série se termine en mars 2001 avec GCC 2.95.3.
    GCC 11.1 est sorti en avril 2021.

    https://gcc.gnu.org/releases.html

    • [^] # Re: GCC 2

      Posté par  (site web personnel, Mastodon) . Évalué à 7.

      Oui c'est bien ça, et gcc2 est donc la version utilisée par BeOS, dont la dernière version date de 2001 ou un peu avant.

      Gcc3 est une version majeure en raison de gros changements pas rétrocompatibles. Pour l'instant il n'y a pas d'autres solutions pour la compatibilité binaire.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.