{"id":124621,"date":"2026-04-07T14:20:27","date_gmt":"2026-04-07T12:20:27","guid":{"rendered":"https:\/\/www.emu-france.com\/?p=124621"},"modified":"2026-04-07T14:41:08","modified_gmt":"2026-04-07T12:41:08","slug":"www-exigences-mises-a-jour-pour-mame","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=124621","title":{"rendered":"[www] Exigences mises \u00e0 jour pour MAME"},"content":{"rendered":"<p>Des news en provenance de MAME:<\/p>\n<p><a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2017\/12\/mame.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-53864\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2017\/12\/mame.png\" alt=\"\" width=\"617\" height=\"139\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2017\/12\/mame.png 729w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2017\/12\/mame-300x67.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><\/a><\/p>\n<p><em>J\u2019esp\u00e8re que vous avez appr\u00e9ci\u00e9 notre<a href=\"https:\/\/www.emu-france.com\/news\/124513-www-mame-annonce-des-projets-futurs\/\"> annonce du 1er avril<\/a>. Maintenant que c\u2019est pass\u00e9, il est temps d\u2019aborder les v\u00e9ritables changements \u00e0 venir pour MAME. Nous mettons \u00e0 jour la norme du langage de d\u00e9veloppement, passant de C++17 \u00e0 C++20, et nous retirons la prise en charge de configurations obsol\u00e8tes. Nous allons \u00e9galement r\u00e9duire un peu la fr\u00e9quence des sorties : <strong>il n\u2019y aura plus de version presque chaque mois<\/strong>. Il n\u2019y aura pas de sortie en avril ; la prochaine version arrivera vers la fin du mois de mai.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>R\u00e9sum\u00e9 des exigences mises \u00e0 jour :<\/strong><\/em><\/p>\n<ul>\n<li><em>Un compilateur et une biblioth\u00e8que standard C++ offrant un niveau raisonnable de compatibilit\u00e9 C++20. GCC 11 sera la version minimale prise en charge. Vous pouvez \u00e9galement utiliser une version suffisamment r\u00e9cente de clang.<\/em><\/li>\n<li><em>Les versions Windows n\u00e9cessiteront une installation mise \u00e0 jour de Windows 10 ou plus r\u00e9cent. Microsoft a d\u00e9j\u00e0 arr\u00eat\u00e9 le support standard de Windows 10, ainsi que de toutes les versions ant\u00e9rieures de Windows Home et Pro, et Windows 11 a d\u00e9j\u00e0 quatre ans.<\/em><\/li>\n<li><em>Le d\u00e9bogueur de MAME bas\u00e9 sur Qt n\u00e9cessitera Qt 6.<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em><strong>R\u00e9sum\u00e9 des fonctionnalit\u00e9s supprim\u00e9es :<\/strong><\/em><\/p>\n<ul>\n<li><em>Le backend recompil\u00e9 32 bits x86 (i686). L\u2019architecture x86\u201164 existe depuis plus de vingt ans. Tous les principaux syst\u00e8mes d\u2019exploitation x86 la prennent en charge depuis longtemps, et le support du x86 32 bits est en train de dispara\u00eetre.<\/em><\/li>\n<li><em>La prise en charge de la compilation sur OpenSolaris et autres syst\u00e8mes UNIX System V. Il n\u2019existe plus de distributions OpenSolaris activement d\u00e9velopp\u00e9es, et les autres variantes System V UNIX n\u2019ont plus de pr\u00e9sence significative sur les syst\u00e8mes de bureau.<\/em><\/li>\n<li><em>Les optimisations sp\u00e9cifiques pour les syst\u00e8mes h\u00f4tes PowerPC. PowerPC et OpenPOWER n\u2019ont actuellement aucune pr\u00e9sence notable sur le march\u00e9 desktop, et le projet Libre\u2011SOC visant \u00e0 produire une impl\u00e9mentation OpenPOWER totalement libre et performante est au point mort.<\/em><\/li>\n<li><em>L\u2019outil obsol\u00e8te aueffectutil pour macOS. Cet outil n\u2019a plus d\u2019utilit\u00e9 avec le nouveau syst\u00e8me audio de MAME, et il n\u2019avait pas \u00e9t\u00e9 mis \u00e0 jour pour fonctionner avec les versions r\u00e9centes de macOS.<\/em><\/li>\n<li><em>Les environnements MSYS2 pr\u00e9compil\u00e9s avec outils de d\u00e9veloppement inclus. Nos environnements MSYS2 posent plusieurs probl\u00e8mes que nous ne pouvons pas r\u00e9soudre de mani\u00e8re r\u00e9aliste.<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em>Lisez la suite pour plus de contexte et de d\u00e9tails.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>Nous avons d\u00e9cid\u00e9 qu\u2019il \u00e9tait temps de passer \u00e0 la version suivante du standard C++ et de commencer \u00e0 tirer parti des nouvelles fonctionnalit\u00e9s. Cela fait suffisamment longtemps pour que les biblioth\u00e8ques et outils compatibles C++20 soient largement disponibles. Nous prendrons en charge la compilation avec GCC 11 et GNU libstdc++ 11 ou plus r\u00e9cent. Si vous utilisez clang pour compiler MAME, notez que clang 11 et 12 contiennent des bugs inacceptables dans leur impl\u00e9mentation de C++20, et que clang 13 peut planter lors de la compilation de certains \u00e9l\u00e9ments. Vous aurez donc peut\u2011\u00eatre besoin d\u2019une version assez r\u00e9cente de clang pour continuer \u00e0 l\u2019utiliser.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>De m\u00eame, Qt 6 est disponible dans MSYS2 et fourni depuis longtemps par toutes les grandes distributions Linux. Nous estimons que c\u2019est le bon moment pour retirer la prise en charge de Qt 5.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>En raison de l\u2019augmentation de l\u2019utilisation m\u00e9moire dans les versions r\u00e9centes de GCC, et du retrait de clang et d\u2019autres paquets LLVM du d\u00e9p\u00f4t MSYS2 MINGW32, il n\u2019est plus r\u00e9aliste de cr\u00e9er des builds Windows 32 bits x86 de MAME. Les fonctionnalit\u00e9s li\u00e9es au support du x86 32 bits sous Windows deviendront donc non maintenues. Comme le support du x86 32 bits est \u00e9galement en recul sur les autres syst\u00e8mes d\u2019exploitation, nous avons d\u00e9cid\u00e9 que cela ne valait plus l\u2019effort de maintenir des fonctionnalit\u00e9s sp\u00e9cifiques \u00e0 cette architecture. Nous retirons en m\u00eame temps les fonctionnalit\u00e9s sp\u00e9cifiques \u00e0 PowerPC, devenues tout aussi difficiles \u00e0 maintenir.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>Nous allons passer \u00e0 des builds Windows x86\u201164 utilisant clang, la biblioth\u00e8que standard libc++, et la biblioth\u00e8que d\u2019ex\u00e9cution Microsoft Universal CRT (UCRT). Cela permettra d\u2019utiliser les m\u00eames outils et biblioth\u00e8ques pour les versions x86\u201164 et ARM.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>Il est devenu \u00e9vident que le support des environnements MSYS2 utilisant l\u2019ancienne biblioth\u00e8que MSVCRT est en train d\u2019\u00eatre abandonn\u00e9. Divers paquets sont retir\u00e9s des d\u00e9p\u00f4ts au lieu d\u2019\u00eatre mis \u00e0 jour. Il deviendra n\u00e9cessaire de migrer vers un environnement utilisant la biblioth\u00e8que UCRT, c\u2019est\u2011\u00e0\u2011dire UCRT64 ou CLANG64 pour le x86\u201164, ou CLANGARM64 pour l\u2019ARM 64 bits. Nos scripts de build prennent d\u00e9j\u00e0 en charge ces environnements sans effort suppl\u00e9mentaire.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>Les environnements MSYS2 pr\u00e9packag\u00e9s que nous fournissons pr\u00e9sentent plusieurs probl\u00e8mes :<\/em><\/p>\n<ul>\n<li><em>Ils ne correspondent plus depuis longtemps aux versions exactes des paquets utilis\u00e9s pour compiler les versions officielles de MAME, ce qui les rend inutiles pour reproduire ces builds.<\/em><\/li>\n<li><em>Ils sont mis \u00e0 jour rarement. Cela rend les mises \u00e0 jour du runtime MSYS2 ou des paquets inclus tr\u00e8s risqu\u00e9es, car MSYS2 g\u00e8re mal les sauts de versions multiples.<\/em><\/li>\n<li><em>Inclure tous les paquets n\u00e9cessaires pour compiler MAME dans toutes les configurations support\u00e9es, ainsi que des outils de d\u00e9veloppement utiles, rendrait le t\u00e9l\u00e9chargement beaucoup trop volumineux. \u00c0 l\u2019inverse, omettre des paquets conduit les utilisateurs \u00e0 rencontrer tous les probl\u00e8mes li\u00e9s aux mises \u00e0 jour MSYS2 lorsqu\u2019ils tentent d\u2019ajouter eux\u2011m\u00eames les paquets manquants.<\/em><\/li>\n<li><em>Emballer des outils de d\u00e9veloppement ne fait pas partie de notre mission principale et prend du temps sur le d\u00e9veloppement de MAME.<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em>Nous recommandons donc d\u2019installer un environnement MSYS2 standard et d\u2019installer les paquets n\u00e9cessaires via le gestionnaire de paquets pacman. Nous listons les paquets requis dans notre <a href=\"https:\/\/docs.mamedev.org\/initialsetup\/compilingmame.html\" target=\"_blank\" rel=\"noopener\">documentation<\/a>, et nos workflows Windows sur GitHub Actions montrent les paquets n\u00e9cessaires de mani\u00e8re structur\u00e9e.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em>Il y aura forc\u00e9ment quelques difficult\u00e9s avec un changement majeur comme celui\u2011ci, mais nous pensons que c\u2019est une \u00e9tape n\u00e9cessaire pour assurer la viabilit\u00e9 du d\u00e9veloppement de MAME sur le long terme.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Avec cette annonce, c\u2019est d\u00e9sormais act\u00e9 : le support du 32 bits touche \u00e0 sa fin, et nos propres binaires compatibles Windows XP \u2014 qui n\u2019\u00e9tait d\u00e9j\u00e0 plus officiellement pris en charge depuis des ann\u00e9es \u2014 vont eux aussi dispara\u00eetre d\u2019ici peu.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/www.mamedev.org\" target=\"_blank\" rel=\"noopener\">Site Officiel<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=124621\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Des news en provenance de MAME: J\u2019esp\u00e8re que vous avez appr\u00e9ci\u00e9 notre annonce du 1er avril. Maintenant que c\u2019est pass\u00e9, il est temps d\u2019aborder les v\u00e9ritables changements \u00e0 venir pour MAME. Nous mettons \u00e0 jour la norme du langage de &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-124621","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKi2R-wq1","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/124621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=124621"}],"version-history":[{"count":10,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/124621\/revisions"}],"predecessor-version":[{"id":124631,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/124621\/revisions\/124631"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=124621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=124621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=124621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}