Microsoft har gjort flera försök att expandera Windows för att kunna köras på ARM-processorer, med blandade resultat. Problemet har i slutändan landat i att enheter med ARM-processorer som kör Windows 10 tvingas emulera x86-applikationer, alltså mjukvara anpassad för processorer från AMD och Intel.

Under lång tid var det dessutom endast möjligt att emulera 32-bitarsapplikationer, även om det numera är möjligt även med 64-bitars. Emulering innebär dessutom allt som oftast sämre prestanda jämfört med något anpassat specifikt för det aktuella systemet. Det problemet ska mildras i Windows 11 för ARM, med hjälp av ett nytt application binary interface (ABI) vid namn ARM64EC.

ARM64EC is a new application binary interface (ABI) for Windows 11 on ARM that runs with native speed and is interoperable with x64. An app, process, or even a module can freely mix and match ARM64EC and x64 as needed. The ARM64EC code in the app will run natively while any x64 code will run using Windows 11 on ARM’s built-in emulation.

Med hjälp av det nya ABI:et ska utvecklare inte behöva kompilera om hela applikationer för att göra dem ARM-kompatibla, utan istället kunna ta det bit för bit. Det möjliggör även att köra applikationer som är beroende av tillägg eller andra tredjepartskomponenter som kräver x64. Det handlar fortfarande om emulering av x64, men på ett mer sammanflätat vis än tidigare. Microsoft ska dessutom nyttja ARM64EC till Windows 11 för ARM, för att ge x64-applikationer bättre prestanda.

Det nya ABI:et finns redan tillgängligt genom den senaste testversionen av Windows Insider SDK Build och Visual Studio Preview. Instruktioner för hur ARM64EC ska konfigureras återfinns på Microsofts webbplats under dokumentation för ARM.

Läs mer om Windows och ARM: