Alors qu’Apple s’apprêterait à faire le grand saut pour porter au moins une part de ses futurs MacBook vers le monde ARM, Microsoft a déjà franchi le pas… et de manière relativement assurée. L’année dernière, le géant de Redmond dévoilait ainsi sa Surface Pro X, une tablette convertible remaniée pour mieux concurrencer l’iPad Pro, et surtout motorisée par le Microsoft SQ1, un SoC ARM conçu en collaboration étroite avec Qualcomm sur la base du Snapdragon 8cx.
Une nouveauté de premier ordre, intrigante sur le plan matériel mais malheureusement bridée par le volet logiciel. La Surface Pro et son architecture ARM souffraient notamment de gros soucis de comptabilité avec les applications x86 64-bit, mais aussi les pilotes x86, au point d’affecter sérieusement ses performances. Des problèmes auxquels Microsoft et Qualcomm ont répondu, au moins en partie, en modifiant le chipset utilisé pour animer Windows 10 sur les plateformes ARM, mais pas au point de corriger l’ensemble des difficultés rencontrées par les utilisateurs, notamment sur les programmes les plus exigeants en puissance de calcul.
Windows 10 on ARM : Microsoft ne lâche pas le morceau…
Microsoft ne semble toutefois pas découragé. On apprenait hier du média Thurrott que Microsoft a déposé sur Github, le 13 mars, un nouveau projet intitulé « Ajouter le support pour l’émulation de code x64 sur ARM64 ». Mieux, ce projet a été soumis par Kenny Kerr, l’un des principaux ingénieurs logiciels de la firme.
Comme le précise le blog spécialisé, Windows 10 pour ARM est désormais une plateforme ARM 64-bit (au lieu de 32-bit initialement), mais elle se limite pour l’instant à l’émulation de programmes x86 32-bit. En parvenant à mettre au point un système d’émulation x86 64-bit, Microsoft pourrait étendre les capacités et donc l’intérêt de Windows 10 ARM et par la même occasion des appareils qui en dépendent, comme la Surface Pro X.
Reste à savoir quand cette compatibilité étendue pourrait être déployée. On sait que Microsoft y réfléchit depuis au moins deux ans, mais l’apparition de ce projet sur Github laisse entendre qu’il pourrait se concrétiser dès cette année. Un chantier important auquel Apple est très probablement, lui aussi, en train de se livrer. D’après les rumeurs, le groupe prévoirait en effet de faire fonctionner ses MacBook ARM sous macOS… La firme de Tim Cook serait alors exposée peu ou prou aux mêmes problématiques que Microsoft et Qualcomm, puisque macOS est censé exploiter des processeurs x86, et non ARM.
Des invités passionnants et des sujets palpitants ! Notre émission UNLOCK est à retrouver un jeudi sur deux en direct, de 17 à 19h sur Twitch. Pensez aussi aux rediffusions sur YouTube !
J'espère que Microsoft fera à terme de la traduction AOT (Ahead Of Time) et non juste de la traduction JIT (Just In Time) comme actuellement. C'est à dire traduire l'app entièrement en code natif ARM à l'installation et non en temps réel à l’exécution, de sorte que l'impact principal ne soit quasiment que lors de l'installation. Car sinon ça va encore râler longtemps sur les mauvaises performances des apps x86 ou x64 sous Windows ARM.
Malheureusement, ce que tu décris est "dans un monde idéal". Oui, il y a des applications ARM natives, principalement des logiciels libres parce que n'importe qui peut recompiler le logiciel, et des restes d'applications cross-plateformes avec Windows Mobile. Mais en ce qui concerne le reste ? Quasiment rien n'existe en ARM natif, et c'est normal puisque rien ne "donne envie" aux développeurs de le faire. Pourquoi faire un développement supplémentaire pour trois personnes qui utilisent Windows ARM dans leur coin ? Ça doit faire maintenant quasiment deux ans que les premières machines sous Windows ARM existent (à l'époque sous S850) et rien n'a changé depuis. A l'usage c'est un casse tête, pour des machines qui valent pourtant très cher. Je travaille moi même pour un éditeur logiciel, et franchement, Windows ARM on ne sait même pas ce que c'est ! Ca existe, mais c'est tellement insignifiant qu'il n'y a aucun intérêt à brûler de l'énergie et de l'argent là dedans. Chez Apple, c'est quand même différent. Rappelez-vous de la transition vers Intel : des kits de développements envoyés aux développeurs, une deadline de deux ans, et pas d'émulation PowerPC (si ma mémoire est bonne). Forcément, c'est soit tu t'adapte soit tu coules. Chose qui n'est pas possible dans le monde PC.
Lors de la présentation de Microsoft, j'avais compris que l'émulation x86 ou x64 était sujette à licence et propriété intellectuelle d'Intel. Seul AMD aurait reçu une licence pour ces instructions, pour éviter un monopole... Et Intel ne se gênerait pas pour attaquer, j'imagine (ils sont dans le BAD !) J'avais compris que c'était plus une recompliation en temps réel - et non un émulateur - et qu'ils avaient pu fournir en x86, mais que c'était physiquement compliqué pour le x64 ? (j'y connais rien en codage) en tout cas j'aime bien ce vers quoi Windows tend (programme unique pour expérience adaptée sur différents matériels et architectures). C'est juste que çà traîne en longueur ... !!!
et si la transition entre PowerPC > Intel c'est fait de la meme facon à l'époque. La librairie qui permetait d'utilise des applications PowerPC sur cpu Intel s'appeller Rosetta. Un monde sans fin. Rosetta était une librairie dinamique binaire pour Mac OS X qui permetait aux applications PowerPC d'être lancer sur des Macintosh Intel.
Mac OS à lui tout seul ça représente une niche, environ 5% de part de marché, donc ils peuvent se permettre de faire du forcing il y a 15 ans car le nombre total de logiciel était relativement plus faible comparé à Windows de l'époque. Aujourd'hui la situation est différente, Windows on ARM a besoin la compatibilité avec les APK d'Android en open source. Avec cela le passage sera encore plus doux pour délaisser les logiciels en x86. Dans tous les cas x86 restera encore quelques décennies pour certains usages pro donc cette transition se fera en quelques années et j'espère arrivera à temps quand les SoC ARM seront plus performantes.
Je pense que tu as pas compris pourquoi ils mettent en place cette émulation. L'émulation x86 est pour permettre une transition plus facile sur les proco ARM, pour laisser le temps aux devs de se mettre a la page. Par exemple VLC a déjà une version ARM fonctionnel qui était sortir a l'époque pour Windows RT. Quant a apple, le problème sera le même. La maîtrise de bout en bout n'existe pas sur les mac, les logiciels non développé par apple auront aussi besoin d'une émulation le temps que la transition 100% a ARM soit faite.
Ce sont des applications ARM natives qu'on veut, pas de l'émulation... Normal que ces machines sous Windows ARM bident, ça fonctionne tellement mal ! Mais c'est le problème d'un écosystème ouvert, un tel changement d'architecture n'est pas possible tant que tous les acteurs ne se mettent pas autour de la table pour en décider ainsi, et ce n'est de toute façon pas possible. Aujourd'hui, Windows ARM tourne sur à peine une poignet de machines, qui elles-mêmes représentent une part de marché ridicule, personne ne veut s'embêter à développer une version supplémentaire de son application. Du coup, en utilisant Windows ARM, on utilise en permanence des applications x86, avec des performances ridicules et tous les bugs et incompatibilités que cela entraine. Le tout sur des machines qui coûtent tout de même assez cher. Pour faire un parallèle avec Apple qui semble aussi se diriger vers du ARM pour une partie de sa gamme, il vont justement y arriver grâce à leur "maitrise de bout en bout" : ce sont leurs machines, avec leur OS. Donc si demain Apple entame la transition (sans émulation au moment de la sortie publique), les développeurs seront obligés de s'adapter pour rester compatible. Comme il y a 15 ans lors de la transition PowerPC vers Intel.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix