Friday, March 29, 2019

Emulator 29.0.0 Canary

Emulator 29.0.0 is now available in the Canary and Dev channels.

Fixes
  • On some remote desktop setups, it was possible to get a black screen when launching the emulator on Linux. We now explicitly configure MESA_RGB_VISUAL to avoid this. Details
  • Fixed incorrect usage of SO_REUSEADDR. Details
  • Fixed issue where rotate buttons would appear on TV AVDs. https://issuetracker.google.com/127956599
  • Fixed issue where if emulator was set always on top, the extended controls window would mysteriously appear every time the emulator was rotated. https://issuetracker.google.com/128455869
  • To address issues with some Linux installs containing incompatible versions of some Qt dependent libraries, we now package libfreetype, libsoftokn, and libsqlite3 with the emulator.
  • Fixed failure to snapshot load on GLES1 apps and API 15 and 16.

AR Macros

The emulator can now play back from a set of preset motions in order to make it easier to test AR apps on the emulator.

The controls can be found in Extended Controls > Record and Playback > Macro Playback. When a macro is played back, the emulator's virtual sensors will generate values that reflect the motion, and the virtual scene camera will update according to the motion.


RAM Usage Metrics

In continuing to address emulator resource usage, the emulator now sends RAM usage metrics in a 10 second interval for opt-in users, in order for us to get a clearer picture of how the emulator is typically used.


Emulator in CI


We're still working to make life easier for our CI users. On Linux, the headless build now does not use pulseaudio nor X11, enabling running in an even wider variety of environments. The system dependent shared libraries that are not packaged with the emulator are now reduced to:
  1. linux-vdso.so.1
  2. libutil.so.1
  3. libm.so.6
  4. libdl.so.2
  5. librt.so.1
  6. libpthread.so.0
  7. libgcc_s.so.1
  8. libc.so.6
  9. ld-linux-x86-64.so.2
More details on the change
More info on headless builds

Graphics
  • Added support for the GLES extensions GL_EXT_texture_format_BGRA8888 and GL_APPLE_texture_format_BGRA8888 if supported on host.
  • Vulkan is now supported experimentally on Windows and Linux given a host GPU that supports Vulkan and upcoming Q images (or the latest AOSP master system image). To enable the Vulkan driver and testing Vulkan apps:
    • echo "Vulkan = on" >> ~/.android/advancedFeatures.ini
    • echo "GLDirectMem = on" >> ~/.android/advancedFeatures.ini