Friday, March 1, 2019

Emulator 28.1.9 Canary

Emulator 28.1.9 is now available in the Canary and Dev channels. Changes:

Project Marble:
  • To address CPU usage, we now run the following ADB commands on a cold boot when detecting boot complete:
    • adb shell settings put system screen_off_timeout 214783647
    • adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
    • The first command increases the screen off timeout so the emulator can be used in battery mode without charging.
      • In battery mode, background CPU usage is greatly reduced.
      • In AC charging mode, GMSCore background operations such as app updates can take over all CPU cores of the entire device with no warning (and by extension, the user's machine).
      • We shipped the screen off timeout command in 28.1.7, but we are adding a second invocation on boot complete in order to address issues with sending the command reliably.
    • The second command revokes microphone permissions for the Google search app, which greatly reduces background CPU usage on the home screen and in the launcher when the Google search app is active.
      • In 28.1.4 we disabled host audio input by default.
      • In 28.1.4 we also described how revoking the microphone permissions would also suppress the request on the Android OS end, which greatly reduces background CPU usage. Now, permission revoking is done automatically by default on every cold boot.
  • Removed a major source of "VCPU shutdown request" errors on Windows when launching the emulator.
  • We collected crash data from the Vulkan support check and we noticed that users on AMD GPUs will need to update their drivers to a recent version. We tested the following version on RX 580 and it seems to have resolved a crash on calling vkCreateInstance:
    • Driver version: 25.20.15021.1007
    • Radeon version: 19.2.2
  • Due to the issue on AMD GPUs, we have turned off the Vulkan support check for now and will instead use a whitelist of GPUs.