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

RaspberryPi KMS HDMI आउटपुट ग्राफिक्स ड्रायव्हर

RaspberryPi-KMS-HDMI-आउटपुट-ग्राफिक्स-ड्रायव्हर-प्रोडक्ट-IMG

कोलोफोन

2020-2023 Raspberry Pi Ltd (पूर्वीचे Raspberry Pi (Trading) Ltd.) हे दस्तऐवज क्रिएटिव्ह कॉमन्स अॅट्रिब्युशन-नोडेरिव्हेटिव्हज 4.0 इंटरनॅशनल (CC BY-ND 4.0) परवान्याअंतर्गत परवानाकृत आहे. बिल्ड-तारीख: 2023-02-10 बिल्ड-व्हर्जन: गिताश: c65fe9c-क्लीन

कायदेशीर अस्वीकरण सूचना

रास्पबेरी PI उत्पादनांसाठी तांत्रिक आणि विश्वासार्हता डेटा (डेटाशीटसह) वेळोवेळी सुधारित केला जातो (“संसाधन”) RASPBERRY PI LTD (“RPL”) द्वारे प्रदान केले जातात, IMPNYLISSING द्वारे प्रदान केले जातात. साठी, विशिष्ट हेतूसाठी व्यापारीता आणि योग्यतेची निहित हमी अस्वीकृत केली गेली आहे. लागू कायद्याद्वारे परवानगी दिलेल्या कमाल मर्यादेपर्यंत, कोणत्याही घटनेत RPL कोणत्याही प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, किंवा परिणामी हानीसाठी जबाबदार असणार नाही डेटा , किंवा नफा; किंवा व्यवसाय व्यत्यय) तथापि, कोणत्याही कारणास्तव आणि दायित्वाच्या सिद्धांतावर, मग तो करार, कठोर उत्तरदायित्व, किंवा छेडछाड (निष्काळजीपणासह किंवा इतर कोणत्याही कारणास्तव) कोणत्याही कारणास्तव, कोणत्याही कारणास्तव, गैरव्यवहाराच्या बाबतीत अशा नुकसानीचे. RPL कोणत्याही वेळी आणि कोणत्याही सूचना न देता संसाधने किंवा त्यात वर्णन केलेल्या कोणत्याही उत्पादनांमध्ये सुधारणा, सुधारणा, दुरुस्त्या किंवा इतर कोणतेही बदल करण्याचा अधिकार राखून ठेवते. संसाधने हे डिझाइन ज्ञानाचे योग्य स्तर असलेल्या कुशल वापरकर्त्यांसाठी आहेत. वापरकर्ते त्यांच्या निवडीसाठी आणि संसाधनांच्या वापरासाठी आणि त्यांच्यामध्ये वर्णन केलेल्या उत्पादनांच्या कोणत्याही अनुप्रयोगासाठी पूर्णपणे जबाबदार आहेत. वापरकर्ता RPL ला सर्व दायित्वे, खर्च, नुकसान किंवा त्यांच्या संसाधनांच्या वापरामुळे उद्भवणाऱ्या इतर नुकसानाविरूद्ध नुकसानभरपाई आणि ठेवण्यास सहमती देतो. RPL वापरकर्त्यांना केवळ Raspberry Pi उत्पादनांच्या संयोगाने संसाधने वापरण्याची परवानगी देते. संसाधनांचा इतर सर्व वापर प्रतिबंधित आहे. इतर कोणत्याही RPL किंवा इतर तृतीय पक्षाच्या बौद्धिक संपदा अधिकाराला कोणताही परवाना दिला जात नाही. उच्च जोखीम क्रियाकलाप. रास्पबेरी पाई उत्पादने अयशस्वी सुरक्षित कार्यक्षमतेची आवश्यकता असलेल्या धोकादायक वातावरणात वापरण्यासाठी डिझाइन केलेली, उत्पादित केलेली नाही किंवा वापरण्यासाठी हेतू नाही, जसे की आण्विक सुविधा, विमान नेव्हिगेशन किंवा दळणवळण प्रणाली, हवाई वाहतूक नियंत्रण, शस्त्रे प्रणाली किंवा सुरक्षा-गंभीर अनुप्रयोग (जीवन समर्थनासह) प्रणाली आणि इतर वैद्यकीय उपकरणे), ज्यामध्ये उत्पादनांच्या अपयशामुळे थेट मृत्यू, वैयक्तिक इजा किंवा गंभीर शारीरिक किंवा पर्यावरणीय नुकसान होऊ शकते ("उच्च जोखीम क्रियाकलाप"). RPL विशेषत: उच्च जोखमीच्या क्रियाकलापांसाठी फिटनेसची कोणतीही स्पष्ट किंवा गर्भित वॉरंटी नाकारते आणि उच्च जोखीम क्रियाकलापांमध्ये रास्पबेरी पाई उत्पादनांचा वापर किंवा समावेश करण्यासाठी कोणतेही दायित्व स्वीकारत नाही. रास्पबेरी पाई उत्पादने RPL च्या मानक अटींच्या अधीन आहेत. RPL ची संसाधनांची तरतूद RPL च्या मानक अटींचा विस्तार करत नाही किंवा त्यामध्ये बदल करत नाही आणि त्यात व्यक्त केलेल्या अस्वीकरण आणि वॉरंटींचा समावेश आहे परंतु त्यांच्यापुरता मर्यादित नाही.

दस्तऐवज आवृत्ती इतिहास

RaspberryPi-KMS-HDMI-आउटपुट-ग्राफिक्स-ड्रायव्हर-FIG-1

दस्तऐवजाची व्याप्ती

हा दस्तऐवज खालील रास्पबेरी पाई उत्पादनांना लागू होतो

RaspberryPi-KMS-HDMI-आउटपुट-ग्राफिक्स-ड्रायव्हर-FIG-2

परिचय

KMS (कर्नल मोड सेटिंग) ग्राफिक्स ड्रायव्हरच्या परिचयाने, Raspberry Pi Ltd व्हिडिओ आउटपुट सिस्टमच्या लीगेसी फर्मवेअर नियंत्रणापासून दूर जात आहे आणि अधिक मुक्त स्रोत ग्राफिक्स सिस्टमकडे जात आहे. तथापि, हे स्वतःचे आव्हान घेऊन आले आहे. हा दस्तऐवज नवीन सिस्टीममध्ये जाताना उद्भवू शकणार्‍या कोणत्याही समस्यांसाठी मदत करण्याच्या उद्देशाने आहे. हे श्वेतपत्र असे गृहीत धरते की Raspberry Pi रास्पबेरी Pi OS चालवत आहे आणि नवीनतम फर्मवेअर आणि कर्नलसह पूर्णपणे अद्ययावत आहे.

शब्दावली

DRM: डायरेक्ट रेंडरिंग मॅनेजर, लिनक्स कर्नलची उपप्रणाली जी ग्राफिक्स प्रोसेसिंग युनिट्स (GPUs) शी संवाद साधण्यासाठी वापरली जाते. FKMS आणि KMS सह भागीदारीत वापरले जाते.
DVI: HDMI चा पूर्ववर्ती, परंतु ऑडिओ क्षमतेशिवाय. HDMI ते DVI केबल्स आणि अडॅप्टर रास्पबेरी पाई डिव्हाइसला DVI-सुसज्ज डिस्प्लेशी जोडण्यासाठी उपलब्ध आहेत.
एडीआयडीः विस्तारित डिस्प्ले आयडेंटिफिकेशन डेटा. डिस्प्ले डिव्‍हाइसेससाठी मेटाडेटा फॉरमॅट त्‍यांच्‍या क्षमतांचे व्हिडिओ स्‍त्रोतवर वर्णन करण्‍यासाठी. EDID डेटा संरचनेमध्ये काही कमी उपयुक्त डेटासह निर्मात्याचे नाव आणि अनुक्रमांक, उत्पादनाचा प्रकार, भौतिक प्रदर्शन आकार आणि डिस्प्लेद्वारे समर्थित वेळेचा समावेश आहे. काही डिस्प्लेमध्ये दोषपूर्ण EDID ब्लॉक्स असू शकतात, ज्यामुळे ते दोष डिस्प्ले सिस्टमद्वारे हाताळले जात नसल्यास समस्या निर्माण होऊ शकतात.
FKMS (vc4-fkms-v3d): बनावट कर्नल मोड सेटिंग. फर्मवेअर अजूनही निम्न-स्तरीय हार्डवेअर नियंत्रित करत असताना (उदाample, हाय-डेफिनिशन मल्टीमीडिया इंटरफेस (HDMI) पोर्ट्स, डिस्प्ले सिरीयल इंटरफेस (DSI), इत्यादी, मानक लिनक्स लायब्ररी कर्नलमध्येच वापरल्या जातात. FKMS बस्टरमध्ये डीफॉल्टनुसार वापरला जातो, परंतु आता Bullseye मध्ये KMS च्या बाजूने वगळण्यात आला आहे.
एचडीएमआयः हाय-डेफिनिशन मल्टीमीडिया इंटरफेस हे असंपीडित व्हिडिओ डेटा आणि संकुचित किंवा असंपीडित डिजिटल ऑडिओ डेटा प्रसारित करण्यासाठी मालकीचा ऑडिओ/व्हिडिओ इंटरफेस आहे.
HPD: हॉटप्लग ओळखा. कनेक्ट केलेल्या डिस्प्ले डिव्हाइसद्वारे दर्शविण्यासाठी एक भौतिक वायर उपस्थित आहे.
KMS: कर्नल मोड सेटिंग; पहा https://www.kernel.org/doc/html/latest/gpu/drm-kms.html अधिक तपशीलांसाठी. Raspberry Pi वर, vc4-kms-v3d एक ड्रायव्हर आहे जो KMS लागू करतो आणि त्याला "KMS ड्राइव्हर" म्हणून संबोधले जाते. लेगसी ग्राफिक्स स्टॅक: लिनक्स फ्रेमबफर ड्रायव्हरद्वारे उघड केलेल्या VideoCore फर्मवेअर ब्लॉबमध्ये पूर्णपणे लागू केलेला ग्राफिक्स स्टॅक. लेगसी ग्राफिक्स स्टॅक अलीकडे पर्यंत Raspberry Pi Ltd च्या बहुतांश उपकरणांमध्ये वापरले गेले आहे; ते आता हळूहळू (F)KMS/DRM ने बदलले जात आहे.

HDMI प्रणाली आणि ग्राफिक्स ड्रायव्हर्स

व्हिडिओ आउटपुटसाठी रास्पबेरी पाई डिव्हाइसेस HDMI मानक वापरतात, जे आधुनिक LCD मॉनिटर्स आणि टेलिव्हिजनवर खूप सामान्य आहे. Raspberry Pi 3 (Raspberry Pi 3B+ सह) आणि पूर्वीच्या उपकरणांमध्ये एकच HDMI पोर्ट आहे, जो पूर्ण-आकाराचा HDMI कनेक्टर वापरून 1920 × 1200 @60Hz आउटपुटसाठी सक्षम आहे. Raspberry Pi 4 मध्ये दोन मायक्रो HDMI पोर्ट आहेत आणि ते दोन्ही पोर्टवर 4K आउटपुटसाठी सक्षम आहे. सेटअपवर अवलंबून, Raspberry Pi 0 वरील HDMI 4 पोर्ट 4kp60 पर्यंत सक्षम आहे, परंतु दोन 4K आउटपुट डिव्हाइसेस वापरताना तुम्ही दोन्ही डिव्हाइसेसवर p30 पर्यंत मर्यादित आहात. ग्राफिक्स सॉफ्टवेअर स्टॅक, आवृत्तीची पर्वा न करता, संलग्न HDMI डिव्हाइसेसची त्यांच्या गुणधर्मांसाठी चौकशी करण्यासाठी आणि HDMI सिस्टम योग्यरित्या सेट करण्यासाठी जबाबदार आहे. Legacy आणि FKMS स्टॅक दोन्ही HDMI उपस्थिती आणि गुणधर्म तपासण्यासाठी VideoCore ग्राफिक्स प्रोसेसरमध्ये फर्मवेअर वापरतात. याउलट, KMS पूर्णपणे मुक्त स्रोत, ARM-साइड अंमलबजावणी वापरते. याचा अर्थ दोन प्रणालींसाठी कोड बेस पूर्णपणे भिन्न आहेत आणि काही परिस्थितींमध्ये याचा परिणाम दोन दृष्टिकोनांमधील भिन्न वर्तनात होऊ शकतो. HDMI आणि DVI डिव्हाइसेस EDID ब्लॉक नावाच्या मेटाडेटाचा एक भाग वापरून स्त्रोत डिव्हाइसवर स्वतःला ओळखतात. हे डिस्प्ले डिव्‍हाइसवरून स्रोत डिव्‍हाइसद्वारे I2C कनेक्‍शनद्वारे वाचले जाते, आणि हे ग्राफिक्स स्टॅकद्वारे केले जात असल्याने अंतिम वापरकर्त्यासाठी हे पूर्णपणे पारदर्शक आहे. EDID ब्लॉकमध्ये मोठ्या प्रमाणात माहिती असते, परंतु ते प्रामुख्याने डिस्प्ले कोणत्या रिझोल्यूशनला समर्थन देते हे निर्दिष्ट करण्यासाठी वापरले जाते, त्यामुळे योग्य रिझोल्यूशन आउटपुट करण्यासाठी रास्पबेरी पाई सेट केले जाऊ शकते.

बूटिंग दरम्यान HDMI कसे हाताळले जाते

पहिल्यांदा चालू केल्यावर, रास्पबेरी पाई अनेक एसमधून जातेtages, बूट s म्हणून ओळखले जातेtages:

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

संभाव्य समस्या आणि लक्षणे

KMS वर जाताना सर्वात सामान्य अपयशी लक्षण म्हणजे सुरुवातीला चांगले बूट, बूटलोडर स्क्रीनसह आणि नंतर इंद्रधनुष्य स्क्रीन दिसून येते, त्यानंतर काही सेकंदांनंतर डिस्प्ले काळा होतो आणि परत येत नाही. कर्नल बूटिंग प्रक्रियेदरम्यान ज्या बिंदूवर डिस्प्ले ब्लॅक होतो तो पॉइंट आहे जेव्हा KMS ड्रायव्हर फर्मवेअरमधून डिस्प्ले चालवतो. Raspberry Pi सध्या HDMI आउटपुट वगळता सर्व बाबतीत चालू आहे, त्यामुळे SSH सक्षम असल्यास, तुम्ही त्या मार्गाने डिव्हाइसमध्ये लॉग इन करू शकता. ग्रीन SD कार्ड ऍक्सेस LED सहसा अधूनमधून चमकेल. हे देखील शक्य आहे की तुम्हाला कोणतेही HDMI आउटपुट दिसणार नाही; बूटलोडर डिस्प्ले नाही आणि इंद्रधनुष्य स्क्रीन नाही. हे सहसा हार्डवेअर दोषास कारणीभूत ठरू शकते.

दोष निदान

अजिबात HDMI आउटपुट नाही
हे शक्य आहे की डिव्हाइस अजिबात बूट झाले नाही, परंतु हे या श्वेतपत्रिकेच्या बाहेर आहे. असे गृहीत धरून की निरीक्षण केलेले वर्तन ही डिस्प्ले समस्या आहे, बूटिंग प्रक्रियेच्या कोणत्याही भागादरम्यान HDMI आउटपुटची कमतरता सामान्यतः हार्डवेअर दोषामुळे होते. अनेक संभाव्य पर्याय आहेत:

  • सदोष HDMI केबल
  • नवीन केबल वापरून पहा. काही केबल्स, विशेषत: अत्यंत स्वस्त, मध्ये Raspberry Pi साठी डिस्प्ले यशस्वीरीत्या शोधण्यासाठी आवश्यक असलेल्या सर्व संप्रेषण ओळी (उदा. हॉटप्लग) नसतील.
  • रास्पबेरी Pi वर दोषपूर्ण HDMI पोर्ट
  • तुम्ही Raspberry Pi 4 वापरत असल्यास, इतर HDMI पोर्ट वापरून पहा.
  • मॉनिटरवर दोषपूर्ण HDMI पोर्ट
  • कधीकधी मॉनिटर किंवा टीव्हीवरील HDMI पोर्ट खराब होऊ शकतो. डिव्हाइसमध्ये असल्यास भिन्न पोर्ट वापरून पहा.
  • क्वचितच, डिस्प्ले डिव्‍हाइस केवळ EDID डेटा ऑन केल्यावर किंवा योग्य पोर्ट निवडल्यावर प्रदान करू शकते. तपासण्यासाठी, डिव्हाइस चालू असल्याची खात्री करा आणि योग्य इनपुट पोर्ट निवडला आहे.
  • डिस्प्ले डिव्‍हाइस जे हॉटप्‍लग डिटेक्‍ट लाइनचा दावा करत नाही

प्रारंभिक आउटपुट, नंतर स्क्रीन काळा होईल
लिनक्स कर्नल बूट करताना डिस्प्ले वर आला परंतु नंतर बंद झाला तर, अनेक संभाव्य कारणे आहेत, आणि ही सहसा डिस्प्ले डिव्हाइसवरून EDID वाचताना समस्यांशी संबंधित असतात. बूट क्रमाशी संबंधित वरील विभागातून पाहिल्याप्रमाणे, बूट प्रक्रियेदरम्यान EDID अनेक वेगवेगळ्या बिंदूंवर वाचले जाते आणि यापैकी प्रत्येक वाचन सॉफ्टवेअरच्या वेगळ्या भागाद्वारे केले जाते. अंतिम वाचन, जेव्हा केएमएस हाती घेते, तेव्हा बदल न केलेल्या अपस्ट्रीम लिनक्स कर्नल कोडद्वारे केले जाते, आणि हे दोषपूर्ण EDID स्वरूप तसेच पूर्वीचे फर्मवेअर सॉफ्टवेअर हाताळत नाही. म्हणूनच KMS घेतल्यानंतर डिस्प्ले योग्यरित्या कार्य करणे थांबवू शकतो. KMS EDID वाचण्यात अयशस्वी होत आहे की नाही याची पुष्टी करण्याचे अनेक मार्ग आहेत आणि त्यापैकी दोन खालीलप्रमाणे आहेत.
बूटलोडर डायग्नोस्टिक स्क्रीन तपासा (फक्त रास्पबेरी पाई 4)

टीप
बूटलोडर डायग्नोस्टिक्ससाठी अलीकडील बूटलोडर आवश्यक आहे. तुम्ही या सूचना वापरून नवीनतम आवृत्तीवर अपग्रेड करू शकता: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader SD कार्ड काढा आणि रास्पबेरी पाई रीबूट करा. Install OS स्क्रीनवर ESC दाबा आणि डिस्प्ले डिव्हाइसवर डायग्नोस्टिक स्क्रीन दिसली पाहिजे. डिस्प्लेवर एक ओळ असावी जी डिस्प्लेने सुरू होते: — उदाampले:

  • प्रदर्शन: DISP0: HDMI HPD=1 EDID=ok #2 DISP1: HPD=0 EDID=काही नाही #0

Raspberry Pi 4 मधील हे आउटपुट दाखवते की सिस्टमला HDMI पोर्ट 0 वर HDMI डिस्प्ले आढळला आहे, हॉटप्लग डिटेक्ट ठाम आहे, आणि EDID ओके वाचले आहे. HDMI पोर्ट 1 वर काहीही आढळले नाही.

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

टीप
ईडीआयडी यशस्वीरित्या वाचल्या गेलेल्या बाबतीत, एक उपयुक्त आभासी आहे file त्याच फोल्डरमध्ये, मोड म्हणतात, जे प्रदर्शित केल्यावर सर्व संभाव्य मोड दर्शविते EDID ने दावा केला आहे की डिव्हाइस समर्थित आहे.

शमन

हॉटप्लग डिटेक्ट बिघाड जर फर्मवेअर आणि KMS दोन्ही संलग्न मॉनिटर शोधण्यात अयशस्वी झाले, तर ते हॉटप्लग डिटेक्शन अयशस्वी होऊ शकते — म्हणजे, Raspberry Pi ला माहित नाही की एखादे उपकरण प्लग इन केले आहे, त्यामुळे ते 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 साठी नामकरण HDMI पोर्ट्सचा संदर्भ 1 आणि 2 आहे, तर Raspberry Pi 0 आणि 1 वापरते.

EDID समस्या
काही डिस्प्ले डिव्‍हाइसेस बंद असल्‍यास किंवा चुकीचे AV इनपुट निवडल्‍यावर EDID परत करण्‍यास अक्षम असतात. जेव्हा रास्पबेरी Pi आणि डिस्प्ले डिव्हाइसेस एकाच पॉवर स्ट्रिपवर असतात तेव्हा ही समस्या असू शकते आणि Raspberry Pi डिव्हाइस डिस्प्लेपेक्षा वेगाने बूट होते. यासारख्या उपकरणांसह, तुम्हाला व्यक्तिचलितपणे EDID प्रदान करण्याची आवश्यकता असू शकते. आणखी विलक्षण गोष्ट म्हणजे, काही डिस्प्ले डिव्हाइसेसमध्ये EDID ब्लॉक्स असतात जे चुकीच्या पद्धतीने फॉरमॅट केलेले असतात आणि KMS EDID सिस्टीमद्वारे विश्लेषित केले जाऊ शकत नाहीत. या परिस्थितीत, समान रिझोल्यूशन असलेल्या डिव्हाइसवरून EDID वाचणे आणि ते वापरणे शक्य आहे. दोन्ही बाबतीत, डिस्प्ले डिव्‍हाइसवरून EDID कसा वाचायचा आणि KMS ने डिव्‍हाइसची थेट चौकशी करण्‍याचा प्रयत्‍न करण्‍याऐवजी तो वापरण्‍यासाठी KMS कॉन्फिगर कसा करायचा हे खालील सूचना सेट करते.

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

  1. लेगसी ग्राफिक्स मोडवर बूट करा.
    1. बूट विभाजनामध्ये config.txt संपादित करा, sudo वापरून तुमचा संपादक चालवण्याची खात्री करा आणि dtoverlay=vc4-kms-v3d म्हणणारी ओळ #dtoverlay=vc4-kms-v3d वर बदला.
    2. रीबूट करा.
  2. डेस्कटॉप किंवा लॉगिन कन्सोल आता दिसले पाहिजे.
    1. टर्मिनलचा वापर करून, संलग्न डिस्प्ले डिव्‍हाइसवरून EDID कॉपी करा file खालील आदेशासह:
  • tvservice -d myedid.dat sudo mv myedid.dat /lib/firmware/

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

  1. बूट विभाजनामध्ये config.txt संपादित करा, sudo वापरून तुमचा संपादक चालवण्याची खात्री करा, आणि #dtoverlay=vc4-kms-v3d म्हणणारी ओळ dtoverlay=vc4-kms-v3d वर बदला.
  2. रीबूट करा.

टीप
आपण वापरल्यास ए file-आधारित EDID, परंतु तरीही हॉटप्लगमध्ये समस्या आहेत, तुम्ही कर्नल कमांड लाइनमध्ये खालील गोष्टी जोडून हॉटप्लग शोधण्याची सक्ती करू शकता: video=HDMI-A-1:D.

कागदपत्रे / संसाधने

RaspberryPi KMS HDMI आउटपुट ग्राफिक्स ड्रायव्हर [pdf] वापरकर्ता मॅन्युअल
केएमएस, एचडीएमआय आउटपुट ग्राफिक्स ड्रायव्हर, केएमएस एचडीएमआय आउटपुट, ग्राफिक्स ड्रायव्हर, केएमएस एचडीएमआय आउटपुट ग्राफिक्स ड्रायव्हर, ड्रायव्हर

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *