Apports de Fedora à l'écosystème du Logiciel Libre
Il est courant, au sein de la communauté du Logiciel Libre, de présenter une distribution GNU/Linux comme une simple intégration, ou un assemblage de tous les logiciels qu'elle propose. Une sorte de glu entre eux.
Si c'est sans doute le cas de certaines d'entre elles, nous ne pouvons en conclure que c'est toujours le cas. En particulier, la distribution Fedora va au delà de ce constat. Ses objectifs et sa communauté lui permettent de réaliser d'autres choses. En effet depuis sa création Fedora est une vitrine technologique et à ce titre a essayé de mettre en avant ou de développer des solutions novatrices pour le Logiciel Libre. Mais depuis Fedora 21, sortie fin 2011, Fedora s'est découpée en trois produits distincts. Si finalement une Fedora Workstation et Server ont accès aux mêmes paquets, le projet a souhaité fournir des expériences utilisateur adaptées à chaque cas d'usage dès la fin de l'installation. Par conséquent, Fedora Workstation a sa liste de travail pour intégrer et développer de nouvelles solutions pour améliorer l'usage bureautique de l'utilisateur.
Et si la distribution Fedora est souvent considérée comme une version de tests pour la distribution Red Hat Enterprise Linux (RHEL) de Red Hat nous allons constater que finalement toute la communauté tire des bénéfices de ses travaux.
Le présent article est une adaptation des articles de blogs ici et là de Christian Schaller qui m'en a donné l'autorisation. Il a fait l'objet d'une conférence lors des JM2L de fin novembre 2017 dont vous pouvez retrouver la diapo.
Expérience utilisateur
GNOME Logiciels
GNOME Logiciels est un pur produit de la vision Fedora Workstation de la distribution Linux à devenir pour simplifier la vie de ses utilisateurs. Essayer de reprendre certains codes provenant des magasins applicatifs concurrents, en proposant uniquement des applications graphiques (et donc visibles pour le commun des mortels), avec des captures d'écran, des notes des utilisateurs et des commentaires.
Mais l'objectif est de fournir un tout intégré. GNOME Logiciels est donc capable de détecter si vous avez une police qui manque pour afficher un contenu dans une langue exotique, ou encore un codec multimédia pour votre film. Ainsi il peut vous proposer de l'installer à la volée au travers d'une pop-up. Il gère également de manière transparente les extensions de GNOME Shell, les mises à jour et les mises à niveau du système en passant par les firmwares des différents périphériques.
L'ensemble repose sur un format de fichier nommé appdata qui se retrouve peu à peu dans les sources de tous les logiciels concernés. Cela ouvre la possibilité à partir des mêmes données d'offrir différentes expériences utilisateur, de ne remplir et de ne traduire ces métadonnées qu'une fois.
Fedora Media Writer
Fedora s'est attaqué au fameux problème de la création d'une image installable sur clé USB. D'habitude il faut télécharger un fichier ISO, l'installer en suivant des procédures pas toujours évidentes et tester l'image. Et comprendre ce qu'est un fichier ISO n'est pas évident pour tous les utilisateurs.
Fedora propose un utilitaire multiplateforme, pour Windows, macOS et Linux afin de choisir l'image souhaitée (Fedora GNOME ou KDE par exemple) et procéder automatiquement à l'installation sur le média choisi. Cela est plus clair et simple pour l'utilisateur qui a besoin de moins de compétences de base pour débuter. Cela permet également de simplifier la documentation et la communication autour du projet Fedora, cette étape étant maîtrisée et ne dépendant plus de la gestion des ISO sur différents systèmes.
De plus, certains se sont amusés à concevoir par impression 3D autour d'un Raspberry Pi, un petit ordinateur nommé Fedorator pour les salons où le visiteur peut enficher sa clé USB, choisir l'image qu'il souhaite et repartir avec une image de Fedora prête à l'emploi en totale autonomie.
L'outil fleet commander
Fleet Commander est un outil pour gérer des flottes entières de machines sous Fedora ou RHEL, notamment pour les universités, les grosses entreprises ou les administrations et ainsi, de pouvoir gérer des milliers de machines. Il est possible de configurer les postes avec un navigateur Web ou l'outil Cockpit.
Actuellement il est capable de configurer tout ce qui est accessible pour dconf (l'utilitaire de configuration de GNOME), les extensions de cet environnement, Networkmanager (dont le VPN ou le proxy). Ou de facilement migrer la configuration de Evolution vers un autre serveur de courriels. Ou encore configurer Firefox, Libreoffice et quelques autres outils plus génériques.
La configuration est intégrée avec la solution FreeIPA, et donc les informations sont liées au compte LDAP ce qui évite devoir gérer un autre service en interne.
Les performances de GNOME Shell
Carlos Garnacho a travaillé quelque temps pour identifier et résoudre des soucis de performance dans GNOME Shell.
Que l'on aime ou pas GNOME Shell, réduire sa consommation en ressource est toujours une bonne chose.
Les portails captifs
Dans les lieux publics, il y a souvent du Wifi offert aux clients que ce soit dans les aéroports ou hôtels par exemple. Pour permettre l'authentification de l'utilisateur, un portail captif est souvent en place pour que l'utilisateur saisisse ses identifiants et obtienne ainsi accès à Internet.
L'inconvénient de ce procédé est qu'il est indispensable d'ouvrir une page Web quelconque pour visualiser la page d'authentification et ainsi obtenir l'accès à Internet après la saisie. Si vous ne le faites pas, la machine sera considérée comme connectée au réseau mais n'aura pas accès aux ressources du réseau. Les requêtes pour collecter ses courriels échoueraient sans indication sur la raison de l'échec.
Fedora a travaillé pour que GNOME et NetworkManager ouvrent automatiquement une fenêtre dédiée si un portail captif a été détecté. Permettant la saisie des identifiants nécessaires sans que l'utilisateur ait besoin d'effectuer cette manipulation manuellement.
Améliorations de GNOME
Quelques fonctionnalités de GNOME sont l’œuvre de la communauté de Fedora. Par exemple Carlos Soriano a apporté le renommage multiple dans Nautilus et un rafraîchissement de son interface.
GNOME Terminal notifie maintenant l'utilisateur quand une tâche est terminée (vraiment utile pour connaître la fin d'une longue compilation). GNOME Builder a reçu également quelques ajouts de ce côté là.
libratbag
Fedora a conçu cette bibliothèque pour faciliter la configuration des souris et d'autres périphériques d'entrées dont les manettes. Il a également une collaboration en cours avec des constructeurs pour améliorer la gestion des souris orientées jeux.
Un outil est en cours d'élaboration pour tirer partie de cette bibliothèque sous GNOME. Pour configurer les touches additionnelles, les différentes résolutions de la souris ou encore les LEDs qui arborent ces souris.
La libération des codecs audio
Ces deux dernières années, des brevets autour des codecs audio MP3, ACC et AC3 sont peu à peu tombés. Cela autorisait de fait les différents composants libres à fournir leur gestion par défaut sans devoir verser de contributions financières. Red Hat et Fedora étant des entités américaines légalement, il fallait s'assurer que tout était clair de ce côté avant de fournir le feu vert. Pour des questions légales, il vaut mieux éviter de se fier aux déclarations de personnes inconnues sur Internet.
Red Hat Legal a donc planché sur la question de la conformité des solutions libres sur le sujet (comme GStreamer) avec leur développeur pour s'assurer qu'ils ne violaient pas des brevets sur des sujets annexes encore en cours sur ces technologies ou que les brevets étaient vraiment bien tombés.
Le feu vert juridique a été donné, et normalement ces codecs ont pu intégrer la section codecs libres des différentes bibliothèques qui les implémentent.
L'intégration de Qt sous GNOME
Avec Fedora 25 et 26, il y a eu un travail pour concevoir QtGNOME plateforme. Un outil pour faire en sorte que les applications réalisées avec Qt (au lieu de GTK+ pour les applications de GNOME) se marient bien visuellement.
Cela passe aussi par l'intégration des différents paramètres, avec prise en compte du HiDPI, du thème sombre, du thème GTK+ actuel, etc. L'objectif est de minimiser au maximum l'écart visuel entre les deux écosystèmes et de s'assurer que les choix de l'utilisateur s'appliquent aux deux bibliothèques. Ainsi l'utilisateur en configurant son interface GNOME n'a pas à reproduire ces changements sous Qt également, cela est automatiquement pris en charge.
Gestion du matériel
Intégration du pilote propriétaire de nVidia
Hans de Goede et Simone Caronni ont collaboré sur les travaux de NVIDIA et d'Adam Jackson autour de glvnd. Donc si vous installez le pilote propriétaire NVIDIA provenant de dépôts correctement gérés, il n'y aura plus de conflits avec la pile graphique fournie par Mesa.
Et en cas de mise à jour du noyau, s'il y a incompatibilité, le pilote libre nouveau prendra automatiquement le relais le temps que le pilote propriétaire soit à nouveau disponible. Cela permet de corriger un souci récurrent du délai de la mise à disposition des derniers pilotes de nVidia pour le nouveau noyau.
Gestion native du pilote invité de VirtualBox dans le noyau Linux
Hans de Goede a travaillé pour incorporer dans le noyau Linux officiel le pilote invité de VirtualBox. D'habitude une fois votre système invité installé, il était nécessaire de télécharger les pilotes additionnels et les installer dans la machine virtuelle pour bénéficier du plein écran, du dossier partagé, etc.
Cette étape ne sera bientôt qu'un lointain souvenir, le pilote Linux a déjà été accepté une partie du pilote le mois dernier. La gestion du dossier partagé devrait suivre bientôt.
La mise à jour des firmwares
Richard Hughes, mainteneur de PackageKit, de GNOME Logiciels et fwup, a fourni un grand effort pour simplifier la mise à jour des différents firmwares de nos machines : l'UEFI de nos cartes mères, celui des souris, des cartes réseaux ou graphiques, etc. Il y a quelques mois, il a collaboré avec Logitech pour fournir la mise à jour automatique du firmware d'une souris de la marque suite à une faille de sécurité récemment découverte.
De nombreux ordinateurs portables de Dell sont aussi pris en charge par cette solution, qui est pleinement intégrée à GNOME Logiciels également. Des discussions seraient en cours avec d'autres marques.
Ce travail reste important pour garantir la sécurité de composants matériels souvent invisibles et même négligés dans la politique de mise à jour du système.
L'autonomie
Souvent Linux est considéré comme moins performant que Windows ou macOS sur la question de la gestion de l'énergie. Pour résoudre ce problème, Christian Kellner et Owen Taylor ont œuvré pour fournir un utilitaire Battery Bench Tool pour récupérer des données variées et exploitables pour identifier les problèmes réels et y apporter des solutions. En effet cet outil génère différents scénarios d'utilisation pour identifier les composants responsables de la baisse d'autonomie (le processeur, le disque dur, etc.) et ce de manière reproductible.
Pendant ce temps, Hans de Goede souhaite activer de manière générique la SATA Link Power Management dans le noyau ce qui améliorait la gestion de l'énergie des périphériques accessibles via SATA, soit des SSD ou disques dur principalement. Seulement par le passé, cela causait des corruptions de données sur certains SSD à cause d'un firmware foireux. Il souhaite des retours utilisateurs sur la question pour savoir le gain d'autonomie estimé et si des corruptions de données sont à signaler ou non.
Hans souhaite également désactiver les modules multimédia des processeurs quand ils ne sont pas actifs, ce qui permet de gagner un peu d'autonomie également.
RADV
Fedora a apporté l'implémentation libre et complète de Vulkan pour les GPU d'AMD qui sont certifiés compatibles avec la norme.
Travail de fond
Wayland
Wayland est le remplaçant de l'ancêtre X11 dans les systèmes UNIX ou Linux. La remise à plat du protocole comporte son lot de surprisses et de régressions. Après 8 ans de gestation, et 2 ans de tests intensifs sous Fedora, il a été proposé par défaut pour Fedora 25, première distribution à avoir fait ce changement nativement.
Cela a été possible grâce à Olivier Fourdan, Jonas Ådahl et la communauté Wayland pour notamment résoudre les derniers problèmes de stabilité et de rendu. L'attention a été portée notamment sur XWayland pour assurer la compatibilité ascendante avec les applications ne pouvant utiliser Wayland directement aujourd'hui.
Mais le travail continue. Actuellement, ils travaillent sur l'affichage distant du bureau.
libinput
Cette bibliothèque est le Wayland des entrées du système (claviers, souris, touchpad, tablettes tactiles, écrans tactiles, etc.). Mais contrairement à Wayland, il était possible d'utiliser libinput dans Xorg directement (à des fins de tests mais aussi pour améliorer ce dernier). Cela a permis l'apport de la gestion du multitouch par exemple et a rendu libinput fonctionnel plus rapidement.
Portage vers GTK+3
GTK+2 est une bibliothèque graphique qui fut très utilisée mais qui est aujourd'hui obsolète. Elle ne bénéficie plus d'évolutions, et ne gèrera jamais Wayland ou le HiDPI par exemple. La communauté Fedora a œuvré pour porter Libreoffice et Firefox sous GTK+3 en proposant des correctifs en ce sens, et en proposant ces logiciels en premier avec cette implémentation. Ce qui a donné lieu à l'identification de nombreux bogues qui ont pu être corrigés avant leur prise en charge par d'autres distributions.
Ce qui est prévu à l'avenir
Fedora n'est pas en reste pour l'avenir. Outre son évolution vers la modularité, la communauté a d'autres éléments à ajouter.
La construction des applications Flatpak
Owen Taylor travaille sur l'infrastructure de Fedora pour apporter de quoi construire des applications Flatpak directement, en parallèle des formats RPM classiques. L'objectif est de faciliter la vie du mainteneur qui pourra concevoir en une fois la construction des deux formats et les autres distributions ou utilisateurs pourront récupérer le Flatpak à jour directement s'ils le souhaitent.
Pipewire
Wim Taymans, co-auteur de GStreamer et grand contributeur de PulseAudio projette d'étendre le spectre de ses travaux avec Pipewire. Il souhaite avec ce composant unifier l'audio et la vidéo sous Linux. L'objectif au long terme n'est pas de gérer uniquement la vidéo, mais de prendre en compte également tout type de flux audio. Et non seulement il souhaite s'attaquer aux cas d'usage de PulseAudio, mais également à ceux de Jack (qui est plutôt dédié au traitement audio professionnel ou d'amateurs éclairés). Cela passera notamment par une compatibilité avec les applications existantes sans réécriture de leur part.
L'objectif est de rendre la plateforme Linux plus attirante pour les compositeurs et autres artistes du milieu. Pipewire a fait sa première apparition dans Fedora 27.
Optimus et équivalents
Adam Jackson travaille autour d'un nouveau composant glxmux pour permettre l'exploitation de plusieurs sessions GLX sur un même système. L'objectif est de pouvoir facilement passer de la pile Mesa, à celle d'Intel ou à celle de nVidia. Cela est bien sûr en lien pour un usage transparent de solutions hybrides comme Optimus.
Les contacts avec nVidia sont nombreux à ce sujet pour finir ce travail.
Prise en charge de Thunderbolt 3 et de sa politique de sécurité
Christian Kellner travaille sur un autre pan du matériel moderne de l'ordinateur : Thunderbolt 3. Cette norme concurrente de l'USB type C propose en plus des fonctionnalités usuelles de ce type de bus (affichage, transfert de données, etc.) un système de sécurité pour éviter qu'un périphérique inconnu ait accès de manière privilégiée à votre machine dans votre dos.
Grâce à son travail, l'utilisateur est notifié dans GNOME de la présence d'un nouveau périphérique et peut ainsi décider de lui octroyer l'accès ou non à certaines fonctionnalités de la machine.
Tests automatisés des ordinateurs portables
Les ordinateurs portables sont des machines ayant un grand nombre de périphériques en simultanée ce qui nécessite une bonne intégration avec le système d'exploitation pour en tirer pleinement partie.
Pour détecter les régressions dans ce domaine, et avoir une vue d'ensemble de la compatibilité actuelle du parc, Benjamin Berg conçoit une suite de tests dédiés à la question avec un site listant les fameux rapports.
Le HiDPI fractionnel
Les affichages à haute densité de pixels (HiDPI) sont de plus en plus fréquents dans les configurations milieu et haut de gamme. Ils permettent d'améliorer la finesse de l'affichage sans pour autant réduire la taille des éléments affichés. Cependant sur certains modèles d'écran, les ratios entiers du HiDPI produisent des affichages trop grands ou trop petits. Pour résoudre ce problème, on souhaite introduire des valeurs intermédiaires non entières. Le travail est en cours pour le permettre, d'autant qu'il faut s'assurer que cela s'applique également aux programmes tournant avec XWayland sans nécessiter une gestion directe depuis leur bibliothèque graphique ou de leur gestionnaire de fenêtre.
Le HDR
La technologie High Dynamic Range se répand de plus en plus sur les moniteurs et les ordinateurs aujourd'hui. L'objectif est de fournir une plus grande gamme de rendu des couleurs. Une collaboration est en cours avec Intel, nVidia et AMD sur le sujet pour fournir ce type de solution à Linux.
Fedora Atomic : c'est de la bombe
Fedora travaille beaucoup pour concevoir un système atomique, selon les travaux de Project Atomic. Actuellement c'est la version Cloud qui en bénéficie, mais les travaux sur la version Workstation sont en cours. Le but est d'améliorer la fiabilité du système, il sera ainsi possible de facilement mettre à jour le système en diminuant les risques liés à une procédure exécutée dans un ordre différent que prévu par exemple. Le retour à une situation antérieure en cas de problème sera également plus facile en sélectionnant l'état précédent du système dans GRUB.
Devant l'intérêt récent pour cette technologie, un groupe de travail a été constitué ce mois-ci pour faire avancer le sujet.
Conclusion
Comme nous pouvons le voir avec cette liste d'exemples, une distribution d’envergure comme Fedora, mais aussi Ubuntu, Debian ou autres peuvent apporter bien plus qu'une liste de logiciels à installer. Ils proposent des nouveaux outils, participent au développement ou à la stabilisation des logiciels qu'ils fournissent, peuvent collaborer avec d'autres entreprises ou communautés pour améliorer la prise en charge de leur produit.
Et encore, nous ne parlons que des travaux significatifs de ces trois dernières années, Fedora a également œuvré pour PulseAudio, systemd, PackageKit, NetworkManager, le pilote libre nouveau et tant d'autres composants par le passé !
Et malgré les liens forts entre Red Hat et Fedora, nous pouvons voir que beaucoup des travaux de Fedora de ces dernières années ont bénéficié à la plupart des distributions aujourd'hui. Et cela n'est pas près de se terminer.