Connexion
Abonnez-vous

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

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

Le 30 juin à 12h19

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.

Commentaires (40)

votre avatar
Valve a le bon goût de faire plus souvent des choix en faveur des joueurs que l'inverse. Espérons qu'il en soit de même pour le cas présent.
votre avatar
Mais il y a un paquet de jeux uniquement compilés en 32 bits, dont on n'a évidemment pas le code source...
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.
votre avatar
Souvent les entreprises ne cherchent pas à adapter leur logiciel car cela coûte des sous, j'espère que cela va les obliger à changer d'avis et qu'ils abandonneront enfin le 32bits
votre avatar
Bah oui, on va obliger les fabricants de machines à rayons X qui fonctionnent parfaitement de réécrire le soft de gestion en 64 bits. Au pire, il y aura de temps en temps une valeur -1 qui sera interprétée comme légèrement supérieure à 2 milliards, mais c'est pas grave, l'opérateur sera rôti en même temps que le patient, donc il ne risque pas d'avoir un procès, même après qu'on aura réussi à rouvrir la porte de la salle, qui s'est mystérieusement soudée au mur.

Edit : oublié de préciser : sarcome sarcasme.

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)
votre avatar
Ben de toutes façons, ces fabricants ne font pas de mises à jour de l'OS, donc ils peuvent encore trainer leur code dont ils ont perdu la source quelques décennies.
votre avatar
Ils ne font pas de mise à jour de l'OS parce que l'OS casse des fonctionnalités dont ils ont "besoin". Les applications industrielles sont conçues pour fonctionner dans un mode "kiosque" où elles sont les seules applications qui tournent, et où elles peuvent donc se permettre des choses que les applications bureautiques ordinaires ne devraient pas faire. Notamment, prendre arbitrairement le focus clavier, placer des fenêtres à l'avant plan, suspendre l'extinction du PC jusqu'à ce que le bras du robot soit en position sécurisée, etc... toutes choses qu'elles peuvent faire avec par exemple un XP SP2 mais qui deviennent interdites sous SP3 "parce que dans un environnement bureautique on ne veut pas que le driver imprimante affiche un popup et prenne le focus". De fait, les applications bureautiques abusaient de cela et l'OS les en empêche, ce qui casse les applications kiosque qui elles faisaient ça à bon escient...

Ben donc on ne met pas l'OS à jour...
votre avatar
Ben oui, comme tu le dis, ils ne mettent pas à jour, du coup un fedora d'il y a 10 ans qui supporte encore le 32bit, c'est suffisant. Dans la mesure où il n'y a pas d'efforts fourni pour accompagner le cycle de vie de l' OS, il n'y a pas de besoin de mises à jour et il n'y a aucun intérêt de se soucier de besoins tordus de gens qui font de l'embarqué à la sauvette.

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...
votre avatar
de gens qui font de l'embarqué à la sauvette.
J'adore le raccourci entre "écrire une application consistant en plusieurs exécutables qui coopèrent pour ne pas se marcher sur les pieds" et "faire de l'embarqué à la sauvette".

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.
votre avatar
Les années 90 ont appelé, elles voudraient récupérer leur design. Sérieusement, les problèmes que tu évoques rappellent une époque où on ne savait pas faire du gui cohérent pour l'embarqué et où le concept de séparer l'interface des traitements était encore méconnu.

"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é".
votre avatar
Mon Dieu qu'est ce que j'ai ri xD
votre avatar
Bof, tant qu'ils n'ont pas copié la mise à jour sur disquette, cela ne changera rien.
Après, faut aussi trouver où est planqué le lecteur de disquette
votre avatar
Le "problème" avec le 64 bits, c'est qu'il ne résoud que des problèmes de niche que les logiciels métier n'ont pas. Bien sûr que les serveurs de base de données sont plus à l'aise en 64 bits qu'en 32, mais le contrôleur d'une machine outil n'en a strictement rien à foutre : 4 GB d'espace adressable, boarf, il a besoin de 16 fois moins (ça fait quand-même 256 MB pour faire clignoter une loupiote quand le capot est ouvert...)

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.
votre avatar
Une distrib 64 bits, ça utilise juste le CPU dans son mode natif plutôt que dans un mode de compatibilité. Même si tu n'as pas besoin de chacune des fonctionnalités d'un CPU, il est souvent plus simple de tourner en mode natif plutôt que de chercher à retirer le support d'une fonctionnalité dont on n'a pas l'usage.
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 ?
votre avatar
Il ne me viendrait pas à l'idée, si je devais démarrer une nouvelle application, de la faire tourner en 32 bits alors que j'en ai 64 à ma disposition. Mais je dis bien une nouvelle application from scratch...

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...
votre avatar
Si ce n'est que pour les vieilles applications, je ne suis pas sûr de voir le problème. Soit c'est une application encore maintenue, et franchement, de mon expérience, faire un portage vers 64 bits n'est vraiment pas compliqué. Soit c'est un vieux code legacy dont on n'a plus que le binaire, et là de toute façon on ne va le faire tourner que sur des versions d'OS pour lesquels la qualification a été faite, donc de vieilles version (en espérant que c'est une machine hors réseau).
votre avatar
Mais pourquoi on pourrais pas alors le faire tourner en mode compat dans qemu par exemple voir même dans un container ?

Après tout le CPU lui-même ne supprime pas le 32 bit...
votre avatar
Un conteneur partage le nouau du host. Si le noyau est pur 64 bits, le conteneur ne permettra pas de passer en 32 bits. Quant à une machine virtuelle, ça ne fait que reporter le problème puisqu'il faudra y installer un OS qui supporte le 32 bits.
votre avatar
Je maintiens une application métier écrite en Delphi 7. Tu crois vraiment que porter ça en 64 bits "n'est vraiment pas compliqué" ? Ah oui, fokon trouve une version de Delphi qui compile en 64 bits et yaka prier pour que la sémantique des strings n'ait pas changé depuis.
votre avatar
Je ne vois pas comment on peut dire qu'un code qui dépend d'un compilo plus maintenu depuis 10 ans puisse lui-même être considéré comme maintenu. Une fois le développement fini (i.e. feature complete), l'essentiel de la maintenance, c'est justement de maintenir à jour l'infrastructure de compilation et l'environnement de déploiement. Si ça ne compile pas avec un compilateur actuel, si ça ne tourne pas sur un OS actuel, est-ce un code réellement maintenu ?
votre avatar
Les forums sont remplis de personnes qui expliquent doctement que s'ils avaient eu à architecturer une application industrielle en 1999, elle aurait bien évidemment été pensée pour qu'en 2025 on puisse aisément continuer à la compiler sur une architecture ARM 64 bits par le premier péquenot venu tant c'est aisé.

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.
votre avatar
Je ne sais pas dans quel domaine tu travailles, mais si, en tant que client, tu avais ton application Android favorite qui annonce être encore maintenue, mais qui dans le même temps serait arrêtée à Android 5.0 Lollipop, tu trouverais sans doute que c'est un poil du foutage de gueule. Du moins, j'imagine. Peut-être que je m'avance en disant ça. En tout cas, les forums sont remplis de gens qui pensent comme ça.

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.
votre avatar
Ben l'application tourne avec la dernière version de Windows Server et Oracle. Les clients sont en Windows 11, donc je vois pas le rapport avec Android 5. Et par maintenue j'entends qu'on continue à ajouter les fonctionnalités dont ils ont besoin . Mais on ne passera pas en 64 bits pour autant.
et qui tourne à l'heure actuelle sans problème sur ARM64 avec gcc 14
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.
votre avatar
Le rapport, c'est le support de la dernière version d'un OS. Si Fedora passe en full 64 bits, alors le support de la dernière version de Fedora impliquera bien le passage au 64 bits.

Bon, je m'incline, je n'ai que 500k SLOC.
votre avatar
Ben alors l'application ne tournera plus... sauf éventuellement dans une VM sous ReactOS ;-) ou alors ça forcera les clients à enfin passer à la version actuelle du soft au lieu de nous briser les gonades à vouloir garder ce truc antédiluvien sous prétexte qu'ils ont peur de perdre des fonctionnalités en migrant (mais qui nous menacent quand-même de passer à la concurrence, comme si là ils ne devraient pas migrer, mais bref). 99% des problèmes de compatibilité ne viennent pas du coeur de l'application, mais des incessants changements de vitesse du vent concernant ce qu'on peut faire dans l'interface utilisateur, donc si on arrive à les convaincre de migrer leurs connexions sur l'application actuelle qui ELLE est en 64 bits (enfin je crois, j'ai jamais vérifié vu que c'est du Python/FastAPI/Postgres ça dépend de l'interpréteur, pas de notre code) et au moins celle là elle tourne sur un éventail allant du mac studio au Raspberry PI (pas pico, quand-même) en gardant juste une VM firewallée pour faire tourner les quelques rares connections devant conserver NetBIOS et DCOM (ha oui, j'oubliais celles qui vont chercher des données de température en DDE - si, si) - si nécessaire sous ReactOS juste pour rire.
votre avatar
la proposition a été abandonné avant même la publication de cette news :cache:
https://www.phoronix.com/news/Fedora-44-To-Keep-x86-32-bit
votre avatar
Oui, j'ai mis à jour l'article pour refléter cette information que j'ai superbement ratée. Cela dit, les problématiques soulevées restent entières, le temps fera bien apparaitre une solution.
votre avatar
Maintenant que wine support le WOW64 la solution serait de l'utiliser pour les jeux Windows sous Linux. Cependant cela ne règle pas le problème de steam et des jeux natifs en 32 bits.
votre avatar
Les jeux 32 bits sur Steam ne pourraient pas passer via le WoW64?
votre avatar
Ça serait faire tourner la version windows d’un jeu linux 32bits, ça doit fonctionner si le jeu existe en version Windows, mais ce n’est quand même pas l’idéal.
votre avatar
Si mais pas les jeux Steam natif Linux.
votre avatar
supprimer complètement sans avoir une période de transition c'est sûr que ça va ouinner mais ajouter une vm intégrée pour faire tourner les appli 32bits à la façon de windows xp mode qui tournait en vm dans win7 et ça marchait du tonnerre, j'ai utilisé ce mode pendant longtemps pour appli métier non mise à jour.

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)
github.com GitHub

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
votre avatar
Sur les processeurs MIPS, le jeu d'nstruction est (quasiment?) le même en 32b et en 64b.
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.
votre avatar
t'as une source de ça car pour moi le x86-64 reste du x86 à la base donc il y a un ajout de nouvelles instructions mais à priori toutes les anciennes instructions x86 existe dans le x86-64 mais j'ai peut être une fausse idée.

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
en.wikipedia.org Wikipedia
et d'ailleurs encore sur wikipédia le x86-64 n'est pas vraiment 64bits réellement en espace mémoire adressable
en.wikipedia.org Wikipedia
votre avatar
Alors oui, un CPU X86_64 démarre comme un vieux pentium.
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
votre avatar
Un code 64b est peut être spécifique mais on s'en fou ici on a un exécutable 32b qu'on veut lancer sur un 64b donc c'est bien qu'une histoire de pointeur au lieu de 32 on passe à 64b, un CPU 64 sait toujours exécuter une instruction MOV par exemple il lui faut juste des adresses 64b au lieu de 32b c'est comme à l'époque du 16b au 32b je jeu d'instruction a été étendu tout en gardant les anciennes.
votre avatar
Ma référence, c'est https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/40332.pdf

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.
votre avatar
ok je crois que j'ai compris merci pour la doc.
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 ?
votre avatar
Oui, la proposition, c'est de laisser tomber les passages temporaires en mode 32b qui pour l'instant permettent de faire tourner de vieilles applications
votre avatar
Tu fais tourner quoi dans la vm ? Des paquets 32 bits qu'il faut bien maintenir...
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.
votre avatar
justement non on n'a plus besoin de maintenir la distri vu qu'elle tourne dans une vm.

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

Fermer