RaspberryPi-LOGO

RaspberryPi KMS HDMI आउटपुट ग्राफिक्स चालक

RaspberryPi-KMS-HDMI-Output-Graphics-Driver-PRODACT-IMG

कोलोफोन

2020-2023 Raspberry Pi Ltd (पहिले Raspberry Pi (ट्रेडिङ) Ltd.) यो कागजात क्रिएटिभ कमन्स एट्रिब्युसन-NoDerivatives 4.0 International (CC BY-ND 4.0) लाइसेन्स अन्तर्गत इजाजतपत्र दिइएको छ। निर्माण-मिति: २०२३-०२-१० बिल्ड-संस्करण: गिथाश: c2023fe02c-क्लिन

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

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

कागजात संस्करण इतिहास

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

कागजातको दायरा

यो कागजात निम्न रास्पबेरी Pi उत्पादनहरूमा लागू हुन्छ

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

परिचय

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

शब्दावली

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

HDMI प्रणाली र ग्राफिक्स ड्राइभरहरू

Raspberry Pi यन्त्रहरूले 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 प्रणालीलाई उचित रूपमा सेटअप गर्न जिम्मेवार छ। लिगेसी र FKMS स्ट्याकहरूले HDMI उपस्थिति र गुणहरू जाँच गर्न भिडियोकोर ग्राफिक्स प्रोसेसरमा फर्मवेयर प्रयोग गर्दछ। यसको विपरित, KMS ले पूर्ण रूपमा खुला स्रोत, ARM-साइड कार्यान्वयन प्रयोग गर्दछ। यसको मतलब दुई प्रणालीहरूको लागि कोड आधारहरू पूर्णतया फरक छन्, र केही परिस्थितिहरूमा यसले दुई दृष्टिकोणहरू बीच फरक व्यवहारको परिणाम हुन सक्छ। HDMI र DVI यन्त्रहरूले EDID ब्लक भनिने मेटाडेटाको टुक्रा प्रयोग गरेर स्रोत यन्त्रमा आफूलाई पहिचान गर्छ। यो I2C जडान मार्फत प्रदर्शन यन्त्रबाट स्रोत यन्त्रद्वारा पढिन्छ, र यो ग्राफिक्स स्ट्याकद्वारा गरिएको हुनाले अन्तिम प्रयोगकर्ताका लागि पूर्ण रूपमा पारदर्शी हुन्छ। EDID ब्लकले धेरै जानकारी समावेश गर्दछ, तर यो मुख्य रूपमा प्रदर्शनले कुन रिजोल्युसनहरूलाई समर्थन गर्दछ निर्दिष्ट गर्न प्रयोग गरिन्छ, त्यसैले Raspberry Pi लाई उपयुक्त रिजोल्युसन आउटपुट गर्न सेटअप गर्न सकिन्छ।

कसरी HDMI बुटिङ समयमा व्यवहार गरिन्छ

जब पहिलो पटक सक्रिय हुन्छ, Raspberry Pi धेरै s मार्फत जान्छtages, बुट s को रूपमा चिनिन्छtages:

  1. पहिलो-एसtage, ROM-आधारित बुटलोडरले VideoCore GPU सुरु गर्छ।
  2. दोस्रो-एसtage बुटलोडर (यो Raspberry Pi 4 भन्दा पहिले यन्त्रहरूमा SD कार्डमा र Raspberry Pi 4 मा SPI EEPROM मा bootcode.bin हो):
    1. Raspberry Pi 4 मा, दोस्रो-stage बुटलोडरले HDMI प्रणाली सुरु गर्नेछ, सम्भावित मोडहरूको लागि डिस्प्लेलाई सोधपुछ गर्नेछ, त्यसपछि उचित रूपमा प्रदर्शन सेटअप गर्नेछ। यस बिन्दुमा प्रदर्शन आधारभूत निदान डेटा प्रदान गर्न प्रयोग गरिन्छ।
    2. बुटलोडर डायग्नोस्टिक डिस्प्ले (07 डिसेम्बर 2022 पछि) ले कुनै पनि संलग्न डिस्प्लेको स्थिति (Hotplug Detect (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 केबल
  • एउटा नयाँ केबल प्रयास गर्नुहोस्। केही केबलहरू, विशेष गरी धेरै सस्तोमा, रास्पबेरी Pi लाई सफलतापूर्वक डिस्प्ले पत्ता लगाउनका लागि सबै आवश्यक सञ्चार लाइनहरू (जस्तै हटप्लग) समावेश नहुन सक्छ।
  • Raspberry Pi मा दोषपूर्ण HDMI पोर्ट
  • यदि तपाइँ Raspberry Pi 4 प्रयोग गर्दै हुनुहुन्छ भने, अर्को HDMI पोर्ट प्रयास गर्नुहोस्।
  • मोनिटरमा दोषपूर्ण HDMI पोर्ट
  • कहिलेकाहीँ मनिटर वा टिभीमा रहेको HDMI पोर्ट बिग्रन सक्छ। यदि उपकरणसँग एउटा छ भने फरक पोर्ट प्रयास गर्नुहोस्।
  • विरलै, एक प्रदर्शन उपकरणले मात्र EDID डाटा प्रदान गर्न सक्छ जब खोलिएको छ, वा सही पोर्ट चयन गरिएको छ। जाँच गर्न, उपकरण सक्रिय छ र सही इनपुट पोर्ट चयन गरिएको छ भनेर सुनिश्चित गर्नुहोस्।
  • डिस्प्ले यन्त्रले हटप्लग पत्ता लगाउने रेखालाई जोड दिँदैन

प्रारम्भिक आउटपुट, त्यसपछि स्क्रिन कालो हुन्छ
यदि डिस्प्ले माथि आउँछ तर लिनक्स कर्नेल बुटको समयमा बन्द हुन्छ भने, त्यहाँ धेरै सम्भावित कारणहरू छन्, र यी सामान्यतया डिस्प्ले उपकरणबाट EDID पढ्न समस्यासँग सम्बन्धित छन्। बुट अनुक्रमसँग व्यवहार गर्ने माथिको खण्डबाट देख्न सकिन्छ, EDID बुट प्रक्रियाको क्रममा विभिन्न बिन्दुहरूमा पढिन्छ, र यी प्रत्येक पढ्ने सफ्टवेयरको फरक टुक्राद्वारा गरिन्छ। अन्तिम पढाइ, जब KMS ले लिन्छ, अप्स्ट्रिम लिनक्स कर्नेल कोड द्वारा अपरिवर्तित गरिन्छ, र यसले दोषपूर्ण EDID ढाँचाहरू साथै पहिलेको फर्मवेयर सफ्टवेयरलाई ह्यान्डल गर्दैन। यही कारणले KMS ले एकपटक डिस्प्लेले सही रूपमा काम गर्न बन्द गर्न सक्छ। KMS ले EDID पढ्न असफल भएको छ कि छैन भनी पुष्टि गर्ने थुप्रै तरिकाहरू छन्, र तीमध्ये दुईवटा निम्न छन्।
बुटलोडर डायग्नोस्टिक स्क्रिन जाँच गर्नुहोस् (रास्पबेरी Pi 4 मात्र)

नोट
बुटलोडर निदानका लागि भर्खरको बुटलोडर चाहिन्छ। तपाइँ यी निर्देशनहरू प्रयोग गरेर नवीनतम संस्करणमा अपग्रेड गर्न सक्नुहुन्छ: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader SD कार्ड हटाउनुहोस् र Raspberry Pi रिबुट गर्नुहोस्। Install OS स्क्रिनमा ESC थिच्नुहोस्, र डिस्प्ले उपकरणमा डायग्नोस्टिक स्क्रिन देखा पर्नेछ। डिस्प्लेमा एउटा लाइन हुनुपर्छ जुन डिस्प्लेबाट सुरु हुन्छ: — उदाहरणका लागिampLe:

  • प्रदर्शन: DISP0: HDMI HPD=1 EDID=ok #2 DISP1: HPD=0 EDID=None #0

Raspberry Pi 4 बाट यो आउटपुटले देखाउँछ कि प्रणालीले HDMI पोर्ट 0 मा HDMI डिस्प्ले पत्ता लगायो, हटप्लग पत्ता लगाएको छ, र EDID ठीक पढियो। HDMI पोर्ट १ मा केहि पनि फेला परेन।

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

नोट
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_force_hotplug:0=1 वा hdmi_force_hotplug:1=1 प्रयोग गर्न हटप्लगले लागू हुने विशिष्ट HDMI पोर्ट निर्दिष्ट गर्न सक्नुहुन्छ। नोट गर्नुहोस् कि KMS को नामकरणले HDMI पोर्टहरूलाई 1 र 2 को रूपमा बुझाउँछ, जबकि Raspberry Pi ले 0 र 1 प्रयोग गर्दछ।

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

EDID लाई प्रतिलिपि गर्दै a file
सिर्जना गर्दै ए file स्क्र्याचबाट EDID मेटाडेटा समावेश गर्नु सामान्यतया सम्भव छैन, र अवस्थित एक प्रयोग गर्न धेरै सजिलो छ। यो सामान्यतया डिस्प्ले यन्त्रबाट EDID प्राप्त गर्न र Raspberry Pi को SD कार्डमा भण्डारण गर्न सम्भव छ ताकि डिस्प्ले यन्त्रबाट EDID प्राप्त गर्नुको सट्टा KMS द्वारा प्रयोग गर्न सकिन्छ। यहाँको सबैभन्दा सजिलो विकल्प भनेको डिस्प्ले यन्त्र माथि र चलिरहेको र सही AV इनपुटमा र रास्पबेरी पाईले HDMI प्रणालीलाई सही रूपमा सुरु गरेको छ भनी सुनिश्चित गर्नु हो। टर्मिनलबाट, तपाइँ अब EDID लाई a मा प्रतिलिपि गर्न सक्नुहुन्छ 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 प्रतिलिपि गर्नुहोस् a मा file निम्न आदेश संग:
  • tvservice -d myedid.dat sudo mv myedid.dat /lib/firmware/

प्रयोग गरेर ए 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. रिबुट गर्नुहोस्।

नोट
यदि तपाइँ प्रयोग गर्नुहुन्छ भने a file-आधारित EDID, तर अझै हटप्लगमा समस्या छ, तपाईंले कर्नेल आदेश लाइनमा निम्न थपेर हटप्लग पत्ता लगाउन बल गर्न सक्नुहुन्छ: video=HDMI-A-1:D।

कागजातहरू / स्रोतहरू

RaspberryPi KMS HDMI आउटपुट ग्राफिक्स चालक [pdf] प्रयोगकर्ता पुस्तिका
KMS, HDMI आउटपुट ग्राफिक्स ड्राइभर, KMS HDMI आउटपुट, ग्राफिक्स ड्राइभर, KMS HDMI आउटपुट ग्राफिक्स ड्राइभर, ड्राइभर

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *