INFOTHEMA

Section Hackerspace de l'association / Espace d'Expérimentation Technique => Les Ateliers techniques Hardware et Software => Discussion démarrée par: Animateur le juin 11, 2020, 03:07:00 pm

Titre: Sortie du système d'exploitation Haiku en R1 bêta 2
Posté par: Animateur le juin 11, 2020, 03:07:00 pm
(https://www.infothema.fr/documents/juin-2020/HAIKU_logo_black on_transparent_big.png)

Haiku est un système d’exploitation pour les ordinateurs de bureau dont le développement a commencé en 2001. Il reprend les idées de BeOS et assure une certaine compatibilité avec les applications écrites pour ce dernier.

Encore une version bêta ?

Il semble utile de rappeler la feuille de route du projet Haiku, qui a des définitions un peu inhabituelles des versions Alpha et Bêta.

L’objectif de Haiku est de fournir un système d’exploitation complet au moins iso‑fonctionnel avec BeOS R5.0.3 (la dernière version officielle de BeOS). Cette version sera la version R1. Il y a actuellement un flou assez important sur ce qui vient après cette version R1. Probablement une rupture de compatibilité, rendue nécessaire par l’obsolescence des outils ou la nécessité de corriger des erreurs de conception dans l’API. Par exemple, la compatibilité avec BeOS nécessite de compiler une partie de Haiku avec la version 2 de gcc, qui est largement obsolète (elle ne permet pas de compiler du code conforme à la norme C99 ni aucune des versions suivantes de C ou de C++).

Avant la version R1, sont prévues deux phases :

    - Les versions Alpha, dont la première a été publiée en 2009, ont été publiées à partir du moment où il est devenu possible de compiler Haiku depuis Haiku (« self hosting ») ; cette étape permettant aux développeurs de commencer à utiliser eux‑mêmes le système ;
    - Les versions Bêta, dont la première a été publiée en 2018, ont démarré à partir du moment où toutes les fonctionnalités de BeOS R5.0.3, augmentée d’objectifs supplémentaires décidés en 2010, ont été disponibles.

Le système restera encore quelque temps en bêta, phase pendant laquelle l’équipe a choisi de se concentrer sur les corrections de bogues, les améliorations des performances et la simplification de l’expérience utilisateur. En parallèle, il faut essayer d’attirer les développeurs d’applications natives, sans lesquelles le système n’a pas de raison d’être (si c’est seulement pour lancer des applications conçues pour GNU/Linux, autant rester sous Linux).

À ces aspects s’ajoutent la nécessité de suivre l’évolution de l’informatique, par exemple au niveau des pilotes matériels ou du navigateur Web. C’est la partie qui demande probablement le plus de travail, suite au choix de ne pas réutiliser le noyau Linux qui aurait permis d'utiliser directement la plupart des pilotes nécessaires.

En conséquence, cette nouvelle version comporte peu de nouvelles fonctionnalités visibles. Il y en a tout de même quelques‑unes, car personne ne peut empêcher les contributeurs de faire ce qu’ils veulent, malgré tout.

L’objectif pour l’instant est de tenir un rythme d’une nouvelle version par an. Objectif encore manqué cette fois, puisque la version précédente date de septembre 2018 (1 an et 8 mois). C’est déjà beaucoup mieux que le trou de six ans entre la version alpha 4 et la bêta 1.

Configuration nécessaire


Haiku n’est pas très exigeant quant au matériel nécessaire, n’importe quel ordinateur âgé de moins de quinze ans fera probablement l’affaire. Cependant, le système saura sans problème tirer parti d’une configuration plus performante :

    - Un ordinateur avec un processeur x86 (64 bits ou 32 bits) pouvant exécuter les instructions MMX ;
    - Une carte graphique compatible VESA et un écran d’au moins 800 × 480 pixels ;
    - Un clavier et/ou une souris ;
    - Environ 300 Mo de mémoire vive ;
    - 2 Gio d’espace libre sur un disque dur ou une clé USB (ou choisir une utilisation autonome depuis un DVD).

Si votre processeur ne sait pas exécuter les instructions SSE2 vous ne pourrez pas utiliser le navigateur natif WebPositive (il s’agit d’une limitation du moteur HTML WebKit). Les développeurs de Haiku conseillent dans ce cas d’utiliser NetSurf en remplacement.
Principales nouveautés

Il est difficile de lister tous les changements, puisque près de 900 tickets ont été corrigés depuis la version précédente. Voici cependant quelques-uns des points les plus intéressants.
Périphériques d’entrée

Les différentes fenêtres pour la configuration des souris, claviers et pavés tactiles sont maintenant regroupées dans une unique fenêtre de configuration.

Les boutons au‑delà du troisième ainsi que la molette horizontale sur les souris USB peuvent être utilisés.

(https://www.infothema.fr/documents/juin-2020/mouse.png)

Matériel géré

Le pilote XHCI (USB 3) a été largement retravaillé et nettoyé pour résoudre la plupart des problèmes de compatibilité.

Il est maintenant possible d’utiliser les supports de stockage NVMe qui remplacent de plus en plus le SATA dans le matériel moderne.

Le travail sur le pilote Intel Extreme pour les contrôleurs vidéo Intel continue, avec une amélioration du fonctionnement sur les machines de génération Sandy Bridge et précédentes. Les premières étapes pour l’affichage sur plusieurs écrans (en mode clone, pour le moment) ont été franchies.

Les pilotes réseau ont été synchronisés avec FreeBSD 12, permettant l’utilisation de l’Ethernet et du Wi‑Fi sur la plupart des ordinateurs. D’autre part, la désactivation d’une vérification de cohérence (sanity check) dans la pile réseau permet de multiplier par cinquante les performances de cette dernière.

Le pilote pour les cartes audio compatibles Intel HDA a également reçu quelques améliorations, mais il reste encore fort à faire pour avoir une sortie son fonctionnelle sur toutes les machines concernées.
Amélioration du processus d’installation

L’intégration du gestionnaire d’amorçage EFI se poursuit, il est maintenant automatiquement inclus dans l’image amorçable anyboot (pour la version bêta 1, il avait été ajouté manuellement dans l’image disque publiée). Son installation reste manuelle mais est plus facile à réaliser car la partition EFI peut être montée depuis Haiku. D’autre part, divers bogues dans le gestionnaire d’amorçage ont été corrigés pour améliorer la compatibilité avec toutes les configurations.

L’installateur de Haiku permet d’activer ou de désactiver un certain nombre de paquets optionnels. Ces paquets (principalement des outils et bibliothèques de développement) sont maintenant désactivés par défaut en mode autonome (live CD), ce qui permet d’utiliser et d’installer le système sans problème sur les ordinateurs avec peu de mémoire (environ 300 Mo sont nécessaires).
(https://www.infothema.fr/documents/juin-2020/installer.png)

DriveSetup, l’outil de partitionnement de disques, a reçu lui aussi plusieurs améliorations et peut afficher l’espace disponible sur chaque partition et détecter les volumes chiffrés.
Paquets disponibles

Le projet HaikuPorts continue son travail pour fournir un ensemble de paquets prêts à installer sur Haiku. Citons par exemple l’arrivée de Rust et de Node.js.

Le dépôt haikuports comporte 2 761 paquets dont 355 propres à Haiku.
Interface utilisateur

La « Deskbar » (similaire à la barre des tâches de Windows) se dote d’un nouveau mode « miniature » qui occupe moins de place à l’écran. Elle s’adapte également beaucoup mieux aux écrans à haute résolution (avec des icônes dans les menus et le cartouche plus ou moins large selon le besoin) et peut être redimensionnée à la largeur souhaitée. Le mode « auto‑raise » qui permet à la Deskbar de passer automatiquement en avant‑a été retravaillé pour éviter son activation intempestive. C’est maintenant le mode configuré par défaut sur les nouvelles installations.

(https://www.infothema.fr/documents/juin-2020/deskbar_minimode.png)

Tracker (le navigateur de fichiers) permet maintenant de faire une sélection « multi‑plage ». L’affichage a été optimisé pour corriger un problème de lenteur lors de l’affichage d’un dossier avec beaucoup de fichiers. La fenêtre d’information sur les fichiers liste leurs attributs étendus, qui auparavant n’étaient visibles que depuis la ligne de commande. Un modèle de fichier « contact » (pour l’application People) a été ajouté dans le menu afin de permettre de créer de nouveaux fichiers.

L’application SoftwareUpdater qui permet la mise à jour des paquets indique maintenant si un redémarrage est nécessaire après mise à jour. Le magasin de paquets logiciels HaikuDepot a aussi été retravaillé et optimisé, avec par exemple l’affichage de plusieurs captures d’écran par application, la liste des paquets en attente de téléchargement, un indicateur clair pour savoir quand l’application est en train de télécharger des informations depuis le serveur de paquets, et une interface utilisateur un peu plus claire et compréhensible (bien que ce soit encore loin d’être parfait).

Le dock « LaunchBox » peut être lancé automatiquement au démarrage, et afficher de très grosses icônes en 96 x 96 ou 128 x 128 pixels.

Le Terminal dispose maintenant d’une touche Méta, indispensable entre autres pour les utilisateurs d’Emacs. D’autre part, la commande uname affiche la version exacte de Haiku en cours d’utilisation (numéro de révision « hrev »).

Le lecteur de médias peut se souvenir de l’emplacement où la lecture d’un fichier s’était arrêtée, et reprendre la lecture à cet endroit.

Navigateur Web

Haiku fournit le navigateur WebPositive, utilisant le moteur WebKit (partagé avec Safari chez Apple, Epiphany et les consoles Sony PlayStation, par exemple). L’adaptation du moteur pour Haiku se fait petit à petit, et il reste encore de nombreux problèmes de compatibilité et de stabilité. Cependant, les choses s’améliorent, cette nouvelle version bêta 2 vient avec une grosse mise à jour de WebKit (près de deux ans de travail) et de nombreuses corrections sur la couche réseau (WebSockets…) et le rendu graphique.

Le navigateur permet également de choisir une taille de police de base plus grande que 18 points si nécessaire.

Sécurité

Une revue de tous les appels système est en cours pour détecter et corriger les plus gros problèmes de sécurité et possibilités de « planter » tout le système par un appel avec des paramètres incorrects (de façon volontaire ou pas).

L’ajout de SMAP et SMEP permet de vérifier au niveau matériel qu’il n’y a pas de confusion entre les espaces mémoire noyau et utilisateur. Cela nécessite d’expliciter dans le noyau tous les accès à l’espace mémoire utilisateur (remplacement des appels à memcpy() par user_memcpy()).

Le client FTP hérité de BSD, et qui n’était plus maintenu, a été remplacé par tnftp, une implémentation plus propre et avec moins de trous de sécurité.

Traducteurs de fichiers

Les traducteurs permettent aux applications de lire et écrire des fichiers sans avoir à se soucier du format utilisé.

Le traducteur WebP traite maintenant les images avec un canal alpha (transparence).

La libjpeg a été remplacée par la libjpeg-turbo, une divergence simplifiée et optimisée qui gagne en popularité, car la libjpeg ajoute de plus en plus d’extensions non standardisées au format JPEG standard.

Localisation

La version coréenne a malheureusement dû être supprimée car elle n’était plus maintenue. Cependant, les traductions en danois, espéranto, frioulan, portugais européen, thaï et turc sont maintenant disponibles. Haiku peut être utilisé dans vingt‑neuf langues différentes. Le manuel d’utilisation est, quant à lui, disponible dans vingt de ces langues.

Est‑ce que c’est l’année de Haiku sur le desktop ?

À vous de voir !


Aujourd’hui, il est possible d’utiliser Haiku comme système d’exploitation principal. Le système est stable, de nombreuses applications Qt sont disponibles (et un portage de GTK est en cours), ainsi qu’un bon nombre d’outils en ligne de commande, dont l’adaptation depuis GNU/Linux se fait en général sans trop de problèmes. On pourra par exemple éditer des documents avec LibreOffice, versionner du code source avec Git et l’éditer avec Vim. Certaines applications intéressantes de KDE sont portées : l’EDI KDevelop, Calligra Suite, Krita, etc. — mais GIMP n’est pas encore disponible.

(https://www.infothema.fr/documents/juin-2020/interface.png)

Cependant, il reste encore beaucoup de choses à améliorer ou à compléter. Les navigateurs Web les plus connus ne sont pas disponibles : pas de Chromium, pas même de Firefox en vue. Il faut se contenter d’Otter ou du navigateur natif WebPositive (et parfois jongler entre les deux pour contourner les problèmes de compatibilité).

Pour les joueurs, il faut garder en tête qu’il n’y a pas encore d’accélération 3D, et pas non plus de version de Wine qui permettrait de lancer les jeux Windows (QEMU fonctionne, mais sans accélération processeur, ce qui limite rapidement les possibilités). Il faudra donc se contenter de jeux sur émulateurs (la suite RetroArch est disponible) ou de jeux pouvant fonctionner correctement sans accélération.

(https://www.infothema.fr/documents/juin-2020/jeux.png)

A priori, il vaut mieux réserver Haiku aux utilisateurs les plus enthousiastes et prêts à accepter ces limitations, ainsi qu’aux développeurs dont les applications pourraient venir utilement compléter l’offre disponible.

Site du projet : https://www.haiku-os.org

Page de téléchargement : https://www.haiku-os.org/get-haiku/r1beta2/

Manuel en français : https://www.haiku-os.org/docs/userguide/fr/contents.html