Alors que son premier essai, Windows RT, fut un échec cuisant, Microsoft s’apprête à ouvrir de nouveau Windows aux processeurs ARM.
Windows RT: un premier essai
Lancé en 2011, aux côtés de Windows 8, Windows RT était un portage de Windows sur processeurs 32bit ARM, avec quelques différences tout de même.
Comme Windows 8, il était possible de passer de l’environnement « bureau » classique Windows à l’environnement tablette avec le nouveau menu démarrer basé sur les tuiles.
Le mode classique était malheureusement limité aux applications de Microsoft: en dehors de Office et des applications de base de Windows, aucune application n’était accessible via cet environnement. Et pour cause: seul le mode « tablette » et son API WinRT était accessible aux développeurs.
Inutile de dire que le choix d’applications était donc limité puisque seules les applications publiées dans le Windows Store pour ARM pouvaient être utilisées.
Le choix d’applications était très limité.
Si l’on comprend le choix au niveau technique: les applications traditionnelles ne pouvaient être lancées puisque les processeurs ARM sont incompatibles avec les binaires x86/amd64 produits pour Windows « Classique », la communication était elle plutôt brouillon et les acheteurs se sont retrouvés avec une tablette très limitée, puisque sans la possibilité de lancer les applications traditionnelles.
Conscient de ces problèmes, Microsoft a rapidement arrêté commercialement Windows sur ARM, mais le développement lui, a continué en interne. Et en 2016, on vient enfin d’en apprendre un peu plus sur ce sujet…
Windows 10 sur ARM: avec les applications Win32 cette fois
Le 7 Décembre 2016, Microsoft a annoncé un partenariat avec Qualcomm – un des principaux fabriquants de processeurs ARM: les derniers Lumia en sont par exemple équipés – pour la sortie prochaine de Windows 10, le vrai, sur ces processeurs.
Mais cette fois-ci, contrairement à Windows RT, cette mouture pourra lancer les applications traditionnelles Win32 via un émulateur totalement intégré et transparent qui n’est pas sans rappelé Rosetta sur MacOS X.
Lorsque une application Win32 comme Photoshop sera lancée sur un processeur ARM, un émulateur se chargera de traduire à la volée les instructions x86 en instructions ARM.
Pourquoi ne pas l’avoir fait en 2011 me direz-vous ? C’est simple: les processeurs ARM de l’époque n’étaient probablement pas suffisamment puissants. En effet, les processeurs ARM de l’époque ne rivalisaient pas encore avec la puissance des Intel de l’époque. De plus, le manque d’architecture 64 bit aurait ralenti considérablement l’émulation du fait du manque de registres.
Il n’était donc pas envisageable de pouvoir lancer les programmes Win32 de manière efficace.
Aujourd’hui la donne a changé: alors que Intel stagne depuis des années les processeurs ARM ne cessent de gagner en puissance et rivalisent maintenant avec les processeurs Intel, tout en consommant beaucoup moins d’énergie, ce qui entraîne une autonomie bien meilleure et ce sans avoir besoin de ventilateur.
Les processeurs ARM rivalisent maintenant avec leurs homologues Intel.
Quand on connait l’expertise de Microsoft dans l’émulation – avec la Xbox One qui a réussi le tour de force de lancer les jeux Xbox 360 de manière efficace – on ne peut qu’être optimiste sur les performances qu’auront les applications Win32 sur processeur ARM.
Le seul point noir au tableau est le fait qu’apparemment seules les applications Win32 fonctionneront: tous les jeux et applications compilées en 64 bit ne fonctionneront elles pas. Et depuis quelques années, de nombreux développeurs ne produisent plus de versions 32bit de leurs logiciels.
Vers une nouvelle gamme de périphériques
La possibilité de lancer les applications Win32 sur processeur ARM ouvre donc la voie à de nouveaux type de périphériques: toujours plus fins, silencieux, et avec une bien meilleure autonomie.
Et le Surface Phone sera probablement là, comme les Surface, pour montrer le chemin aux constructeurs tierce-partie.
La seule question qui reste en suspend est la suivante: Microsoft va-t’il continuer à produire à la fois des périphériques utilisant les processeurs amd64 et arm64 ? Si c’est le cas, un problème de compatibilité risque de se poser, ainsi que le même type d’ambiguïté qu’avait posé Windows RT à l’épopque.
Le Surface Phone sera là pour montrer le chemin aux autres constructeurs.
Puisque à moins de produire deux binaires – l’un contenant le programme pour intel, et l’autre le programme pour ARM – une application ne fonctionnera pas de manière universelle sur toutes les machines Windows 10.
Mais Microsoft a peut être prévu un binaire universel comme l’avait fait Apple en 2005 ?
Beaucoup de questions restent encore en suspens: mais une chose est sûr, les jours de Intel semblent de plus en plus comptés, et ARM prend de plus en plus de place. Vous saviez que le nouveau Surface-Studio utilisait aussi un processeur ARM ?