रास्पबेरी पाई-लोगो

रास्पबेरी पाई केएमएस एचडीएमआई आउटपुट ग्राफिक्स ड्राइवर

रास्पबेरीपी-केएमएस-एचडीएमआई-आउटपुट-ग्राफिक्स-ड्राइवर-प्रोडक्ट-आईएमजी

कालफ़न

2020-2023 Raspberry Pi Ltd (पूर्व में Raspberry Pi (ट्रेडिंग) लिमिटेड) इस दस्तावेज़ को Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) लाइसेंस के तहत लाइसेंस दिया गया है। बिल्ड-डेट: 2023-02-10 बिल्ड-वर्जन: गिथाश: c65fe9c-क्लीन

कानूनी अस्वीकरण सूचना

रास्पबेरी पीआई उत्पादों के लिए तकनीकी और विश्वसनीयता डेटा (डेटाशीट सहित) समय-समय पर संशोधित ("संसाधन") रास्पबेरी पीआई लिमिटेड ("आरपीएल") "जैसा है" और किसी भी व्यक्त या निहित वारंटियों द्वारा प्रदान किया जाता है, सहित, लेकिन सीमित नहीं सेवा में, व्यापारिकता और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटियों को अस्वीकार किया जाता है। किसी भी घटना में लागू कानून द्वारा अनुमत अधिकतम सीमा तक आरपीएल किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, या परिणामी नुकसान के लिए उत्तरदायी नहीं होगा (सहित, लेकिन सीमित नहीं, स्थानापन्न वस्तुओं या सेवाओं की खरीद; उपयोग की हानि, डेटा , या लाभ; या व्यवसाय में रुकावट) हालांकि कारण और दायित्व के किसी भी सिद्धांत पर, चाहे अनुबंध में, सख्त दायित्व, या अपकृत्य (लापरवाही सहित या अन्यथा) संसाधनों के उपयोग से किसी भी तरह से उत्पन्न होने पर, भले ही संभावना की सलाह दी गई हो ऐसी क्षति का। आरपीएल किसी भी समय और बिना किसी सूचना के संसाधनों या उनमें वर्णित किसी भी उत्पाद में कोई भी वृद्धि, सुधार, सुधार या कोई अन्य संशोधन करने का अधिकार सुरक्षित रखता है। संसाधन कुशल उपयोगकर्ताओं के लिए डिज़ाइन ज्ञान के उपयुक्त स्तरों के लिए अभिप्रेत हैं। उपयोगकर्ता अपने चयन और संसाधनों के उपयोग और उनमें वर्णित उत्पादों के किसी भी अनुप्रयोग के लिए पूरी तरह से जिम्मेदार हैं। उपयोगकर्ता संसाधनों के उपयोग से उत्पन्न होने वाली सभी देनदारियों, लागतों, नुकसानों या अन्य नुकसानों के लिए आरपीएल को क्षतिपूर्ति करने और हानिरहित रखने के लिए सहमत हैं। आरपीएल उपयोगकर्ताओं को पूरी तरह से रास्पबेरी पाई उत्पादों के संयोजन के साथ संसाधनों का उपयोग करने की अनुमति देता है। संसाधनों के अन्य सभी उपयोग निषिद्ध हैं। किसी अन्य आरपीएल या अन्य तृतीय पक्ष बौद्धिक संपदा अधिकार के लिए कोई लाइसेंस नहीं दिया जाता है। उच्च जोखिम वाली गतिविधियाँ। Raspberry Pi उत्पादों को खतरनाक वातावरण में उपयोग के लिए डिज़ाइन, निर्मित या इरादा नहीं किया गया है, जैसे कि परमाणु सुविधाओं, विमान नेविगेशन या संचार प्रणालियों, हवाई यातायात नियंत्रण, हथियार प्रणालियों या सुरक्षा-महत्वपूर्ण अनुप्रयोगों (जीवन समर्थन सहित) के संचालन में विफल सुरक्षित प्रदर्शन की आवश्यकता होती है। सिस्टम और अन्य चिकित्सा उपकरण), जिसमें उत्पादों की विफलता सीधे मृत्यु, व्यक्तिगत चोट या गंभीर शारीरिक या पर्यावरणीय क्षति ("उच्च जोखिम वाली गतिविधियां") का कारण बन सकती है। RPL विशेष रूप से उच्च जोखिम वाली गतिविधियों के लिए फिटनेस की किसी भी व्यक्त या निहित वारंटी को अस्वीकार करता है और उच्च जोखिम वाली गतिविधियों में Raspberry Pi उत्पादों के उपयोग या समावेशन के लिए कोई उत्तरदायित्व स्वीकार नहीं करता है। Raspberry Pi उत्पाद RPL की मानक शर्तों के अधीन प्रदान किए जाते हैं। आरपीएल के संसाधनों के प्रावधान आरपीएल की मानक शर्तों का विस्तार या अन्यथा संशोधन नहीं करते हैं, जिनमें अस्वीकरण और उनमें व्यक्त वारंटी शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है।

दस्तावेज़ संस्करण इतिहास

रास्पबेरीपी-केएमएस-एचडीएमआई-आउटपुट-ग्राफिक्स-ड्राइवर-एफआईजी-1

दस्तावेज़ का दायरा

यह दस्तावेज़ निम्न रास्पबेरी पाई उत्पादों पर लागू होता है

रास्पबेरीपी-केएमएस-एचडीएमआई-आउटपुट-ग्राफिक्स-ड्राइवर-एफआईजी-2

परिचय

KMS (कर्नेल मोड सेटिंग) ग्राफ़िक्स ड्राइवर की शुरुआत के साथ, Raspberry Pi Ltd वीडियो आउटपुट सिस्टम के लीगेसी फ़र्मवेयर नियंत्रण से दूर और अधिक ओपन सोर्स ग्राफ़िक्स सिस्टम की ओर बढ़ रहा है। हालाँकि, यह अपनी चुनौतियों के सेट के साथ आया है। इस दस्तावेज़ का उद्देश्य ऐसी किसी भी समस्या से निपटने में मदद करना है जो नई प्रणाली में जाने पर उत्पन्न हो सकती है। यह श्वेतपत्र मानता है कि रास्पबेरी पीआई रास्पबेरी पीआई ओएस चला रहा है, और नवीनतम फर्मवेयर और गुठली के साथ पूरी तरह से अद्यतित है।

शब्दावली

डीआरएम: डायरेक्ट रेंडरिंग मैनेजर, लिनक्स कर्नेल का एक सबसिस्टम है जिसका उपयोग ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) के साथ संवाद करने के लिए किया जाता है। FKMS और KMS के साथ साझेदारी में उपयोग किया जाता है।
डीवीआई: एचडीएमआई का एक पूर्ववर्ती, लेकिन ऑडियो क्षमताओं के बिना। रास्पबेरी पाई डिवाइस को डीवीआई से लैस डिस्प्ले से जोड़ने के लिए एचडीएमआई से डीवीआई केबल और एडेप्टर उपलब्ध हैं।
ईडीआईडी: विस्तारित प्रदर्शन पहचान डेटा। वीडियो स्रोत के लिए उनकी क्षमताओं का वर्णन करने के लिए प्रदर्शन उपकरणों के लिए एक मेटाडेटा प्रारूप। EDID डेटा संरचना में कुछ कम उपयोगी डेटा के साथ-साथ निर्माता का नाम और सीरियल नंबर, उत्पाद प्रकार, भौतिक प्रदर्शन आकार और प्रदर्शन द्वारा समर्थित समय शामिल हैं। कुछ डिस्प्ले में दोषपूर्ण EDID ब्लॉक हो सकते हैं, जो समस्या पैदा कर सकते हैं यदि उन दोषों को डिस्प्ले सिस्टम द्वारा नियंत्रित नहीं किया जाता है।
एफकेएमएस (vc4-fkms-v3d): नकली कर्नेल मोड सेटिंग। जबकि फर्मवेयर अभी भी निम्न-स्तरीय हार्डवेयर को नियंत्रित करता है (उदाहरण के लिएampली, हाई-डेफिनिशन मल्टीमीडिया इंटरफ़ेस (एचडीएमआई) पोर्ट, डिस्प्ले सीरियल इंटरफ़ेस (डीएसआई), आदि), मानक लिनक्स लाइब्रेरी का उपयोग कर्नेल में ही किया जाता है। FKMS का उपयोग बस्टर में डिफ़ॉल्ट रूप से किया जाता है, लेकिन अब बुल्सआई में KMS के पक्ष में बहिष्कृत कर दिया गया है।
एचडीएमआई: हाई-डेफिनिशन मल्टीमीडिया इंटरफ़ेस असम्पीडित वीडियो डेटा, और संपीड़ित या असम्पीडित डिजिटल ऑडियो डेटा प्रसारित करने के लिए एक मालिकाना ऑडियो/वीडियो इंटरफ़ेस है।
एचपीडी: हॉटप्लग का पता लगाना। एक भौतिक तार जो एक कनेक्टेड डिस्प्ले डिवाइस द्वारा यह दिखाने के लिए जोर दिया जाता है कि वह मौजूद है।
केएमएस: कर्नेल मोड सेटिंग; देखना https://www.kernel.org/doc/html/latest/gpu/drm-kms.html अधिक जानकारी के लिए। Raspberry Pi पर, vc4-kms-v3d एक ड्राइवर है जो KMS को लागू करता है, और इसे अक्सर "KMS ड्राइवर" कहा जाता है। लीगेसी ग्राफ़िक्स स्टैक: एक ग्राफ़िक्स स्टैक जिसे Linux फ़्रेमबफ़र ड्राइवर द्वारा एक्सपोज़ किए गए VideoCore फ़र्मवेयर ब्लॉब में पूरी तरह लागू किया गया है। अभी हाल तक अधिकांश Raspberry Pi Ltd उपकरणों में लीगेसी ग्राफ़िक्स स्टैक का उपयोग किया गया है; अब इसे धीरे-धीरे (F)KMS/DRM से बदला जा रहा है।

एचडीएमआई सिस्टम और ग्राफिक्स ड्राइवर

रास्पबेरी पाई डिवाइस एचडीएमआई मानक का उपयोग करते हैं, जो वीडियो आउटपुट के लिए आधुनिक एलसीडी मॉनिटर और टीवी पर बहुत आम है। Raspberry Pi 3 (Raspberry Pi 3B+ सहित) और पहले के उपकरणों में एक ही HDMI पोर्ट होता है, जो पूर्ण आकार के HDMI कनेक्टर का उपयोग करके 1920 × 1200 @60Hz आउटपुट देने में सक्षम है। रास्पबेरी पाई 4 में दो माइक्रो एचडीएमआई पोर्ट हैं, और दोनों पोर्ट पर 4K आउटपुट देने में सक्षम है। सेटअप के आधार पर, Raspberry Pi 0 पर HDMI 4 पोर्ट 4kp60 तक सक्षम है, लेकिन दो 4K आउटपुट डिवाइस का उपयोग करते समय आप दोनों डिवाइस पर p30 तक सीमित होते हैं। ग्राफिक्स सॉफ़्टवेयर स्टैक, संस्करण के बावजूद, उनके गुणों के लिए संलग्न एचडीएमआई उपकरणों से पूछताछ करने और एचडीएमआई सिस्टम को उचित रूप से स्थापित करने के लिए जिम्मेदार है। लीगेसी और FKMS स्टैक दोनों वीडियोकोर ग्राफिक्स प्रोसेसर में एचडीएमआई उपस्थिति और गुणों की जांच के लिए फर्मवेयर का उपयोग करते हैं। इसके विपरीत, केएमएस पूरी तरह से खुले स्रोत, एआरएम-साइड कार्यान्वयन का उपयोग करता है। इसका अर्थ है कि दो प्रणालियों के लिए कोड बेस पूरी तरह से अलग हैं, और कुछ परिस्थितियों में इसके परिणामस्वरूप दो दृष्टिकोणों के बीच भिन्न व्यवहार हो सकता है। एचडीएमआई और डीवीआई डिवाइस ईडीआईडी ​​​​ब्लॉक कहे जाने वाले मेटाडेटा के एक टुकड़े का उपयोग करके स्रोत डिवाइस की पहचान करते हैं। यह I2C कनेक्शन के माध्यम से डिस्प्ले डिवाइस से सोर्स डिवाइस द्वारा पढ़ा जाता है, और यह अंतिम उपयोगकर्ता के लिए पूरी तरह से पारदर्शी है क्योंकि यह ग्राफिक्स स्टैक द्वारा किया जाता है। ईडीआईडी ​​​​ब्लॉक में बहुत सारी जानकारी होती है, लेकिन इसका मुख्य रूप से यह निर्दिष्ट करने के लिए उपयोग किया जाता है कि प्रदर्शन किस संकल्प का समर्थन करता है, इसलिए रास्पबेरी पीआई को उचित संकल्प को आउटपुट करने के लिए सेट किया जा सकता है।

बूटिंग के दौरान HDMI से कैसे निपटा जाता है

जब पहली बार चालू किया जाता है, तो रास्पबेरी पाई कई एस से गुजरती हैtages, बूट s के रूप में जाना जाता हैtagतों:

  1. पहला-एसtagई, रोम-आधारित बूटलोडर वीडियोकोर जीपीयू शुरू करता है।
  2. दूसरा-एसtage बूटलोडर (यह Raspberry Pi 4 से पहले के उपकरणों पर SD कार्ड पर bootcode.bin है, और Raspberry Pi 4 पर SPI EEPROM में है):
    1. रास्पबेरी पाई 4 पर, दूसरा-एसtagई बूटलोडर एचडीएमआई सिस्टम शुरू करेगा, संभावित मोड के लिए डिस्प्ले से पूछताछ करेगा, फिर डिस्प्ले को उचित रूप से सेट करेगा। इस बिंदु पर बुनियादी निदान डेटा प्रदान करने के लिए प्रदर्शन का उपयोग किया जाता है।
    2. बूटलोडर डायग्नोस्टिक डिस्प्ले (07 दिसंबर 2022 के बाद) किसी भी संलग्न डिस्प्ले की स्थिति प्रदर्शित करेगा (चाहे हॉटप्लग डिटेक्ट (एचपीडी) मौजूद हो, और क्या डिस्प्ले से ईडीआईडी ​​​​ब्लॉक बरामद किया गया था)।
  3. VideoCore फ़र्मवेयर (start.elf) लोड किया जाता है और चलाया जाता है। यह एचडीएमआई सिस्टम का नियंत्रण ले लेगा, किसी भी संलग्न डिस्प्ले से ईडीआईडी ​​​​ब्लॉक को पढ़ेगा, और उन डिस्प्ले पर इंद्रधनुषी स्क्रीन दिखाएगा।
  4. लिनक्स कर्नेल बूट करता है
    1. कर्नेल बूट के दौरान, KMS फर्मवेयर से HDMI सिस्टम का नियंत्रण ले लेगा। एक बार फिर EDID ब्लॉक को किसी भी संलग्न डिस्प्ले से पढ़ा जाता है, और इस जानकारी का उपयोग लिनक्स कंसोल और डेस्कटॉप को सेट करने के लिए किया जाता है।

संभावित समस्याएं और लक्षण

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

दोष का निदान

कोई एचडीएमआई आउटपुट बिल्कुल नहीं
यह संभव है कि डिवाइस बिल्कुल बूट नहीं हुआ हो, लेकिन यह इस श्वेत पत्र के दायरे से बाहर है। यह मानते हुए कि देखा गया व्यवहार एक प्रदर्शन समस्या है, बूटिंग प्रक्रिया के किसी भी भाग के दौरान एचडीएमआई आउटपुट की कमी आमतौर पर हार्डवेयर दोष के कारण होती है। कई संभावित विकल्प हैं:

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

प्रारंभिक आउटपुट, फिर स्क्रीन काली हो जाती है
यदि डिस्प्ले ऊपर आता है लेकिन लिनक्स कर्नेल बूट के दौरान बंद हो जाता है, तो इसके कई संभावित कारण हैं, और ये आमतौर पर डिस्प्ले डिवाइस से ईडीआईडी ​​​​पढ़ने में समस्या से संबंधित होते हैं। जैसा कि ऊपर दिए गए बूट अनुक्रम से निपटने वाले अनुभाग से देखा जा सकता है, EDID को बूट प्रक्रिया के दौरान कई अलग-अलग बिंदुओं पर पढ़ा जाता है, और इनमें से प्रत्येक रीड सॉफ्टवेयर के एक अलग टुकड़े द्वारा किया जाता है। अंतिम पठन, जब KMS लेता है, अपरिवर्तित अपस्ट्रीम लिनक्स कर्नेल कोड द्वारा किया जाता है, और यह दोषपूर्ण EDID स्वरूपों के साथ-साथ पहले के फर्मवेयर सॉफ़्टवेयर को भी नहीं संभालता है। यही कारण है कि एक बार KMS के कार्यभार संभालने के बाद प्रदर्शन ठीक से काम करना बंद कर सकता है। यह पुष्टि करने के कई तरीके हैं कि क्या KMS EDID को पढ़ने में विफल हो रहा है, और इनमें से दो इस प्रकार हैं।
बूटलोडर डायग्नोस्टिक स्क्रीन की जाँच करें (Raspberry Pi 4 केवल)

टिप्पणी
बूटलोडर डायग्नोस्टिक्स के लिए हाल ही के बूटलोडर की आवश्यकता होती है। आप इन निर्देशों का उपयोग करके नवीनतम संस्करण में अपग्रेड कर सकते हैं: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader एसडी कार्ड निकालें और रास्पबेरी पाई को रिबूट करें। इंस्टॉल ओएस स्क्रीन पर ईएससी दबाएं, और डायग्नोस्टिक स्क्रीन डिस्प्ले डिवाइस पर दिखाई देनी चाहिए। डिस्प्ले पर एक लाइन होनी चाहिए जो डिस्प्ले से शुरू होती है: - उदाहरण के लिएampपर:

  • प्रदर्शन: DISP0: HDMI HPD=1 EDID=ठीक #2 DISP1: HPD=0 EDID=कोई नहीं #0

रास्पबेरी पीआई 4 से यह आउटपुट दिखाता है कि सिस्टम ने एचडीएमआई पोर्ट 0 पर एचडीएमआई डिस्प्ले का पता लगाया है, हॉटप्लग का पता लगाया गया है, और ईडीआईडी ​​​​ठीक पढ़ा गया था। एचडीएमआई पोर्ट 1 पर कुछ नहीं मिला।

जांचें कि क्या KMS सिस्टम ने EDID का पता लगाया है
इसे जांचने के लिए आपको किसी दूसरे कंप्यूटर से SSH पर Raspberry Pi डिवाइस में लॉग इन करना होगा। उन्नत सेटिंग्स विकल्पों का उपयोग करके रास्पबेरी पाई इमेजर के साथ एसडी कार्ड छवि बनाते समय एसएसएच को सक्षम किया जा सकता है। एसडी कार्ड पर एसएसएच को सक्षम करना जो पहले से ही चित्रित किया गया है, थोड़ा अधिक जटिल है: आपको एक जोड़ने के लिए दूसरे कंप्यूटर का उपयोग करने की आवश्यकता होगी file बूट पार्टीशन में ssh नाम दिया गया है। एसडी कार्ड को मूल रास्पबेरी पाई में बदलें और इसे चालू करें। यह डीएचसीपी द्वारा आवंटित आईपी पते के साथ एसएसएच को सक्षम करना चाहिए। एक बार लॉग इन करने के बाद, किसी भी ईडीआईडी ​​​​की सामग्री को प्रदर्शित करने के लिए टर्मिनल प्रॉम्प्ट पर निम्नलिखित टाइप करें (आपको एचडीएमआई-ए-1 को एचडीएमआई-ए-2 में बदलने की आवश्यकता हो सकती है, जिसके आधार पर रास्पबेरी पाई पर एचडीएमआई पोर्ट डिस्प्ले डिवाइस से जुड़ा है। to): cat /sys/class/drm/card?-HDMI-A-1/edid अगर card?-HDMI-A-1 या समान नाम का कोई फोल्डर नहीं है, तो संभव है कि डिस्प्ले से कोई EDID नहीं पढ़ा जा सके उपकरण।

टिप्पणी
मामले में जहां ईडीआईडी ​​​​सफलतापूर्वक पढ़ा जाता है, वहां एक उपयोगी वर्चुअल होता है file एक ही फ़ोल्डर में, जिसे मोड कहा जाता है, जो प्रदर्शित होने पर ईडीआईडी ​​के सभी संभावित मोड दिखाता है, दावा करता है कि डिवाइस का समर्थन करता है।

शमन

हॉटप्लग विफलता का पता लगाता है यदि फ़र्मवेयर और KMS दोनों संलग्न मॉनिटर को खोजने में विफल रहते हैं, तो यह हॉटप्लग का पता लगाने में विफलता हो सकती है - यानी, रास्पबेरी पाई को पता नहीं है कि डिवाइस को प्लग किया गया है, इसलिए यह EDID की जाँच नहीं करता है। यह एक खराब केबल, या एक डिस्प्ले डिवाइस के कारण हो सकता है जो हॉटप्लग को सही ढंग से नहीं बताता है। आप कर्नेल कमांड लाइन को बदलकर हॉटप्लग डिटेक्ट को बाध्य कर सकते हैं file (cmdline.txt) जो कि Raspberry Pi OS SD कार्ड के बूट पार्टीशन में स्टोर होता है। आप इसे संपादित कर सकते हैं file किसी अन्य सिस्टम पर, आप जो भी संपादक पसंद करते हैं उसका उपयोग कर सकते हैं। निम्न को cmdline.txt के अंत में जोड़ें file: video=HDMI-A-1:1280×720@60D यदि आप दूसरे HDMI पोर्ट का उपयोग कर रहे हैं, तो HDMI-A-1 को HDMI-A-2 से बदलें। आप एक अलग रिज़ॉल्यूशन और फ़्रेम दर भी निर्दिष्ट कर सकते हैं, लेकिन सुनिश्चित करें कि आप उन लोगों को चुनते हैं जो डिस्प्ले डिवाइस का समर्थन करते हैं।

टिप्पणी
वीडियो के लिए कर्नेल कमांड लाइन सेटिंग्स पर प्रलेखन यहाँ पाया जा सकता है: https://www.kernel.org/doc/Documentation/fb/modedb.txt

चेतावनी
पुराने ग्राफ़िक्स स्टैक ने हॉटप्लग डिटेक्ट सेट करने के लिए config.txt प्रविष्टि के उपयोग का समर्थन किया था, लेकिन लिखने के समय यह KMS के साथ काम नहीं करता है। भविष्य के फर्मवेयर रिलीज में इसका समर्थन किया जा सकता है। Config.txt प्रविष्टि hdmi_force_hotplug है, और आप उस विशिष्ट HDMI पोर्ट को निर्दिष्ट कर सकते हैं जो hdmi_force_hotplug:0=1 या hdmi_force_hotplug:1=1 का उपयोग करने के लिए हॉटप्लग लागू होता है। ध्यान दें कि KMS के लिए नामकरण एचडीएमआई पोर्ट को 1 और 2 के रूप में संदर्भित करता है, जबकि रास्पबेरी पाई 0 और 1 का उपयोग करता है।

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

एक EDID को a में कॉपी करना file
बनाना एक file शुरुआत से ईडीआईडी ​​​​मेटाडेटा शामिल करना आमतौर पर संभव नहीं है, और किसी मौजूदा का उपयोग करना बहुत आसान है। आमतौर पर डिस्प्ले डिवाइस से ईडीआईडी ​​प्राप्त करना और इसे रास्पबेरी पाई के एसडी कार्ड पर स्टोर करना संभव है, ताकि डिस्प्ले डिवाइस से ईडीआईडी ​​प्राप्त करने के बजाय केएमएस द्वारा इसका उपयोग किया जा सके। यहां सबसे आसान विकल्प यह सुनिश्चित करना है कि डिस्प्ले डिवाइस ऊपर और चल रहा है और सही एवी इनपुट पर है, और यह कि रास्पबेरी पाई ने एचडीएमआई सिस्टम को सही तरीके से शुरू किया है। टर्मिनल से, अब आप EDID को a में कॉपी कर सकते हैं file निम्नलिखित कमांड के साथ: sudo cp /sys/class/drm/card?-HDMI-A-1/edid /lib/firmware/myedid.dat यदि किसी कारण से EDID मौजूद नहीं है, तो आप डिवाइस को नॉन-टाइम मोड में बूट कर सकते हैं। -केएमएस मोड जो डेस्कटॉप या कंसोल पर बूट करने में सफल होता है, फिर ईडीआईडी ​​की कॉपी करें कि फर्मवेयर (उम्मीद है) सफलतापूर्वक एक को पढ़ेगा file.

  1. लीगेसी ग्राफ़िक्स मोड में बूट करें।
    1. बूट पार्टीशन में config.txt संपादित करें, अपने संपादक को सुडो का उपयोग करके चलाना सुनिश्चित करें, और उस रेखा को बदलें जो dtoverlay=vc4-kms-v3d को #dtoverlay=vc4-kms-v3d कहती है।
    2. रीबूट करें.
  2. डेस्कटॉप या लॉगिन कंसोल अब दिखना चाहिए।
    1. टर्मिनल का उपयोग करके, संलग्न डिस्प्ले डिवाइस से EDID को a में कॉपी करें file निम्नलिखित आदेश के साथ:
  • टीवीसेवा -d myedid.dat sudo mv myedid.dat /lib/फर्मवेयर/

एक का उपयोग करना file-आधारित EDID डिस्प्ले डिवाइस से पूछताछ करने के बजाय संपादित करें /boot/cmdline.txt, अपने संपादक को सुडो का उपयोग करके चलाना सुनिश्चित करें, और निम्नलिखित को कर्नेल कमांड लाइन में जोड़ें: drm.edid_firmware=myedid.dat आप EDID को एक पर लागू कर सकते हैं विशिष्ट एचडीएमआई पोर्ट इस प्रकार है: drm.edid_firmware=HDMI-A-1:myedid.dat यदि आवश्यक हो, तो निम्न कार्य करके KMS मोड में वापस बूट करें:

  1. बूट पार्टीशन में config.txt संपादित करें, अपने संपादक को सुडो का उपयोग करके चलाना सुनिश्चित करें, और #dtoverlay=vc4-kms-v3d से dtoverlay=vc4-kms-v3d कहने वाली पंक्ति को बदलें।
  2. रीबूट करें.

टिप्पणी
यदि आप एक का उपयोग करें fileआधारित ईडीआईडी, लेकिन अभी भी हॉटप्लग के साथ समस्या है, आप कर्नेल कमांड लाइन में निम्नलिखित जोड़कर हॉटप्लग डिटेक्शन को बाध्य कर सकते हैं: video=HDMI-A-1:D।

दस्तावेज़ / संसाधन

रास्पबेरी पाई केएमएस एचडीएमआई आउटपुट ग्राफिक्स ड्राइवर [पीडीएफ] उपयोगकर्ता पुस्तिका
केएमएस, एचडीएमआई आउटपुट ग्राफिक्स ड्राइवर, केएमएस एचडीएमआई आउटपुट, ग्राफिक्स ड्राइवर, केएमएस एचडीएमआई आउटपुट ग्राफिक्स ड्राइवर, ड्राइवर

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *