3 poin oleh GN⁺ 2023-09-02 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2023-09-02
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

    • Salin/tempel jelas berfungsi. Saya memakainya bolak-balik sepanjang hari. Perlu memastikan apakah SPICE tools sudah diinstal
      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
    • Saya memakai UTM sebagai wrapper QEMU yang sangat bagus, dan jika diperlakukan seperti itu, hasilnya luar biasa
    • Saya penasaran apakah salin/tempel dan folder bersama berfungsi di Fusion dengan mesin virtual Windows ARM. Terakhir kali saya mengecek, VMware Tools belum mendukung fitur-fitur itu
      Edit: Fusion 2023 Tech Preview [1] menginstal VMware Tools lengkap dan mendukung salin/tempel
      1. https://customerconnect.vmware.com/downloads/get-download?do...
    • Tidak mengejutkan. Karena OpenGL tidak berfungsi. Mengingat banyak aplikasi saat ini memakai OpenGL, ini membuatnya cukup kurang berguna
    • Mengaksesnya dengan MS RDP tools mungkin bisa memberi pengalaman penggunaan yang lebih baik
  • 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

    • Saya mempertahankan kebiasaan mengembangkan di dalam mesin virtual, bukan di sistem asli, dan sudah lama memakai UTM untuk menjalankan mesin virtual ARM64 Linux di M1 MacBook Pro, tetapi masalah berbagi file terus mengganggu
      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
    • APFS sudah mendukung snapshot copy-on-write untuk semua jenis file. Fitur snapshot UTM sepertinya akan berupa pembungkus untuk fungsi itu
      Bisa sesederhana cp -c
      Namun kalau memang begitu, rasanya seharusnya sudah diimplementasikan
    • Saya hendak mengatakan bahwa saya berhasil meniru snapshot dalam bentuk terbatas dengan clonefile, tetapi implementasi yang sedang berjalan ternyata memang memakai cara itu
    • Saya penasaran apakah mendukung emulasi TPM dan ansible/vagrabt
  • Masalah 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

    • Saya mencoba Debian terbaru dari situs webnya, dan selain satu masalah aneh, tidak ada masalah
      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
    • VirtualBox juga ada
  • 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

    • Sepertinya saya harus terus memantau Fedora Asahi Linux
    • Pengalaman berpindah dari Linux ke macOS pada akhirnya berarti menahan dan menyesuaikan diri dengan masalah macOS, atau memperbaikinya agar lebih tertahankan dengan solusi pihak ketiga. Kadang akhirnya melakukan keduanya sedikit-sedikit
      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
    • Saya penasaran secara spesifik apa yang membuat produktivitas turun. Kalau membuka terminal bash di Mac, rasanya hampir sama dengan Linux
      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
    • Saya penasaran menurut Anda seberapa besar penurunan performa saat digunakan seperti itu. Kalau tidak besar, ini tampak seperti solusi yang cukup bagus
    • Asahi Fedora katanya akan keluar dalam beberapa hari. Masih ada harapan
  • 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

    • Di Parallels ada satu opsi bernama “Isolate VM from macOS” di tab pengaturan keamanan. Opsi ini menonaktifkan semua integrasi timbal balik
    • Saya teringat saat menginstal Parallels. Setiap kali mengklik dua kali file, sistem terus mencoba membukanya dengan Notepad di Windows
  • 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

    • Jika punya akun developer Apple, Anda bisa melakukan sideload aplikasi yang bertahan selama 1 tahun. Saya menggunakannya dengan cara itu
    • Dulu saya pernah memakai aplikasi bernama reprosion, yang bisa menangani penandatanganan di perangkat iOS dan bahkan mengotomatiskannya. Saya memakainya saat memasang jailbreak semi-tether, dan batasnya 7 hari
      Tidak perlu memasang ulang aplikasinya sendiri; cukup memperbarui sertifikat tanda tangannya
      Saya menantikannya karena kalau sideloading diimplementasikan di EEA, ini akan jauh lebih mudah
    • Kalau memikirkan bahwa “jailbreak tidak mungkin di lingkungan terbaru”, itu luar biasa
      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
    • Jika tujuannya hanya sideload aplikasi, metode semi-tethered bisa dibilang justru tidak ses mencurigakan jailbreak
      Memang bisa berjalan tanpa metode seperti itu, tetapi dari tiga cara eksekusi, itulah yang paling lambat
    • Saya ingin segera melihat bagaimana sideloading EU akan bekerja. Semoga diimplementasikan dengan benar
  • Jika menjalankan mesin virtual untuk lingkungan pengembangan di Mac, yang Anda inginkan adalah OrbStack: https://orbstack.dev/

    • Setelah keluar dari beta, untuk penggunaan komersial biayanya akan menjadi 8 dolar per developer per bulan
    • Untuk sebagian besar use case, menurut saya Lima dan Colima sudah cukup
      https://lima-vm.io/
      https://github.com/abiosoft/colima
    • Untuk alat yang menonjolkan keunggulannya dengan kalimat seperti di bawah, tidak adanya dukungan vagrant cukup mencolok

      Untuk use case apa pun, OrbStack menyediakan fitur yang menyederhanakan workflow Anda dan membantu Anda bergerak lebih cepat

    • Saya penasaran apakah ini bisa dipakai untuk membuat konfigurasi jaringan yang kompleks. Keluhan terbesar saya terhadap UTM adalah mesin virtual hanya bisa memiliki satu network interface
  • 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

    • Saat membuat mesin virtual, Anda bisa memilih antara QEMU atau Virtualization.framework
      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

    • Saya setuju bahwa jika menjalankan mesin virtual x86 di Apple Silicon, performanya memang menyedihkan. Saya yakin ini lebih dekat ke masalah QEMU daripada kesalahan UTM
      Jika mesin virtualnya aarch64, performanya sangat bagus, dan saya bisa sangat merekomendasikan UTM