Android Studio, de repente recibió un problema con el controlador de la GPU al ejecutar el emulador

Tengo una computadora portátil que utilizo principalmente para el desarrollo de Android en el estudio de Android, hoy, de repente, recibí este mensaje de error (o una versión obsoleta) cuando ejecuté mi emulador

Your GPU driver information: GPU #1 Make: 8086 Model: Intel(R) HD Graphics Family Device ID: 0a16 Driver version: 10.18.10.3945 GPU #2 Make: 10de Model: NVIDIA GeForce 820M Device ID: 1140 Driver version: 22.21.13.8476 Some users have experienced emulator stability issues with this driver version. As a result, were selecting a compatibility renderer. Please check with your manufacturer to see if there is an updated driver available. 

Actualizó el controlador de geforce, pero no lo usó, intentó actualizar el de Intel pero falló, ¿hay alguna manera de desactivarlo? omitir el renderizador de compatibilidad y trabajar como solía hacerlo, el emulador es horrible ahora. ¿Alguna explicación de por qué ocurrió eso de repente?

También estoy usando Windows 7 de 64 bits si eso ayuda con algo, tuve una actualización hace unos días.

Estoy usando Win10 pero tengo el mismo problema. Emulator comenzó a bloquear mi aplicación después de la última actualización del emulador. En mi caso, el problema es que el emulador no se ejecuta en el hardware aunque nunca tuve un problema con mis GPU. Además, la ventana de “problema del controlador de GPU” que aparece ni siquiera indica cuál de las GPU cree que es el problema.

Para mí, la solución que funcionó es ejecutar el emulador desde el terminal, forzándolo a ejecutarse usando gráficos de hardware (en lugar de dejar que el emulador decida en qué) usando el comando

 emulator -avd avd_name -gpu mode 

donde mode es host para que se ejecute con hardware.

Por ejemplo:

Con el terminal de Android Studio, mueva a la carpeta donde se encuentra el emulador. El valor predeterminado en Win10 es: C: \ Users \ userName \ AppData \ Local \ Android \ sdk \ emulator

Encuentre el emulador para ejecutar enumerando los disponibles: emulator -list-avds

Ejecutar emulador con la opción de host -gpu : emulator -avd avd_name -gpu host

Más información en este enlace

Un comentario en el informe de error relacionado con este tema por parte de un empleado de Google es esclarecedor.

Si su sistema no tiene una GPU discreta, intentamos realizar este cambio para que el emulador funcione con mayor fiabilidad en los controladores de la GPU de Intel. Bajo su propio riesgo, puede volver a utilizar la GPU de Intel yendo a la página de configuración, luego cambiando el renderizador de OpenGL ES a “ANGLE (D3D11)”, “ANGLE (D3D9)”, o “OpenGL nativo de escritorio”.

Parece que este mensaje se muestra para todos los sistemas que usan GPU Intel, no solo para sistemas que ejecutan versiones específicas de un controlador de gráficos.

La solución es, si es posible, cambiar a usar una GPU externa para ejecutar el emulador.

Si una GPU Intel es la única GPU disponible en el sistema, es posible volver a habilitar la representación acelerada de OpenGL ES, anulando el renderizador predeterminado de OpenGL ES en la configuración (ver a continuación). Las opciones son OpenGL, ANGLE y SwiftShader. SwiftShader es una emulación OpenGL ES basada en CPU, por lo que esta configuración no proporcionará una aceleración. ANGLE es una emulación OpenGL basada en Direct3d.

Según el comentario, no está garantizado que funcione, de hecho puedo reactivar la aceleración de hardware para los emuladores de Android 7, pero con la aceleración de hardware habilitada, todo lo que recibo es una pantalla negra para los emuladores de Android 8.

Abra la configuración con Ctrl-Shift-S y luego Settings -> General -> OpenGL ES renderer Configuración de ilustración

Actualización n. ° 1: otro comentario sobre el informe de error proporciona una mayor iluminación sobre este tema:

Si solo tiene un Intel HD 4xxx ejecutando el emulador, se espera que se use un procesador de compatibilidad. Lo siento, pero tenemos que ser capaces de cambiar a los controladores de GPU Intel mejor compatibles, especialmente cuando se ejecutan altos niveles de API (más de 25) de las imágenes del sistema. Las iGPU de Intel de esa generación (y anteriores) tienen muchos problemas con la compatibilidad con OpenGL.

Parece que los controladores Intel iGPU para el procesador Haswell (4ta generación) y versiones anteriores no son compatibles con OpenGL lo suficientemente bien para dispositivos Android 7.1+. Por lo tanto, están deliberadamente recurriendo a la emulación de software que mejor soporta los nuevos emuladores de Android.

Esto coincide con mi experiencia. El uso de la iGPU de Intel funciona muy bien en Android 7, pero es escamosa en Android 7.1 y no funciona en absoluto en Android 8.

Mi sugerencia es que me quede con los emuladores de Android 7 cuando uso aceleración de hardware para Intel Haswell y iGPU más antiguas.

Actualización n. ° 2: La comunicación oficial sobre este tema finalmente se proporcionó en forma de comentarios en las notas de la versión del Emulador 26.1.3:

Las GPU que se cambiarán para usar la representación ANGLE o Swiftshader se determinarán de la siguiente manera:

  • Las iGPU Intel más antiguas tienen problemas de controladores en los controladores OpenGL y ANGLE D3D. Los usuarios con Intel HD Graphics 3xxx y anteriores utilizarán Swiftshader.
  • Algunos usuarios informaron que no pueden usar imágenes de nivel 25 de API debido a un error en el que “el iniciador de píxeles sigue deteniéndose”. Esto parece ser un problema de controlador en algunos modelos Intel HD 4xxx. Entonces se cambiarán para usar ANGLE automáticamente.

Para obtener los mejores resultados con la emulación de GPU, recomendamos utilizar una GPU NVIDIA o AMD discreta, o una GPU Intel más nueva (Iris, HD 5xxx, HD 5xx / 6xx).

Me encontré con este problema hoy. Según la sugerencia del rastreador de problemas del emulador de Google, instalé el emulador beta 26.1.3. Problema fijo.

Hice lo mismo que @Api, pero lo hice desde el Administrador de dispositivos virtuales. En la ventana de edición del dispositivo, en la lista desplegable Gráficos, seleccioné “Hardware – GLES 2.0”. Creo que el valor predeterminado es Automático. Sigo recibiendo la ventana emergente errónea del controlador de la GPU, pero el emulador ya no se cuelga. Está de vuelta a la confiabilidad normal.

Como otros sugirieron, vaya a Configuración -> Apariencia y comportamiento -> Configuración del sistema -> Actualizaciones. Cambie “Comprobar actualizaciones automáticamente” a “Canal Beta”. Actualiza el emulador a la última versión beta. El problema del conductor debería desaparecer. Tuve problemas para ejecutar el fragmento con google maps (aplicación chrash) que se resolvió después de la actualización del emulador a la última versión beta.

Para usuarios de linux, ve a la carpeta de Android que en mi caso se encuentra en ~ / Android. Luego proceda a / sdk / emulator. “emulador” es un comando local. Por lo tanto, puede ejecutar el comando como local “./emulator”.

El rest se hace como declaró el usuario “Api”.

$ ./emulator -avd -avd_name -gpu mode

$ ./emulator -avd Nexus_5X_API_26 -gpu host (#IN MI CASO)

Nota: No descargué el SDK, en su lugar lo copié y pegué en / home dir. Es por eso que el comando no era válido a escala global. Si configura sdk avd desde cero, debería funcionar bien.

Estoy teniendo el mismo problema exacto de hace 4 días. He intentado las dos respuestas anteriores, pero nada funciona. PD. El emulador funciona, pero simplemente se cuelga aparentemente al azar. Antes de este error, el emulador funcionaba bien y podía probar ciertas características, también puedo depurar completamente sin fallas a través de USB con algunos dispositivos Android, así que estoy casi seguro de que es un problema con el emulador.

Editar: No estoy seguro de cuál fue exactamente el problema, pero se resolvió forzando a Android Studio a ejecutar con nVidia GPU.

Logré solucionar este problema desactivando el uso de la GPU para que AVD use la aceleración del software. Sin embargo, no será tan rápido como la GPU, pero al menos tiene mejores posibilidades de funcionar correctamente.

Probé otras opciones más arriba, pero lamentablemente ninguna de ellas funcionaba.

Si desea probar esta opción, vaya al Administrador AVD (en Android Studio: Herramientas -> Android -> Administrador AVD), luego edite su Dispositivo virtual y en el campo Gráficos, puede configurar “Software – GLES 1.1” en su lugar si “Hardware – GLES 2.0”.

Esta no es la solución perfecta para este problema, pero puede ayudar.

nada de eso funcionó para mí en mi laptop con intel hd4000

Lo que funcionó es ubuntu linux después de ejecutar el emulador en Linux, me sorprendió su velocidad 🙂

así que parece que el problema con Intel y Windows no se resolverá pronto