﻿﻿{"id":1949,"date":"2025-12-31T11:55:30","date_gmt":"2025-12-31T10:55:30","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/quand-je-pense-que-win32-est-devenu-la-couche-de-compatibilite-la-plus-stable-sur-linux\/"},"modified":"2025-12-31T11:55:30","modified_gmt":"2025-12-31T10:55:30","slug":"quand-je-pense-que-win32-est-devenu-la-couche-de-compatibilite-la-plus-stable-sur-linux","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/quand-je-pense-que-win32-est-devenu-la-couche-de-compatibilite-la-plus-stable-sur-linux\/","title":{"rendered":"Quand je pense que Win32 est devenu la couche de compatibilit\u00e9 la plus stable sur Linux&#8230;"},"content":{"rendered":"<p>Vous avez d\u00e9j\u00e0 essay\u00e9 de faire tourner un vieux logiciel Linux sur une distrib r\u00e9cente, du genre un truc compil\u00e9 il y a 5 ans ? Bah bon courage, parce que y&#8217;a de grandes chances que \u00e7a plante lamentablement \u00e0 cause d&#8217;une d\u00e9pendance qui aura chang\u00e9 entre-temps.<\/p>\n<p>Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et l\u00e0, \u00f4 surprise&#8230; y&#8217;a de bonnes chances que \u00e7a tourne ! Bon, \u00e7a d\u00e9pend des applis \u00e9videmment, mais le taux de r\u00e9ussite est souvent meilleur qu&#8217;avec les vieux binaires Linux&#8230;<\/p>\n<p>C&#8217;est pr\u00e9cis\u00e9ment ce paradoxe que pointe le projet<br \/>\n<a href=\"https:\/\/loss32.org\/\">loss32<\/a><br \/>\n, une distro Linux exp\u00e9rimentale dont l&#8217;id\u00e9e compl\u00e8tement dingue serait de faire tourner TOUT l&#8217;environnement de bureau en Win32 via Wine. Leur slogan c&#8217;est &#8220;<strong>Win32 is the stable Linux ABI!<\/strong>&#8221; ce qui veut dire en gros que l&#8217;interface binaire la plus fiable pour faire tourner des applications sur Linux \u00e0 long terme, c&#8217;est celle de Windows. Ahaha, je suis mort de rire en \u00e9crivant \u00e7a car j&#8217;imagine votre t\u00eate \u00e9nerv\u00e9e de barbu ! Pourtant, vous allez voir, c&#8217;est difficile de leur donner tort&#8230;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/win32-couche-compatibilite-stable-linux\/win32-couche-compatibilite-stable-linux-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Alors c&#8217;est quoi le probl\u00e8me avec Linux exactement ?<\/p>\n<p>H\u00e9 bien en ao\u00fbt 2022, un changement dans la toolchain a fait des d\u00e9g\u00e2ts. Beaucoup de distributions ont bascul\u00e9 vers l&#8217;option <code>--hash-style=gnu<\/code> au lieu de <code>--hash-style=both<\/code>, ce qui g\u00e9n\u00e8re des binaires sans la section DT_HASH classique. L&#8217;id\u00e9e c&#8217;\u00e9tait de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant.<\/p>\n<p>\u00c7a n&#8217;a l&#8217;air de rien comme \u00e7a&#8230; sauf que \u00e7a a cass\u00e9 pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d&#8217;Epic se sont retrouv\u00e9s en vrac, par exemple<br \/>\n<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Shovel_Knight\">Shovel Knight<\/a><br \/>\na eu des soucis, ou encore le limiteur de framerate<br \/>\n<a href=\"https:\/\/github.com\/milaq\/libstrangle\">libstrangle<\/a><br \/>\n. Bref, des logiciels qui marchaient tr\u00e8s bien la veille se sont retrouv\u00e9s dans les choux du jour au lendemain.<\/p>\n<p>Et c&#8217;est l\u00e0 qu&#8217;on touche au c\u0153ur du probl\u00e8me car sous Windows, Microsoft maintient une compatibilit\u00e9 binaire quasi-religieuse pour les applis Win32 classiques. Un programme compil\u00e9 pour Windows 95, s&#8217;il n&#8217;utilise pas de drivers ou d&#8217;APIs obsol\u00e8tes, a de bonnes chances de tourner sur Windows 11. C&#8217;est un contrat tacite entre Microsoft et les d\u00e9veloppeurs qui a tenu pendant trois d\u00e9cennies.<\/p>\n<p>Et m\u00eame si sous Linux, le kernel et glibc sont plut\u00f4t stables, c&#8217;est vrai, d\u00e8s qu&#8217;on parle de binaires tiers li\u00e9s \u00e0 des biblioth\u00e8ques user, c&#8217;est une autre histoire. Et comme c&#8217;est le bordel et que chaque distribution fait un peu ce qu&#8217;elle veut, et les d\u00e9pendances \u00e9voluen forcement. Du coup, si votre binaire pr\u00e9compil\u00e9 casse, c&#8217;est votre probl\u00e8me. La philosophie c&#8217;est donc plut\u00f4t &#8220;<em>recompile ton truc et arr\u00eate de te chialer &#8216;sp\u00e8ce de fragile<\/em>&#8220;.<\/p>\n<p>Et c&#8217;est pour \u00e7a que Valve a mis\u00e9 gros sur Proton. Officiellement, ils n&#8217;ont pas de pr\u00e9f\u00e9rence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la t\u00eate \u00e0 faire des ports Linux natifs. Et parfois,<br \/>\n<a href=\"https:\/\/korben.info\/linux-gaming-90-pourcent-jeux-windows-compatibles.html\">les jeux Windows via Proton tournent m\u00eame mieux que les ports natifs<\/a><br \/>\n&#8230; c&#8217;est dire.<\/p>\n<p>Et le projet <strong>loss32<\/strong> pousse cette logique jusqu&#8217;au bout car pourquoi se battre contre les moulins \u00e0 vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ?<\/p>\n<p>Alors perso, j&#8217;ai h\u00e2te de voir \u00e7a et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu&#8217;on puisse tous tester \u00e7a chez nous. Et si \u00e7a fonctionne bien, \u00e7a veut dire que si vous cr\u00e9ez une application desktop simple et que vous voulez qu&#8217;elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine\/Proton est une option \u00e0 consid\u00e9rer s\u00e9rieusement.<\/p>\n<p>\u00c7a semble contre-intuitif, mais pour certains cas d&#8217;usage, c&#8217;est une strat\u00e9gie pragmatique&#8230;<\/p>\n<p>Pour les utilisateurs, \u00e7a veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de premi\u00e8re classe pour faire tourner des logiciels de mani\u00e8re stable sur Linux. Le Steam Deck l&#8217;a prouv\u00e9 avec des milliers de jeux Windows qui tournent nickel.<\/p>\n<p>Bref, on en est l\u00e0&#8230; Win32, l&#8217;API de Microsoft, est devenue paradoxalement une des couches de compatibilit\u00e9 les plus stables pour faire tourner des logiciels sur Linux. C&#8217;est fou non ? \u00c7a va faire grincer des dents de barbus c&#8217;est s\u00fbr mais c&#8217;est aussi la preuve que parfois, les solutions terre \u00e0 terre l&#8217;emportent sur l&#8217;id\u00e9ologie.<\/p>\n<p>\n<a href=\"https:\/\/loss32.org\/\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous avez d\u00e9j\u00e0 essay\u00e9 de faire tourner un vieux logiciel Linux sur une distrib r\u00e9cente, du genre un truc compil\u00e9 il y a 5 ans ? Bah bon courage, parce que y&#8217;a de grandes chances que \u00e7a plante lamentablement \u00e0 cause d&#8217;une d\u00e9pendance qui aura chang\u00e9 entre-temps. Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et l\u00e0, \u00f4 surprise&#8230; y&#8217;a de bonnes chances que \u00e7a tourne ! Bon, \u00e7a d\u00e9pend des applis \u00e9videmment, mais le taux de r\u00e9ussite est souvent meilleur qu&#8217;avec les vieux binaires Linux&#8230; C&#8217;est pr\u00e9cis\u00e9ment ce paradoxe que pointe le projet loss32 , une distro Linux exp\u00e9rimentale dont l&#8217;id\u00e9e compl\u00e8tement dingue serait de faire tourner TOUT l&#8217;environnement de bureau en Win32 via Wine. Leur slogan c&#8217;est &#8220;Win32 is the stable Linux ABI!&#8221; ce qui veut dire en gros que l&#8217;interface binaire la plus fiable pour faire tourner des applications sur Linux \u00e0 long terme, c&#8217;est celle de Windows. Ahaha, je suis mort de rire en \u00e9crivant \u00e7a car j&#8217;imagine votre t\u00eate \u00e9nerv\u00e9e de barbu ! Pourtant, vous allez voir, c&#8217;est difficile de leur donner tort&#8230; Alors c&#8217;est quoi le probl\u00e8me avec Linux exactement ? H\u00e9 bien en ao\u00fbt 2022, un changement dans la toolchain a fait des d\u00e9g\u00e2ts. Beaucoup de distributions ont bascul\u00e9 vers l&#8217;option &#8211;hash-style=gnu au lieu de &#8211;hash-style=both, ce qui g\u00e9n\u00e8re des binaires sans la section DT_HASH classique. L&#8217;id\u00e9e c&#8217;\u00e9tait de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant. \u00c7a n&#8217;a l&#8217;air de rien comme \u00e7a&#8230; sauf que \u00e7a a cass\u00e9 pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d&#8217;Epic se sont retrouv\u00e9s en vrac, par exemple Shovel Knight a eu des soucis, ou encore le limiteur de framerate libstrangle . Bref, des logiciels qui marchaient tr\u00e8s bien la veille se sont retrouv\u00e9s dans les choux du jour au lendemain. Et c&#8217;est l\u00e0 qu&#8217;on touche au c\u0153ur du probl\u00e8me car sous Windows, Microsoft maintient une compatibilit\u00e9 binaire quasi-religieuse pour les applis Win32 classiques. Un programme compil\u00e9 pour Windows 95, s&#8217;il n&#8217;utilise pas de drivers ou d&#8217;APIs obsol\u00e8tes, a de bonnes chances de tourner sur Windows 11. C&#8217;est un contrat tacite entre Microsoft et les d\u00e9veloppeurs qui a tenu pendant trois d\u00e9cennies. Et m\u00eame si sous Linux, le kernel et glibc sont plut\u00f4t stables, c&#8217;est vrai, d\u00e8s qu&#8217;on parle de binaires tiers li\u00e9s \u00e0 des biblioth\u00e8ques user, c&#8217;est une autre histoire. Et comme c&#8217;est le bordel et que chaque distribution fait un peu ce qu&#8217;elle veut, et les d\u00e9pendances \u00e9voluen forcement. Du coup, si votre binaire pr\u00e9compil\u00e9 casse, c&#8217;est votre probl\u00e8me. La philosophie c&#8217;est donc plut\u00f4t &#8220;recompile ton truc et arr\u00eate de te chialer &#8216;sp\u00e8ce de fragile&#8220;. Et c&#8217;est pour \u00e7a que Valve a mis\u00e9 gros sur Proton. Officiellement, ils n&#8217;ont pas de pr\u00e9f\u00e9rence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la t\u00eate \u00e0 faire des ports Linux natifs. Et parfois, les jeux Windows via Proton tournent m\u00eame mieux que les ports natifs &#8230; c&#8217;est dire. Et le projet loss32 pousse cette logique jusqu&#8217;au bout car pourquoi se battre contre les moulins \u00e0 vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ? Alors perso, j&#8217;ai h\u00e2te de voir \u00e7a et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu&#8217;on puisse tous tester \u00e7a chez nous. Et si \u00e7a fonctionne bien, \u00e7a veut dire que si vous cr\u00e9ez une application desktop simple et que vous voulez qu&#8217;elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine\/Proton est une option \u00e0 consid\u00e9rer s\u00e9rieusement. \u00c7a semble contre-intuitif, mais pour certains cas d&#8217;usage, c&#8217;est une strat\u00e9gie pragmatique&#8230; Pour les utilisateurs, \u00e7a veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de premi\u00e8re classe pour faire tourner des logiciels de mani\u00e8re stable sur Linux. Le Steam Deck l&#8217;a prouv\u00e9 avec des milliers de jeux Windows qui tournent nickel. Bref, on en est l\u00e0&#8230; Win32, l&#8217;API de Microsoft, est devenue paradoxalement une des couches de compatibilit\u00e9 les plus stables pour faire tourner des logiciels sur Linux. C&#8217;est fou non ? \u00c7a va faire grincer des dents de barbus c&#8217;est s\u00fbr mais c&#8217;est aussi la preuve que parfois, les solutions terre \u00e0 terre l&#8217;emportent sur l&#8217;id\u00e9ologie. Source<\/p>\n","protected":false},"author":1,"featured_media":1950,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1949","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1949"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1949\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1950"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}