URL: https://linuxfr.org/news/apports-de-fedora-a-l-ecosysteme-du-logiciel-libre-2-partie Title: Apports de Fedora à l’écosystème du logiciel libre (2de partie) Authors: Renault Davy Defaud, BAud, M5oul, Jiel, Nils Ratusznik, Cetera, Benoît Sibaud et Arkem Date: 2019年04月21日T19:32:46+02:00 License: CC By-SA Tags: fedora, openh264, peter_hutterer, libreoffice, rmll, debian et firefox Score: 54 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 2014, 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](https://fedoraproject.org/wiki/Workstation/Tasklist) pour intégrer et développer de nouvelles solutions afin d’améliorer l’usage bureautique de l’utilisateur. Et si la distribution Fedora est souvent considérée comme une version de test 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_](https://blogs.gnome.org/uraeus/2018/07/18/an-update-from-fedora-workstation-land/) et [_là_](https://blogs.gnome.org/uraeus/2019/04/03/preparing-for-fedora-workstation-30/) de Christian Schaller, qui m’en a donné l’autorisation. Il fait suite à un [premier article à ce sujet](https://linuxfr.org/news/apports-de-fedora-a-l-ecosysteme-du-logiciel-libre) qui avait donné lieu à une conférence lors des JM2L de 2017 et aux RMLL de 2018 dont [la vidéo est disponible](https://tube.aquilenet.fr/videos/watch/24ca5750-9d36-4255-adb1-b34e633a27c2). ---- [Première partie de la série](https://linuxfr.org/news/apports-de-fedora-a-l-ecosysteme-du-logiciel-libre) [Blog de Christian Schaller : An update from Fedora Workstation land](https://blogs.gnome.org/uraeus/2018/07/18/an-update-from-fedora-workstation-land/) [Blog de Christian Schaller : Preparing for Fedora Workstation 30](https://blogs.gnome.org/uraeus/2019/04/03/preparing-for-fedora-workstation-30/) [Vidéo de la conférence des RMLL 2018](https://tube.aquilenet.fr/videos/watch/24ca5750-9d36-4255-adb1-b34e633a27c2) [Site officiel du projet Fedora](https://getfedora.org/) [Site officiel de la communauté francophone de Fedora](https://www.fedora-fr.org/) ---- # Expérience utilisateur ## Pipewire Wim Taymans, coauteur de GStreamer et grand contributeur de PulseAudio, étend le spectre de ses travaux avec Pipewire. Il souhaite avec ce composant unifier l’audio et la vidéo sous GNU/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. 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 plate‐forme GNU/Linux plus attirante pour les compositeurs et autres artistes du milieu. Pipewire a fait sa première apparition dans Fedora 27. Et son usage commence à produire ses premiers effets. En effet, grâce à ce composant, GNOME Shell est capable de faire de l’affichage distant de la session avec Wayland via le protocole VNC. Cela permet donc les usages de contrôles à distance graphique. Merci à Jonas Ådahl pour ce résultat. ## Séquence de démarrage ### Affichage de GRUB Hans de Goede a travaillé pour masquer GRUB par défaut sous Fedora, sauf si plusieurs systèmes sont installés. En effet, dans ce cas de figure, GRUB ne sert qu’à démarrer un ancien noyau, ce qui est nécessaire uniquement en cas de souci. Pour des raisons de cohérence et de simplicité, les messages de démarrage étant cachés par défaut, ce menu est caché pour ne pas perturber l’utilisateur outre mesure et gagner du temps. Un nouveau mécanisme est mis en place. Le menu caché est finalement affiché si le précédent démarrage n’a pas abouti à une session valide. Cela autorise ainsi une résolution possible du problème. Pour désactiver cette fonctionnalité, vous pouvez manuellement appliquer la commande suivante avec les droits super‐utilisateur : ```shell # grub2-editenv - unset menu_auto_hide ``` [Hans de Goede a publié une FAQ](https://hansdegoede.livejournal.com/19081.html) à propos de ce changement pour savoir comment l’activer ou le désactiver, et quel est le comportement en cas de problème. Ce travail documenté permet à d’autres distributions de reproduire ce comportement pour simplifier la séquence de démarrage. ### Démarrage sans remise à zéro de l’affichage Pour les utilisateurs d’une carte graphique Intel et d’un ordinateur avec l’UEFI activé, l’affichage durant le démarrage est continu, sans remise à zéro de ce dernier. Cela rend l’expérience plus fluide et jolie. Le changement fait suite à la modification introduite dans Fedora 29 pour qu’un ordinateur mono‐système ait GRUB masqué par défaut. Le nouveau thème Plymouth _bgrt_ récupère également le logo du constructeur de l’ordinateur ou de la carte mère durant le démarrage. Si vous ne souhaitez pas voir ce logo, basculez vers le thème _spinner_. Vous pouvez regarder [cette vidéo](https://fedorapeople.org/~jwrdegoede/flickerfree-videos/laptop-diskcrypt-bgrt-logo.webm) pour voir le changement en action et [les explications en détails](https://hansdegoede.livejournal.com/19224.html) et [la FAQ](https://hansdegoede.livejournal.com/20632.html) par Hans de Goede, son développeur. ## Les jeux vidéo Beaucoup de tests ont été effectués par Olivier Fourdan et Jonas Ådahl pour identifier les problèmes d’exécution des jeux vidéo Steam avec GNOME sous Wayland. Ils ont pu en corriger l’essentiel. Cela permet de repousser les limites des cas d’usage de Wayland et rendre ainsi chaque jour X11 de moins en moins nécessaire. Pour améliorer également les performances des jeux vidéo, l’entreprise Feral Interactive a développé le projet [GameMode](https://github.com/FeralInteractive/gamemode) pour optimiser la configuration du système dans le but de maximiser les performances lors de l’exécution d’un jeu. Pour l’instant, Fedora se contente de proposer par défaut ce paquet, mais une réflexion est en cours pour essayer de rendre ce paquet dispensable, en améliorant le gouverneur du processeur par exemple. # Gestion du matériel ## Autonomie ## Hans de Goede a travaillé sur une meilleure gestion de l’autonomie des ordinateurs portables avec un processeur Intel. Cela passe par une meilleure gestion de l’énergie des ports SATA pour disques durs et SSD (gain estimé entre 1 W et 1,5 W) en reprenant le mode utilisé par Windows : _med_power_with_dipm_. Pour le multimédia, Intel HDA codec est mis en sommeil après une seconde d’inactivité (gain estimé de 0,4 W). Et activation de l’économie d’énergie pour les récepteurs Bluetooth en USB (gain estimé de 0,4 W si tous les ports USB sont au repos). Sachant qu’un ordinateur portable récent non orienté puissance consomme moins de 10 W (7,5 W, par exemple, sur un Lenovo E560) en usage non intensif. Cela peut donner 20 % d’autonomie supplémentaire. ## Thunderbolt 3 ## Thunderbolt 3 est une norme concurrente à l’USB sur de nombreux points. Cette norme permet en effet de gérer des transferts de données ou de brancher un écran externe par exemple sur le même port. Cependant, ces périphériques pourraient accéder à des informations sensibles de votre machine lors du branchement pour des raisons de performances. En effet, pour alléger la charge processeur, ces périphériques peuvent être maîtres de la communication DMA. C’est pourquoi la norme propose une politique de sécurité pour que l’utilisateur autorise ou non l’accès à l’ordinateur, et éviter ainsi que discrètement un appareil branché sans votre consentement ait un libre accès. Il est maintenant possible de configurer dans GNOME ces accès par le biais des notifications ou du panneau de configuration qui lui est dédié. [](https://blog.fedora-fr.org/public/renault/F28/Panneau-Thunderbolt.png) Les politiques de sécurité possibles étant : * _none_ : pas de restrictions ; * _dponly_ : uniquement la sortie vidéo via DisplayPort ; * _user_ : les périphériques connectés doivent recevoir une autorisation de l’utilisateur ; * _secure_ : l’utilisateur doit autoriser l’appareil également et l’appareil doit prouver son identité avec une clef secrète. # Développement ## Fedora Toolbox Debarshi Ray a développé l’outil [Fedora Toolbox](https://github.com/debarshiray/toolbox) pour simplifier le développement en utilisant massivement les conteneurs. Ainsi, il sera par exemple plus simple de développer votre projet maison avec Fedora pour bénéficier des dernières versions, de le tester sur RHEL pour la compatibilité et, s’il s’agit d’un jeu, d’exécuter cela dans un environnement SteamOS. Un gros travail est en cours pour améliorer encore l’expérience utilisateur afin de ne pas avoir à réinstaller les mêmes outils dans chaque conteneur, ou d’être confus à propos du contenu de chacun. Il est envisagé de pouvoir plus facilement travailler sur des environnements complexes précis, tels que Tensorflow ou CUDA, par exemple. Son intérêt sera particulièrement important dans le cadre du projet Silverblue, détaillé plus bas. En effet, dans le contexte d’un système _immutable_, l’objectif sera de reposer les outils de développement sur des conteneurs manipulés à travers ce genre d’outils. # Et demain ? ## Le HiDPI fractionnel ## [](https://blog.fedora-fr.org/public/renault/Illustrations/GNOME_HiDPI.png) 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. La bonne prise en charge de tels écrans n’est possible qu’avec Wayland, et GNOME dispose à titre expérimental d’une telle fonctionnalité qui a besoin de quelques raffinements encore. Pour ceux qui veulent tester, il suffit d’ajouter la valeur `scale-monitor-framebuffer` à la clef GSettings `org.gnome.mutter.experimental-features` pour que le panneau de configuration le propose. Cela peut être effectué à l’aide de la commande suivante : ```shell $ gsettings set org.gnome.mutter.experimental-features ['scale-monitor-framebuffer'] ``` Ce travail est le fruit de la collaboration entre Jonas Ådahl de Red hat et Marco Trevisan de Canonical. Il devrait être bientôt disponible de manière stable. ## Pipewire Pipewire est encore en voie de maturation. De nombreuses choses restent à faire ou à stabiliser. Par exemple, Jan Grulich, Tomas Popela et Eike Rathke travaillent sur la fonctionnalité d’écran partagé avec Wayland pour Firefox et Chrome afin, par exemple, de partager son écran lors d’une visioconférence avec WebRTC. Cependant, cela n’est pas encore assez stable pour être activé par défaut. Si vous le souhaitez, avec Chrome, il suffit d’activer l’option `chrome://flags/#enable-webrtc-pipewire-capturer`. La gestion de l’audio n’est pas encore en place, bien que le chantier soit bien avancé. Pipewire peut utiliser un greffon PulseAudio de GStreamer pour jouer le son de certaines applications GNOME. Wim teste également les applications employant Jack pour corriger les problèmes de compatibilité. Il fait également des tests sur une barre de son Sony HT-Z9F pour s’assurer du bon fonctionnement de Pipewire avec ce genre de matériel. Ainsi, à terme, les protocoles [[S/PDIF]], HDMI ou Bluetooth seront pris en charge convenablement. Le codec LDAC, qui est un codec de haute qualité audio pour le Bluetooth, sera également de la partie. La prise en charge de [JACK](https://fr.wikipedia.org/wiki/JACK_Audio_Connection_Kit "JACK Audio Connection Kit") devrait être disponible avant celle de PulseAudio. Les premiers résultats stables pourraient apparaître pour Fedora 31 à ce niveau. ## OpenH264 Cela fait quelque temps que Firefox dispose de la bibliothèque OpenH264 de Cisco pour décoder matériellement le format [[H.264]] qui est très répandu. Cependant, le format H.264 dispose de ce que l’on appelle des profils. L’objectif est d’activer certaines fonctionnalités du format suivant le cas d’usage de la vidéo. Une visioconférence, par exemple, a besoin d’une plus faible qualité d’image que le film enregistré sur votre disque dur, et ce, afin de limiter le besoin en bande passante et en latence. OpenH264 ne prenait en charge que le profil _baseline_. Grâce à une collaboration de Red Hat, Endless, Cisco et Centricular, les profils _high_ et _main_ seront proposés prochainement. Le travail est en fait déjà partiellement disponible, mais quelques raffinements restent nécessaires avant de le proposer par défaut. Des plates‐formes de vidéo en ligne comme YouTube pourront en tirer parti prochainement. Les applications reposant sur la bibliothèque GStreamer, comme _Totem_ de GNOME seront également bénéficiaires de cette amélioration. ## Wayland ### Firefox  Fedora a beaucoup œuvré pour proposer Wayland par défaut et faire en sorte que les logiciels essentiels fonctionnent bien avec, comme LibreOffice et GNOME. C’est également le cas pour Firefox qui commence à voir le bout du tunnel, ce travail étant porté par Martin Stransky. Fedora avait un dépôt COPR pour tester Firefox avec Wayland, puis un paquet officiel _firefox-wayland_ était proposé depuis Fedora28. Ce dernier n’étant qu’un script qui lance Firefox avec la variable d’environnement `MOZ_ENABLE_WAYLAND` définie à 1. Cela a permis de constater de nombreux problèmes qui ont pu être corrigés. Pour Fedora 31, qui devrait sortir en fin d’année 2019, Firefox avec la gestion native de Wayland sera proposé par défaut. Ainsi, l’un des derniers composants par défaut de Fedora _Workstation_ pourrait se passer du besoin d’utiliser XWayland. ### Pilote propriétaire de NVIDIA Il y a également le pilote propriétaire de NVIDIA qui n’offre pas pleinement une bonne expérience avec une session sous Wayland. Ce qui est, bien sûr, un problème pour ceux qui veulent tirer le plein potentiel de la carte graphique, en particulier pour les jeux ou le montage vidéo. Des travaux importants d’Adam Jackson ont pu résoudre des problèmes pour la gestion des espaces de couleur et des écrans multiples. Mais il manque toujours la compatibilité avec XWayland pour offrir une expérience complète d’une session sous Wayland. Si vous n’en avez pas besoin, cela devrait fonctionner convenablement dès maintenant. ### Les souris à haute résolution Les souris à destination des joueurs ou des graphistes ont souvent des résolutions plus hautes afin d’améliorer la sensibilité et la précision du pointage. C’est pourquoi Peter Hutterer et Benjamin Tissoires [ont proposé une RFC](https://lists.freedesktop.org/archives/wayland-devel/2019-April/040377.html) pour Wayland afin de tenir compte de ces cas d’usage. Le périphérique Dell Totem pourrait avoir une prise en charge pour Fedora 31. ## La construction des applications Flatpak [](https://blog.fedora-fr.org/public/renault/Illustrations/GNOME_Logiciels_Flatpak_RPM.png) 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. Depuis la dernière fois, des progrès sensibles ont été obtenus. Un [site Web](https://fedora.fishsoup.net/flatpak-status/) a été mis en ligne pour suivre l’évolution de ce travail pour une dizaine de paquets. Une fois que cet essai sera transformé, l’objectif est bien sûr d’étendre ce système à l’ensemble des paquets concernés. Une réflexion est menée pour que GNOME Logiciels propose via une option de choisir d’installer un logiciel depuis Flatpak ou le dépôt RPM par défaut. À plus long terme l’option disparaîtrait pour laisser place aux Flatpak uniquement, les RPM seraient relégués à la base du système. ## L’outil fleet commander avec Active Directory [](https://blog.fedora-fr.org/public/renault/Confs/FleetCommander.png) [Fleet Commander](https://wiki.gnome.org/Projects/FleetCommander) 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. Il permet de gérer des milliers de machines. Il est possible de configurer les postes avec un navigateur Web ou l’outil Cockpit. Oliver Gutierrez a intégré la sauvegarde de la configuration avec la solution Active Directory en plus de FreeIPA, qui n’attend plus que la mise à disposition de la nouvelle version. Cela permettra de rendre cet outil plus pertinent dans plus d’entreprises et d’administrations, qui utilisent plus souvent Active Directory que FreeIPA. ## Fedora Silverblue  Fedora travaille beaucoup pour concevoir un système atomique, selon les travaux de [Project Atomic](https://www.projectatomic.io/). Actuellement, c’est la version _Cloud_ qui en bénéficie nativement, 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, par exemple, les risques liés à une procédure exécutée dans un ordre différent de celui prévu. 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. Une telle architecture propose aussi un système dans un état _immutable_, le rendant plus fiable. Ce qui impose une séparation plus stricte et claire entre le système et les applications. Cela parachève le travail envisagé par le projet [Fedora.next](https://fedoraproject.org/wiki/Fedora.next#Fedora_Magazine_Articles). L’objectif est que Fedora propose un système de base et _immutable_ à travers _rpm-ostree_, et que les applications traditionnelles soient installées uniquement avec des Flatpak. Devant l’intérêt récent pour cette technologie, un [groupe de travail](https://fedoraproject.org/wiki/Workstation/AtomicWorkstation/SIG) a été constitué l’année dernière. Le projet a également été renommé en Fedora Silverblue, et de grands progrès fonctionnels ont eu lieu depuis. En effet, cela fait deux cycles de développement de Fedora pendant lesquelles Fedora Silverblue a bénéficié d’une journée de tests. Ainsi, de nombreuses personnes, dont votre serviteur, ont pu le tester pour vérifier la viabilité du système avec l’image de base et les applications provenant du dépôt Flathub. Et les résultats sont positifs. Aujourd’hui, la gestion des Flatpak est complète. GNOME Logiciels permet de gérer un système reposant sur _rpm-ostree_. Les situations un peu particulières ont été réglées, comme Google Chrome qui installe tout dans `/opt`, ou le pilote graphique propriétaire de NVIDIA qui ne peut être distribué nativement. Le travail reste important pour gérer l’ensemble des cas d’usage tout en proposant une expérience utilisateur optimale. Par ailleurs, quelques travaux restent nécessaires pour proposer des environnements de développement complets capables de gérer un tel système, la gestion des codecs ou encore des applications complexes comme VirtualBox. Matthias Clasen a publié un [article complet](https://blogs.gnome.org/mclasen/2019/04/03/silverblue-at-1/), pour ceux qui veulent plus de détails. Vous pouvez tester Fedora Silverblue en téléchargeant [les images](https://silverblue.fedoraproject.org/download) mises à disposition régulièrement. # Conclusion Comme nous pouvons le voir avec cette liste d’exemples, des distributions d’envergure comme Fedora, mais aussi Ubuntu, Debian ou autres peuvent apporter bien plus qu’une liste de logiciels à installer. Elles proposent des nouveaux outils, participent au développement ou à la stabilisation des logiciels qu’elles fournissent, peuvent collaborer avec d’autres entreprises ou communautés pour améliorer la prise en charge de leurs produits. 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.