Windows sur Arm

Windows s’exécute traditionnellement sur des machines avec des processeurs x86/x64. Toutefois, il s’exécute aussi depuis peu sur des appareils avec des processeurs Arm.

Les appareils avec arm sont particulièrement intéressants, car la nature frugale de l’alimentation de l’architecture Arm permet à ces appareils d’offrir une durée de vie plus longue de la batterie tout en offrant de bonnes performances. Les systèmes Arm sur puce (SoC) incluent souvent d’autres fonctionnalités clés telles qu’un processeur puissant, un GPU, des réseaux de données mobiles Wi-Fi , ainsi que des unités de processeur neuronal (NPU) pour accélérer les charges de travail d’IA.

Créer des applications Windows qui s’exécutent sur Arm

Windows 10 permet aux applications x86 non modifiées existantes de s’exécuter sur des appareils Arm. Windows 11 ajoute la possibilité d’exécuter des applications Windows x64 non modifiées sur les appareils Arm ! Cette possibilité d’exécuter des applications x86 x64 sur des appareils Arm donne aux utilisateurs finaux confiance dans l’idée que la majorité de leurs outils d’applications existants s’exécuteront correctement même sur les nouveaux appareils arm-alimentés.

Pour optimiser les performances, la réactivité et la durée de vie de la batterie, les utilisateurs souhaitent et ont besoin d’applications Windows natives Arm, ce qui signifie que les développeurs devront en créer ou en porter..

Outils de développement Arm

Microsoft travaille à fournir un ensemble d’outils de développement arm-natif qui inclut la chaîne d’outils Visual Studio 2022, VSCode, VC++ classique, .NET Framework classique, .NET moderne et Java. Microsoft travaille également avec plusieurs tiers et communautés open source pour porter les outils courants, les runtimes, les frameworks et les bibliothèques, afin de cibler Windows sur Arm en mode natif. Consultez l’annonce du build 2022 sur cette suite complète d’outils, de services et d’appareils qui permettent aux développeurs de créer et de porter des applications qui ciblent Arm en mode natif aussi facilement que lors du ciblage x64.

Machines Virtuelles

Vous pouvez créer et déployer des machines virtuelles Windows 11 Arm64 avec des processeurs Ampere Altra Arm sur Azure. Découvrez comment dans cet Article de démarrage rapide.

En savoir plus sur l’utilisation de Windows sur Arm (Machines Virtuelles) :

Appareils de développement Arm

Les développeurs ont besoin d’appareils Arm sur lesquels créer et tester des applications Windows natives Arm. Plusieurs appareils avec Arm sont déjà disponibles auprès des partenaires Microsoft. Ces appareils mobiles, qu’il s’agisse d’un ordinateur portable ou d’une tablette convertible, offrent des performances optimales et une bonne autonomie de batterie. De plus, ils exécutent l’ensemble de plus en plus étoffé des outils de développement Arm natifs.

Le Kit de développement Windows 2023 (nom de code « Project Volterra ») est le dernier appareil Arm conçu pour épauler les développeurs Windows, les chercheurs d’IA et les développeurs qui cherchent à intégrer l’IA dans leurs applications et expériences.

Arm64EC – Créer des applications pour Windows 11 sur Arm

Arm64EC graphic.

Arm64EC (« Compatible avec l’émulation ») vous permet de créer de manière incrémentielle de nouvelles applications ou de porter des applications existantes, afin de tirer parti des performances natives d’Arm dans la mesure du possible, tout en utilisant les bibliothèques de code x64 existantes jusqu’à la migration complète. En savoir plus :

Prise en charge des applications Windows existantes sur Arm

App Types graphic.

Windows sur Arm exécute des applications Arm natives, ainsi que de nombreuses applications x86 x64 non modifiées, mais pour des performances et une durée de vie de la batterie optimales, les applications doivent être conçues pour être natives Arm dans la mesure du possible. Les applications Windows peuvent être créées à l’aide de nombreux outils et technologies différents, notamment les applications Win32 C/C++ natives, les applications WinForms/WPF .NET classiques, les applications .NET modernes ou MAUI, ou même les applications créées à l’aide de Java, Python, node, etc.

Rechercher des outils pour le développement Arm

Tools graphic

Windows offre un large éventail d’outils et d’infrastructures pour prendre en charge le développement d’applications pour Arm, sur Arm.

  • Le nouveau Visual Studio natif Arm inclut Visual C++, .NET .NET Framework et Java. Il permet aux développeurs de créer et déboguer en mode natif des applications Arm sur des appareils Arm. Pour en savoir plus, consultez l’ annonce de blog.
  • Visual Studio Code prend en charge Arm en mode natif et peut être installé sur les appareils Arm. L’extension VS Code C++ offre également intelliSense C++ et prend en charge le développement d’applications Windows qui s’exécutent en mode natif sur des appareils Arm64.
  • .NET 6 prend déjà en charge Arm, tant pour l’exécution native d’Arm que pour l’émulation x64. Pour développer des applications .NET qui s’exécutent en mode natif sur des appareils Arm64, nous vous recommandons d’installer le nouveau Visual Studio 2022 17.4 Arm natif, et le kit de développement logiciel (SDK) Arm64 .NET 7. Pour en savoir plus sur la prise en charge de .NET 7 pour Arm et les améliorations des performances d’Arm64, consultez le blog .NET.
  • Kit de développement logiciel (SDK) Arm64 .NET 6 : par défaut, si vous dotnet run une application .NET 6 avec le Kit de développement logiciel (SDK) Arm64, elle s’exécute en tant qu’Arm64. L’outil dotnet-runtimeinfo peut être utilisé pour découvrir l’environnement sur lequel .NET s’exécute. Pour en savoir plus, consultez l’annonce de blog .NET 6 sur la prise en charge d’Arm64.

Remarque

Nous utilisons le terme Arm comme raccourci pour les PC qui exécutent la version de bureau de Windows sur les processeurs Arm64 (également appelé AArch64 ). Nous utilisons ici le terme Arm32 comme raccourci pour l’architecture Arm 32 bits (communément appelée Arm dans d’autres documentations). Les PC avec Arm offrent une grande compatibilité des applications et vous permettent d’exécuter vos applications x86 win32 non modifiées existantes. Les applications Arm s’exécutent en mode natif sans émulation, tandis que les applications x86 et x64 s’exécutent sous émulation sur les appareils Arm.

Conseils supplémentaires pour le développement d’applications Windows qui s’exécutent sur des appareils Arm

  • Nous vous recommandons d’utiliser MSIX pour le packaging de distribution de votre application. Pour plus d’informations sur la façon dont MSIX prend en charge Arm et Arm64, consultez architectures de package de l’application : Arm et Arm64.

  • Tous les projets Visual Studio ne sont pas configurés pour lancer des projets localement lorsque vous démarrez le débogage (F5) à partir d’un appareil Arm. Vous devrez peut-être configurer Visual Studio pour le débogage à distance, même si votre application s’exécute localement. Pour plus d’informations, consultez Débogage à distance.

  • Pour rechercher et installer les packages recommandés sur Visual Studio, visitez la page téléchargements de Visual Studio.

    • Pour les Outils de contrôle à distance de Visual Studio 2022, faites défiler la section Tous les téléchargements et développez le menu déroulant Outils pour Visual Studio 2022. Les Outils de contrôle à distance de Visual Studio 2022 y seront répertoriés. Veillez à cocher la case d’option Arm64, puis téléchargez.
    • Pour Microsoft Visual C++ Redistributable, faites défiler la section Tous les téléchargements et développez le menu déroulant Autres outils et infrastructures . Microsoft Visual C++ Redistributable pour Visual Studio 2022 y figurera. Veillez à cocher la case d’option Arm64, puis téléchargez.
    • Si vous utilisez une version antérieure de Visual Studio, sélectionnez le lien de Téléchargements plus anciens en bas de la page pour rechercher les téléchargements associés à votre version de Visual Studio.
  • Lorsqu’un utilisateur installe votre application sur un appareil Arm à partir du Microsoft Store, Windows 11 sélectionne automatiquement la version optimale de votre application disponible. Si vous envoyez des versions x86, Arm32 et Arm64 de votre application au Microsoft Store, le système d’exploitation installe automatiquement la version Arm64 de votre application. Si vous envoyez uniquement des versions x86 et Arm32 de votre application, le système d’exploitation installe la version Arm32. Si vous envoyez uniquement la version x86 de votre application, le système d’exploitation installe cette version et l’exécute sous émulation.

  • Lorsque vous devez choisir l’architecture d’application, choisissez la version 32 bits x86 pour exécuter la version 32 bits de l’application sur un PC Windows sur Arm. Si la version x64 Win32 d’une application ne fonctionne pas, la plupart des applications disposent d’une version x86.

  • Pour plus d’informations sur les architectures, consultez architectures de package d’application.

Service de conseil Arm du Soutien aux applications

Cependant, nos conseils pour ajouter la prise en charge d’Arm à votre application Windows vous guident tout au long de la création d’une version optimisée arm de votre ou de vos applications. Le service de conseil arm du Soutien aux applications est là pour vous aider si vous êtes bloqué. Ce service s’ajoute à notre promesse existante : vos applications s’exécuteront sur Windows sur Arm et, si vous rencontrez des problèmes, Microsoft vous aidera à les corriger. Plus d’informations

Inscrivez-vous au service de conseil Arm Windows.

Ressources supplémentaires

Ressources externes