A commentaire dans le sur le rapport de bogue relative à cette question par un employé de Google est éclairante.
Si votre système ne dispose pas d'un GPU discret, nous avons prévu ce changement afin de faire fonctionner l'émulateur de manière plus fiable avec les pilotes GPU Intel. afin de rendre l'émulateur plus fiable sur les pilotes de GPU Intel. À risque, vous pouvez revenir à l'utilisation du GPU Intel en allant à la page de page des paramètres, puis en changeant le moteur de rendu OpenGL ES en "ANGLE (D3D11)", "ANGLE (D3D9)", ou "Desktop native OpenGL".
Il semble que ce message s'affiche pour tous les systèmes utilisant des GPU Intel, et pas seulement pour les systèmes exécutant des versions spécifiques d'un pilote graphique.
Le site solution est, si possible, d'utiliser un GPU externe pour faire fonctionner l'émulateur.
Si un GPU Intel est le seul GPU disponible sur le système, il est possible de réactiver le rendu accéléré d'OpenGL ES, en remplaçant le moteur de rendu OpenGL ES par défaut dans les paramètres (voir ci-dessous). Les options sont OpenGL, ANGLE et SwiftShader. SwiftShader est une émulation OpenGL ES basée sur le CPU, donc ce paramètre ne fournira pas d'accélération. ANGLE est une émulation OpenGL basée sur Direct3d.
Comme indiqué dans le commentaire, il n'est pas garanti que cela fonctionne. En effet, je suis capable de réactiver l'accélération matérielle pour les émulateurs Android 7, mais avec l'accélération matérielle activée, tout ce que je reçois est un écran noir pour les émulateurs Android 8.
Ouvrez les paramètres avec Ctrl-Shift-S puis, en fonction de la version de l'émulateur, allez à Settings -> General -> OpenGL ES renderer
ou à Settings -> Advanced -> OpenGL ES renderer
Versions plus récentes de l'émulateur :
Anciennes versions de l'émulateur :
Mise à jour n° 1 : Un autre commentaire sur le rapport de bogue fournit un éclairage supplémentaire sur ce problème :
Si vous n'avez qu'une Intel HD 4xxx pour exécuter l'émulateur, il est prévu d'utiliser un moteur de rendu de compatibilité. Je suis désolé, mais nous devons être en mesure de passer à des pilotes de GPU Intel mieux supportés, en particulier lors de l'exécution d'images système à haut niveau d'API (25+). Les iGPU Intel de cette génération (et plus anciens) ont de nombreux problèmes avec la compatibilité OpenGL.
Il semble que les pilotes Intel iGPU pour les processeurs Haswell (4e génération) et plus anciens ne prennent pas suffisamment en charge OpenGL pour les appareils Android 7.1+. Ils se rabattent donc délibérément sur l'émulation logicielle qui prend mieux en charge les nouveaux émulateurs Android.
Cela correspond à mon expérience. L'utilisation de l'iGPU d'Intel fonctionne très bien sous Android 7, mais n'est pas fiable sous Android 7.1 et ne fonctionne pas du tout sous Android 8.
Je vous conseille de vous en tenir aux émulateurs Android 7 lorsque vous utilisez l'accélération matérielle pour les iGPU Intel Haswell et plus anciens.
Mise à jour n°2 : Une communication officielle sur cette question a finalement été fournie sous la forme d'observations dans les notes de mise à jour pour l'émulateur 26.1.3 :
Les GPU qui seront commutés pour utiliser le rendu ANGLE ou Swiftshader sont déterminés comme suit :
- Les anciens iGPU d'Intel ont des problèmes de pilote à la fois sur les pilotes OpenGL et ANGLE D3D. Les utilisateurs avec Intel HD Graphics 3xxx et plus anciens utiliseront Swiftshader.
- Certains utilisateurs ont signalé l'impossibilité d'utiliser des images de niveau API 25 en raison d'un bogue dans lequel "Pixel Launcher s'arrête constamment". Il semble s'agir d'un problème de pilote dans certains modèles Intel HD 4xxx. Ils seront donc basculés pour utiliser ANGLE automatiquement.
Pour de meilleurs résultats avec l'émulation GPU, nous recommandons d'utiliser un GPU discret NVIDIA ou AMD, ou un GPU Intel plus récent (Iris, HD 5xxx, HD 5xx/6xx).