3 पॉइंट द्वारा GN⁺ 2023-09-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • UTM iOS और macOS पर चलने वाला एक सिस्टम एम्युलेटर और वर्चुअल मशीन होस्ट है, जो QEMU आधारित है, और Windows, Linux आदि को Mac, iPhone, iPad पर चला सकता है
  • QEMU का उपयोग करके पूर्ण सिस्टम एम्युलेशन प्रदान करता है, जिसमें MMU और डिवाइस आदि को संभाला जाता है, और x86_64, ARM64, RISC-V सहित 30 से अधिक प्रोसेसरों का समर्थन है
  • VGA ग्राफिक्स मोड SPICE और QXL का उपयोग करता है, और टेक्स्ट टर्मिनल मोड, USB डिवाइस, तथा QEMU TCG आधारित JIT acceleration का समर्थन करता है
  • macOS 11 और iOS 11+ के लिए फ्रंटएंड के रूप में, डिवाइस पर VM बनाना, प्रबंधित करना और चलाना संभव है
  • macOS में Hypervisor.framework और QEMU का उपयोग करके हार्डवेयर-एक्सेलरेटेड वर्चुअलाइजेशन का समर्थन है, और macOS 12+ में Virtualization.framework के जरिए macOS guest को बूट किया जा सकता है
  • UTM SE iOS पर jailbreak या JIT bypass के बिना सामान्य ऐप की तरह sideload की जा सकने वाली “slow edition” है, और threaded interpreter का उपयोग करती है, जो पारंपरिक interpreter से तेज लेकिन JIT से धीमा तरीका है
    • UTM/QEMU को अधिकतम प्रदर्शन के लिए dynamic code generation (JIT) की आवश्यकता होती है, और iOS डिवाइस पर JIT के लिए jailbreak या कुछ iOS versions के लिए bypass तरीके की जरूरत होती है
    • UTM SE size और build time optimization के लिए केवल ARM, PPC, RISC-V, x86 architectures शामिल करती है, और प्रत्येक के 32-bit तथा 64-bit variants उपलब्ध हैं
  • iOS के लिए UTM और UTM SE की installation guide https://getutm.app/install/ पर उपलब्ध है, और macOS के लिए UTM https://mac.getutm.app/ पर उपलब्ध है
  • यह Apache 2.0 लाइसेंस के तहत वितरित होता है, लेकिन कई (L)GPL components का उपयोग करता है; gstreamer plugin statically linked है और कोड का कुछ हिस्सा qemu से लिया गया है, इसलिए redistribution के समय इस पर ध्यान देना आवश्यक है

1 टिप्पणियां

 
GN⁺ 2023-09-02
Hacker News की रायें
  • कुछ हफ़्ते पहले मैंने macOS Ventura वाले नए M2 पर Fusion को बदलने के लिए Windows 11 ARM को UTM के साथ इंस्टॉल करके देखा, लेकिन निराशा हुई
    वर्चुअल मशीन और होस्ट के बीच copy/paste या file sharing जैसे integration tools काम नहीं कर रहे थे, और graphics बार-बार टूटते रहते थे और अक्सर grey screen पर चले जाते थे
    रिकवर करने का कोई तरीका नहीं दिखा, इसलिए वर्चुअल मशीन को जबरन restart करना पड़ा, और drivers/helper tools की तारीख भी 2012 दिख रही थी
    यह free product है, इसलिए उम्मीद रखने का हक़ नहीं है और मैं वास्तव में Fusion पर लौट गया, लेकिन जो लोग open source से commercial virtual machine solutions का विकल्प मिलने की उम्मीद कर रहे थे, उनके लिए मुझे लगता है कि अभी यह मुश्किल है

    • copy/paste निश्चित रूप से काम करता है। मैं पूरे दिन इधर-उधर आते-जाते इसका इस्तेमाल कर रहा हूँ। यह देखना चाहिए कि आपने SPICE tools इंस्टॉल किए हैं या नहीं
      https://docs.getutm.app/guest-support/windows/#windows-xp-an...
      मैंने graphics errors भी नहीं देखे हैं, लेकिन मैं game खेलने की कोशिश नहीं कर रहा, सिर्फ़ basic desktop apps इस्तेमाल कर रहा हूँ
    • मैं UTM को एक बहुत अच्छे QEMU wrapper की तरह इस्तेमाल कर रहा हूँ, और उस तरह से扱 करें तो यह शानदार है
    • मुझे उत्सुकता है कि Fusion में Windows ARM virtual machine के साथ copy/paste और shared folders काम करते हैं या नहीं। आख़िरी बार जब मैंने देखा था, VMware Tools अभी उन features को support नहीं करता था
      सुधार: Fusion 2023 Tech Preview [1] पूरा VMware Tools इंस्टॉल करता है और copy/paste support करता है
      1. https://customerconnect.vmware.com/downloads/get-download?do...
    • हैरानी की बात नहीं। क्योंकि OpenGL काम नहीं करता। आजकल कई apps OpenGL इस्तेमाल करते हैं, यह देखते हुए इसकी उपयोगिता काफ़ी घट जाती है
    • MS RDP tool से connect करें तो शायद बेहतर experience मिल सकता है
  • UTM शानदार है, और अगर snapshot feature जुड़ जाए [1] तो शायद इसे default recommendation बना दूँगा। तब तक मैं Parallels का इस्तेमाल जारी रखूँगा
    संदर्भ के लिए, एक unofficial snapshot manager मौजूद है [2]
    1: https://github.com/utmapp/UTM/issues/5484
    2: https://github.com/Metamogul/UTM-Snapshot-Manager

    • मैंने असली system के बजाय virtual machine के अंदर development करने की आदत बनाए रखी है, और M1 MacBook Pro पर ARM64 Linux virtual machine चलाने के लिए लंबे समय तक UTM इस्तेमाल किया, लेकिन file sharing की समस्या लगातार परेशान करती रही
      सबसे आम समस्या यह थी कि shared folder guest virtual machine से अचानक गायब हो जाता था, और उसे वापस लाने के लिए अक्सर workarounds इस्तेमाल करने पड़ते थे
      फिर VMWare Fusion में भी वही समस्या थी, और Parallels बहुत महंगा लगा, इसलिए मैं Lima पर चला गया
      Lima के बारे में पता चलना अच्छा रहा। यह भी QEMU-based है और Linux virtual machines को आसानी से शुरू करने देता है, साथ में network sharing built-in देता है
      अब मैं सारा development Lima virtual machine के अंदर करता हूँ, और कोई समस्या नहीं हुई। ज़रूरत पड़े तो screen forwarding भी कर सकता हूँ, लेकिन अभी VSCode की वजह से headless instance काफ़ी है
    • APFS पहले से ही सभी file types के लिए copy-on-write snapshots support करता है। UTM का snapshot feature शायद उसी feature को wrap करने जैसा होगा
      cp -c जितना आसान हो सकता है
      हालांकि अगर सच में ऐसा है, तो शायद यह पहले ही implement हो चुका होता
    • मैं कहने वाला था कि clonefile से सीमित रूप में snapshots की सफल नकल की गई है, लेकिन जो implementation चल रही है वह ठीक यही तरीका इस्तेमाल कर रही थी
    • उत्सुकता है कि क्या यह TPM emulation और ansible/vagrabt को support करता है
  • UTM की सबसे बड़ी समस्या यह है कि कुछ लोगों के लिए यह बहुत अच्छा चलता है, और कुछ लोगों के लिए बेहद खराब
    इस page की thread ऊपर-नीचे देखें तो “मैं UTM इस्तेमाल करना चाहता हूँ, लेकिन यह चलता नहीं या इस्तेमाल लायक़ बहुत slow है” जैसी बातें और “अजीब है, मेरे यहाँ तो ठीक चल रहा है” जैसे जवाब, दोनों बहुत मिलते हैं
    मेरे मामले में UTM सचमुच एक बार भी ठीक से काम नहीं किया। M1 2021 Mac पर standard Ubuntu ARM install को https://docs.getutm.app/guides/ubuntu/ guide के मुताबिक़ आज़माया, लेकिन fail हो गया, और अभी मैं black screen पर blinking cursor ही देख रहा हूँ
    दुर्भाग्य से जिन लोगों के यहाँ यह ठीक चलता है, वे जिनके यहाँ नहीं चलता उन्हें व्यावहारिक technical support बहुत कम दे पाते हैं
    मैंने Mac App Store पर UTM के लिए 10 dollar तक दिए, लेकिन technical support channel सिर्फ़ Discord है, और वहाँ “lol मेरे यहाँ तो चल रहा है, skill issue” जैसी प्रतिक्रियाएँ बहुत थीं
    सिफ़ारिश करूँ तो UTM एक बार आज़माने लायक़ है। अगर पसंद आ गया तो आप काफ़ी पैसा बचा सकते हैं, और अगर मेरी तरह बिल्कुल नहीं चला तो आखिरकार Parallels के लिए सालाना 100 dollar देने पड़ेंगे। Parallels के शायद बस काम कर जाने की संभावना ज़्यादा है
    अगर Parallels काम नहीं करता, तो आप उस company से सीधे बात कर सकते हैं जिसके पास आपसे license renew करवाने का incentive है, और आपको सफल कराने की motivation भी है

    • मैंने website से latest Debian लेकर इस्तेमाल किया, और एक अजीब समस्या को छोड़कर कोई दिक्कत नहीं हुई
      अगर boot virtual machine disk को एक खास size से बड़ा set करें, वह भी बहुत बड़ा नहीं बल्कि शायद 30GB~100GB के आसपास था, तो virtual machine boot बहुत slow हो जाता है
      काफ़ी बड़ा set करें तो boot ही नहीं करता। किसी भी size का दूसरा drive add करने से यह bug trigger नहीं होता
    • VirtualBox भी है
  • कंपनी से M1 MacBook Pro मिला है, लेकिन development पूरा Linux पर ही कर रहा हूँ। 90 के दशक के अंत से Linux ही मेरी पसंदीदा environment रही है
    MacBook Pro का hardware अच्छा है, लेकिन macOS सुस्त और घुटनभरा लगता है, जिससे productivity काफी गिरती है
    इसलिए UTM में Fedora aarch64 को full screen में चलाता हूँ। काफी ठीक चलता है, और अक्सर भूल जाता हूँ कि यह Mac के ऊपर चल रहा है
    बस चाहता हूँ कि macOS बीच में बाधा न डाले, और कभी-कभी full screen mode से बाहर न फेंके

    • Fedora Asahi Linux पर जरूर नजर रखूँगा
    • Linux से macOS पर जाने का अनुभव आखिरकार macOS की समस्याओं को सहकर adapt करने, या third-party solutions से उसे झेलने लायक ठीक करने जैसा है। कभी-कभी दोनों थोड़ा-थोड़ा करना पड़ता है
      स्थिर battery life छोड़ना अफसोस की बात होती, इसलिए adapt कर लिया
      कहीं न कहीं full screen mode बनाए रखने का कोई workaround हो सकता है
    • जिज्ञासा है कि खास तौर पर किस वजह से productivity गिरती है। Mac पर bash terminal खोलकर इस्तेमाल करूँ तो Linux जैसा ही लगता है
      कभी-कभी कोई utility उन command-line arguments को support नहीं करती जिनकी आदत है, लेकिन यह Mac/Linux समस्या से ज्यादा version difference जैसा है, और कंपनी के भीतर दूसरे devices पर जाते समय भी कई बार ऐसा देखा है
      सबसे बड़ी परेशानी, हालांकि बहुत बड़ी नहीं, ARM और x86 का फर्क है। कभी-कभी ARM पर support न होने वाले packages मिल जाते हैं, लेकिन यह लगातार कम हो रहा है
    • ऐसे इस्तेमाल में performance loss कितना मानते हैं, यह जानना चाहूँगा। अगर ज्यादा नहीं है तो अच्छा solution लगता है
    • लिखा है कि Asahi Fedora कुछ दिनों में आने वाला है। उम्मीद है
  • UTM पिछले 2 सालों से मेरे लिए एक stable hypervisor रहा है, और इस दौरान इसमें कई शानदार feature improvements भी आए हैं
    फिर भी UTM में मुझे सबसे ज्यादा यह पसंद है कि यह Universal Turing Machine का संक्षेप है। virtualization product के नाम के लिए यह लगभग सबसे बेहतरीन है

  • Parallels और VMWare में मुझे जो बात पसंद नहीं है, वह यह है कि वे operating systems के बीच integration को बहुत ज्यादा push करते हैं। जैसे macOS में Windows windows खोलना, या macOS के documents सीधे Windows में खोलना
    मैं prefer करता हूँ कि virtual machine मुख्य macOS से isolated रहे। इसलिए हमेशा settings में खंगालकर देखना पड़ता है कि क्या बंद करना है

    • Parallels में security settings tab में “Isolate VM from macOS” नाम का एक single option है। यह सभी mutual integrations को disable कर देता है
    • Parallels install करने का समय याद आता है। हर बार file double-click करने पर वह उसे Windows के Notepad में खोलने की कोशिश करता रहता था
  • GitHub project description में “for iOS” लिखा है, यह समझता हूँ, लेकिन मुझे लगता है यह काफी misleading expression है
    iOS installation option मूल रूप से या तो jailbreak है, या नए CPU/iOS versions पर असंभव तरीका है, या फिर semi-tethered हालत में हर कुछ दिनों में app को फिर से load/sign करना पड़ता है
    https://docs.getutm.app/installation/ios/#summary

    • अगर Apple developer account हो तो 1 साल तक चलने वाला app sideload कर सकते हैं। मैं इसी तरह इस्तेमाल कर रहा हूँ
    • पहले reprosion नाम का app इस्तेमाल किया था, जिसमें iOS device पर signing handle और automate तक कर सकते हैं। semi-tether jailbreak डालते समय इस्तेमाल किया था, और limit 7 दिन की है
      app को खुद फिर से install करने की जरूरत नहीं, सिर्फ signing certificate renew करना होता है
      EEA में sideloading implement होने पर यह काफी आसान होगा, इसलिए उम्मीद है
    • “jailbreak latest environment में संभव नहीं है” इस बात को देखते हुए यह कमाल है
      Apple ने ऐसा hardware सफलतापूर्वक बनाया जिसे 1 अरब से ज्यादा लोगों तक distribute किया जा सकता है, और उनमें से कई लोगों को jailbreak से फायदा हो सकता है, फिर भी कोई उसे कर नहीं पाया
    • अगर लक्ष्य सिर्फ app sideload करना है, तो semi-tethered तरीका jailbreak से उल्टा कम suspicious माना जा सकता है
      उस तरीके के बिना भी यह चलता है, लेकिन तीन execution methods में सबसे धीमा है
    • EU sideloading कैसे काम करेगा, यह जल्द देखना चाहता हूँ। उम्मीद है इसे ठीक से implement किया जाएगा
  • अगर Mac पर development environment के लिए virtual machine चला रहे हैं, तो आपको OrbStack चाहिए: https://orbstack.dev/

    • beta खत्म होने के बाद commercial use के लिए यह प्रति developer 8 डॉलर प्रति माह होगा
    • ज्यादातर use cases के लिए Lima और Colima काफी हैं, ऐसा लगता है
      https://lima-vm.io/
      https://github.com/abiosoft/colima
    • नीचे जैसी line से अपना फायदा बताने वाले tool के लिए vagrant support की कमी खास तौर पर दिखती है

      किसी भी use case के लिए, OrbStack ऐसे features देता है जो workflow को सरल बनाते हैं और आपको तेजी से आगे बढ़ने में मदद करते हैं

    • जानना चाहता हूँ कि क्या इससे complex network configurations बनाए जा सकते हैं। UTM से मेरी सबसे बड़ी शिकायत यह है कि virtual machine में केवल एक network interface रख सकते हैं
  • Lima की recommendation मिली थी, और यह macOS के लिए WSL2 जैसा थोड़ा लगता है: https://lima-vm.io
    अंदर यह क्या इस्तेमाल करता है, ठीक से नहीं जानता, लेकिन मेरे लिए बहुत अच्छा चला

    • virtual machine बनाते समय QEMU या Virtualization.framework में से चुन सकते हैं
      colima, Lima के ऊपर की एक layer है, जो docker-machine/boot2docker style में virtual machine को आसानी से set up कर देती है
  • UTM basic uses के लिए बढ़िया है, लेकिन performance बहुत खराब थी, इसलिए रोजमर्रा के कामों के मुख्य tool के रूप में यह ज्यादा practical नहीं लगा
    Mac पर Parallels का कोई मुकाबला नहीं, और यह अपनी कीमत पूरी तरह वसूल कराता है

    • अगर Apple Silicon पर x86 virtual machine चला रहे हैं, तो सहमत हूँ कि performance बेहद खराब होती है। मुझे पूरा यकीन है कि यह UTM की गलती से ज्यादा QEMU की समस्या है
      अगर virtual machine aarch64 है, तो performance आश्चर्यजनक रूप से अच्छी है, और UTM की जोरदार recommendation की जा सकती है