मैं लिनक्स में एक अतिरिक्त फ्रेमबफ़र डिवाइस कैसे जोड़ सकता हूं?


16

मैं एक एक्सएबी 12.04 एलटीएस को होम एनएएस सर्वर के रूप में चला रहा हूं, एक्स के बिना। हाल ही में मैं इसे वीडियो गेम डिवाइस के रूप में भी सेवा देने के लिए ट्यूनिंग में हूं। इस बिंदु पर X को स्थापित करना आसान हो सकता है, लेकिन मैंने फ्रेमबफ़र प्लेबैक के साथ mplayer को आज़माने का फैसला किया। यह काम किया, और सब कुछ ठीक और अच्छा था।

हालांकि, जिज्ञासा के लिए और शायद व्यावहारिक परिणामों के लिए भी, मैं फ्रेमबफर्स ​​के बारे में सोचना बंद नहीं कर सकता। लगता है कि केवल एक फ्रेमबफ़र डिवाइस है /dev/fb0,। (Btw। मैं vesafs ड्राइवर का उपयोग कर रहा हूं) यदि मैं कई प्रोग्राम चलाता हूं जो फ्रेमबफर्स, अराजकता का उपयोग करता है। उदाहरण के लिए, fbterm से mplayer चलाने से बस दुर्घटनाग्रस्त हो जाती है। उत्सुकता से, एफबीआई छवि दर्शक छवियों को किसी भी तरह देखने का प्रबंधन करता है। जाहिर है कि कार्यक्रम डिवाइस को साझा नहीं कर सकते हैं, सभी के बाद कोई विंडोिंग सिस्टम नहीं है।

तो, (vesa) fb उपकरणों की संख्या हार्डवेयर डिस्प्ले डिवाइसों तक सीमित है? या वहाँ सिद्धांत में अधिक हो सकता है, जैसे कई ttys हैं? एक साथ सॉफ़्टवेयर चलाने में कुछ और मदद जोड़ना चाहेंगे जो उनका उपयोग करता है? मैं और कैसे जोड़ सकता हूं?

इसके अलावा तर्क कि कैसे फ्रेमबायर्स ttys से जुड़े हैं मेरे लिए बिल्कुल स्पष्ट नहीं है ... उदाहरण के लिए, mplayer से पता चलता है कि यह हर tty पर वीडियो फ्रेम है, लेकिन fbi नहीं करता है। इसके अलावा, उबंटू डिफ़ॉल्ट कंसोल (fbcon?) वीडियो ओवरले के पीछे दिखाता है, जो मुझे अजीब लगता है। यह सब किस बारे में है?

जवाबों:


18

चूँकि किसी ने अभी तक उत्तर नहीं दिया है, और गुगली और परीक्षण के थकाऊ घंटों के बाद, मुझे इस विषय की कुछ समझ मिली, मैं इसका उत्तर देने जा रहा हूँ ...

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

वर्चुअल फ्रेमबफ़र उपकरणों के लिए एक ड्राइवर है, vfb। (नोट: xvfb से अलग जो X के लिए एक वर्चुअल फ्रेमबफ़र है) मैंने खुद इसका परीक्षण नहीं किया है, लेकिन एक के रूप में कई fb डिवाइस हो सकते हैं जैसे कोई वर्चुअल डिवाइस का उपयोग करना चाहता है। मुझे यह भी लगता है कि सिद्धांत रूप में कुछ भी एक वर्चुअल डिवाइस को हार्डवेयर फ्रेमबफ़र डिवाइस को पाइप करने से रोकता है, एक फ्रेमबफ़र मल्टीप्लेक्स बनाने की अनुमति देता है

फ्रेमबफ़र्स और ट्टीज़ के बीच कनेक्शन के बारे में: कोई नहीं है। फ़्रेमबफ़र केवल स्क्रीन पर खींचा जाता है, कुछ भी नापसंद करता है।

मूल रूप से भ्रमित मुझे जो मिला वह एफबीआई छवि दर्शक का व्यवहार है। यह पता चला है कि यह चतुराई से जाँच करता है कि यह जिस ट्टी में चल रहा है वह खुला है या नहीं, और उसके अनुसार फ्रेमबफ़र या ड्रॉ तक नहीं है। (यही कारण है कि यह mplayer के विपरीत, SSH पर चलने से इंकार करता है - यह छद्म टर्मिनल को स्वीकार नहीं करता है।) लेकिन मल्टीप्लेक्स जैसी कार्यक्षमता को स्वयं फ्रेमबर्फर के साथ कुछ नहीं करना है।

अगर फ्रेमबफ़र पर लिखने की कई प्रक्रियाएँ हैं, तो वे एक दूसरे को ब्लॉक नहीं करते हैं । यह पता चला है कि मेरी पहले की समस्याएं (क्रैश और इस तरह) एक साथ कई fb प्रोग्राम्स का उपयोग करना बिल्कुल भी फ्रेमबफ़र के बारे में नहीं था। Fbterm टर्मिनल को लें और इससे mplayer चलाएं: कोई समस्या नहीं। Fbterm और fbcon टर्मिनलों और fbi छवि दर्शक केवल बफर के लिए आकर्षित होता है जब कुछ अद्यतन किया जाता है, इसलिए mplayer स्क्रीन पर लगभग 100% समय तक हावी रहता है। लेकिन अगर आप दो मोपलेर्स चलाने की कोशिश करते हैं, तो आपको एक ऐसा दृश्य मिलने वाला है, जिसमें फ़्लिकर एक और दूसरे के फ्रेम दिखाते हैं, क्योंकि वे रेस की स्थिति वाले बफ़र को खींचने की कोशिश करते हैं।

कुछ उपयोगी लिंक:

http://moi.vonos.net/linux/framebuffer-drivers/

https://www.kernel.org/doc/Documentation/fb/framebuffer.txt


यदि आपके पास द्वितीयक के रूप में एक छोटा एलसीडी 2 डी डिस्प्ले है (fx1 का उपयोग करके 320x240 पिक्सल, 3 इंच सोचो) उस के लिए समझ में आता है। मेरे पास थोड़ा सा Adafruit adafruit.com/product/1601 एक है जो केवल (fb1) का उपयोग करता है। उनका सॉफ़्टवेयर खुला स्रोत है, लेकिन उनकी OS छवि 320x240 में GUI के साथ लिनक्स चलाने की कोशिश करती है और बुरी तरह विफल रहती है। एक दूसरे उपकरण के रूप में यह ठीक हो सकता है, मैंने कुछ वर्षों में इसका उपयोग नहीं किया है। देखिये आदमी मकोड़।
एलन कोरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.