Android Studio, Suddenly got GPU Driver Issue when running emulator

I am using Win10 but have the same problem. Emulator started crashing my app after last emulator update. In my case, problem is that emulator does not run on hardware even though I never had a problem with my GPUs. Also, the “GPU driver issue” window that pops up doesn’t even label WHICH one of the GPUs it thinks is the problem.

For me the solution that worked is to run emulator from terminal, forcing it to run using hardware graphics (instead of letting emulator decide on which) using command

emulator -avd avd_name -gpu mode

where mode is host so that it will run with hardware.

For example:

Using Android Studio terminal move to folder where the emulator is located. Default on Win10 is: C:UsersuserNameAppDataLocalAndroidsdkemulator

Find emulator to run by listing available ones:
emulator -list-avds

Run emulator with -gpu host option:
emulator -avd avd_name -gpu host

More info on this link

A comment in the on the bug report pertaining to this issue by a Google employee is illuminating.

If your system doesn’t have a discrete GPU, we intended this change in
order to make the emulator more reliably run on Intel GPU drivers. At
your own risk, you may switch back to using the Intel GPU by going to
settings page, then changing the OpenGL ES renderer to “ANGLE
(D3D11)”, “ANGLE (D3D9)”, or “Desktop native OpenGL”.

It appears that this message is being displayed for all systems using Intel GPUs, not just systems running specific versions of a graphics driver.

The solution is to, if possible, switch to using an external GPU for running the emulator.

If an Intel GPU is the only GPU available on system it is possible to re-enable accelerated rendering of OpenGL ES, by overriding the default OpenGL ES renderer in settings (see below). Options are OpenGL, ANGLE and SwiftShader. SwiftShader is CPU based OpenGL ES emulation, so this setting will not provide a speedup. ANGLE is Direct3d based OpenGL emulation.

As per the comment this is not guaranteed to work, indeed I am able to re-enable hardware acceleration for Android 7 emulators, but with hardware acceleration enabled, all I receive is a black screen for Android 8 emulators.

Open settings with Ctrl-Shift-S then, depending on the version of the emulator, either go to Settings -> General -> OpenGL ES renderer or to Settings -> Advanced -> OpenGL ES renderer

Newer emulator versions:
Settings illustration

Older emulator versions:
Settings illustration

Update #1:
Another comment on the bug report provides further illumination on this issue:

If you have just a Intel HD 4xxx running the emulator, it’s intended that a compatibility renderer be used. I’m sorry about it, but we need to be able to switch to better-supported Intel GPU drivers especially when running high API levels (25+) of system images. Intel iGPUs of that generation (and older) have many issues with OpenGL compatibility.

It appears that Intel iGPU drivers for Haswell (4th gen) processor and older don’t support OpenGL well enough for Android 7.1+ devices. So they are purposely falling back to using software emulation which better supports the new Android emulators.

This matches my experience. Using the Intel iGPU works great on Android 7, but is flaky on Android 7.1 and doesn’t work at all on Android 8.

My suggestion, stick with Android 7 emulators when using hardware acceleration for Intel Haswell and older iGPUs.

Update #2:
Official communication on this issue was finally provided in the form of comments in the release notes for Emulator 26.1.3:

Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:

  • Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
  • Some users reported the inability to use API level 25 images because of a bug in which “Pixel Launcher keeps stopping.” This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.

For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).

I ran into this problem today. Per the suggestion from the Google emulator issue tracker, I installed the beta emulator 26.1.3. Problem fixed.

Leave a Comment