UTM - Mesin virtual untuk iOS dan macOS
(github.com/utmapp)- UTM adalah emulator sistem sekaligus host mesin virtual yang berjalan di iOS dan macOS; berbasis QEMU, memungkinkan Windows, Linux, dan lainnya dijalankan di Mac, iPhone, dan iPad
- Dengan emulasi sistem penuh menggunakan QEMU, UTM menangani MMU, perangkat, dan lainnya, serta mendukung lebih dari 30 prosesor termasuk x86_64, ARM64, dan RISC-V
- Mode grafis VGA menggunakan SPICE dan QXL, serta mendukung mode terminal teks, perangkat USB, dan akselerasi JIT berbasis QEMU TCG
- Sebagai frontend untuk macOS 11 dan iOS 11+, UTM memungkinkan pembuatan, pengelolaan, dan menjalankan VM langsung di perangkat
- Di macOS, UTM mendukung virtualisasi berakselerasi hardware menggunakan Hypervisor.framework dan QEMU, serta pada macOS 12+ dapat mem-boot guest macOS melalui Virtualization.framework
- UTM SE adalah “slow edition” yang dapat di-sideload di iOS seperti aplikasi biasa tanpa jailbreak atau bypass JIT, dan menggunakan threaded interpreter yang lebih cepat daripada interpreter tradisional tetapi lebih lambat daripada JIT
- UTM/QEMU membutuhkan pembuatan kode dinamis (JIT) untuk performa maksimal, dan JIT di perangkat iOS memerlukan jailbreak atau metode bypass untuk versi iOS tertentu
- Untuk mengoptimalkan ukuran dan waktu build, UTM SE hanya menyertakan arsitektur ARM, PPC, RISC-V, dan x86, masing-masing dengan varian 32-bit dan 64-bit
- Panduan instalasi UTM dan UTM SE untuk iOS tersedia di https://getutm.app/install/ , sedangkan UTM untuk macOS tersedia di https://mac.getutm.app/
- Didistribusikan dengan lisensi Apache 2.0 tetapi menggunakan beberapa komponen (L)GPL; plugin gstreamer ditautkan secara statis dan sebagian kode diambil dari qemu, sehingga hal ini perlu dipertimbangkan saat redistribusi
1 komentar
Komentar Hacker News
Beberapa minggu lalu, saya mencoba menginstal Windows 11 ARM dengan UTM di M2 baru yang menjalankan macOS Ventura untuk menggantikan Fusion, tetapi hasilnya mengecewakan
Alat integrasi seperti salin/tempel atau berbagi file antara mesin virtual dan host tidak berfungsi, dan grafik sering terus rusak lalu berubah menjadi layar abu-abu
Tampaknya tidak ada cara pemulihan, jadi saya harus memaksa restart mesin virtual, dan tanggal driver/alat bantu juga tertulis 2012
Karena ini produk gratis, saya tidak berhak berharap banyak dan pada akhirnya memang kembali ke Fusion, tetapi dari sudut pandang yang berharap open source bisa menggantikan solusi mesin virtual komersial, menurut saya ini masih sulit
https://docs.getutm.app/guest-support/windows/#windows-xp-an...
Saya juga belum pernah melihat error grafis, tetapi saya bukan sedang ingin bermain game dan hanya memakai aplikasi desktop dasar
Edit: Fusion 2023 Tech Preview [1] menginstal VMware Tools lengkap dan mendukung salin/tempel
UTM itu bagus, dan jika fitur snapshot ditambahkan [1], sepertinya saya akan menjadikannya rekomendasi utama. Sampai saat itu, saya akan tetap memakai Parallels
Sebagai catatan, ada pengelola snapshot tidak resmi [2]
1: https://github.com/utmapp/UTM/issues/5484
2: https://github.com/Metamogul/UTM-Snapshot-Manager
Masalah yang paling umum adalah folder bersama tiba-tiba menghilang dari mesin virtual guest, dan saya harus sering memakai workaround untuk memunculkannya kembali
Setelah itu VMWare Fusion juga mengalami masalah yang sama, dan Parallels terlihat terlalu mahal, jadi saya pindah ke Lima
Untung saya menemukan Lima. Ini juga berbasis QEMU, memudahkan menjalankan mesin virtual Linux, dan menyediakan berbagi jaringan secara bawaan
Sekarang semua pengembangan saya lakukan di dalam mesin virtual Lima, dan tidak ada masalah. Jika perlu, sepertinya tampilan layar juga bisa diteruskan, tetapi untuk saat ini instance headless sudah cukup berkat VSCode
Bisa sesederhana
cp -cNamun kalau memang begitu, rasanya seharusnya sudah diimplementasikan
clonefile, tetapi implementasi yang sedang berjalan ternyata memang memakai cara ituMasalah terbesar UTM adalah ia bekerja sangat baik untuk sebagian orang, dan bekerja sangat buruk untuk sebagian lainnya
Jika melihat thread di halaman ini dari atas ke bawah, ada banyak komentar “saya ingin memakai UTM tapi tidak jalan atau terlalu lambat untuk dipakai” bersamaan dengan balasan “aneh, di saya baik-baik saja”
Dalam kasus saya, UTM secara harfiah belum pernah sekalipun berjalan dengan benar. Saya mencoba instalasi Ubuntu ARM standar di Mac M1 2021 sesuai panduan https://docs.getutm.app/guides/ubuntu/, tetapi gagal, dan sekarang saya hanya melihat kursor berkedip di layar hitam
Sayangnya, orang-orang yang berhasil menjalankannya hampir tidak bisa memberi dukungan teknis yang berguna kepada orang-orang yang gagal
Saya bahkan membayar 10 dolar untuk UTM di Mac App Store, tetapi kanal dukungan teknisnya hanya Discord, dan di sana banyak respons seperti “wkwk di saya jalan, skill issue”
Kalau merekomendasikan, UTM layak dicoba sekali. Jika cocok, Anda bisa menghemat banyak uang, dan jika sama sekali tidak jalan seperti saya, pada akhirnya harus membayar 100 dolar per tahun untuk Parallels. Parallels kemungkinan besar akan langsung berfungsi
Jika Parallels tidak berfungsi, Anda bisa berbicara langsung dengan perusahaan yang punya insentif agar Anda memperbarui lisensi, dan mereka termotivasi membantu Anda berhasil
Jika disk mesin virtual boot diatur di atas ukuran tertentu—rasanya bukan ukuran yang sangat besar, mungkin sekitar 30GB~100GB—boot mesin virtual menjadi sangat lambat
Jika dibuat cukup besar, ia sama sekali tidak boot. Menambahkan drive kedua dengan ukuran berapa pun tidak memicu bug ini
Saya mendapat MacBook Pro M1 dari perusahaan, tetapi seluruh pengembangan saya lakukan di Linux. Sejak akhir 90-an, Linux sudah menjadi lingkungan pilihan saya
Perangkat keras MacBook Pro memang bagus, tetapi macOS terasa lamban dan membuat frustrasi, sehingga produktivitas turun drastis
Karena itu saya menjalankan Fedora aarch64 di UTM dalam mode layar penuh. Berjalan cukup baik, dan saya sering lupa bahwa itu berjalan di atas Mac
Hanya saja saya berharap macOS tidak mengganggu, dan sesekali tidak menendang saya keluar dari mode layar penuh
Saya akhirnya beradaptasi karena sayang melewatkan daya tahan baterai yang stabil
Mungkin di suatu tempat ada solusi yang bisa membuat mode layar penuh tetap bertahan
Sesekali ada utilitas yang tidak mendukung argumen command-line yang sudah familier, tetapi itu lebih terasa seperti perbedaan versi daripada masalah Mac/Linux, dan saya juga sudah beberapa kali mengalaminya saat berpindah ke mesin lain di dalam perusahaan
Masalah terbesar, meski tidak terlalu besar, adalah perbedaan ARM dan x86. Sesekali saya menemukan paket yang tidak didukung di ARM, tetapi itu makin jarang terjadi
UTM telah menjadi hypervisor yang stabil bagi saya selama 2 tahun terakhir, dan selama itu juga mendapat banyak peningkatan fitur yang bagus
Namun hal yang paling saya sukai dari UTM adalah bahwa namanya merupakan singkatan dari Universal Turing Machine. Untuk nama produk virtualisasi, menurut saya ini nyaris yang terbaik
Hal yang tidak saya sukai dari Parallels dan VMWare adalah mereka terlalu memaksakan integrasi antar-sistem operasi. Misalnya membuka jendela Windows di macOS, atau langsung membuka dokumen macOS di Windows
Saya lebih suka mesin virtual tetap terisolasi dari macOS utama. Jadi saya selalu harus mengutak-atik pengaturan untuk mencari apa saja yang perlu dimatikan
Saya tahu deskripsi proyek GitHub menyebut “for iOS”, tetapi menurut saya itu cukup menyesatkan
Opsi instalasi iOS pada dasarnya berarti jailbreak, atau metode yang tidak mungkin pada CPU/versi iOS terbaru, atau harus memuat ulang/menandatangani ulang aplikasi setiap beberapa hari dalam kondisi semi-tethered
https://docs.getutm.app/installation/ios/#summary
Tidak perlu memasang ulang aplikasinya sendiri; cukup memperbarui sertifikat tanda tangannya
Saya menantikannya karena kalau sideloading diimplementasikan di EEA, ini akan jauh lebih mudah
Apple berhasil membuat perangkat keras yang bisa didistribusikan ke lebih dari 1 miliar orang, dan meski banyak dari mereka punya sesuatu yang bisa diperoleh dari jailbreak, tidak ada yang berhasil melakukannya
Memang bisa berjalan tanpa metode seperti itu, tetapi dari tiga cara eksekusi, itulah yang paling lambat
Jika menjalankan mesin virtual untuk lingkungan pengembangan di Mac, yang Anda inginkan adalah OrbStack: https://orbstack.dev/
https://lima-vm.io/
https://github.com/abiosoft/colima
Saya direkomendasikan Lima, dan ini agak mirip WSL2 untuk macOS: https://lima-vm.io
Saya tidak terlalu tahu apa yang dipakai di dalamnya, tetapi bagi saya berjalan sangat baik
colima adalah lapisan di atas Lima, yang memudahkan pengaturan mesin virtual dengan gaya docker-machine/boot2docker
UTM memang sangat bagus untuk penggunaan dasar, tetapi performanya terlalu buruk sehingga kurang realistis dijadikan andalan untuk pekerjaan harian
Di Mac, tidak ada yang mengalahkan Parallels, dan nilainya sepadan dengan uang yang dibayar
Jika mesin virtualnya aarch64, performanya sangat bagus, dan saya bisa sangat merekomendasikan UTM