X11 एक NVIDIA कार्ड के साथ एक मशीन के लिए एक NVIDIA कार्ड चलाने वाली मशीन से एक OpenGL अग्रेषण


15

मैं SSH पर एक X11 सत्र को आगे बढ़ाने में रुचि रखता हूं, ताकि ओपनग्लस का उपयोग करने के लिए एक दूरस्थ प्रक्रिया शुरू की जा सके (विशेष रूप से, किसी भी परिचित के लिए गज़ेबो ।)।

मुझे लगता है कि समस्या यह है कि ग्राफिक्स कार्ड में एक बेमेल के कारण gazebo दुर्घटनाग्रस्त हो रहा है; इसे "NV-GLX" एक्सटेंशन नहीं मिल सकता है। सटीक त्रुटि आउटपुट:

Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  24
  Current serial number in output stream:  25

रिमोट मशीन एक NVIDIA कार्ड के साथ चल रही है, और मेरी स्थानीय मशीन एक एएमडी कार्ड का उपयोग कर रही है।

मैंने NVIDIA मशीनों के साथ दो मशीनों के बीच गज़ेबो के X11 को अग्रेषित किया है। यह ठीक काम करता है।

जैसा कि मैं बता सकता हूं, ऐसा लगता है कि तीन चीजों में से एक हो रहा है:

  1. मैं कुछ गलत कर रहा हूँ,
  2. मैं जो करना चाहता हूं वह असंभव है,
  3. गज़ेबो विभिन्न हार्डवेयर के लिए शाखाओं में बँटे कोडपाथों के साथ अज्ञेय तरीके से निर्मित नहीं होता है; जब भी यह बनता है तो आपका सिस्टम कैसा दिखता है।

रिमोट मशीन उबंटू चला रही है और मेरी स्थानीय मशीन मैक 10.8.2 चल रही है; मुझे पहले से ही पता है कि मेरे पास सामान्य उपयोग के लिए x11 फॉरवर्डिंग ठीक से सेट है क्योंकि मुझे एक्सक्लार्ट्स में एक्सक्लूसिव जैसी चीजें बस ठीक करने के लिए मिल सकती हैं। समाधान (यदि यह मौजूद है) भी WinSCP पर विंडोज सहित अन्य OS के लिए अधिमानतः काम करेगा।

जवाबों:


9

GLX विकिपीडिया लेख से कुछ नोट्स :

GLX [है] एक्स प्रोटोकॉल का एक विस्तार, जो क्लाइंट (OpenGL एप्लिकेशन) को X सर्वर (प्रदर्शन के लिए जिम्मेदार सॉफ़्टवेयर) को 3D रेंडरिंग कमांड भेजने की अनुमति देता है। क्लाइंट और सर्वर सॉफ़्टवेयर विभिन्न कंप्यूटरों पर चल सकते हैं।

तथा

यदि क्लाइंट और सर्वर एक ही कंप्यूटर पर चल रहे हैं और एक उपयुक्त ड्राइवर का उपयोग करके एक त्वरित 3 डी ग्राफिक्स कार्ड उपलब्ध है, तो पूर्व दो घटकों को डीआरआई द्वारा बाईपास किया जा सकता है। इस मामले में, क्लाइंट एप्लिकेशन को कई एपीआई परतों के माध्यम से सीधे वीडियो हार्डवेयर तक पहुंचने की अनुमति है।

मेरा मानना ​​है कि मुट्ठी बिंदु आपके प्रश्न का उत्तर देता है कि क्या यह संभव है या नहीं: यह निश्चित रूप से संभव होना चाहिए। दूसरा यह स्पष्टीकरण दे सकता है कि आपका क्लाइंट प्रोग्राम अपने स्थानीय एक्स सर्वर (एनवी जीएलएक्स ड्राइवर) की सुविधाओं का उपयोग करने पर क्यों जोर देता है - शायद यह सोचता है कि localhost:10.0वही कंप्यूटर है, और इसलिए दिशा कनेक्शन का प्रयास किया।

कोशिश करने के लिए चीजें:

  1. इसके बजाय gazebo, प्रयास करें glxdemo
  2. यदि संभव हो तो, एक ही नेटवर्क पर दो कंप्यूटर प्राप्त करें, और तस्वीर से बाहर ले जाएं
  3. बड़ी बंदूक: straceआपका gazeboआह्वान, और यह पता लगाना कि यह nv-glx को क्यों लोड कर रहा है

सौभाग्य!


कंप्यूटर पहले से ही एक ही नेटवर्क पर हैं, लेकिन हम किसी बिंदु पर अपनी सभी गज़ेबो मशीनों को एक सर्वर कोठरी में ले जाना चाहते हैं, लेकिन फिर भी हमारे पास सॉफ़्टवेयर के दृश्य उपलब्ध हैं, यही वजह है कि मैं एसएसएच टनलिंग में देख रहा हूं। जब तक आप यह नहीं कह रहे हैं कि एक ही नेटवर्क पर होने से एक अलग कॉन्फ़िगरेशन की अनुमति मिलती है जो SSH को आवश्यक नहीं बनाता है (मैं कुछ पागल xhost / क्लाइंट सेटअप स्थापित करने का अनुमान लगा रहा हूं, मुझे X11 के बारे में ज्यादा जानकारी नहीं है)।
डग स्टीफन

Ssh के लिए कोई ज़रूरत नहीं है - अगर यह आपके सभी विश्वसनीय नेटवर्क का निजी नेटवर्क है, तो xhost +अपने स्थानीय मशीन पर प्रयास करें और रिमोट सिस्टम पर अपने प्रदर्शन को 'ip-or-name-of-local: 0`
ckhan

1
मैं gazeboकाम करने में असमर्थ था , लेकिन मैं इसे स्वीकृत उत्तर के रूप में चिह्नित कर रहा हूं क्योंकि आपके सुझाव तकनीकी रूप से सही थे। मैं glxdemoआपके द्वारा किए गए सभी सुझावों (नेटवर्क पर ssh और xserver / xclient) का उपयोग करके सुरंग बनाने में सक्षम हूं, लेकिन गज़ेबो में केवल ब्रांचिंग कोड पथ का निर्माण नहीं होता है और यह मानता है कि यह इस अजीब कॉन्फ़िगरेशन में नहीं चलाया जा सकता है। धन्यवाद!।
डग स्टीफन

गज़ेबो वेब है और यह वास्तव में आश्चर्यजनक है, आप एक रिमोट मशीन (यहां तक ​​कि WAN) पर एक गज़ेबो सर्वर शुरू कर सकते हैं, ssh के साथ सुरंग और वहाँ गज़ेबो को देखने के लिए अपना ब्राउज़र खोलें। सबसे अच्छा समाधान कभी।
मेहंदी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.