Mengonfigurasi akselerasi hardware untuk Android Emulator

Emulator akan berjalan optimal jika dapat menggunakan hardware komputer Anda, seperti CPU, GPU, dan modem, bukan berjalan sebagai software murni. Kemampuan untuk menggunakan hardware komputer Anda guna meningkatkan performa disebut akselerasi hardware.

Emulator dapat menggunakan akselerasi hardware untuk meningkatkan pengalaman Anda dengan dua cara utama:

  • Akselerasi grafis untuk rendering layar yang lebih baik
  • Akselerasi mesin virtual (VM) untuk kecepatan eksekusi yang lebih baik

Akselerasi hardware diaktifkan secara default pada sebagian besar mesin. Jika tidak diaktifkan di komputer Anda, halaman ini akan menjelaskan cara mengonfigurasi akselerasi grafis dan mesin virtual (VM) untuk mendapatkan performa yang lebih tinggi dari emulator.

Mengonfigurasi akselerasi grafis

Akselerasi grafis menggunakan hardware komputer Anda (biasanya GPU) agar rendering layar menjadi lebih cepat. Perangkat Android menggunakan OpenGL for Embedded Systems (OpenGL ES atau GLES) untuk merender grafis 2D dan 3D di layar.

Saat membuat Perangkat Virtual Android (AVD) di AVD Manager, Anda dapat menentukan apakah emulator harus menggunakan hardware atau software untuk mengemulasi GPU AVD. Akselerasi hardware dapat menjadi rekomendasi dan biasanya akan lebih cepat. Namun, Anda mungkin perlu menggunakan akselerasi software jika komputer Anda menggunakan driver grafis yang tidak kompatibel dengan emulator.

Secara default, emulator memutuskan apakah akan menggunakan akselerasi grafis hardware atau software berdasarkan setelan komputer Anda. Jika hardware dan driver GPU Anda kompatibel, emulator akan menggunakan GPU. Jika tidak, emulator akan menggunakan akselerasi software (menggunakan CPU komputer Anda) untuk melakukan simulasi pemrosesan GPU.

Jika memulai emulator dari command line, Anda dapat mengganti setelan akselerasi grafis di AVD untuk instance perangkat virtual tersebut.

Persyaratan

Untuk menggunakan akselerasi grafis, lingkungan pengembangan Anda harus memiliki hal berikut:

  • SDK Tools: Direkomendasikan rilis terbaru (minimum versi 17)
  • SDK Platform: Direkomendasikan rilis terbaru (Android 4.0.3, Revisi 3, minimum)

Mengonfigurasi akselerasi grafis di AVD Manager

Untuk mengonfigurasi akselerasi grafis untuk AVD, ikuti langkah-langkah ini:

  1. Buka AVD Manager.
  2. Buat AVD baru atau edit AVD yang ada.
  3. Di jendela Verify Configuration, cari bagian Emulated Performance.
  4. Pilih nilai untuk opsi Graphics:.
  5. Klik Finish.

Mengonfigurasi akselerasi grafis dari command line

Untuk menentukan jenis akselerasi grafis saat menjalankan AVD dari command line, sertakan opsi -gpu, seperti ditunjukkan pada contoh berikut:

emulator -avd avd_name -gpu mode [{-option [value]} ... ]

Nilai mode dapat disetel ke salah satu opsi berikut:

  • auto: Memungkinkan emulator memilih antara akselerasi grafis hardware atau software berdasarkan penyiapan komputer Anda.
  • host: Menggunakan GPU di komputer Anda untuk akselerasi hardware. Opsi ini biasanya memberikan kualitas dan performa grafis tertinggi untuk emulator. Namun, jika driver grafis mengalami masalah rendering OpenGL, Anda mungkin perlu menggunakan opsi swiftshader_indirect atau angle_indirect.
  • swiftshader_indirect: Menggunakan varian SwiftShader yang kompatibel dengan Quick Boot untuk merender grafis menggunakan akselerasi software. Opsi ini adalah alternatif yang baik untuk mode host jika komputer Anda tidak dapat menggunakan akselerasi hardware.
  • angle_indirect: (khusus Windows) Menggunakan varian ANGLE Direct3D yang kompatibel dengan Quick Boot untuk merender grafis menggunakan akselerasi software. Opsi ini adalah alternatif yang baik untuk mode host jika komputer Anda tidak dapat menggunakan akselerasi hardware. Pada umumnya, performa ANGLE mirip dengan saat menggunakan mode host karena ANGLE menggunakan Microsoft DirectX, bukan OpenGL.

    Di Windows, driver Microsoft DirectX biasanya memiliki lebih sedikit masalah daripada driver OpenGL. Opsi ini menggunakan Direct3D 11 dan memerlukan Windows 10, Windows 8.1, atau Windows 7 SP1 dengan Update Platform Windows 7.

  • guest: Menggunakan rendering software sisi tamu. Opsi ini memberikan kualitas dan performa grafis terendah untuk emulator.

Opsi mode berikut tidak lagi digunakan:

  • swiftshader: Tidak digunakan lagi di versi 27.0.2. Sebagai gantinya, gunakan swiftshader_indirect.
  • angle: Tidak digunakan lagi di versi 27.0.2. Sebagai gantinya, gunakan angle_indirect (khusus Windows).
  • mesa: Tidak digunakan lagi di versi 25.3. Gunakan swiftshader_indirect sebagai gantinya.

Mengaktifkan rendering Skia untuk UI Android

Jika menggunakan gambar untuk level API 27 atau yang lebih tinggi, emulator dapat merender UI Android dengan Skia. Skia membantu emulator merender grafis lebih halus dan efisien.

Untuk mengaktifkan rendering Skia, gunakan perintah berikut di adb shell:

su
setprop debug.hwui.renderer skiagl
stop
start

Mengonfigurasi akselerasi VM

Akselerasi VM menggunakan prosesor komputer Anda untuk meningkatkan kecepatan eksekusi emulator secara signifikan. Alat yang disebut hypervisor mengelola interaksi ini dengan ekstensi virtualisasi yang disediakan oleh prosesor komputer Anda. Bagian ini menguraikan persyaratan penggunaan akselerasi VM dan menjelaskan cara menyiapkan akselerasi VM pada setiap sistem operasi.

Persyaratan umum

Untuk menggunakan akselerasi VM dengan emulator, komputer Anda harus memenuhi persyaratan umum di bagian ini. Komputer Anda juga harus memenuhi persyaratan lain yang khusus untuk sistem operasi Anda.

Persyaratan lingkungan pengembangan

Untuk menggunakan akselerasi VM, lingkungan pengembangan Anda harus memenuhi persyaratan berikut:

  • SDK Tools: Minimum versi 17; direkomendasikan versi 26.1.1 atau yang lebih baru
  • AVD: Versi Android yang diperlukan dijelaskan dalam tabel berikut.

    Arsitektur CPU Persyaratan Image Sistem
    X86_64 Image sistem x86 atau x86_64 untuk Android 2.3.3 (level API 10) dan yang lebih tinggi
    ARM64 Image sistem arm64-v8a untuk Android 5.0 (level API 21) dan yang lebih tinggi

Persyaratan ekstensi virtualisasi

Selain persyaratan lingkungan pengembangan, prosesor komputer Anda harus mendukung ekstensi virtualisasi. Prosesor yang didukung adalah:

  • Prosesor Intel dengan Intel Virtualization Technology (VT-x, vmx), seperti prosesor Intel Core iX dan Intel Core Ultra
  • Prosesor AMD dengan AMD-V (SVM), seperti prosesor AMD Ryzen
  • Apple silicon

Persyaratan Tambahan untuk prosesor Intel dan AMD:

Penerjemahan alamat tingkat kedua (Intel EPT atau AMD RVI) diperlukan untuk prosesor Intel dan AMD. Sebagian besar prosesor Intel dan AMD modern mendukung terjemahan alamat tingkat kedua. Hanya prosesor Intel atau AMD generasi pertama yang menawarkan ekstensi virtualisasi yang mungkin tidak memiliki terjemahan halaman tingkat kedua.

Jika tidak yakin apakah prosesor Anda mendukung ekstensi yang diperlukan, periksa spesifikasi prosesor di situs produsen. Jika prosesor Anda tidak mendukung ekstensi ini, Anda tidak dapat menggunakan akselerasi VM.

Batasan

Akselerasi VM memiliki batasan berikut:

  • Anda tidak dapat menjalankan emulator akselerasi VM di dalam VM lain, seperti VM yang dihosting oleh VirtualBox, VMWare, atau Docker. Anda harus menjalankan emulator yang diakselerasi VM langsung di komputer host Anda.
  • Bergantung pada sistem operasi dan hypervisor, Anda tidak dapat menjalankan software yang menggunakan teknologi virtualisasi lain di saat yang sama ketika menjalankan emulator yang diakselerasi VM. Contoh software tersebut mencakup, tetapi tidak terbatas pada, solusi mesin virtual, program antivirus tertentu, dan beberapa solusi anti-penipu. Situasi ini sebagian besar diamati di Windows dengan Hyper-V nonaktif. Sebagian besar software semacam ini dapat digunakan berdampingan dengan emulator Android tanpa masalah apa pun. Namun, saat konflik terjadi, sebaiknya jangan jalankan emulator yang diakselerasi VM secara bersamaan dengan software tersebut.

Tentang hypervisor

Akselerasi VM memerlukan hypervisor, sebuah alat yang menggunakan ekstensi virtualisasi yang disediakan oleh prosesor komputer Anda.

Tanpa hypervisor dan akselerasi VM, emulator harus menerjemahkan kode mesin dari blok demi blok VM agar sesuai dengan arsitektur komputer host. Proses ini dapat berjalan dengan sangat lambat. Dengan hypervisor, saat VM dan arsitektur komputer host cocok, emulator dapat menjalankan kode secara langsung pada prosesor host menggunakan hypervisor. Peningkatan ini meningkatkan kecepatan dan performa emulator secara drastis.

Hypervisor yang paling sesuai untuk Anda bergantung pada konfigurasi dan sistem operasi komputer Anda. Untuk informasi selengkapnya, baca salah satu bagian berikut:

Memeriksa apakah hypervisor terinstal

Anda dapat menggunakan opsi command line -accel-check emulator untuk memeriksa apakah hypervisor saat ini terinstal pada komputer Anda.

Contoh berikut menunjukkan cara menggunakan opsi accel-check emulator. Pada setiap contoh, Sdk adalah lokasi Android SDK:

Windows:

c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check
accel:
0
AEHD (version 2.2) is installed and usable.
accel
Ada beberapa pilihan hypervisor di Windows. Jadi, yang Anda lihat mungkin berbeda dari contoh di sini. Misalnya, Anda mungkin melihat salah satu kata kunci berikut dalam pesan: GVM(sebelumnya AEHD), WHPX.

macOS:

janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check
accel:
0
Hypervisor.Framework OS X Version 13.2
accel

Linux:

janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check
accel:
0
KVM (version 12) is installed and usable.

Mengonfigurasi akselerasi VM di Windows

Akselerasi VM di Windows dapat menggunakan salah satu dari dua hypervisor:

  • Windows Hypervisor Platform (WHPX)
  • Driver hypervisor Android Emulator (AEHD)

Memilih hypervisor di Windows

Bagian ini menampilkan kriteria untuk menentukan hypervisor mana yang akan digunakan. Proses untuk mengonfigurasi akselerasi VM menggunakan setiap hypervisor dijelaskan di bagian berikut ini.

Kriteria Hypervisor
Anda perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. Gunakan WHPX.
Anda tidak perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. Gunakan driver hypervisor Android Emulator.

Mengonfigurasi akselerasi VM menggunakan Platform Windows Hypervisor

Sebelum mengaktifkan WHPX, komputer Anda harus memenuhi persyaratan berikut:

Untuk menginstal WHPX di Windows, ikuti langkah-langkah ini:

  1. Dari desktop Windows, klik kanan ikon Windows, lalu pilih Apps and features.
  2. Di bagian Related settings, klik Programs and Features.
  3. Klik Turns Windows Features on or off.
  4. Pilih Windows Hypervisor Platform.

  5. Klik OK.

  6. Setelah penginstalan selesai, mulai ulang komputer Anda.

Mengonfigurasi akselerasi VM menggunakan driver hypervisor Android Emulator (AEHD) di Windows

Sebelum dapat menginstal dan menggunakan driver hypervisor Android Emulator, komputer Anda harus memenuhi persyaratan berikut:

  • Prosesor Intel atau AMD dengan ekstensi virtualisasi.
  • Windows 11 atau Windows 10 64-bit (Windows 32-bit tidak didukung)

    Pengguna Windows 8.1, Windows 8, dan Windows 7 dapat terus menggunakan AEHD 1.7 atau yang lebih lama. Namun, dukungan tidak akan diberikan untuk skenario tersebut.

  • Hyper-V harus dinonaktifkan di Dialog Fitur Windows.

    Komponen jendela tertentu dapat mengaktifkan hypervisor Hyper-V tanpa mengaktifkan Hyper-V di Dialog Fitur Windows, seperti Core Isolation yang ditawarkan oleh Windows Defender. Dalam kasus seperti ini, gunakan WHPX.

Di Prosesor AMD, driver hypervisor Android Emulator dapat diinstal melalui SDK Manager di Android Studio 4.0 Canary 5 atau yang lebih baru.

Di Prosesor Intel, driver hypervisor Android Emulator dapat diinstal melalui SDK Manager di Android Studio Flamingo atau yang lebih baru.

Untuk menginstal dari SDK Manager, ikuti langkah-langkah berikut:

  1. Pilih Tools > SDK Manager.
  2. Klik tab SDK Tools dan pilih Android Emulator hypervisor driver.
  3. Klik OK untuk mendownload dan menginstal driver hypervisor Android Emulator.
  4. Setelah penginstalan, pastikan driver beroperasi dengan benar menggunakan perintah command line berikut:

    AEHD 2.1 dan yang lebih tinggi

    sc query aehd
    

    Pesan status menyertakan informasi berikut:

    SERVICE_NAME: aehd
           ...
           STATE              : 4  RUNNING
           ...
    

    Pesan error berikut berarti bahwa ekstensi virtualisasi tidak diaktifkan di BIOS atau Hyper-V tidak dinonaktifkan:

    SERVICE_NAME: aehd
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

    AEHD 2.0 dan yang lebih rendah

    sc query gvm
    

    Pesan status menyertakan informasi berikut:

    SERVICE_NAME: gvm
           ...
           STATE              : 4  RUNNING
           ...
    

    Pesan error berikut berarti bahwa ekstensi virtualisasi tidak diaktifkan di BIOS atau Hyper-V tidak dinonaktifkan:

    SERVICE_NAME: gvm
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

Driver hypervisor Android Emulator juga dapat didownload dan diinstal dari GitHub. Setelah mengekstrak paket driver, jalankan silent_install.bat di command line dengan hak istimewa administrator.

Uninstal driver hypervisor Android Emulator menggunakan perintah berikut pada command line dengan hak istimewa administrator:

AEHD 2.1 dan yang lebih tinggi

   sc stop aehd
   sc delete aehd

AEHD 2.0 dan yang lebih rendah

   sc stop gvm
   sc delete gvm

Mengonfigurasi akselerasi VM di macOS

Di MacOS, Android Emulator menggunakan Hypervisor.Framework bawaan, yang memerlukan MacOS v10.10 (Yosemite) dan yang lebih tinggi.

Mengonfigurasi akselerasi VM di Linux

Sistem berbasis Linux mendukung akselerasi VM melalui paket software KVM. Ikuti petunjuk untuk menginstal KVM di sistem Linux Anda, dan pastikan KVM telah aktif. Untuk sistem Ubuntu, lihat Penginstalan KVM Ubuntu.

Persyaratan

Pengoperasian KVM membutuhkan izin pengguna khusus. Pastikan Anda memiliki izin yang sesuai seperti yang ditentukan dalam petunjuk penginstalan KVM.

Untuk menggunakan akselerasi VM pada Linux, komputer Anda juga harus memenuhi persyaratan ini:

  • Untuk prosesor Intel: Dukungan untuk Virtualization Technology (VT-x), fitur Intel EM64T (Intel 64), dan fungsionalitas Execute Disable (XD) Bit yang aktif.
  • Untuk prosesor AMD: Dukungan untuk AMD Virtualization (AMD-V).

Memeriksa apakah KVM sudah terinstal di Linux

Anda dapat menggunakan opsi command line -accel-check emulator untuk memeriksa apakah KVM sudah terinstal. Atau, Anda dapat menginstal paket cpu-checker yang berisi perintah kvm-ok.

Contoh berikut menunjukkan cara menggunakan perintah kvm-ok:

  1. Instal paket cpu-checker:

    sudo apt-get install cpu-checker
    egrep -c '(vmx|svm)' /proc/cpuinfo
    

    Output dengan nilai 1 atau yang lebih besar berarti virtualisasi didukung. Output dengan nilai 0 berarti CPU Anda tidak mendukung virtualisasi hardware.

  2. Jalankan perintah kvm-ok:

    sudo kvm-ok
    

    Output yang diharapkan:

    INFO: /dev/kvm exists
    KVM acceleration can be used
    

    Jika mengalami error berikut, berarti Anda masih dapat menjalankan mesin virtual. Namun, mesin virtual Anda akan menjadi lebih lambat tanpa ekstensi KVM.

    INFO: Your CPU does not support KVM extensions
    KVM acceleration can NOT be used
    

Menginstal KVM di Linux

Gunakan perintah berikut untuk menginstal KVM:

Cosmic (18.10) atau yang lebih baru:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Lucid (10.04) atau yang lebih baru:

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) atau yang lebih lama:

sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils

Panduan Konfigurasi Lama untuk akselerasi VM di Windows

Mulai dari emulator 33.x.x.x, HAXM tidak digunakan lagi karena Intel menghentikan pengembangan HAXM. Driver hypervisor Android Emulator (AEHD) menggantikan Intel HAXM pada Prosesor Intel.

Memilih hypervisor di Windows (emulator 32.x.x.x atau yang lebih rendah)

Kriteria Hypervisor
Anda memiliki prosesor Intel dan tidak perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. Gunakan Intel HAXM.
Anda memiliki prosesor AMD dan tidak perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. Gunakan driver hypervisor Android Emulator.
Anda memiliki prosesor AMD dan perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. Gunakan WHPX.

Mengonfigurasi akselerasi VM menggunakan Intel HAXM di Windows

Sebelum menginstal dan menggunakan Intel HAXM, komputer Anda harus memenuhi persyaratan berikut:

  • Prosesor Intel dengan fitur Virtualization Technology (VT-x), Intel EM64T (Intel 64), dan fungsionalitas Execute Disable (XD) Bit yang aktif
  • 64-bit Windows 11, Windows 10, Windows 8, atau Windows 7 (atau versi 32-bit sistem operasi di prosesor 64-bit)
  • Di Windows 11, Windows 10, atau Windows 8, Anda harus menonaktifkan Hyper-V di Dialog Fitur Windows.

Untuk menginstal driver Intel HAXM, ikuti langkah-langkah berikut:

  1. Buka SDK Manager.
  2. Klik tab SDK Update Sites, lalu pilih Intel HAXM.
  3. Klik OK.
  4. Setelah download selesai, jalankan installer.

    Biasanya, Anda dapat menemukan installer di lokasi berikut: sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe

  5. Gunakan wizard untuk menyelesaikan penginstalan.

  6. Setelah menginstal Intel HAXM, pastikan driver virtualisasi beroperasi dengan benar menggunakan perintah command line berikut:

    sc query intelhaxm
    

    Pesan status menyertakan informasi berikut:

    SERVICE_NAME: intelhaxm
           ...
           STATE              : 4  RUNNING
           ...
    

Untuk mengetahui informasi selengkapnya, baca petunjuk penginstalan untuk Intel HAXM di Windows.

Untuk meng-uninstal Intel HAXM, gunakan penginstal atau Control Panel Windows. Sebelum meng-uninstal Intel HAXM, matikan emulator x86 yang sedang berjalan.

Memeriksa kembali saat menonaktifkan Hyper-V

Hyper-V harus dinonaktifkan untuk menggunakan driver hypervisor Android Emulator atau Intel HAXM. Namun, menghapus centang "Hyper-V" di Dialog Windows Features mungkin tidak menjamin bahwa Hyper-V dinonaktifkan.

Cukup banyak fitur di Windows 10 yang akan mengaktifkan Hyper-V secara implisit. Pengguna bahkan tidak tahu bahwa Hyper-V telah diaktifkan saat mereka mengaktifkan salah satu fitur ini. Fitur-fitur ini mencakup:

  • Virtual Machine Platform
  • Windows Hypervisor Platform
  • Windows Sandbox
  • Core Isolation
  • Credential Guard

Selain itu, Windows Subsystem for Linux versi 2 memerlukan Virtual Machine Platform, yang berarti secara implisit memerlukan Hyper-V. Daftar ini tidak lengkap, jadi laporkan bug jika Anda menemukan item yang seharusnya disertakan di sini.

Periksa kembali apakah fitur yang tercantum juga dinonaktifkan saat menonaktifkan Hyper-V. Baca dokumentasi Microsoft dan contoh di bawah untuk mengetahui cara menonaktifkan setiap fitur.

Beberapa platform gagal untuk segera menonaktifkan Hyper-V saat dimatikan. Ketika hal ini terjadi, tidak ada error yang ditampilkan oleh Windows OS dan Hyper-V tampak seperti dinonaktifkan di Dialog Windows Features. Harap ajukan bug pada issue tracker Microsoft jika hal ini terjadi.