OpenNC ग्राफिक्स को VNC के उपयोग से दूर से कैसे प्रदर्शित किया जा सकता है?


24

मैं एक कार्यक्रम चलाने का प्रयास कर रहा हूं, जो ओपन मॉडल का उपयोग करके वीएनसी के माध्यम से व्यूपोर्ट में किसी मॉडल को असफल करने के लिए उपयोग करता है।

त्रुटि संदेश जो मुझे मिलता है वह है - एक्सलिब: एक्सटेंशन "जीएलएक्स" प्रदर्शन पर लापता ": 1.0"।

यह मेरी समझ थी कि वीएनसी को सभी ग्राफिक्स को दूरस्थ रूप से रेंडर करने के लिए कॉन्फ़िगर किया जा सकता है और डिस्प्ले बफर से स्थानीय क्लाइंट को एक कंप्रेस्ड स्क्रीन ग्रैब भेजा जा सकता है। यह स्थानीय क्लाइंट पर GLX एक्सटेंशन की आवश्यकता को नकारना प्रतीत होगा। क्या वीएनसी को इस तरह से कॉन्फ़िगर किया जा सकता है और क्या आप संक्षेप में बता सकते हैं कि कैसे?

रिमोट होस्ट:

RHEL 5 पर vncserver

स्थानीय ग्राहक:

Windows XP पर UltraVNC


क्या OpenGL प्रोग्राम स्थानीय रूप से RH # L5 कंसोल पर काम करेगा? क्या यह एक्स-विंडोज के माध्यम से दूरस्थ रूप से काम करेगा? यदि नहीं, तो यह VNC पर काम नहीं करेगा।
किमी

2
यह एक सामुदायिक विकी क्यों है?
क्रिस एस

मुझे लगता है कि अगर यह एक समुदाय विकी होता तो लोग इसे अभिलेखीय के लिए अधिक प्रासंगिक बनाने के लिए प्रश्न को संपादित कर सकते थे।
जेरेड ब्राउन

जवाबों:


17

आप वर्चुअल GL को देखना चाह सकते हैं

उद्धरण: "वर्चुअलगेल एक खुला स्रोत पैकेज है जो किसी भी यूनिक्स या लिनक्स रिमोट डिस्प्ले सॉफ्टवेयर को पूर्ण 3 डी हार्डवेयर त्वरण के साथ ओपनजीएल अनुप्रयोगों को चलाने की क्षमता देता है"


14

मॉनिटर जो भी प्रदर्शित कर रहा है, उसका रिमोट एक्सेस हासिल करने के लिए मैं x11vnc का उपयोग कर रहा हूं । x11vnc स्थानीय X11 सर्वर से बात करता है और फ्रेमबफ़र को सर्वर से क्लाइंट के लिए vnc के माध्यम से कॉपी करता है। चूंकि स्थानीय एक्स 11 सर्वर हार्डवेयर त्वरण के साथ सब कुछ प्रदान करता है, इसलिए मुझे सभी शांत डेस्कटॉप प्रभावों के साथ, वीएनसी पर हार्डवेयर त्वरित ओएनजीएल मिलता है। इस तरह से मैं x11vnc शुरू करता हूं:

x11vnc -rfbauth ~/.vnc/passwd  -display :0 -forever -bg -repeat -nowf -o ~/.vnc/x11vnc.log

मुझे लगता है कि लगभग कोई भी vnc दर्शक काम करता है, लेकिन मैं turbovnc या tigervnc की सलाह दूंगा। मैंने पहले VirtualGL की कोशिश की, और यह ठीक काम करता है, लेकिन पूरे डेस्कटॉप के लिए नहीं, केवल व्यक्तिगत ओपनजीएल अनुप्रयोगों के लिए।

Xrandr का उपयोग करके डिस्प्ले / vnc पर रिज़ॉल्यूशन बदलना संभव है। इस तरह:

xrandr -q (to see available modes and outputs)
xrandr --output DVI-I-0 --mode "1024x768" (change mode on DVI output)

(यदि उपलब्ध मोड पर्याप्त नहीं हैं, लेकिन नए रिज़ॉल्यूशन को जोड़ना संभव है, लेकिन यह यहाँ के दायरे से बाहर है।)

तो अब मेरे पास पूरी तरह से OpenGL का हार्डवेयर है जो VNC सत्र को गति देता है।


1
टेस्ला K80 GCE मशीन पर xfce4 और ब्लेंडर के साथ इस दृष्टिकोण की कोशिश की ... यह निर्दोष रूप से काम किया। सूक्ति-शैल अभी भी किसी कारण से, हमेशा की तरह ठीक से प्रदर्शित नहीं होगा। askubuntu.com/questions/229989/…
रे फॉस

1

UltraVNC द्वारा उपयोग किए जाने वाले विशेष वीडियो हुक ड्राइवर को अक्षम करें या TightVNC का उपयोग करें।

चूंकि UltraVNC ड्राइवर का उपयोग प्रदर्शन को बेहतर बनाने के लिए किया जाता है, इसलिए यह वीडियो कार्ड पर किए गए किसी भी प्रकार के वीडियो प्रसंस्करण को खोलता है, जैसे ओपनजीएल।

अल्ट्रावीएनसी जो वीडियो ड्राइवर डिफ़ॉल्ट रूप से इसे स्थापित करता है, वह इसे बनाता है ताकि यह ओपनजीएल ग्राफिक्स प्रदर्शित न कर सके। ध्यान दें कि ड्राइवर को अक्षम करने से प्रदर्शन में काफी कमी आएगी। यह भी ध्यान दें कि OpenGL प्रदर्शन में प्रदान की गई वस्तुओं को प्रदर्शित करते समय दोनों सिरों पर भुगतना होगा, क्योंकि ग्राहक मशीन में अभी बहुत अधिक काम करना है, और आवश्यक बैंडविड्थ बहुत अधिक है। प्रति फ्रेम 4 सेकंड से अधिक कुछ भी उम्मीद न करें (4 एफपीएस नहीं, अधिक 0.25 एफपीएस की तरह)


जब आप UltraVNC में वीडियो हुक को अक्षम करते हैं, तो आप स्थानीय ग्राहक का उल्लेख कर रहे हैं? क्या दूरस्थ होस्ट पर चल रहे vncserver को इसके बजाय कॉन्फ़िगर करना होगा?
जेरेड ब्राउन

नहीं, मेरा मतलब स्थानीय ग्राहक से है। UltraVNC में एक वीडियो ड्राइवर शामिल होता है जो इसके साथ स्थापित होता है। जब तक आप स्पष्ट रूप से अन्यथा नहीं कहते हैं, तब तक वीडियो ड्राइवर क्लाइंट के सभी वीडियो को संसाधित करने का प्रयास करेगा ताकि वह नेटवर्क पर उपयोग के लिए इसे संपीड़ित और स्ट्रीम कर सके। कभी-कभी दर्शक पर यह निर्दिष्ट करना संभव है कि आप इस सुविधा का उपयोग नहीं करना चाहते हैं, लेकिन UltraVNC (कम से कम उपयोग किया जाता है) में इसे अनदेखा करने की प्रवृत्ति होती है।
IceMage 17

इसके अलावा, दूरस्थ और स्थानीय आपके दृष्टिकोण पर निर्भर करते हैं। जब मैं स्थानीय कहता हूं, तो मेरा वास्तव में होस्ट (कंप्यूटर जो नए कनेक्शन के लिए सुन रहा है) का मतलब है, और रिमोट का अर्थ है कि कनेक्शन बनाने वाला कंप्यूटर। मैं भविष्य के पोस्ट के लिए इसे ठीक करूँगा।
IceMage

ठीक है - मुझे लगता है कि मैं विपरीत लिंगो का उपयोग कर रहा हूं। जब मैंने UltraVNC दर्शक को स्थापित किया, तो मुझे विश्वास नहीं हुआ कि इसमें एक वीडियो ड्राइवर था जो इसे स्थापित करता था। अल्ट्रावीएनसी सर्वर जो मुझे पता है वह करता है, लेकिन मैं इसका उपयोग नहीं कर रहा हूं। मैं होस्ट के रूप में एक RHEL5 मशीन पर vncserver का उपयोग कर रहा हूं।
जेरेड ब्राउन

तो मेरा असली सवाल यह है कि मैं vncserver को GLX कमांड न भेजने के लिए कैसे कॉन्फ़िगर करूं, बल्कि डिस्प्ले बफर से अल्ट्रावीएनसी दर्शक को केवल एक संकुचित स्क्रीन भेजें?
जेरेड ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.