title: Android emulator on apple silicon (arm64) could be run only using sudo mode
body: <p>I'm trying to start android emulator on apple silicon mac and I'm always getting the same results:</p>
  <ol>
  <li>Running emulator directly through Android Studio (the latest stable version, Arctic Fox 2020.3.1 Patch 4) causes a problem, when the process qemu-system-arch64 stucks and uses 99% CPU (there is no emulator's screen or something like than). Such behavior produces some logs:</li>
  </ol>
  <p>internal-error-msg.txt says:</p>
  <pre><code>emuglConfig_init: blacklisted=0 has_guest_renderer=0, mode: auto, option: (null)
  
  emuglConfig_init: auto-selected swiftshader_indirect based on conditions and UI preference 3
  
  emuglConfig_init: GPU emulation enabled using 'swiftshader_indirect' mode
  
  Deciding if GLDirectMem/Vulkan should be enabled. Selected renderer: 8 API level: 32 host GPU blacklisted? 0
  
  Swiftshader selected, enabling Vulkan.
  
  Enabling GLDirectMem
  Enabling Vulkan
  Adding to the library search path: /Users/xset/Library/Android/sdk/emulator/lib64/gles_swiftshader
  </code></pre>
  <p>opengl_log.txt says:</p>
  <pre><code>Initializing hardware OpenGLES emulation support
  android_startOpenglesRenderer: gpu info
  
  RenderWindow: CMD_INITIALIZE w=1080 h=2280
  FrameBuffer::initialize
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib]
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib]: not found in map, open for the first time
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib] (posix): begin
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib] (posix,darwin): call dlopen
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib] (posix,darwin): failed, try again with [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib]
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib] failed (posix). dlerror: []
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib]
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib]: not found in map, open for the first time
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib] (posix): begin
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib] (posix,darwin): call dlopen
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib] (posix,darwin): failed, try again with [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib]
  
  SharedLibrary::open for [/Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib] failed (posix). dlerror: []
  
  SharedLibrary::open for [libGLESv2.dylib]: not found in map, open for the first time
  
  SharedLibrary::open for [libGLESv2.dylib] (posix): begin
  
  SharedLibrary::open for [libGLESv2.dylib] (posix,darwin): call dlopen
  
  SharedLibrary::open for [libGLESv2.dylib] (posix,darwin): failed, try again with [libGLESv2.dylib]
  
  SharedLibrary::open for [libGLESv2.dylib] failed (posix). dlerror: [dlopen(libGLESv2.dylib, 0x0002): tried: '/Users/xset/Library/Android/sdk/emulator/lib64/qt/lib/libGLESv2.dylib' (no such file), '/Users/xset/Library/Android/sdk/emulator/lib64/gles_swiftshader/libGLESv2.dylib' (code signature in &lt;B48F2D27-E9C4-30EF-A948-C]
  
  SharedLibrary::open for [libEGL.dylib]: not found in map, open for the first time
  
  SharedLibrary::open for [libEGL.dylib] (posix): begin
  
  SharedLibrary::open for [libEGL.dylib] (posix,darwin): call dlopen
  
  SharedLibrary::open for [libEGL.dylib] (posix,darwin): failed, try again with [libEGL.dylib]
  
  SharedLibrary::open for [libEGL.dylib] failed (posix). dlerror: [dlopen(libEGL.dylib, 0x0002): tried: '/Users/xset/Library/Android/sdk/emulator/lib64/qt/lib/libEGL.dylib' (no such file), '/Users/xset/Library/Android/sdk/emulator/lib64/gles_swiftshader/libEGL.dylib' (code signature in &lt;5C3ABCC5-722A-3AEA-AF5B-6CEEFF8D10]
  </code></pre>
  <p>opengl_cxt_log.txt says nothing</p>
  <ol start="2">
  <li>Running emulator through terminal (<code>/Users/xset/Library/Android/sdk/emulator/emulator @Pixel_4_API_32</code>) causes such output:</li>
  </ol>
  <pre><code>INFO    | Android emulator version 30.9.4.0 (build_id 7759208) (CL:N/A)
  WARNING | unexpected system image feature string, emulator might not function correctly, please try updating the emulator.
  WARNING | cannot add library /Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib: failed
  WARNING | cannot add library /Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib: failed
  ERROR   | EglOsGlLibrary: Could not open GL library libGLESv2.dylib [dlopen(libGLESv2.dylib, 0x0002): tried: '/Users/xset/Library/Android/sdk/emulator/lib64/qt/lib/libGLESv2.dylib' (no such file), '/Users/xset/Library/Android/sdk/emulator/lib64/gles_swiftshader/libGLESv2.dylib' (code signature in &lt;B48F2D27-E9C4-30EF-A948-C]
  
  ERROR   | EglOsEglDispatcher: Could not open EGL library libEGL.dylib [dlopen(libEGL.dylib, 0x0002): tried: '/Users/xset/Library/Android/sdk/emulator/lib64/qt/lib/libEGL.dylib' (no such file), '/Users/xset/Library/Android/sdk/emulator/lib64/gles_swiftshader/libEGL.dylib' (code signature in &lt;5C3ABCC5-722A-3AEA-AF5B-6CEEFF8D10]
  </code></pre>
  <ol>
  <li>Running the same command in terminal, but with SUDO works well <code>sudo /Users/xset/Library/Android/sdk/emulator/emulator @Pixel_4_API_32</code>. It runs emulator in &quot;apple-native&quot; mode and everything works fine. It also produces some INFO logs:</li>
  </ol>
  <pre><code>INFO    | Android emulator version 30.9.4.0 (build_id 7759208) (CL:N/A)
  WARNING | unexpected system image feature string, emulator might not function correctly, please try updating the emulator.
  WARNING | cannot add library /Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib: failed
  WARNING | cannot add library /Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib: failed
  WARNING | cannot add library /Users/xset/Library/Android/sdk/emulator/qemu/darwin-aarch64/lib64/vulkan/libMoltenVK.dylib: failed
  INFO    | added library /Users/xset/Library/Android/sdk/emulator/lib64/vulkan/libMoltenVK.dylib
  createOrGetGlobalVkEmulation: warning: instance doesn't support external memory capabilities, picking first physical device
  INFO    | configAndStartRenderer: setting vsync to 60 hz
  INFO    | Sending adb public key [QAAAAIcNyIfJ1ydnXV4qz3eCWfMwRr0FlqitJHt/0ZHGRTLW4zOVPWMsHNRgO7u0DwRAyNnNa0iQI1Dptp6FvE1PLAr6/eAmYBPwM3/ZqDQKjuglikfnLLugTDa3K8CjUwBe4OkprODSUqv5dcdgPBgpG0vqFJnRQSWA2I/n5dh6QEbsJE8oDOz0ol/PMs9X3j9J1bl6wEhB0pClsH19byXNG4mB9peZ+MoygLE6WeFH1KXN1tQSPUIGd7ePnhtBU5JI86QudZ2SDvd354LM3VGsqfzOGf0SmzPZUOm1T5vBcijtBAm0f+s85K3j5LoQoZu+xgGGDPNTuN+21bQ8NMEC7+z1lqCWhgD8IPbtqypivOFHGbp2CFTjCeH5il84ATs0+O3ejwU4foc7GCWpw71WbqD09+++LIdJvCB7O+GkNebgaJvGjaHqQ7eaj0q3Lf6u6wf/3kSH8fi3QFEyzO0GsAZxAK5J5F7xeXKDznWSgS6fTwDsroU26tcT8B/WHWh7qcNhZeNJziLCyHh8dRbsn1MXUKqleJJwvpGrewUQhmfk1Kb/QlVEBjn1RODon1aWsLZ7ta8vSr2EVk4K4mj4hsXaV5XT3nEP1/ur3kZgydoantUohAuqPlQyoDeBjviGVxg9Guk2p4FZqzuuOVtgV+JZs2PWEt7NdF//mgsSmP/fl6CtawEAAQA= root@unknown]
  INFO    | Rootcanal has **NOT** been activated.
  INFO    | Started GRPC server at 127.0.0.1:8554, security: Local
  INFO    | Advertising in: /Users/xset/Library/Caches/TemporaryItems/avd/running/pid_12298.ini
  </code></pre>
  <p>So what should I do to made it run natively through Android Studio without sudo-mode?</p>