Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> आभासी मशीन

QEMU Virgil: उन्नत वर्चुअलाइजेशन और ग्राफिक्स त्वरण अनलॉक करना

वर्चुअलाइजेशन एक चतुर चीज है। एक कंप्यूटर के अंदर एक कंप्यूटर, यदि आप चाहें, संभावनाओं और उपयोग के मामलों की एक अंतहीन श्रृंखला। एक को छोड़कर। गेमिंग। किसी भी नर्ड से पूछें जो वर्चुअल मशीन चलाता है, किसी भी कारण से, और वे सबसे अधिक संभावना सभी और हर वर्चुअलाइजेशन सॉफ्टवेयर में एक बड़ी कमी की ओर इशारा करेंगे - अपर्याप्त रूप से विकसित या पर्याप्त शक्तिशाली ग्राफिक्स स्टैक नहीं।

वास्तव में, अक्सर, जब आप वर्चुअल मशीन के अंदर गेस्ट ऑपरेटिंग सिस्टम चलाते हैं, तो आप अक्सर ग्राफिक्स त्वरण द्वारा सीमित होते हैं - 2D और 3D कार्यक्षमता जो आपके होस्ट की मूल क्षमताओं से पीछे होती है। इसलिए यदि आपको लगता है कि वर्चुअलाइजेशन आपकी कई समस्याओं को हल कर सकता है - गेमिंग उनमें से एक नहीं है। Virgil 3d एक परियोजना है जिसका उद्देश्य वर्चुअलाइजेशन सॉफ्टवेयर में 3D चमत्कार लाना है, जिसका लक्ष्य एक दिन होस्ट प्रदर्शन के बराबर पेशकश करना है। इस समाधान का एक कार्यान्वयन QEMU Virgil है, जो आपको QEMU/KVM-आधारित वर्चुअल मशीनों में SDL2 और Virgil 3d सक्षम करने की अनुमति देता है। दिलचस्प लगता है। तो आइए एक नज़र डालें।

सेटअप

इस तरह के प्रयास के साथ एक बड़ा नकारात्मक पक्ष यह है कि यह काफी जटिल हो सकता है, और सब कुछ कॉन्फ़िगर और चलाने में समय लगता है। हालांकि, Virgil 3d के साथ, यदि आप मौजूदा स्नैप पैक को आज़माना चाहते हैं, तो यह मैन्युअल संकलन और क्या नहीं के सभी गोर बिट्स को दूर करता है। संकेत: जैसा कि हमेशा साझा करना चाहिए, मैं स्नैप प्रयास से संबद्ध हूं, इसलिए यदि आप पूर्वाग्रह सूंघते हैं, तो भाग जाएं!

sudo snap install qemu-virgil
sudo snap connect qemu-virgil:kvm

वर्चुअल मशीन चलाना

आइए एक (नमूना) कमांड पर एक नज़र डालें कि आप 3D-त्वरण वाली वर्चुअल मशीन कैसे शुरू कर सकते हैं। यदि आप थोड़ा अभिभूत महसूस करते हैं, तो मैं सुझाव दूंगा कि आप कुछ साल पहले के KVM के परिचय पर मेरे गाइड को देखें। वहां विस्तृत अधिकांश सामग्री अभी भी लागू होती है।

qemu-virgil -enable-kvm -m 4096 -device virtio-vga,virgl=on -display sdl,gl=on -netdev user,id=ethernet.0,hostfwd=tcp::10022-:22 -device rtl8139,netdev=ethernet.0 -soundhw ac97 kubuntu.img -boot d -cdrom kubuntu.iso

यहां हमारे पास क्या है?

आइए इन सभी रंगीन विकल्पों पर एक नज़र डालें:

  • -enable-kvm - हम पूर्ण KVM वर्चुअलाइजेशन समर्थन का उपयोग करते हैं। कहने की जरूरत नहीं, आपके हार्डवेयर में आवश्यक एक्सटेंशन होने चाहिए (CPU में मौजूद और BIOS में सक्षम)।
  • -m 4096 - VM मेमोरी 4GB पर सेट है।
  • -device ... - यह विकल्प डिवाइस ड्राइवर जोड़ता है। विशेष रूप से, हम virgl का उपयोग करते हैं।
  • -display ... - यह विकल्प हमारे डिस्प्ले के लिए SDL और OpenGL रेंडरिंग के उपयोग को सक्षम करता है।
  • -netdev ... - यह विकल्प एक नेटवर्क इंटरफ़ेस कॉन्फ़िगर करता है जिसमें TCP पोर्ट फ़ॉरवर्डिंग होती है, ताकि आप अपने वर्चुअल मशीन में SSH कर सकें (होस्ट पोर्ट 10022 का उपयोग करके)। नेटवर्क डिवाइस एक RTL8139 वर्चुअल एडाप्टर होगा। अब, यह एडाप्टर 100 Mbps तक सीमित है, लेकिन आप e1000 का भी उपयोग कर सकते हैं। आधिकारिक KVM नेटवर्किंग पृष्ठ में इस विषय पर अधिक विवरण हैं।
  • -soundhw - हम साउंड कार्ड कॉन्फ़िगर करते हैं।
  • kubuntu.img - यह वर्चुअल हार्ड डिस्क का नाम है। हमने अभी तक एक नहीं बनाया है - और आप इसे या तो dd के साथ एक डिस्क इमेज बनाकर (या तो पूर्ण या विरल), या qemu-img कमांड का उपयोग करके कर सकते हैं।
  • -boot d - यह विकल्प बूट ऑर्डर निर्दिष्ट करता है; d का अर्थ है CD-ROM पहले।
  • -cdrom kubuntu.iso - यहां, हमारे पास kubuntu.iso वर्चुअल CD इमेज के रूप में है। हम पहले लाइव सत्र में बूट करेंगे, ऑपरेटिंग सिस्टम इंस्टॉल करेंगे, और फिर, बाद के उपयोग पर, आप कमांड से बूट और cdrom विकल्पों को बस हटा सकते हैं।

कई अन्य विकल्प हैं जिन्हें आप आज़मा सकते हैं। जैसे वर्चुअल CPU की संख्या, विभिन्न CPU मॉडल, स्नैपशॉट, डिस्क कैशिंग मोड, USB कार्यक्षमता, विभिन्न मेमोरी प्रबंधन सुविधाएं, और बहुत कुछ। लेकिन हम यहां KVM में मास्टर बनने के लिए नहीं हैं, हम यहां कुछ 3D मज़ा लेने के लिए हैं।

हार्ड डिस्क बनाएं

तो, आप ऐसा कुछ कर सकते हैं:

qemu-img create -f qcow2 kubuntu.img 20g

वर्चुअल मशीन शुरू करें और 3D ग्राफिक्स

Enter दबाएं। जादू होता है। वर्चुअल मशीन बूट होगी, और आप जल्द ही उस गेस्ट ऑपरेटिंग सिस्टम का डेस्कटॉप देखेंगे जिसे आपने चुना है। मेरे परीक्षण के लिए, मैंने Kubuntu 20.04 चुना है, जो Fedora 32 के शीर्ष पर चल रहा है। लेकिन आप अपने गेस्ट के लिए जो चाहें उपयोग कर सकते हैं, जिसमें Windows भी शामिल है।

आप 3D त्वरण सक्षमता की जांच कर सकते हैं:

glxinfo | grep "direct rendering"

अब, इसका मतलब यह नहीं है कि हर एक 3D रेंडरिंग फ़ंक्शन लागू किया गया है, लेकिन यह निश्चित रूप से एक अच्छी शुरुआत है। वास्तव में, मेरे Kubuntu VM में सभी अच्छे बिट्स और टुकड़े थे, और यह काफी फुर्तीला था, जिसमें ठोस 3D प्रदर्शन शामिल था। मैंने यह देखने के लिए PassMark बर्न-इन टेस्ट भी चलाया कि क्या होता है। कश्ती।

निष्कर्ष

Virgil वास्तव में एक अच्छी चीज की तरह दिखता है। क्योंकि यह एक अपेक्षाकृत सरल और सस्ता समाधान है। अब, मैं ऐसे लोगों को जानता हूं जिनके पास मल्टी-GPU कंप्यूटर हैं, और उनके पास चतुर VM कॉन्फ़िगरेशन हैं, जहां होस्ट और गेस्ट वर्चुअल मशीन द्वारा अलग-अलग GPU कार्ड का उपयोग किया जाता है, PCI बस पहचानकर्ताओं और क्या नहीं का उपयोग करके, उनके गेस्ट सिस्टम में निकट-देशी प्रदर्शन की पेशकश करते हैं। लेकिन यह अक्सर एक सामान्य नर्ड के कौशल और बजट से परे होता है। क्योंकि यथार्थवादी बनें, वास्तव में सामान्य लोग Linux, या वर्चुअलाइजेशन, या ऐसा कुछ भी उपयोग नहीं करेंगे।

शून्य और सब कुछ 3D के बीच, यदि आपके वर्चुअल मशीनों में कुछ फैंसी ग्राफिक्स की आवश्यकता है, तो शायद Virgil आपको कार्यक्षमता का सही स्तर प्रदान कर सकता है। यह शायद आला है, यह अभी भी विकास में है, लेकिन यह उचित रूप से अच्छी तरह से काम करता है, और मेरे परीक्षण से, प्रदर्शन पर्याप्त है। हम अभी भी उस चरण में नहीं हैं जहां वर्चुअलाइजेशन भौतिक हार्डवेयर को पूरी तरह से और पूरी तरह से बदल सकता है (यदि कभी), लेकिन Virgil सही दिशा में एक सही कदम है। एक कोशिश करें, नर्ड दूर। हम यहां काम कर चुके हैं।

Cheers.

  1. लिनक्स वर्चुअल मशीनों में 3D त्वरण सक्षम करना: VMGL के साथ गहन विश्लेषण लिनक्स वर्चुअल मशीनों में 3D त्वरण सक्षम करना: VMGL के साथ गहन विश्लेषण

    यह वर्चुअलाइजेशन पर तीसरा लेख है। और शायद सबसे कठिन। अब तक, हमें VMware उत्पादों में DirectX समर्थन और VirtualBox में OpenGL समर्थन मिला है, दोनों ही मामलों में केवल विंडोज गेस्ट के लिए उपलब्ध। होस्ट प्लेटफॉर्म की पसंद मायने नहीं रखती थी। लेकिन लिनक्स गेस्ट के बारे में क्या? मुझे लगा कि यह होने वाल

  1. VMware VM में DirectX के साथ 3D त्वरण अनुकूलित करें - ट्यूटोरियल भाग 1 VMware VM में DirectX के साथ 3D त्वरण अनुकूलित करें - ट्यूटोरियल भाग 1

    मौजूदा होस्ट के ऊपर वर्चुअलाइज्ड ऑपरेटिंग सिस्टम चलाना एक शानदार विचार है। यह मजेदार है, यह कूल है, यह आपको अपने वास्तविक प्लेटफॉर्म पर प्रतिबद्ध होने से पहले सॉफ़्टवेयर के साथ प्रयोग करने की अनुमति देता है, यह आपको उन चीजों को करने की अनुमति देता है जो आप सामान्य रूप से करने की हिम्मत नहीं करेंगे,

  1. MojoPac: किसी भी PC के लिए पोर्टेबल डेस्कटॉप वर्चुअलाइजेशन MojoPac: किसी भी PC के लिए पोर्टेबल डेस्कटॉप वर्चुअलाइजेशन

    चूंकि बड़ी क्षमता वाले पोर्टेबल USB डिवाइस आरामदायक कीमत पर आसानी से उपलब्ध हो गए हैं, जेब में अंगूठे के आकार के ड्राइव पर बहुत सारे डेटा और यहां तक कि एप्लिकेशन ले जाने का विचार वास्तव में आकर्षक लगता है। इस उपयोग की ओर विशेष रूप से तैयार किए गए कुछ अधिक लोकप्रिय सॉफ़्टवेयर पोर्टेबल ऐप्स और पेंड्रा