Android Emulator dapat menggunakan fitur akselerasi hardware untuk meningkatkan performa, terkadang secara drastis. Halaman ini menjelaskan bagaimana Anda dapat 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 menampilkan grafis 2D dan 3D di layar.
Saat membuat Android Virtual Device (AVD) di AVD Manager, Anda dapat menentukan apakah emulator harus menggunakan hardware atau software untuk mengemulasi GPU AVD. Direkomendasikan akselerasi hardware 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 juga dapat mengganti setelan akselerasi grafis di AVD untuk instance perangkat virtual tersebut.
Persyaratan
Untuk menggunakan akselerasi grafis, lingkungan pengembangan Anda harus memenuhi persyaratan 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:
- Buka AVD Manager.
- Buat AVD baru atau edit AVD yang ada.
- Di halaman Verify Configuration, lihat bagian Emulated Performance.
- Pilih nilai untuk opsi Graphics:.
- 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 opsiswiftshader_indirect
atauangle_indirect
.swiftshader_indirect
: Menggunakan varian SwiftShader yang kompatibel dengan Quick Boot untuk merender grafis menggunakan akselerasi software. Opsi ini adalah alternatif yang baik untuk modehost
jika komputer Anda tidak dapat menggunakan akselerasi hardware.angle_indirect
: (hanya Windows) Menggunakan varian ANGLE Direct3D yang kompatibel dengan Quick Boot untuk merender grafis menggunakan akselerasi software. Opsi ini adalah alternatif yang baik untuk modehost
jika komputer Anda tidak dapat menggunakan akselerasi hardware. Pada umumnya, performa ANGLE harus sama dengan saat menggunakan modehost
karena ANGLE memakai 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. Gunakanswiftshader_indirect
sebagai gantinya.angle
: Tidak digunakan lagi di versi 27.0.2. Gunakanangle_indirect
sebagai gantinya (hanya Windows).mesa
: Tidak digunakan lagi di versi 25.3. Gunakanswiftshader_indirect
sebagai gantinya.
Mengaktifkan rendering Skia untuk UI Android
Jika menggunakan gambar untuk API level 27 atau yang lebih tinggi, emulator dapat merender UI Android dengan Skia. Skia membantu emulator membuat 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 dengan image sistem berbasis x86, tersedia untuk Android 2.3.3 (API level 10) dan versi yang lebih tinggi
Persyaratan ekstensi virtualisasi
Selain persyaratan lingkungan pengembangan, prosesor komputer Anda harus mendukung salah satu teknologi ekstensi virtualisasi berikut:
- Ekstensi Intel Virtualization Technology (VT, VT-x, vmx)
- Ekstensi AMD Virtualization (AMD-V, SVM)
Sebagian besar prosesor modern mendukung ekstensi virtualisasi ini. Jika Anda tidak yakin apakah prosesor Anda mendukung ekstensi ini, periksa spesifikasi prosesor Anda di situs produsen. Jika prosesor tidak mendukung salah satu 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.
- Berdasarkan sistem operasi dan hypervisor, Anda tidak dapat menjalankan software yang menggunakan teknologi virtualisasi lain di saat yang sama ketika Anda menjalankan emulator yang diakselerasi VM. Misalnya, VirtualBox, VMWare, dan Docker saat ini menggunakan teknologi virtualisasi lain, sehingga Anda tidak dapat menjalankannya di saat yang sama dengan emulator yang diakselerasi.
Tentang hypervisor
Akselerasi VM membutuhkan sebuah hypervisor.
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, VM dan arsitektur komputer host cocok, sehingga emulator dapat menjalankan kode secara langsung pada prosesor host menggunakan hypervisor. Peningkatan ini meningkatkan kecepatan dan performa emulator secara drastis.
Hypervisor yang paling cocok untuk Anda tergantung pada sistem operasi dan konfigurasi komputer Anda. Untuk informasi selengkapnya, baca salah satu bagian berikut:
- Mengonfigurasi akselerasi VM di Windows
- Mengonfigurasi akselerasi VM di macOS
- Mengonfigurasi akselerasi VM di Linux
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 HAXM version 7.3.2 (4) is installed and usable. accel
macOS:
janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 HAXM version 7.3.2 (4) is installed and usable. 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 tiga hyper Visor: Intel Hardware Accelerated Execution Manager (HAXM), Driver Hypervisor Android Emulator untuk Prosesor AMD, atau Windows Hyper Visor Platform (WHPX).
Memilih hypervisor di Windows
Gunakan kriteria berikut untuk menentukan hypervisor mana yang harus Anda gunakan:
Kriteria | Hypervisor |
---|---|
Anda memiliki prosesor Intel dan tidak perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. | Gunakan Intel HAXM. |
Anda memiliki prosesor Intel dan perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. | Gunakan WHPX. |
Anda memiliki prosesor AMD dan tidak perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. | Gunakan Driver Hypervisor Android Emulator untuk Prosesor AMD. |
Anda memiliki prosesor AMD dan perlu menjalankan Hyper-V secara bersamaan dengan Android Emulator. | Gunakan WHPX. |
Periksa kembali saat menonaktifkan Hyper-V
Hyper-V harus dinonaktifkan untuk menggunakan Intel HAXM atau Driver Hypervisor Android Emulator untuk Prosesor AMD. Namun, menghapus centang "Hyper-V" di Windows Features Dialog mungkin tidak menjamin bahwa Hyper-V telah 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.
Sepengetahuan kami, fitur ini mencakup Virtual Machine Platform, Windows Hypervisor Platform, Windows Sandbox, Core Isolation, Credential Guard. Selain itu, Windows Subsystem untuk Linux versi 2 memerlukan Virtual Machine Platform, yang berarti bahwa secara implisit sistem itu memerlukan Hyper-V. Daftar ini tidak lengkap, tolong beri tahu kami di bug tracker kami jika Anda menemukan item yang harus disertakan di sini.
Periksa kembali apakah fitur yang tercantum di atas 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 ini terjadi, tidak ada kesalahan yang ditampilkan oleh OS Windows dan Hyper-V tampak seperti dinonaktifkan di Windows Features Dialog. Harap ajukan bug pada issue tracker Microsoft jika hal ini terjadi.
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
- Windows 10, Windows 8, atau Windows 7 64-bit (atau sistem operasi versi 32-bit pada prosesor 64-bit)
- Untuk menggunakan Intel HAXM di Windows 10 atau 8, Anda harus menonaktifkan Hyper-V di Windows
Features Dialog.
Catatan: Penginstalan software tertentu dapat mengaktifkan kembali Hyper-V. Lihat Menonaktifkan Hyper-V untuk detail selengkapnya.
Untuk menginstal driver Intel HAXM, ikuti langkah-langkah berikut:
- Buka SDK Manager.
- Klik tab SDK Update Sites lalu pilih Intel HAXM.
- Klik OK.
- Setelah download selesai, jalankan installer.
Biasanya, Anda dapat menemukan installer di lokasi berikut:
sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe
- Gunakan wizard untuk menyelesaikan penginstalan.
Setelah menginstal Intel HAXM, pastikan bahwa driver virtualisasi beroperasi dengan benar dengan memasukkan perintah berikut di jendela Command Prompt:
sc query intelhaxm
Anda akan melihat pesan status yang berisi informasi berikut:
SERVICE_NAME: intelhaxm ... STATE : 4 RUNNING ...
Untuk mengetahui informasi selengkapnya, baca Petunjuk Penginstalan untuk Intel HAXM di Windows.
Anda dapat menyesuaikan jumlah memori yang tersedia untuk ekstensi kernel Intel HAXM dengan menjalankan installer kembali.
Anda dapat meng-uninstal Intel HAXM dengan installer atau Control Panel Windows. Sebelum menghapus Intel HAXM, nonaktifkan emulator x86 yang sedang berjalan.
Mengonfigurasi akselerasi VM menggunakan driver Android Hypervisor Android Emulator untuk Prosesor AMD di Windows
Sebelum Anda dapat menginstal dan menggunakan Driver Hypervisor Android Emulator untuk Prosesor AMD, komputer Anda harus memenuhi persyaratan berikut:
- Prosesor AMD dengan Teknologi Secure Virtual Machine (SVM)
- Windows 10, Windows 8, atau Windows 7 64-bit (Windows 32-bit tidak didukung)
- Untuk menggunakan Driver Hypervisor Android Emulator untuk Prosesor AMD pada Windows 10 atau 8,
Anda harus menonaktifkan Hyper-V di Windows Features Dialog.
Catatan: Penginstalan software tertentu dapat mengaktifkan kembali Hyper-V. Lihat Menonaktifkan Hyper-V untuk detail selengkapnya.
Driver Hypervisor Android Emulator untuk Prosesor AMD dapat diinstal melalui SDK Manager di Android Studio 4.0 Canary 5 atau yang lebih baru, atau dari GitHub (lihat di bawah). Untuk menginstal dari SDK Manager, ikuti langkah-langkah berikut:
- Buka Tools->SDK Manager.
- Klik tab SDK Tools, lalu pilih Android Emulator Hypervisor Driver for AMD Processor.
- Klik OK untuk mendownload dan menginstal Driver Hypervisor Android Emulator untuk prosesor AMD.
Setelah penginstalan, konfirmasikan bahwa driver beroperasi dengan benar dengan cara memasukkan perintah berikut di jendela Command Prompt:
sc query gvm
Anda akan melihat pesan status yang berisi informasi berikut:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
Pesan error berikut berarti bahwa SVM tidak diaktifkan di BIOS Anda atau bahwa Hyper-V tidak dinonaktifkan (Lihat Menonaktifkan Hyper-V).
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
Driver Hypervisor Android Emulator untuk Prosesor AMD juga dapat didownload dan diinstal dari github. Setelah membuka paket driver, jalankan "silent_install.bat" di Command Prompt dengan hak istimewa Administrator. Berhasil menyelesaikan penginstalan baru akan menghasilkan output berikut:
Meningkatkan versi penginstalan akan menghasilkan output berikut, yang mencakup pesan terkait uninstal driver lama:
Anda dapat meng-uninstal Driver Hypervisor Android Emulator untuk Prosesor AMD menggunakan perintah berikut di Command Prompt dengan hak istimewa Administrator.
sc stop gvm
sc delete gvm
Catatan: Matikan semua emulator x86 sebelum meng-uninstal Driver Hypervisor Android Emulator untuk Prosesor AMD.
Mengonfigurasi akselerasi VM menggunakan Platform Windows Hypervisor
Sebelum mengaktifkan WHPX, komputer Anda harus memenuhi persyaratan berikut:
- Prosesor Intel: Dukungan untuk fitur Virtualization Technology (VT-x), Extended Page Tables (EPT), dan Unrestricted Guest (UG). VT-x harus diaktifkan di setelan BIOS komputer Anda.
- Prosesor AMD: Prosesor AMD Ryzen direkomendasikan. Virtualisasi atau SVM harus diaktifkan di setelan BIOS komputer Anda.
- Android Studio 3.2 Beta 1 atau versi yang lebih tinggi (download dari developer.android.com)
- Android Emulator versi 27.3.8 atau versi lebih tinggi (download menggunakan SDK Manager)
- Windows 10 dengan Update April 2018 atau versi yang lebih tinggi
Untuk menginstal WHPX di Windows, ikuti langkah-langkah ini:
- Dari desktop Windows, klik kanan ikon Windows, lalu pilih Apps and features.
- Di bagian Related settings, klik Programs and Features.
- Klik Turns Windows Features on or off.
Pilih Windows Hypervisor Platform
Klik OK.
Setelah penginstalan selesai, mulai ulang komputer Anda.
Mengonfigurasi akselerasi VM di macOS
Di Mac OS X v10.10 Yosemite dan versi yang lebih tinggi, Android Emulator menggunakan Hypervisor.Framework bawaan secara default, dan kembali menggunakan Intel HAXM jika Hypervisor.Framework gagal diinisialisasi.
Untuk menggunakan akselerasi VM di macOS saat Hypervisor.Framework tidak tersedia, Anda harus menginstal ekstensi kernel Intel HAXM.
Untuk menginstal ekstensi kernel Intel HAXM, ikuti langkah-langkah berikut:
- Buka SDK Manager.
- Klik tab SDK Update Sites lalu pilih Intel HAXM.
- Klik OK.
- Setelah download selesai, jalankan installer.
Biasanya, Anda dapat menemukan installer di lokasi berikut:
sdk/extras/intel/Hardware_Accelerated_ExecutionManager/IntelHAXMversion.dmg
- Ikuti petunjuk di layar untuk menyelesaikan penginstalan.
Setelah penginstalan selesai, pastikan bahwa ekstensi kernel yang baru beroperasi dengan benar dengan cara membuka jendela terminal dan menjalankan perintah berikut:
kextstat | grep intel
Anda akan melihat pesan status yang berisi nama ekstensi berikut, yang menunjukkan bahwa ekstensi kernel sudah dimuat:
com.intel.kext.intelhaxm
Untuk informasi selengkapnya, baca Petunjuk Penginstalan untuk Intel HAXM.
Anda dapat menyesuaikan jumlah memori yang tersedia untuk ekstensi kernel Intel HAXM dengan menjalankan installer kembali.
Anda dapat berhenti menggunakan ekstensi kernel Intel HAXM dengan meng-uninstalnya. Sebelum Anda meng-uninstalnya, nonaktifkan emulator x86 yang sedang berjalan, lalu jalankan perintah berikut di jendela terminal:
sudo /System/Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh
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 bahwa 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
.
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.
Jalankan perintah
kvm-ok
:$ kvm-ok
Output yang diinginkan:
INFO: /dev/kvm exists KVM acceleration can be used
Jika mengalami error berikut, berarti Anda masih dapat menjalankan mesin virtual. Mesin virtual 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