Windows auf Arm
Windows wird traditionell auf Computern mit x86/x64-Prozessoren ausgeführt. In jüngster Zeit läuft Windows aber auch auf Geräten mit Arm-Prozessoren.
Geräte mit Arm-Prozessoren sind aufgrund ihres geringen Energieverbrauchs besonders interessant. Sie bieten zugleich eine längere Akkulaufzeit und eine sehr gute Leistung. Arm-Systeme auf einem Chip (System on Chip, SoC) bieten häufig weitere wichtige Features wie eine leistungsfähige CPU, GPU, Wi-Fi & mobile Datennetzwerke sowie neuronale Prozessoreinheiten (Neural Processor Units, NPUs) zur Beschleunigung von KI-Workloads.
Erstellen von Windows-Apps, die auf Arm ausgeführt werden
Windows 10 ermöglicht die Ausführung vorhandener unveränderter x86-Apps auf Arm-Geräten. Windows 11 bietet zusätzlich die Möglichkeit, unveränderte x64-Windows-Apps auf Arm-Geräten auszuführen! Die Möglichkeit, x86- & x64-Apps auf Arm-Geräten auszuführen, schenkt Endbenutzern die Gewissheit, dass die meisten ihrer vorhandenen Apps Tools auch auf neuen Arm-Geräten problemlos laufen.
Um die optimale Leistung, Reaktionsfähigkeit und Akkulaufzeit zu erzielen, benötigen Benutzer Arm-native Windows-Apps. Das bedeutet, dass Entwickler solche Apps erstellen oder portieren müssen.
Virtual Machines
Sie können Windows 11 Arm64-VMs mit Ampere Altra Arm-basierten Prozessoren in Azure erstellen und bereitstellen. In diesem Schnellstart-Artikel erfahren Sie, wie das geht.
Erfahren Sie mehr über die Verwendung von Windows auf virtuellen Computern von Arm:
- Häufig gestellte Fragen zum virtuellen Computer für Windows auf Arm
- Virtuelle Azure-Computer mit Ampere Altra Arm-basierten Prozessoren - allgemein verfügbar
- Bereitstellen eines armbasierten Azure Kubernetes Service (AKS)-Clusters mit Terraform – ARM Developer Hub
- Erfahren Sie mehr über die Erstellungs- und Testautomatisierung über die kontinuierliche Integration /kontinuierliche Bereitstellung (CI/CD), die in der Cloud gehostet wird, z. B. Azure DevOps oder GitHub.
Arm-Entwicklergeräte
Die Anzahl der Verfügbaren Optionen für Entwickler, die Arm-native Apps unter Windows erstellen und testen möchten, ist gewachsen.
Copilot+ PCs bieten eine Neural Processing Unit (NPU) und die neuesten Ki-Features und Rechenkapazitäten über eine Vielzahl von Geräteherstellern. Viele davon werden vom Arm-basierten Snapdragon® X Series-Prozessor unterstützt und bieten 45 Billionen Operationen pro Sekunde (TOPS) für die Arbeit mit.
Windows Dev Kit 2023 (Codename "Project Volterra") steht nicht mehr zum Kauf neuer Geräte zur Verfügung, ist aber weiterhin als armbasiertes Gerät geeignet, das zur Unterstützung von Windows-Entwicklung, KI-Forschung und -Tests für die Integration von KI in Apps und Erfahrungen entwickelt wurde.
Unterstützung für vorhandene Windows-Apps auf Arm
Windows auf Arm führt native Arm-Apps sowie viele unveränderte x86- & x64-Apps aus. Für optimale Leistung und Akkulaufzeit sollten Apps jedoch möglichst Arm-nativ erstellt werden. Windows-Apps können mit vielen verschiedenen Tools und Technologien erstellt werden, darunter native C/C++-Win32-Apps, klassische .NET Framework WinForms-/WPF-Apps, moderne .NET- oder MAUI-Apps. Darüber hinaus können Apps auch mithilfe von Java, Python, Node.js usw. erstellt werden.
Suchen von Tools für die Arm-Entwicklung
Microsoft stellt laufend Updates für Arm-native Entwickler-Tools zur Verfügung, um Anwendungen zu erstellen und zu portieren, die nativ auf Windows ARM-Geräte ausgerichtet sind, genauso einfach wie auf x64-Geräte. Unterstützende App-Entwicklung für Arm, auf Arm.
- Arm-natives Visual Studio enthält Visual C++, .NET & .NET Framework und Java und ermöglicht Entwicklern das native Erstellen und Debuggen von Arm-Apps auf Arm-basierten Geräten. Weitere Informationen: Arm64 Visual Studio ist offiziell hier!( November 2022), MSVC ARM64 Optimizations in Visual Studio 2022 17.7 (September 2023).
- Visual Studio Code unterstützt Arm nativ und kann auf Arm-Geräten installiert werden. Die VS Code C++-Erweiterung bietet auch C++-IntelliSense- und Buildunterstützung für die Entwicklung von Windows-Apps, die nativ auf Arm64-Geräten ausgeführt werden.
- .NET 6+ unterstützt Arm bereits, sowohl für die native Arm-Ausführung als auch für die x64-Emulation. Um .NET-Apps zu entwickeln, die nativ auf Arm64-Geräten ausgeführt werden, wird die Installation des neuen Arm-nativen Visual Studio 2022, Version 17.4, und des .NET 8 Arm64-SDKs empfohlen. Weitere Informationen zur .NET 8-Unterstützung für Arm und zu den Leistungsverbesserungen für Arm64 finden Sie im .NET-Blog: Arm64 Performance Improvements in .NET 8 (Oktober 2023).
- .NET 6 Arm64-SDK: Wenn Sie
dotnet run
für eine .NET 6-App mit dem Arm64-SDK verwenden, wird sie standardmäßig als Arm64 ausgeführt. Dasdotnet-runtimeinfo
-Tool kann verwendet werden, um die Umgebung zu ermitteln, in der .NET ausgeführt wird. Weitere Informationen finden Sie in der .NET 6-Blogankündigung zur Unterstützung von Arm64. - VC++-Toolkette (Arm Developer) ist die GNU-Toolkette für Arm Architecture-Versionen, die von Arm erstellt wurden, sodass Partner, Entwickler und die Community neue Features aus den letzten Arm-Architekturen und aus Open-Source-Projekten GCC, Binutils, glibc, Newlib und GDB verwenden können.
- Java-Unterstützung für Arm im OpenJDK: Ankündigung von OpenJDK für Windows auf ARM (Juni 2020)
- GitHub-Aktionen: GitHub Actions, GitHub-CI/CD-Workflowmodul ist ein integraler Bestandteil vieler Entwicklerworkflows. Diese werden verwendet, um Apps kontinuierlich zu erstellen, zu testen und bereitzustellen. GitHub-Aktionen sind jetzt für Windows auf Arm in zwei Varianten verfügbar: 1. selbst gehostete Runner, die auf einem Arm-VM- oder Arm-Gerät gehostet werden können, und 2. GitHub-gehostete Runner (derzeit in der privaten Betaversion verfügbar, aber die allgemeine Version wird in Kürze verfügbar sein).
- Docker Desktop: Container sind aus vielen Gründen ein beliebtes Ziel für die Bereitstellung: Rationalisierung des Entwicklungsablaufs, Isolierung und Sicherheit, effiziente Ressourcennutzung, Portabilität und Reproduzierbarkeit. Docker-Desktop wird jetzt nativ unter Windows auf Arm ausgeführt.
Hinweis
Wir verwenden den Begriff Arm als Abkürzung für PCs, auf denen die Desktopversion von Windows auf Arm64-Prozessoren (häufig auch als AArch64 bezeichnet) ausgeführt wird. Wir verwenden den Begriff Arm32 hier als Abkürzung für die 32-Bit-Arm-Architektur (in anderen Dokumentationen häufig lediglich als Arm bezeichnet). Arm-PCs bieten eine hervorragende Anwendungskompatibilität und ermöglichen es Ihnen, Ihre vorhandenen unveränderten x86 win32-Anwendungen auszuführen. Arm-Apps werden nativ ohne Emulation ausgeführt, während x86- und x64-Apps auf Arm-Geräten per Emulation ausgeführt werden.
Arm64EC – Hilfe zum Aktualisieren von Windows-Apps für die Ausführung auf Arm
Arm64EC („Emulation Compatible“) ermöglicht es Ihnen, neue Apps inkrementell zu erstellen oder vorhandene Apps zu portieren, um nach Möglichkeit die native Arm-Leistung zu nutzen und gleichzeitig vorhandenen x64-Code & -Bibliotheken bis zur vollständigen Migration zu nutzen. Weitere Informationen:
Zusätzliche Tipps zum Entwickeln von Windows-Apps, die auf Arm-Geräten ausgeführt werden
Es wird empfohlen, MSIX zum Packen Ihrer App für die Verteilung zu verwenden. Weitere Informationen darüber, wie MSIX Arm und Arm64 unterstützt, finden Sie unter App-Paketarchitekturen: Arm und Arm64.
Nicht alle Visual Studio-Projekte sind so konfiguriert, dass Projekte lokal gestartet werden, wenn Sie das Debuggen (F5) auf einem Arm-Gerät starten. Möglicherweise müssen Sie Visual Studio auch dann für das Remotedebuggen konfigurieren, wenn Ihre App lokal ausgeführt wird. Weitere Informationen finden Sie unter Remotedebuggen.
Um die empfohlenen Pakete in Visual Studio zu finden und zu installieren, besuchen Sie die Downloadseite von Visual Studio.
- Um die Remotetools für Visual Studio 2022 zu finden, scrollen Sie unter den Abschnitt Alle Downloads, und erweitern Sie das Dropdownmenü Tools für Visual Studio 2022. Die Remotetools für Visual Studio 2022 sind dort aufgeführt. Vergewissern Sie sich, dass das Optionsfeld Arm64 aktiviert ist, und starten Sie dann den Download.
- Um Microsoft Visual C++ Redistributable zu finden, scrollen Sie unter den Abschnitt Alle Downloads, und erweitern Sie das Dropdownmenü Andere Tools und Frameworks. Microsoft Visual C++ Redistributable für Visual Studio 2022 ist dort aufgeführt. Vergewissern Sie sich, dass das Optionsfeld Arm64 aktiviert ist, und starten Sie dann den Download.
- Wenn Sie eine ältere Version von Visual Studio verwenden, wählen Sie unten auf der Seite den Link Ältere Downloads aus, um nach den Downloads zu suchen, die Ihrer Version von Visual Studio zugeordnet sind.
Wenn ein Benutzer Ihre App aus dem Microsoft Store auf einem Arm-Gerät installiert, wählt Windows 11 automatisch die optimale verfügbare Version Ihrer App aus. Wenn Sie x86-, Arm32- und Arm64-Versionen Ihrer App an den Microsoft Store übermitteln, installiert das Betriebssystem automatisch die Arm64-Version Ihrer App. Wenn Sie nur eine x86- und Arm32-Version Ihrer App übermitteln, installiert das Betriebssystem die Arm32-Version. Wenn Sie nur die x86-Version Ihrer App übermitteln, installiert das Betriebssystem diese Version und führt sie per Emulation aus.
Wählen Sie bei Auswahl der App-Architektur die 32-Bit-x86-Version aus, um die 32-Bit-Version der App auf einem Windows auf Arm-PC auszuführen. Wenn die x64 Win32-Version einer App nicht funktioniert, verfügen die meisten Apps auch über eine x86-Version.
Weitere Informationen zu Architekturen finden Sie unter App-Paketarchitekturen.
App Assure Arm-Beratungsdienst
Während unser Leitfaden zum Hinzufügen von Arm-Unterstützung zu Ihrer Windows-App Sie durch die Erstellung einer für Arm optimierten Version Ihrer App(s) führt. Der App Assure Arm-Beratungsdienst ist verfügbar, um Sie bei Schwierigkeiten zu unterstützen. Dieser Dienst ergänzt unser bestehendes Versprechen: Ihre Apps werden unter Windows auf ARM laufen, und wenn Probleme auftreten, hilft Microsoft Ihnen bei deren Behebung. Weitere Informationen
Registrieren Sie sich für den Windows ARM-Beratungsdienst.
Zusätzliche Ressourcen
- Satya Nadellas „Build 2022“-Keynote, in der „Project Volterra“ angekündigt wird
- Funktionsweise der x86-Emulation auf Arm
- Problembehandlung für x86-Desktop-Apps
- Problembehandlung für ARM-UWP-Apps
- Problembehandlung für die Programmkompatibilität auf Arm
- Erstellen von Arm64-Treibern mit dem WDK: Anweisungen zum Erstellen eines Arm64-Treibers.
- Debuggen von x86-Apps auf Arm | Leitfaden zum Debuggen von x86-Apps auf Arm.
- Video: Erstellen von Arm64 Win32 C++-Apps
- Windows 10 auf Arm für Entwickler (Microsoft Build 2018-Videopräsentation)
- Blog: Ursprüngliche Ankündigung der Windows 10-Unterstützung für die Arm-Entwicklung
- Melden eines Problems
Externe Ressourcen
- Entwicklerressourcen für Windows auf Snapdragon von Qualcomm
- Developer.arm.com: Windows auf Arm
- Developer.arm.com: Portieren von Anwendungen zu Windows auf Arm
- Developer.arm.com: Erstellen einer nativen Windows auf Arm-App mit WinUI 3
- Developer.arm.com: Erstellen von Bibliotheken für Windows auf Arm
Windows on Arm