Fedora songe à se débarrasser du 32 bits, mais le jeu vidéo pose problème
One does not simply walk into full 64 bits

Le 30 juin à 12h19
8 min
Logiciel
Logiciel
Mise à jour du 30 juin à 16h24 : La proposition a en fait été retirée il y a deux jours : l'abandon du 32 bits est repoussé. Les problèmes soulignés vont donc rester entiers jusqu'à ce que la situation évolue de nouveau. Pour Fabio Valentini, l'un des développeurs à l'origine de la proposition, elle ne va pas se régler d'elle-même. Il dit regretter certaines réactions violentes. « Je suis maintenant impatient de voir des contre-propositions réelles (et exploitables) », a-t-il ajouté à la fin de son message.
Article original : 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 fois 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.
Fedora songe à se débarrasser du 32 bits, mais le jeu vidéo pose problème
-
Vers le tout 64 bits
-
Se débarrasser d’un poids
-
« C’est compliqué »
-
Steam cristallise les problèmes
-
Une simple proposition
Commentaires (40)
Abonnez-vous pour prendre part au débat
Déjà abonné ? Se connecter
Cet article est en accès libre, mais il est le fruit du travail d'une rédaction qui ne travaille que pour ses lecteurs, sur un média sans pub et sans tracker. Soutenez le journalisme tech de qualité en vous abonnant.
Accédez en illimité aux articles
Profitez d’un média expert et unique
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousLe 30/06/2025 à 12h25
Modifié le 30/06/2025 à 19h06
Au pif ? Undertale. Un bien connu parmi une légion de jeux dans cette situation. (Qui dépend même de OpenSSL 1.0, oui oui...)
Et je ne parle même pas des vieux jeux pas mis à jour, qui ont besoin de dépendances spécifiques pour tourner en 32 bits via Wine, aussi bien qu'en Natif sous Linux.
Le 30/06/2025 à 12h44
Modifié le 30/06/2025 à 14h31
Edit : oublié de préciser :
sarcomesarcasme.Re edit : pas 2 milliards, quatre... (je laisse l'erreur dans le texte pour que vous puissiez vous moquer de ma capacité à calculer en base 2)
Le 30/06/2025 à 15h19
Le 30/06/2025 à 17h20
Ben donc on ne met pas l'OS à jour...
Le 30/06/2025 à 23h42
Pas besoin d'un fedora 32bit pour ces gens là, un xp sp2 est assez bon et au moins quand les clients se font hacker, pas de mauvaise réputation pour gnu/linux...
Le 01/07/2025 à 06h03
Sous XP SP2, si l'exécutable A (en gros depuis le menu principal) fait un appel DCOM à un exécutable B (en gros un plug-in) et que cet exécutable B veut afficher une boîte de dialogue pour demander l'avis à l'utilisateur, la boîte apparaît en avant plan. Sur les versions ultérieures c'est impossible sans que A délègue explicitement le focus à B... YAKA !!! sauf que A ne sait pas que c'est à B qu'il doit déléguer, puisque tout ce qu'il sait c'est un objet DCOM qui traite la requête... Il ne sait même pas si B va afficher ou non un dialogue.
Le 01/07/2025 à 11h32
"je sais pas faire d'applications embarquées correctement, et c'est pour cela que vous ne pourrez jamais faire de mise à jour sécurité".
Le 30/06/2025 à 22h57
Le 01/07/2025 à 14h19
Après, faut aussi trouver où est planqué le lecteur de disquette
Le 30/06/2025 à 13h42
Le passage de 16 bits à 32 a été une révolution pour toutes les applications qui ont pu cesser d'accéder à EMS/XMS ; de 32 à 64, nettement moins. Donc "ça va obliger les entreprises à changer d'avis", heu non, ça va les obliger à rester sur des distributions de 2020 non supportées...
Avant qu'on dérive là-dessus, non Bill Gates ne l'a jamais dit... Il s'est résigné à supporter la limite de 640K ("Il faudra bien qu'on fasse en sorte que ça soit suffisant"), pas affirmé que c'était parfait.
Le 30/06/2025 à 16h07
Pour contrôler ta machine outil, tu n'as pas non plus besoin d'AVX512 ni même de SSE ; mais le CPU en est équipé, vas-tu chercher à cramer le silicium correspondant ou vas-tu simplement le laisser là sans t'en servir ?
Le 30/06/2025 à 18h15
Pour l'existant, dont les logiciels métier, et encore plus les logiciels qui interfacent des boîtiers custom, en leur titillant les bits, c'est une autre histoire.
Si c'est compliqué pour Fedora de maintenir deux versions de chaque librairie, c'est tout aussi compliqué pour un fabricant de machines à cambrer les bananes...
Le 30/06/2025 à 19h21
Le 30/06/2025 à 22h20
Après tout le CPU lui-même ne supprime pas le 32 bit...
Le 01/07/2025 à 05h47
Le 01/07/2025 à 05h44
Le 01/07/2025 à 09h59
Le 01/07/2025 à 11h20
Il y a aussi les personnes qui en cette même année 1999 ont participé à l'élaboration d'une telle application qui, sans pour autant se targuer d'être la quelconquième merveille du monde, continue à être activement plébiscitée par les clients parce qu'elle répond toujours exactement à leurs besoins actuels malgré quelques indices visuels de son âge avancé.
Bizarrement, quel que soit le forum, ces deux groupes de personnes sont systématiquement distincts.
Le 01/07/2025 à 11h32
Sinon, pour la petite histoire, j'ai effectivement un code que je maintiens depuis 1999, qui tournait à l'origine sur Sparc sous Solaris, compilé avec Sun Pro, et sous IRIX avec un compilo dont j'ai même oublié le nom, et qui tourne à l'heure actuelle sans problème sur ARM64 avec gcc 14.
Le 01/07/2025 à 13h02
Juste pour savoir, combien de SLOC ? Note application tourne autour de 700.000 lignes de Delphi, 160.000 de PL/SQL (ha oui, cette partie-là tourne en 64 bits...), avec un peu de C K&R et du C#. Ah et une tonne de scripts en VBscript écrits par les clients en 2003 mais qui doivent encore "fonctionner comme avant". Avec aussi tous les plug-ins de communication avec les appareils de mesure, dont certains sont particulièrement velus avec des partages de mémoire via MapViewOfFile, NetBIOS, des bases de données dont plus personne ne connaît l'existence, etc... On a pu jeter le code qui allait taper des donnés directement dans une émulation terminai AS/400 mais le reste des trucs rigolos, on les garde. Non, passer tout ça en 64 bits n'a rien de trivial.
Le 01/07/2025 à 13h51
Bon, je m'incline, je n'ai que 500k SLOC.
Le 01/07/2025 à 14h08
Le 30/06/2025 à 14h06
https://www.phoronix.com/news/Fedora-44-To-Keep-x86-32-bit
Le 30/06/2025 à 16h32
Le 30/06/2025 à 14h46
Le 30/06/2025 à 16h52
Le 30/06/2025 à 17h21
Le 01/07/2025 à 16h21
Modifié le 30/06/2025 à 20h21
après le 64bits c'est au final qu'une histoire de pointeurs 8octets au lieu de 4. On ne pourrait pas avoir une "surcouche" qui quand elle reçoit un call à une fonction 32bits appelle la même en 64bits ? Pour éviter d'avoir des conflit d'adresse j'imagine qu'il faut sandboxer tout ça et allouer jusqu'à 4.7Go adressable à cette sandbox mais ça me parait vraiment jouable. Après faut voir si faire et maintenir cette surcouche vaut le coût et le coup.
edit : je ne semble pas être le seul à y avoir pensé il existe un dépot github pour faire tourner des applis 16bits sur un windows 64bits (qui a encore des appels 32bits mais j'imagine qu'ils pourraient faire ces appels en 64 aussi)
wine based Win16->Win32 conversion codes:
BOOL16 WINAPI DestroyWindow16( HWND16 hwnd )
{
return DestroyWindow( WIN_Handle32(hwnd) );
}
Relay routines from 16-bit to 32-bit are autogenerated by convspec
53 pascal -ret16 DestroyWindow(word) DestroyWindow16
DOS emulation for Win16
16-bit native HANDLE conversion
Le 30/06/2025 à 20h14
Mais sur x86, on change du tout au tout (en gardant les registres 32b comme poids faibles de certains registres 64b).
Pareil sur ARM d'ailleurs.
Modifié le 30/06/2025 à 20h39
edit: d'après la fiche wikipédia les 81instructions originales du x86 8bits existe toujours dans les x86-64 ce qui semble valider mon idée mais si jamais t'as une source ça m'interresse
et d'ailleurs encore sur wikipédia le x86-64 n'est pas vraiment 64bits réellement en espace mémoire adressable
Le 01/07/2025 à 10h06
Mais au passage en mode 64b, il y a d'un seul coup 2 fois plus de registres, et des instructions capables d'adresser n'importe quelle paire de registres, ce qui rend le code 64b 100% spécifique.
Mais le CPU reste capable de passer en mode 32b, ce qui permet (bientôt on dira "permettait") à un kernel 64b de lancer un exécutable 32b.
Et concernant la taille effective des pointeurs, tous les CPUs 64b que j'ai rencontrés ont démarré avec moins de 64b utilisés dans un pointeur. Mais c'est bien comme ça: Démarrer à 48b pour les adresses permet de voir venir (255To adressables si je ne me trompe) tout en limitant le coût du CPU et de la carte mère
Le 01/07/2025 à 11h37
Le 01/07/2025 à 14h21
Voici quelques points concernant le mode 64b:
- Certaines instructions legacy sont devenues illégales
- Les instructions simples INC et DEC sont devenues des préfixes
Comment garantir qu'un code 32b ne les utilise pas ?
Je laisse de côté les registres de segment, je ne sais pas si gcc en fait usage explicitement.
Ce que je dis, c'est que AMD a prévu un mode de fonctionnement vraiment différent:
- Un code 32b ne peut pas s'exécuter tel quel en mode 64b
- Mais le CPU reste capable de passer en mode 32b si besoin est.
Le 01/07/2025 à 15h33
Mais du coup en fait le vrai problème c'est que en virant la partie 32b de la distri le CPU ne passe plus du tout en mode 32b non plus c'est ça ?
Le 01/07/2025 à 16h10
Le 30/06/2025 à 22h38
Que tu fasses tourner le code 32 bits en natif sur le processeur ou dans une vm n'y change rien : il faut bien quelqu'un pour maintenir une distrib 32 bits.
Le 01/07/2025 à 11h38