Clique e receba as novidades quentinhas no Telegram

A Microsoft liberou um documento bem interessante sobre o Windows 10 em processadores com arquitetura ARM64. Na lista é possível conferir algumas das limitações que essa versão do Windows terá. Vamos dar uma olhada…

Windows 10 ARM rodando em um Qualcomm Snapdragon 835 em um protótipo de smartphone da Qualcomm

Somente drivers ARM64 são suportados – Tal como acontece com todas as arquiteturas, os drivers do kernel-mode, os drivers do UMDF (User-Mode Driver Framework) e os drivers de impressão, devem ser compilados para corresponder à arquitetura do sistema operacional. Enquanto o ARM OS possui capacidade para emular x86 user-mode apps, os drivers implementados para outras arquiteturas (como x64 ou x86) não são atualmente emulados e, portanto, não são suportados nesta plataforma. Qualquer aplicativo que funcione com seu próprio driver personalizado precisaria ser portado para o ARM64. Em cenários limitados, o aplicativo pode ser executado como x86 em emulação, mas a parte do driver do aplicativo deve ser portada para o ARM64.

OBS: Para obter mais informações sobre como compilar o driver para ARM64, consulte Criando drivers ARM64 com o WDK. 

Os aplicativos x64 não são suportados – O Windows 10 ARM não suporta a emulação de aplicativos x64. A princípio isso pode deixar grandes aplicações de fora da brincadeira, especialmente aquelas que foram projetas exclusivamente para plataformas com suporte a x64. Essa limitação pode ser o primeiro grande problema do Windows 10 ARM, porém, vale lembrar que ainda é cedo para desespero, afinal, nem a Microsoft Store suporta aplicações x64 ainda… apenas x86, que são os de 32-bits, então, isso deve mudar no futuro. Também vale a pena uma consulta na tabela de soluções para esses conflitos no final do post.

Certos jogos não funcionam – Jogos e aplicativos que usam uma versão do OpenGL posterior a 1.1 ou que exigem o OpenGL acelerado por hardware, não funcionam. Além disso, os jogos que dependem de drivers “anti-cheat” não são suportados nesta plataforma. Vale a pena uma consulta na tabela de soluções para esse conflito no final do post.

Aplicativos que personalizam a experiência do Windows podem não funcionar corretamente – Os componentes nativos do sistema operacional podem não carregar corretamente componentes não-nativos. Exemplos de aplicativos que normalmente fazem isso são alguns editores de métodos de entrada (IMEs), tecnologias de assistência e aplicativos de armazenamento na nuvem. IMEs e tecnologias assistivas frequentemente são usados para se conectar à pilha de entrada para grande parte da funcionalidade de sua aplicação. Os aplicativos de armazenamento em nuvem costumam usar extensões de shell (por exemplo, ícones no Explorer e adições aos menus do botão direito do mouse); suas extensões de shell podem falhar, e se a falha não for tratada com cuidado, o próprio aplicativo pode não funcionar de forma alguma.

As aplicações que assumem que todos os dispositivos baseados em ARM estão executando uma versão Mobile do Windows podem não funcionar corretamente – As aplicações que fazem essa suposição podem aparecer na orientação errada, podem apresentar um layout ou uma renderização de UI inesperados ou falharem ao serem iniciados ao tentarem invocar APIs somente para dispositivos móveis sem primeiro testar a disponibilidade do contrato. Isto é, se o desenvolvedor criar uma aplicação para o Windows 10 ARM e adicionar em seu código a suposição que a aplicação rodará apenas em uma versão mobile do Windows, a tal aplicação pode não funcionar corretamente ou nem funcionar. 

A Windows Hypervisor Platform não é suportada no ARM – A execução de qualquer máquina virtual usando o Hyper-V em um dispositivo ARM não funcionará.

Além das limitações citadas acima, a Microsoft ainda liberou a tabela a seguir que lista alguns problemas comuns da plataforma e oferece sugestões de como resolvê-los, inclusive da “problemática” sobre aplicativos x64.

QuestãoSolução
Seu aplicativo depende de um driver que não foi projetado para ARMRecompile seu driver x86 para ARM64. Consulte Criando drivers ARM64 com o WDK .
Seu aplicativo está disponível apenas para x64Se você desenvolver para a Microsoft Store, envie uma versão ARM do seu aplicativo. Para mais informações, veja Arquiteturas de pacotes de aplicativos. Se você é um desenvolvedor de apps Win32, distribua uma versão x86 do seu aplicativo.
Seu aplicativo usa uma versão OpenGL posterior a 1.1 ou requer OpenGL acelerado por hardwareOs aplicativos x86 que usam DirectX 9, DirectX 10, DirectX 11 e DirectX 12 funcionarão no ARM. Para mais informações, veja DirectX Graphics e Gaming .
Seu aplicativo x86 não funciona como esperadoTente usar o Solucionador de Problemas de Compatibilidade seguindo as orientações do Solucionador de Problemas de Compatibilidade de Programas no ARM. Para algumas outras etapas de solução de problemas, consulte a seção Solução de problemas de aplicativos x86 no artigo ARM .
Seu aplicativo x86 não detecta que ele está sendo executado no ARMUse IsWow64Process2 para determinar se seu aplicativo está sendo executado no ARM.
Seu aplicativo UWP ARM32 não funciona como esperadoConsulte Solução de problemas de aplicativos ARM32 no ARM para saber como fazer com que seu aplicativo funcione corretamente no ARM.

Enfim, deu para perceber que boa parte das limitações podem ser contornadas, porém, nem tudo são flores como muitos imaginavam, nem é de todo ruim como outros pensavam. Ainda temos que fuçar ainda mais para entender melhor tudo o que o Windows 10 ARM64 tem a oferecer e o que ele não pode oferecer no momento.

Fonte: Microsoft