Fedora songe à se débarrasser du 32 bits, mais le jeu vidéo pose problème

Cyberéthique et libertés numériques

One does not simply walk into full 64 bits


La distribution Fedora devrait-elle abandonner totalement le support du 32 bits ? Bien que le 64 bits soit utilisé dans l’immense majorité des cas, certaines applications freinent le dernier coup de balai. Steam est au premier rang, et pose la question de la responsabilité de certains éditeurs.

Mi-juin, Steam proposait enfin une version compilée nativement pour les puces Apple Silicon des Mac. Le premier MacBook Pro équipé d’une puce M1 est sorti en 2020, et il a fallu cinq ans à Valve pour produire cette mouture, qui n’est encore qu’une bêta. Un pas important quand même, car la version stable actuelle, avec son émulation via Rosetta 2, est particulièrement lente et désagréable à utiliser, avec des bugs visuels. En revanche, les bibliothèques de Steam ont été mises à jour il y a quatre ans pour permettre les jeux compilés nativement pour Apple Silicon de fonctionner.

Ce n’était pas la première que nous évoquions le cas de Steam, qui apparaissait alors comme un goulot d’étranglement pour l’expérience du jeu vidéo sur les Mac. Mais si cette thématique peut apparaître marginale pour certains, on la retrouve aussi sur Linux. C’est ce qui ressort d’une proposition faite par l’équipe de Fedora de se débarrasser des dernières bibliothèques 32 bits.

Vers le tout 64 bits

Le 24 juin, trois développeurs de l’équipe Fedora ont proposé un changement pour la version 44 à venir de la distribution (la version 42 est sortie en avril) : abandonner le support des dernières bibliothèques 32 bits, ne plus construire aucun paquet pour l’architecture i686 et faire de Fedora une distribution purement x86_64.

Précisons d’emblée que la distribution, connue pour ses décisions franches en matière de modernité logicielle, est presque entièrement 64 bits depuis sa version 31. Plus aucun paquet de noyau, image d’installation n’est fourni, pas plus que de référentiel pour les paquets concernés. En revanche, les paquets sont toujours construits pour cette architecture, notamment certaines bibliothèques nécessaires à des applications 32 bits (support multilib), dont Steam.

La proposition des développeurs couvre deux changements. D’abord, les paquets construits pour i686 ne seraient plus inclus dans les dépôts x86_64, ce qui revient à stopper le support multilib. Un changement simple, facilement réversible. En revanche, le second consisterait à ne plus compiler aucun paquet pour i686. Cette étape est considérée comme « fondamentalement irréversible ». Telle que la proposition est envisagée, il s’écoulerait au moins quatre semaines entre les deux étapes, pour détecter les problèmes potentiels.

Quand ce changement sera appliqué, un mécanisme permettra de supprimer tous les paquets i686 encore installés, afin de ne pas garder des paquets « qui ne seront plus mis à jour, maintenus, ou qui pourraient causer des problèmes de mise à niveau à l’avenir ».

Se débarrasser d’un poids

Pour les trois développeurs, supprimer les derniers liens avec le 32 bits permettra à Fedora de diminuer « le fardeau des mainteneurs de paquets, de l’ingénierie des versions, de l’infrastructure et des utilisateurs ». La compilation et la maintenance des paquets i686 demandent en effet « de plus en plus d’efforts », selon eux.

Une liste de changements concrets est fournie dans la fiche de proposition. On sait ainsi que des paquets devront être modifiés pour s’adapter à la nouvelle situation. Le cas de Wine est mis en avant : il « devra être construit dans la « nouvelle configuration WoW64 », qui permet d’exécuter des applications Windows 32 bits sur des systèmes hôtes 64 bits uniquement ».

Plus généralement, l’abandon définitif d’i686 libèrerait des ressources sur les machines actuellement réservées à la construction des paquets concernés. Elles seraient alors réorientées, logiquement, vers la construction des paquets x86_64, qui seraient alors obtenus plus rapidement. Même cette dernière serait plus rapide et plus fiable, car le support 32 bits serait « basé sur des heuristiques et des règles fragiles », dont la suppression simplifierait d’autant le processus pour les paquets 64 bits.

La décision entrainerait la suppression de 10 000 paquets i686 actuellement présents dans les dépôts x86_64. Les métadonnées de ces dépôts seraient alors plus petites, « ce qui devrait accélérer leur téléchargement et toutes les opérations DNF qui impliquent la résolution de dépendances ».

« C’est compliqué »

On pourrait penser que supprimer définitivement les derniers morceaux de 32 bits presque 13 ans après la réorientation drastique vers le 64 bits serait une étape simple. Après tout, Fedora 44 serait loin d’être la première distribution 100 % 64 bits, puisque CentOS 7 l’était déjà par exemple. Mais il n’y a rien de simple, comme on peut le voir dans les commentaires faits sur la proposition.

Le plus gros problème concerne le jeu vidéo. Un domaine en pleine explosion sur Linux, grâce au travail de Valve sur la couche Proton (basée sur Wine), qui permet de faire fonctionner de nombreux jeux Windows sur Linux. Un mécanisme que l’on retrouve au cœur de SteamOS et du Steam Deck, même si la disponibilité d’une version compilée nativement pour Linux produit bien sûr de meilleurs résultats.

Mais le même Valve représente aussi un goulot d’étranglement. En dehors de la version bêta proposée pour les Mac Apple Silicon, il n’existe aucune version purement 64 bits du client. Même la version Windows contient encore des éléments 32 bits.

Steam cristallise les problèmes

Les problématiques de Steam sont cependant spécifiques, car la boutique contient un nombre énorme de jeux, dont beaucoup de vieux titres en 32 bits. Sur Mac, ce n’est plus un problème : on ne peut pas lancer d’applications 32 bits sur les machines Apple Silicon. Sur Windows, WOW64 permet le fonctionnement des logiciels 32 bits sur un système 64 bits.

Mais sur Linux, comme relevé par plusieurs personnes dans les commentaires de la proposition, arrêter le 32 bits reviendrait à abandonner tous les jeux 32 bits fonctionnant actuellement. Il y aurait également des conséquences pour les distributions en aval de Fedora, comme Bazzite et Nobara. La capture vidéo par OBS ne fonctionnerait plus non plus. Et, bien sûr, Steam ne serait plus compatible, entrainant l’impossibilité d’accéder aux titres liés au compte. Des solutions sont parfois proposées par les utilisateurs, comme le passage au paquet Flatpak de Steam (fourni avec ses dépendances), mais il ne répondrait pas à tous les cas d’usage, seul le paquet DEB fourni par Valve étant officiellement supporté.

Une simple proposition

Il ne s’agit pour l’instant que d’une proposition, les développeurs insistent largement sur ce point. Si la levée de boucliers ne devait pas déboucher sur une solution pratique, elle pourrait donc être reportée encore à plus tard. On pourrait aussi penser que Valve a toutes les cartes en main. Il est vrai qu’un paquet Steam en 64 bits répondrait à de nombreux problèmes, mais il resterait la question des jeux eux-mêmes. Sans parler de la couche Proton ou même de Wine, qui devraient suivre le mouvement.

Sur leur proposition, les trois développeurs indiquent que la question va rester ouverte pendant six mois. Difficile de savoir pour l’instant si elle va être acceptée : la problématique est complexe, mais des annonces pourraient aussi intervenir, notamment du côté de Valve. L’arrivée de la bêta native pour Apple Silicon signifie qu’une recompilation a été faite pour l’architecture arm64, signe que le sujet progresse dans l’entreprise.

Auteur : Vincent Hermann

Aller à la source

Artia13

Bonjour ! Je m'appelle Cédric, auteur et éditeur basé à Arles. J'écris et publie des ouvrages sur la désinformation, la sécurité numérique et les enjeux sociétaux, mais aussi des romans d'aventure qui invitent à l'évasion et à la réflexion. Mon objectif : informer, captiver et éveiller les consciences à travers mes écrits.

Artia13 has 2616 posts and counting. See all posts by Artia13