Use as perguntas e respostas a seguir para entender melhor o suporte para dispositivos baseados em Arm executados no Windows.
Os dispositivos baseados em Arm estão se tornando cada vez mais populares. Embora o Windows dê suporte à emulação para aplicativos com uma arquitetura baseada em x64 ou x86, fornecer um build native do Arm do seu aplicativo Windows melhorará o desempenho e dará aos seus clientes a melhor experiência ao usar um dispositivo baseado em Arm.
Embora seus clientes possam usar seu aplicativo baseado em x64 ou x86 em seu dispositivo Arm, haverá sobrecarga de desempenho que vem com a emulação. Forneça aos seus clientes uma versão nativa do Arm de seus aplicativos do Windows para obter o melhor desempenho, capacidade de resposta e duração otimizada da bateria nos dispositivos Arm.
Os drivers têm suporte da emulação? Ou eu tenho que adicionar suporte nativo do Arm64 a qualquer driver usado em meu aplicativo?
Em todos os casos, os drivers de modo kernel e os drivers de impressão de modo de usuário DEVEM ser construídos como binários nativos do Arm64 para funcionar em dispositivos Arm64. Além disso, você não pode executar um programa de instalação x86 ou x64 para instalar um driver Arm64 em dispositivos Arm64. Consulte Criando drivers Arm64 com o WDK.
O Visual Studio e o Visual Studio Code oferecem versões nativas do Arm para você instalar.
Confira Adicionar suporte do Arm ao seu aplicativo do Windows – Teste e depuração. Para testes, você precisará de um dispositivo Windows no Arm, como o Windows Dev Kit 2023, ou pode executar uma máquina virtual Windows 11 Arm64.
E se eu for impedido de criar uma versão nativa do Arm do meu aplicativo por uma dependência de terceiros?
Há algumas maneiras de resolver o cenário quando seu aplicativo do Windows tem uma dependência de terceiros que (ainda) não foi atualizada para o Arm. Primeiro, recomendamos entrar em contato com o proprietário da dependência para perguntar se há planos para atualizá-la para oferecer suporte ao Arm. Você também pode verificar recursos como NuGet ou vcpkg, entrar em contato com a comunidade Arm Open Source para obter ajuda com a atualização de dependências (como Linaro). Você pode reescrever a dependência por conta própria – o "programa Garantia de Aplicativo" da Microsoft pode ajudar. Ou você pode escrever seu aplicativo usando Arm64EC, que permite a combinação de código x64 e Arm64 para uma implementação parcial nativa do Arm focada na otimização dos aspectos mais importantes do seu aplicativo para o Arm.
Você pode ver os seguintes diretórios em seu dispositivo Windows, usados para instalar e armazenar diferentes tipos de arquivos de aplicativos.
C:\Program Files
: este diretório é usado para aplicativos x64, aplicativos Arm64 e aplicativos Arm64X. Saiba mais sobre como carregar seu aplicativo o Arm64 ou criar binários do Arm64X.C:\Program Files (x86)
: este diretório é usado para aplicativos x86. Saiba mais sobre Como a emulação x86 funciona no Arm.C:\Program Files (Arm)
: este diretório foi usado para aplicativos Arm de 32 bits, que não terão mais suporte em versões futuras do Windows.
Para obter ajuda sobre como criar e implantar VMs Arm64 do Windows 11 com processadores baseados em Ampere Altra Arm no Azure, consulte Guia de início rápido: criar uma máquina virtual do Windows no Arm no portal do Azure. Você também pode criar uma VM do Windows no Arm localmente com um dispositivo Windows no Arm usando o Hyper-V.
Posso hospedar uma máquina virtual do Windows 11 usando o Hyper-V em um dispositivo Windows 11 Arm64?
Sim, você pode. A maneira mais fácil de fazer isso é baixar o Windows 11 no Arm Insider Preview VHDX de Downloads do Windows Insider Preview e usá-lo para criar uma VM.
Há algum treinamento disponível para adicionar suporte a Arm a um aplicativo do Windows e executar uma VM para teste e depuração?
Sim, confira Introdução ao Windows on Arm – Portar um aplicativo .NET para dar suporte nativo a processadores baseados em Arm.
A amostragem de CPU com a ferramenta Windows Performance Recorder tem suporte em máquinas virtuais Hyper-V baseadas em ARM?
Sim, mas o recurso está disponível atualmente apenas no canal Canário do Windows Insider Preview. Se você estiver disposto a registrar seu dispositivo ARM físico que está hospedando suas máquinas virtuais no canal Canário, a amostragem de CPU terá suporte em máquinas virtuais; o recurso já tem suporte em dispositivos ARM físicos. Exemplo de uso: wpr -start cpu
.