Apports de Fedora à l’écosystème du logiciel libre (3ᵉ partie)

Posté par  (site web personnel) . Édité par ZeroHeure, Davy Defaud, jmiven, palm123 et antistress. Modéré par Davy Defaud. Licence CC By‑SA.
28
14
mai
2020
Fedora

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 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, et par là encore de Christian Schaller, qui m’en a donné l’autorisation. Il fait suite à un premier article à ce sujet puis à un second. Le premier article avait donné lieu à une conférence lors des JM2L de 2017 et aux RMLL de 2018 dont la vidéo est disponible.

Sommaire

Wayland

La transition vers ce nouveau protocole d’affichage requiert toujours des ajustements et des travaux de long terme. Actuellement, GNOME Shell est en train d’achever cette transition en étant capable de lancer une session GNOME sans utiliser XWayland. Ce dernier ne serait démarré qu’en cas de lancement d’une application ayant toujours besoin de X11. En effet, quelques composants internes, comme le démon GNOME Setting, reposaient encore sur l’existence de X11 pour fonctionner.

Il est possible à titre expérimental de forcer ce comportement à l’aide de la commande suivante :

$ gsettings set org.gnome.mutter experimental-features "['autostart-xwayland']"

Cela est rendu possible par Carlos Garnacho, pour le travail sur GNOME Shell, Olivier Fourdan, pour le nettoyage du centre de contrôle de GNOME, Iain Lane (de Canonical), pour l’amélioration des sessions utilisateurs de systemd, et Benjamin Berg, de manière générale.

Dans la même veine, Martin Stransky et Jan Horak ont travaillé pour corriger les derniers bogues afin que Firefox puisse utiliser Wayland par défaut dans Fedora 31. Martin Stransky a aussi travaillé pour fournir la prise en charge de l’accélération matérielle (WebGL, décodage vidéo).

Clic au survol quand le camembert est rempli

L’une des grandes régressions étaient aussi les outils d’accessibilité de X.Org qui ne fonctionnaient plus sous Wayland. Mais grâce à Olivier Fourdan, cette prise en charge a été améliorée et il est maintenant possible de cliquer au survol d’un élément graphique pendant un certain temps (réglages ci‑dessus).

Hans de Goede travaille aussi pour autoriser les applications XWayland à être lancées avec les droits super‑utilisateur. Certes, cela n’est pas une action recommandée, mais peut être nécessaire pour des raisons de compatibilité.

Il travaille aussi à l’amélioration de la prise en charge de la bibliothèque d’affichage SDL pour un fonctionnement correct sous Wayland, en particulier pour les jeux vidéo avec une faible résolution.

Enfin, Adam Jackson opère sur la possibilité d’avoir l’accélération matérielle pour les applications XWayland, quand le pilote propriétaire NVIDIA est utilisé. Les autres pilotes ou cartes matérielles n’ont, quant à eux, pas ce genre de problèmes, grâce à leur inclusion dans le noyau Linux officiel et l’exploitation de l’API moderne pour l’affichage.

Si vous souhaitez les aider dans ce travail, vous pouvez modifier le fichier /usr/lib/udev/rules.d/61-gdm.rules pour commenter la ligne suivante :

DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland

Qui doit devenir :

# DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland

Ainsi, même avec le pilote propriétaire de NVIDIA, la session de GNOME par défaut sera Wayland et non X.Org, comme pour les autres cas de figure. X.Org sera utilisé en cas de problèmes majeurs d’affichage. Et si vous rencontrez un bogue dans cette configuration, n’oubliez pas de le signaler aux développeurs.

Il n’est plus très loin le moment où X.Org ne sera qu’un projet en mode maintenance uniquement.

Pipewire

Wim Taymans continue de travailler pour être capable de remplacer JACK et PulseAudio pour la gestion du son. Par ailleurs, le remplacement de Jack est considéré comme opérationnel aujourd’hui. Pour PulseAudio, le remplacement est actuellement fonctionnel pour la lecture simple de flux audio, mais pas au‑delà.

Avec Jonas Adahl et Benjamin Berg, ils ont apporté la prise en charge de Miracast pour exporter l’écran et le son vers un appareil, comme un téléviseur, via le réseau.

Application GNOME Network Displays

Un client de test pour GNOME, Network Displays, a été conçu à cette fin avant une intégration probable dans la base de GNOME à l’avenir.

Une option de configuration a été ajoutée dans Google Chrome pour prendre en charge le partage d’écran sous Wayland via WebRTC.

Flatpak

Le travail se poursuit pour fournir une infrastructure automatique qui génère des Flatpak à partir de RPM. Les étapes sont à ce jour encore trop manuelles.

Une intégration future de Flathub et de Quay comme dépôts alternatifs disponibles par défaut suit aussi son chemin.

Fedora Toolbox

Debarshi Ray a amélioré l’intégration dans GNOME Terminal. Quand une instance est ouverte dans un onglet, en ouvrir un nouveau à partir de celui‑ci va pointer par défaut sur l’espace de ce conteneur plutôt que sur le dossier courant du système hôte.

L’outil a été réécrit pour améliorer sa maintenance à long terme. En passant d’un immense script shell vers un programme conçu en Go. De plus, comme les outils buildah et podman sont eux‑mêmes conçus en Go, cela simplifiera les synergies et les collaborations entre ces différents projets.

Fleet commander

La version 0.14.1 de cette application ajoute la prise en charge des réseaux d’entreprise basés sur Active Directory en plus de FreeIPA. Cela favorisera son adoption dans un réseau d’entreprise centré sur Windows, ce qui est encore souvent le cas.

Il est aussi possible depuis cette version de déployer une extension GNOME dans le parc de machines.

Un travail d’Oliver Gutierrez Suarez est aussi en cours pour améliorer la prise en charge de la configuration de Firefox.

Mode jeu

Le fameux gamemode développé par Christian Kellner continue ses améliorations vers une meilleure intégration avec les applications Flatpak.

Gestion du matériel

Lecteurs d’empreintes digitales

La pile fprint qui est la référence libre pour la prise en charge de ces appareils a été pendant longtemps dans un état léthargique. Bastien Nocera a entrepris une modernisation de ce composant, qui consiste notamment en une amélioration de la documentation du projet, en l’ajout de code d’exemple et une mise à jour de certains pilotes.

Un nouveau pilote pour prendre en charge certains lecteurs de Synaptics est en voie de finalisation.

Benjamin Berg, quant à lui, essaye d’apporter la possibilité d’enregistrer les empreintes digitales au sein du lecteur lui‑même, quand c’est possible, plutôt que de les stocker sur le disque dur comme cela est fait actuellement.

Dell Totem

Dell Totem

Le dispositif de pointage très particulier Dell Totem est maintenant pris en charge par la bibliothèque libinput. Benjamin Tissoires et Peter Hutterer ont rendu cela possible, alors qu’il est utilisé notamment dans le domaine de la conception assistée par ordinateur.

Micrologiciels

Application GNOME Firmware

Richard Hughes continue son travail sur LVFS pour fournir des mises à jour de micrologiciels sous Linux. Il a écrit une application GNOME Firmware pour afficher les micrologiciels de votre système, quelques informations à leur propos et, s’ils sont compatibles, rechercher leur mise à jour.

Sysprof et les performances

Application Sysprof

L’amélioration des performances est un sujet important pour les utilisateurs comme les développeurs. Dans la course à améliorer celles de GNOME Shell, un constat s’est imposé : il manque des outils simples d’usage pour mesurer précisément les performances d’un bureau ou d’une application afin d’identifier et de corriger finement les comportements qui réduisent les performances du système.

Christian Hergert a conçu l’outil GNOME Sysprof pour récupérer et afficher des données relatives à un processus. L’application permet de mesurer durant l’utilisation du logiciel à analyser au cours du temps différents paramètres comme l’usage de la mémoire, du processeur, des accès disque ou réseau. Il affiche également les fonctions qui allouent de la mémoire et le temps processeur passé dans les fonctions.

D’ailleurs, Christian Hergert a découvert et corrigé des appels d’API bloquants dans la boucle principale de GNOME Shell, ce qui réduisait la fluidité en cas d’utilisation intensive des entrées‐sorties de l’ordinateur. Le système devrait se montrer plus réactif dans ce cas de figure.

GNOME

Le nouvel écran de verrouillage

Le nouvel écran de verrouillage de GNOME

Il a été profondément remanié par Allan Day et l’équipe design de GNOME. L’intégration entre l’écran de verrouillage, où les notifications et l’heure sont affichées, et celui de la saisie du mot de passe est meilleure. Ce dernier, par ailleurs, permet d’afficher le mot de passe, si souhaité, pour s’assurer qu’il a été correctement saisi. Le fait d’utiliser le fond d’écran de l’utilisateur en mode flouté permet aussi d’apporter plus de cohérence et d’élégance à l’interface.

GNOME Extensions

La nouvelle application GNOME Extentions

Cette nouvelle application a été conçue pour gérer les extensions de GNOME, qui permettent d’ajouter ou de modifier des comportements de GNOME Shell sans entraver la maintenance du code principal. Auparavant, les extensions étaient gérées soit via GNOME Ajustements qui est un peu fourre‑tout ou via le site dédié à cet effet. Ce n’était pas spécialement clair pour l’utilisateur. Ici, l’application s’occupera exclusivement de cette tâche et son nom aidera à guider les utilisateurs vers cette fonction s’ils le souhaitent.

GNOME Classique

GNOME Classique est un thème de GNOME Shell pour essayer de reproduire l’interface de GNOME 2, tout en gardant les bases techniques de GNOME 3. Allan Day a supprimé la vue globale des applications dans ce mode, qui est spécifique de l’interface de GNOME 3, pour le rendre plus proche de l’expérience utilisateur que l’on avait avec GNOME 2. Ce mode était automatiquement utilisé en pointant le curseur de la souris dans le coin supérieur gauche de l’écran.

QtGNOME

Cette couche de compatibilité entre les applications écrites en Qt et GNOME permet de s’assurer que les applications s’intègrent du mieux que possible dans GNOME. Utiliser le même thème, choisir l’affichage sombre ou clair, etc. Jan Grulich a apporté une mise à jour de ce composant pour refléter les changements du thème par défaut de GNOME, Adwaita, et améliorer l’intégration avec les applications Flatpak.

Internationalisation

L’internationalisation est rarement totalement bien prise en charge. Elle requiert souvent des étapes manuelles pour l’utilisateur afin d’avoir tout le contenu de son système dans sa langue natale, avec les polices qui peuvent l’afficher et un format de données qui correspond.

Malgré les améliorations constantes de ce domaine ces dernières années, changer de langue nécessite toujours de faire des actions à plusieurs endroits, comme configurer l’environnement de bureau et installer les paquets manquants. Sundeep Anand a corrigé ce problème sous GNOME, où choisir la langue dans le centre de contrôle entraînera l’installation des langpacks nécessaires.

Codecs multimédias

Cisco, Endless, Red Hat et Centricular ont œuvré pour fournir une mise à jour du codec OpenH264 2.0. Cette mise à jour permet la prise en charge de profils additionnels de ce codec, ici High et Advanced, afin de pouvoir lire plus de fichiers employant ce codec.

Wim Taymans a corrigé certains bogues de qualité audio pour les fichiers audio encodés avec AAC.

Le codec MPEG‑2 est également dans la liste des travaux à venir pour améliorer sa prise en charge native avec du logiciel libre dans une bonne qualité. Des codecs plus exotiques, comme Windows Media ou DivX, sont en vue mais pas dans les priorités du moment.

Ce que le futur nous réserve

GNOME

Certaines optimisations dans GNOME devraient encore avoir lieu, notamment autour de la gestion du matériel. En ne démarrant les services et les interfaces de configuration uniquement si le matériel sous‑jacent les rendent pertinents. Ainsi, le démon de prise en charge du Bluetooth ne sera pas démarré si le matériel ne le prend pas en charge.

Pipewire

Les avancées de Pipewire rendent envisageable sa mise en place par défaut dans Fedora Workstation 33. Bien qu’il reste à finaliser le remplacement de PulseAudio. Par ailleurs, un travail est en cours pour permettre l’enregistrement de flux vidéo avec zéro copie mémoire. Une optimisation nécessaire pour garantir un traitement rapide en évitant de surcharger le processeur dans cette tâche.

Prise en charge du matériel

Atomic KMS

Jonas Ådahl travaille pour utiliser atomic KMS dans le noyau et la pile graphique du système, afin que l’affichage et la configuration de celui‑ci se fassent de manière atomique. Cela peut permettre aussi d’utiliser des fonctionnalités plus avancées du matériel. Par exemple, utiliser le matériel pour stocker le contenu de chaque fenêtre cliente de manière indépendante. De cette manière, si seul le contenu de l’une d’elle change, l’étape de composition peut être sautée au niveau logiciel, ce qui accélère la vitesse du rendu. Ou encore, pour permettre d’utiliser des tampons de trame (framebuffers) sur des écrans plus grands encore avec de bonnes performances.

De plus, le rendu KMS pourrait être effectué dans un fil d’exécution séparé, ce qui réduirait la latence entre un mouvement de la souris et son affichage.

Divers

En collaboration avec Lenovo, certaines fonctionnalités sont attendues dans le futur. Tout d’abord, la prise en charge des microphones à large champ, ce qui est utile en téléconférence quand une personne n’a pas de casque et est possiblement éloignée du micro. Ensuite, il y a la détection de l’utilisation de l’ordinateur portable sur des jambes, afin d’éviter de brûler l’utilisateur dans un tel cas, ce qui est courant en déplacement. Enfin, il y a la prise en charge de la fonctionnalité matérielle pour limiter l’angle vision sur l’écran de l’ordinateur. La lecture ne serait possible que de face, évitant qu’un voisin ou quelqu’un qui passe derrière vous puisse lire l’intégralité de votre écran. Cela améliorerait la confidentialité de ce qui est affiché.

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.

Ici, nous ne parlons que des travaux significatifs de ces 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é !

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é aujourd’hui à la plupart des distributions. Et cela n’est pas près de se terminer.

Par ailleurs, la consécration de ces efforts a été la signature récente du partenariat entre Lenovo et Fedora pour fournir des ordinateurs portables avec Fedora Workstation préinstallée. Cela n’étant possible que parce que le système a atteint une certaine maturité. De plus, ce partenariat sera sans doute le point de départ pour améliorer encore la prise en charge du matériel nativement par le système, comme cela a été expliqué brièvement plus haut. Par ailleurs, ce sera effectivement une Fedora Workstation libre qui sera utilisée, avec uniquement des pilotes libres de base.

Aller plus loin

  • # Redhat, ou comment interdire d'aider les autres avec le droit des marques

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

    Redhat, ou comment interdire le logiciel libre avec le droit des marques.

    RHEL devient donc un logiciel propriétaire, dont on ne peut redistribuer des copies, ce qui est contraire à la liberté 2, celle d'aider les autres:

    https://www.gnu.org/philosophy/free-sw.fr.html

    "la liberté de redistribuer des copies, donc d'aider les autres (liberté 2) ;"

  • # GNOME Firmware

    Posté par  (site web personnel) . Évalué à 4. Dernière modification le 14 mai 2020 à 14:07.

    Merci pour la dépêche !

    Je ne connaissais pas GNOME Firmware que je me suis empressé d'installer sur ma Debian Testing.

    En deb ou en flatpak, le logiciel se lance, me montre mes trois disques mais les boutons Verify Show Releases sont grisés à chaque fois, donc ça ne sert à rien dans mon cas.

    Et le bouton Refresh Matadata renvoie une erreur dans les trois cas.

    De plus il manque le microcode de mon CPU Intel dans la liste, qui devrait s'ajouter à celui de mes disques.

    Est-ce que cela marche différemment chez quelqu’un d'autre ?

  • # H264

    Posté par  (site web personnel) . Évalué à 3. Dernière modification le 15 mai 2020 à 12:51.

    Merci pour la news, très complète et intéressante.
    J'ai une question au sujet de ce paragraphe :

    Cisco, Endless, Red Hat et Centricular ont œuvré pour fournir une mise à jour du codec OpenH264 2.0. Cette mise à jour permet la prise en charge de profils additionnels de ce codec, ici High et Advanced, afin de pouvoir lire plus de fichiers employant ce codec.

    Pourquoi ne pas utiliser x264 ?
    Est-ce que la réponse est "parce qu'il y a des risques juridiques potentiels alors on préfère utiliser l'implémentation de Cisco parce que cette société se porte garant des risques juridiques liés aux brevets" ?
    Si oui alors franchement est-ce important que RedHat travaille pour mettre à jour OpenH264 ? La majorité des gens ont x264 sur leur système qui propose déjà les profils High et Advanced depuis des lustres et qui est l'implémentation très largement reconnue comme étant la meilleure pour les flux H.264.
    Donc cette amélioration d'OpenH264 n'est pas vraiment une amélioration de "l’écosystème du logiciel libre" puisqu'on avait déjà mieux depuis des années.

    • [^] # Re: H264

      Posté par  . Évalué à 3.

      Je ne suis pas d'accord, avoir plusieurs implémentations est plutôt une bonne chose. Même si effectivement, la raison n'est pas terrible.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: H264

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

      Je ne connais pas tous les détails, mais de souvenir l'implémentation de Cisco est la seule utilisée par Firefox par exemple donc il est nécessaire de l'améliorer pour le navigateur par défaut.

      Et si je me trompe pas les raisons juridiques font qu'en effet Cisco peut rejoindre les dépôts de Fedora (enfin, le dépôt fedora-cisco-openh264 qui est géré par Fedora) mais pas x264 qui reste dans RPMFusion.

      Cela améliore la possibilité de fournir par défaut dans des dépôts libres même dans les pays où les droits liés aux brevets logiciels est problématique. Ce n'est pas rien même si en effet on pouvait lire du H264 avant.

    • [^] # Re: H264

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

      C'est parce que Cisco paye la redevance de l'usage de OpenH264

Suivre le flux des commentaires

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