Problemas con drivers de periféricos en Windows 11 ARM: guía práctica y solución

Última actualización: 10/09/2025
Autor: Isaac
  • Los drivers deben ser Arm64: no existe emulación en el kernel y sin ellos el hardware no funciona.
  • La emulación x86/x64 es configurable: ajusta caché, modo híbrido y multihilo para ganar compatibilidad.
  • Limitaciones conocidas: antitrampas, Fax y escáner, ciertos antivirus y apps de shell.
  • Desarrolladores: compilar nativo Arm64, resolver dependencias y probar en hardware/VM ARM.

Drivers y periféricos en Windows 11 ARM

Si has dado el salto a un equipo con Windows 11 sobre ARM y te estás peleando con un periférico que no termina de funcionar, no estás solo: los controladores son la pieza clave y deben estar adaptados a Arm64. Aunque muchas apps x86 y x64 se ejecutan genial mediante emulación, los drivers del sistema no pasan por esa capa, así que conviene entender bien las reglas del juego.

Además de los controladores, la compatibilidad en Arm combina varios ingredientes: emulación configurable, buenas prácticas de desarrollo, limitaciones conocidas y herramientas para diagnosticar. En esta guía reunimos todo lo esencial para que puedas identificar por qué falla un dispositivo o una app dependiente de driver, cómo ajustar la emulación y qué deben hacer los desarrolladores para compilar de forma nativa para Arm64.

Qué está pasando con los drivers en Windows 11 ARM

En Windows sobre ARM, todos los controladores en modo kernel, los de User-Mode Driver Framework (UMDF) y los de impresión deben compilarse para la arquitectura del sistema operativo. Es decir, si el sistema es Arm64, el driver también debe ser Arm64; no hay capa de emulación para el kernel y por eso el requisito es estricto.

Esto implica que una aplicación x86 puede ejecutarse mediante emulación sin problemas, pero si necesita un driver propio o de terceros, esa pieza concreta debe existir como Arm64. Hasta que el controlador no esté recompilado para Arm64, las funciones que dependen de él no aparecerán o fallarán.

En la práctica, los dispositivos y periféricos solo funcionarán si sus controladores están integrados en Windows 11 o el fabricante ofrece drivers Arm64 específicos. Esto aplica a categorías sensibles como antivirus y antimalware, software de impresión o PDF, tecnologías de asistencia, utilidades de discos ópticos y software de virtualización.

Por eso, cuando instales software o hardware de terceros, asegúrate de descargar e instalar el driver del fabricante específicamente para ordenadores con Arm. Si un controlador indica compatibilidad únicamente x86/x64 o no menciona Arm64, lo más probable es que no funcione en tu equipo basado en ARM.

Los dispositivos con ARM se han popularizado gracias a su eficiencia energética, autonomía y NPUs para IA, pero esa eficiencia no sustituye la necesidad de contar con controladores nativos Arm64. Si dependes de un periférico crítico, verifica antes que su fabricante publique soporte para Arm64.

Compatibilidad de drivers en equipos ARM

Emulación x86 y x64 en ARM y cómo ajustar la compatibilidad

Windows en ARM ejecuta las apps Arm de forma nativa, mientras que las apps x86 y x64 se ejecutan mediante emulación. Con Windows 11, la emulación x64 llegó para ampliar la compatibilidad, y con el motor Prism en equipos Copilot+ con Snapdragon X se ha mejorado notablemente el rendimiento de las apps emuladas frente a generaciones anteriores.

Si una aplicación funciona de manera extraña, puedes usar el solucionador de problemas de compatibilidad del programa. Haz clic derecho sobre el .exe y elige solución de problemas de compatibilidad para probar la configuración recomendada o seleccionar síntomas concretos como que se abre pero se ve mal, requiere permisos, o no aparece el problema en la lista.

Además, en la pestaña Compatibilidad de las propiedades del ejecutable verás una sección Windows 10 en ARM o Windows 11 en ARM. Desde ahí podrás cambiar la configuración de emulación completa o habilitar ajustes avanzados para experimentar con opciones individuales destinadas a priorizar la estabilidad sobre el rendimiento cuando hay problemas.

  Proyectar Windows 11 en Smart TV sin cable HDMI: guía completa, modos de pantalla y solución de problemas
Configuración de emulación Qué hace
Deshabilitar caché de aplicaciones Fuerza al sistema a recompilar en cada ejecución los bloques de código emulados, eliminando la caché para reducir efectos secundarios a costa de rendimiento.
Deshabilitar modo híbrido de ejecución Evita binarios CHPE con mezcla de x86 y Arm64 y obliga a usar solo binarios x86, aumentando la compatibilidad con algunas apps sensibles.
Protecciones ligeras adicionales Habilita salvaguardas globales que afectan a metadatos volátiles y pueden influir en el rendimiento en favor de la estabilidad.
Compatibilidad estricta con código automodificable Garantiza que el código que se automodifica funcione correctamente en emulación, con un impacto notable en rendimiento cuando ese patrón es frecuente.
Desactivar optimización en páginas RWX Quita una optimización de rendimiento para código en páginas legibles, escribibles y ejecutables que puede chocar con ciertas apps.
Deshabilitar optimización JIT (solo x64) Opción obsoleta que dejará de estar disponible en versiones futuras.
Deshabilitar optimización de punto flotante (solo x64) Fuerza a emular x87 con precisión completa de 80 bits, aumentando la exactitud en FP a cambio de menor rendimiento.

También puedes ajustar cómo usa la app varios núcleos: rápido, estricto, muy estricto o forzar un único núcleo. Estas opciones cambian el número de barreras de memoria para sincronizar acceso entre hilos; aumentar barreras reduce errores sutiles a costa de velocidad, y el modo de un solo núcleo elimina barreras y serializa los hilos en un único core.

Si al modificar una opción concreta desaparece el fallo, Microsoft solicita enviar detalles a la dirección woafeedback@microsoft.com para integrar esa retroalimentación en mejoras futuras del emulador.

Ajustes de emulación en Windows ARM

Controladores: kernel, UMDF e impresión

Todos los controladores del sistema deben coincidir con la arquitectura: no existe emulación en el kernel de Windows. Esto repercute especialmente en virtualización y en cualquier escenario que precise acceso de bajo nivel.

Si una aplicación x86 instala o necesita un driver propio, la app como tal puede iniciarse bajo emulación, pero las funciones ligadas a ese driver no aparecerán hasta que exista una versión Arm64 del controlador.

Para compilar drivers Arm64 con garantías, los desarrolladores deben seguir la guía de WDK específica para Arm64, donde se detalla la preparación del entorno, proyectos y firma.

Extensiones de shell, IMEs y otras DLL del sistema

Las aplicaciones que intentan vincularse a componentes de Windows o inyectar DLL en procesos del sistema deben compilar esas DLL para Arm64. Aquí entran en juego editores de método de entrada, tecnologías de asistencia y extensiones de shell que colocan iconos o menús contextuales.

Siempre que cargues código dentro de procesos de Windows, haz coincidir la arquitectura del binario con la del sistema. Recompilar esas DLL asegura que el componente se ejecute de forma nativa sin depender de la emulación.

Buenas prácticas con WOW y detección de arquitectura

Un patrón de error habitual se da cuando la app detecta que está bajo WOW y asume erróneamente que el sistema es x64. A partir de ahí intenta instalar su variante x64, busca en la vista de registro nativa o da por hecho que hay un .NET de 64 bits.

Para evitar ese tipo de fallos, no hagas suposiciones sobre el host al detectar WOW y reduce al mínimo las interacciones con componentes nativos de OS salvo que controles la arquitectura.

Si necesitas verificar compatibilidad, usa la API isWow64Process2 en lugar de la isWow64Process original. La primera distingue correctamente las combinaciones de proceso y host y ayuda a decidir rutas de código y vistas de registro sin confusión.

Generación de código dinámico y mitigaciones

La emulación de apps de escritorio x86 genera instrucciones Arm64 en tiempo de ejecución, por lo que bloquear la generación o modificación de código en el proceso rompe la compatibilidad. Si tu app habilita la mitigación mediante SetProcessMitigationPolicy con ProcessDynamicCodePolicy, desactívala para permitir la emulación.

  Por qué desaparece el cursor en Windows 11 y cómo solucionarlo

Si sospechas que tu aplicación usa técnicas de automodificación, activa la compatibilidad estricta con código auto-modificable en la configuración avanzada de emulación, sabiendo que impactará significativamente en rendimiento.

Máquinas virtuales y soporte de Hyper-V

La plataforma de Hipervisor de Windows no es compatible con Qualcomm 835 en la Plataforma de PC Móvil, por lo que Hyper-V no funcionará en ese hardware en concreto. Microsoft indica que continúa invirtiendo en estas tecnologías para conjuntos de chips de Qualcomm futuros.

Limitaciones conocidas: juegos, antivirus, Fax y Escáner y más

Algunos juegos no funcionarán si su driver antitrampas no tiene versión para Windows 11 en ARM. Consulta con el editor del juego o revisa la compatibilidad en worksonwoa.com, un recurso colaborativo que recoge el estado de apps y juegos.

En Windows 10 sobre ARM, las apps x64 no se ejecutan: necesitas versiones Arm64, Arm32 o x86. Además, hay restricciones como OpenGL por encima de 1.1 y los antitrampas sin soporte ARM. En Windows 11 sobre ARM, la emulación x64 amplía el abanico de aplicaciones compatibles.

Las aplicaciones que personalizan el shell de Windows, como algunos IME, tecnologías de asistencia o integraciones de nubes, pueden presentar problemas si no ofrecen binarios Arm64. La decisión final recae en el desarrollador de cada app.

También hay suites antivirus de terceros que no podrás instalar salvo que estén creadas o actualizadas para ARM. Mientras tanto, Seguridad de Windows ofrece protección integrada durante la vida útil del dispositivo.

Una peculiaridad menos conocida: la función Fax y escáner de Windows no está disponible en equipos con Windows 11 sobre ARM, por lo que conviene buscar alternativas.

Apps nativas disponibles y el nuevo motor Prism

El ecosistema ya ofrece más versiones nativas Arm64 que nunca, con Microsoft 365 en su ejecución más rápida en Teams, Outlook, Word, Excel, PowerPoint, OneDrive y OneNote, además de Chrome, Slack, Spotify, Zoom, WhatsApp, Blender, Affinity Suite y DaVinci Resolve, entre muchas otras.

Para las apps sin binario nativo, el nuevo motor de emulación Prism mejora el rendimiento de apps emuladas en dispositivos Copilot+ con Snapdragon X y llega también a más equipos con Windows 11.

Si quieres consultar qué apps y juegos funcionan, revisa la lista viva en worksonwoa.com. Es un proyecto de terceros de código abierto en el que Microsoft también aporta datos de compatibilidad.

Cómo portar apps y drivers a Arm64

Para crear una versión nativa de tu aplicación, en Visual Studio agrega una plataforma de solución ARM64 desde Configuration Manager, copiando la configuración desde x64 y creando nuevas plataformas de proyecto. Después, compila y corrige errores.

Una vez que generes en Release, es probable que los bloqueos vengan de dependencias que no ofrecen binarios Arm64. Habrá que actualizarlas, recompilarlas o reemplazarlas según cada caso.

Si quieres comprobar el binario resultante, usa PowerShell y ejecuta dumpbin /headers sobre el .exe para confirmar que la cabecera indica AA64 machine (ARM64). Es una verificación rápida para asegurarte de que no estás ejecutando una variante equivocada.

Las pruebas y la depuración se facilitan si trabajas en un equipo Arm. Si desarrollas desde x86/x64, usa depuración remota hacia un dispositivo o VM con Windows en ARM. Microsoft documenta estrategias en su guía de depuración en Arm.

Como prerrequisitos recomendados, usa Visual Studio 2022 v17.4 o posterior con soporte nativo Arm64 (VS 17.10 Preview añade mejoras), y si lo prefieres, LLVM Clang 12+ para compilación y enlace. El toolchain nativo ofrece rendimiento superior frente a versiones emuladas.

En cuanto a frameworks, están soportados .NET 7, .NET 6 LTS, .NET 5.0.8+ y .NET Framework 4.8.1. También puedes compilar C++ con clang-cl, que mantiene compatibilidad de ABI con MSVC.

  Cómo ver las especificaciones de tu PC en Windows 11

Dependencias, Arm64EC y ayuda externa

Cuando una biblioteca te bloquea la compilación, recompílala internamente para Arm64 si es propia, solicita al tercero una versión nueva si es comercial, o busca alternativas compatibles si es open source.

Antes de cambiar de stack, comprueba si vcpkg ya dispone de una versión actualizada con Arm64 y, si no, plantéate contribuir con el soporte. Muchas comunidades agradecerán esa ayuda.

Como estrategia intermedia, Arm64EC permite mezclar tu app recompilada con dependencias x64 que corren bajo emulación en el mismo proceso. No es válido combinar al revés (no puedes usar dependencias Arm64 puras en un proceso x64).

Si necesitas apoyo, Linaro colabora con empresas y comunidades para habilitar software en ARM. Puedes abrir una solicitud en su Service Desk para estudiar el soporte de paquetes faltantes relacionados con Windows en ARM.

Pruebas en hardware o VM, CI/CD y multihilo en emulación

Para asegurar calidad, es clave que el pase de pruebas se ejecute sobre arquitectura Arm64: hardware real con Windows en ARM o una VM compatible, de modo que los resultados reflejen la realidad del usuario final.

Construir y probar en la misma máquina simplifica la vida, aunque también puedes extender tu infraestructura de build para generar binarios cruzados y luego desplegarlos en un banco de pruebas Arm64 dedicado.

Si detectas fallos de sincronización rara con apps multihilo, experimenta con los modos estricto o muy estricto de varios núcleos, o fuerza el modo de un solo núcleo para ver si el problema desaparece. Es una técnica útil para acotar condiciones de carrera.

Para montar rápidamente un entorno de prueba, Azure ofrece un inicio rápido para crear una VM con Windows en ARM. Es una vía cómoda para CI o pruebas manuales cuando no tienes hardware físico disponible.

Instalación de Windows y drivers de almacenamiento: casos x86/x64 frente a ARM

Si al instalar Windows 11 o 10 en un equipo Intel no aparece ninguna unidad, puede que necesites cargar el driver Intel Rapid Storage Technology (IRST) durante el asistente o desactivar Intel VMD. Esto solo aplica a plataformas x86/x64, no a dispositivos ARM.

El procedimiento típico con IRST consiste en descargar el paquete desde la página de soporte del fabricante, extraerlo a una memoria USB y usar la opción cargar controlador en la pantalla donde se pregunta dónde quieres instalar Windows para que el instalador detecte los discos.

Como alternativa, es posible deshabilitar Intel Volume Management Device (VMD) en BIOS: entrar con F2, cambiar al modo avanzado con F7, ir a la sección VMD y desactivar el controlador; guarda con F10. La nomenclatura puede variar ligeramente entre modelos y UEFIs.

En modelos con Intel Lunar Lake, la instalación manual de drivers IRST no es compatible. Se recomienda usar Windows 11 24H2 o superior y proceder con una instalación estándar sin esa carga de drivers.

En cambio, si tu equipo es ARM (por ejemplo, con CPU Qualcomm), ASUS indica usar la Recuperación en la nube desde MyASUS en WinRE para reinstalar el sistema en lugar del flujo tradicional con IRST, que no aplica a esta arquitectura.

ver drivers instalados con driverquery
Artículo relacionado:
Cómo ver todos los drivers instalados en Windows con driverquery y otras herramientas