I'm having trouble starting my android emulator. Nothing appears to load.
Pixel 2 API 26 Android 8.0 x86.
Linux Ubuntu 16.04 LTS 64-bit.
12/10/17 2:20 PM Emulator: libGL error: unable to load driver: vmwgfx_dri.so
2:20 PM Emulator: libGL error: driver pointer missing
2:20 PM Emulator: libGL error: failed to load driver: vmwgfx
2:20 PM Emulator: libGL error: unable to load driver: swrast_dri.so
2:20 PM Emulator: libGL error: failed to load driver: swrast
2:20 PM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
2:20 PM Emulator: Major opcode of failed request: 155 (GLX)
2:20 PM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
2:20 PM Emulator: Value in failed request: 0x0
2:20 PM Emulator: Serial number of failed request: 33
2:20 PM Emulator: Current serial number in output stream: 34
2:20 PM Emulator: Process finished with exit code 1
These are known errors from libGL and libstdc++
You can quick fix this by change to use Software
for Emulated Performance Graphics
option, in the AVD settings.
Or try to use the libstdc++.so.6
(which is available in your system) instead of the one bundled inside Android SDK. There are 2 ways to replace it:
The emulator has a switch -use-system-libs
. You can found it here: ~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs
.
This option force Linux emulator to load the system libstdc++
(but not Qt libraries),
in cases where the bundled ones (from Android SDK) prevent it from loading or
working correctly. See this commit
Alternatively you can set the ANDROID_EMULATOR_USE_SYSTEM_LIBS
environment variable to 1
for your user/system
.
This has the benefit of making sure that the emulator will work even if you launched it from within Android Studio.
See: libGL error and libstdc++: Cannot launch AVD in emulator - Issue Tracker