RaspberryPi KMS HDMI అవుట్పుట్ గ్రాఫిక్స్ డ్రైవర్
కోలోఫోన్
2020-2023 Raspberry Pi Ltd (గతంలో Raspberry Pi (Trading) Ltd.) ఈ డాక్యుమెంటేషన్ క్రియేటివ్ కామన్స్ అట్రిబ్యూషన్-NoDerivatives 4.0 ఇంటర్నేషనల్ (CC BY-ND 4.0) లైసెన్స్ క్రింద లైసెన్స్ పొందింది. బిల్డ్-తేదీ: 2023-02-10 బిల్డ్-వెర్షన్: గితాష్: c65fe9c-క్లీన్
చట్టపరమైన నిరాకరణ నోటీసు
RASPBERRY PI ఉత్పత్తులు (డేటాషీట్లతో సహా) కోసం సాంకేతిక మరియు విశ్వసనీయత డేటా ఎప్పటికప్పుడు సవరించబడినట్లుగా ("వనరులు") రాస్ప్బెర్రీ PI LTD ("WASSRPLY" ద్వారా అందించబడుతుంది) యాంటీస్, సహా, కానీ పరిమితం కాదు టు, నిర్దిష్ట ప్రయోజనం కోసం వ్యాపార మరియు ఫిట్నెస్ యొక్క సూచించబడిన వారెంటీలు నిరాకరణ చేయబడ్డాయి. వర్తించే చట్టం ద్వారా అనుమతించబడిన గరిష్ట స్థాయి వరకు, ఏదైనా ప్రత్యక్ష, పరోక్ష, యాదృచ్ఛిక, ప్రత్యేక, ఆదర్శవంతమైన, లేదా పర్యవసానంగా నష్టపరిహారం, నష్టపరిహారం, ఏ సందర్భంలోనైనా RPL బాధ్యత వహించదు ప్రత్యామ్నాయ వస్తువులు లేదా సేవలు; వినియోగం కోల్పోవడం, డేటా , లేదా లాభాలు; లేదా వ్యాపార అంతరాయం) అయితే మరియు ఏదైనా బాధ్యత సిద్ధాంతం మీద, ఒప్పందమైనా, కఠినమైన బాధ్యత లేదా టార్ట్ (అలక్ష్యం లేదా ఉపయోగాలతో సహా) వనరుల గురించి, సంభావ్యత గురించి సలహా ఇచ్చినప్పటికీ అటువంటి నష్టం. RPL ఏ సమయంలోనైనా మరియు తదుపరి నోటీసు లేకుండా రిసోర్స్లు లేదా వాటిలో వివరించబడిన ఏదైనా ఉత్పత్తులకు ఏవైనా మెరుగుదలలు, మెరుగుదలలు, దిద్దుబాట్లు లేదా ఏవైనా ఇతర సవరణలు చేసే హక్కును కలిగి ఉంది. RESOURCES తగిన స్థాయి డిజైన్ పరిజ్ఞానంతో నైపుణ్యం కలిగిన వినియోగదారుల కోసం ఉద్దేశించబడింది. వినియోగదారులు వారి ఎంపిక మరియు వనరుల వినియోగానికి మరియు వాటిలో వివరించిన ఉత్పత్తుల యొక్క ఏదైనా అనువర్తనానికి పూర్తిగా బాధ్యత వహిస్తారు. వినియోగదారు RPLను నష్టపరిహారం చెల్లించడానికి మరియు అన్ని బాధ్యతలు, ఖర్చులు, నష్టాలు లేదా వనరులను ఉపయోగించడం వల్ల కలిగే ఇతర నష్టాలకు వ్యతిరేకంగా నిరపాయకరంగా ఉంచడానికి అంగీకరిస్తారు.RPL వినియోగదారులకు కేవలం Raspberry Pi ఉత్పత్తులతో కలిపి వనరులను ఉపయోగించడానికి అనుమతిని మంజూరు చేస్తుంది. RESOURCES యొక్క అన్ని ఇతర ఉపయోగం నిషేధించబడింది. ఏ ఇతర RPL లేదా ఇతర మూడవ పార్టీ మేధో సంపత్తి హక్కుకు లైసెన్స్ మంజూరు చేయబడదు. హై రిస్క్ యాక్టివిటీస్. Raspberry Pi ఉత్పత్తులు అణు సౌకర్యాలు, ఎయిర్క్రాఫ్ట్ నావిగేషన్ లేదా కమ్యూనికేషన్ సిస్టమ్లు, ఎయిర్ ట్రాఫిక్ కంట్రోల్, ఆయుధ వ్యవస్థలు లేదా భద్రత-క్లిష్టమైన అప్లికేషన్ల (లైఫ్ సపోర్ట్తో సహా) ఆపరేషన్లో విఫలమైన సురక్షితమైన పనితీరు అవసరమయ్యే ప్రమాదకర వాతావరణాలలో ఉపయోగించేందుకు రూపొందించబడలేదు, తయారు చేయబడలేదు లేదా ఉద్దేశించబడలేదు. వ్యవస్థలు మరియు ఇతర వైద్య పరికరాలు), దీనిలో ఉత్పత్తుల వైఫల్యం నేరుగా మరణం, వ్యక్తిగత గాయం లేదా తీవ్రమైన భౌతిక లేదా పర్యావరణ నష్టానికి దారితీయవచ్చు ("అధిక ప్రమాదకర చర్యలు"). RPL ప్రత్యేకంగా హై రిస్క్ యాక్టివిటీల కోసం ఏదైనా ఎక్స్ప్రెస్ లేదా ఇంప్లైడ్ వారెంటీని నిరాకరిస్తుంది మరియు హై రిస్క్ యాక్టివిటీలలో రాస్ప్బెర్రీ పై ఉత్పత్తులను ఉపయోగించడం లేదా చేర్చడం కోసం ఎటువంటి బాధ్యతను అంగీకరించదు. రాస్ప్బెర్రీ పై ఉత్పత్తులు RPL యొక్క ప్రామాణిక నిబంధనలకు లోబడి అందించబడతాయి. RPL యొక్క వనరుల యొక్క నిబంధన RPL యొక్క ప్రామాణిక నిబంధనలను విస్తరించదు లేదా సవరించదు కానీ వాటిలో వ్యక్తీకరించబడిన నిరాకరణలు మరియు వారెంటీలకు మాత్రమే పరిమితం కాదు.
డాక్యుమెంట్ వెర్షన్ చరిత్ర
పత్రం యొక్క పరిధి
ఈ పత్రం క్రింది రాస్ప్బెర్రీ పై ఉత్పత్తులకు వర్తిస్తుంది
పరిచయం
KMS (కెర్నల్ మోడ్ సెట్టింగ్) గ్రాఫిక్స్ డ్రైవర్ పరిచయంతో, Raspberry Pi Ltd వీడియో అవుట్పుట్ సిస్టమ్ యొక్క లెగసీ ఫర్మ్వేర్ నియంత్రణ నుండి మరియు మరింత ఓపెన్ సోర్స్ గ్రాఫిక్స్ సిస్టమ్ వైపుకు వెళుతోంది. అయితే, ఇది దాని స్వంత సవాళ్లతో వచ్చింది. ఈ పత్రం కొత్త సిస్టమ్కు వెళ్లేటప్పుడు తలెత్తే ఏవైనా సమస్యలకు సహాయం చేయడానికి ఉద్దేశించబడింది. ఈ వైట్పేపర్ Raspberry Pi Raspberry Pi OSని నడుపుతోందని మరియు తాజా ఫర్మ్వేర్ మరియు కెర్నల్లతో పూర్తిగా తాజాగా ఉందని ఊహిస్తుంది.
పరిభాష
DRM: డైరెక్ట్ రెండరింగ్ మేనేజర్, గ్రాఫిక్స్ ప్రాసెసింగ్ యూనిట్లతో (GPUలు) కమ్యూనికేట్ చేయడానికి ఉపయోగించే Linux కెర్నల్ యొక్క ఉపవ్యవస్థ. FKMS మరియు KMS భాగస్వామ్యంతో ఉపయోగించబడుతుంది.
DVI: HDMIకి ముందు, కానీ ఆడియో సామర్థ్యాలు లేకుండా. HDMI నుండి DVI కేబుల్లు మరియు అడాప్టర్లు రాస్ప్బెర్రీ పై పరికరాన్ని DVI-ఎక్విప్డ్ డిస్ప్లేకి కనెక్ట్ చేయడానికి అందుబాటులో ఉన్నాయి.
సవరణ: విస్తరించిన డిస్ప్లే గుర్తింపు డేటా. డిస్ప్లే పరికరాల కోసం వాటి సామర్థ్యాలను వీడియో మూలానికి వివరించడానికి మెటాడేటా ఫార్మాట్. EDID డేటా స్ట్రక్చర్లో తయారీదారు పేరు మరియు క్రమ సంఖ్య, ఉత్పత్తి రకం, భౌతిక ప్రదర్శన పరిమాణం మరియు డిస్ప్లే మద్దతు ఇచ్చే సమయాలు, కొంత తక్కువ ఉపయోగకరమైన డేటా ఉన్నాయి. కొన్ని డిస్ప్లేలు లోపభూయిష్ట EDID బ్లాక్లను కలిగి ఉండవచ్చు, ఆ లోపాలు డిస్ప్లే సిస్టమ్ ద్వారా నిర్వహించబడకపోతే సమస్యలను కలిగిస్తాయి.
FKMS (vc4-fkms-v3d): నకిలీ కెర్నల్ మోడ్ సెట్టింగ్. ఫర్మ్వేర్ ఇప్పటికీ తక్కువ-స్థాయి హార్డ్వేర్ను నియంత్రిస్తున్నప్పుడు (ఉదాample, హై-డెఫినిషన్ మల్టీమీడియా ఇంటర్ఫేస్ (HDMI) పోర్ట్లు, డిస్ప్లే సీరియల్ ఇంటర్ఫేస్ (DSI) మొదలైనవి), ప్రామాణిక Linux లైబ్రరీలు కెర్నల్లోనే ఉపయోగించబడతాయి. బస్టర్లో FKMS డిఫాల్ట్గా ఉపయోగించబడుతుంది, కానీ ఇప్పుడు బుల్సేలో KMSకి అనుకూలంగా నిలిపివేయబడింది.
HDMI: హై-డెఫినిషన్ మల్టీమీడియా ఇంటర్ఫేస్ అనేది కంప్రెస్డ్ వీడియో డేటా మరియు కంప్రెస్డ్ లేదా కంప్రెస్డ్ డిజిటల్ ఆడియో డేటాను ట్రాన్స్మిట్ చేయడానికి యాజమాన్య ఆడియో/వీడియో ఇంటర్ఫేస్.
HPD: హాట్ప్లగ్ గుర్తింపు. కనెక్ట్ చేయబడిన డిస్ప్లే పరికరం ఉన్నట్లు చూపడానికి ఫిజికల్ వైర్ నొక్కి చెప్పబడుతుంది.
KMS: కెర్నల్ మోడ్ సెట్టింగ్; చూడండి https://www.kernel.org/doc/html/latest/gpu/drm-kms.html మరిన్ని వివరాల కోసం. రాస్ప్బెర్రీ పైలో, vc4-kms-v3d అనేది KMSని అమలు చేసే డ్రైవర్, మరియు దీనిని తరచుగా "KMS డ్రైవర్"గా సూచిస్తారు. లెగసీ గ్రాఫిక్స్ స్టాక్: Linux ఫ్రేమ్బఫర్ డ్రైవర్ ద్వారా బహిర్గతం చేయబడిన వీడియోకోర్ ఫర్మ్వేర్ బ్లాబ్లో పూర్తిగా అమలు చేయబడిన గ్రాఫిక్స్ స్టాక్. లెగసీ గ్రాఫిక్స్ స్టాక్ ఇటీవల వరకు చాలా రాస్ప్బెర్రీ పై లిమిటెడ్ పరికరాలలో ఉపయోగించబడింది; అది ఇప్పుడు క్రమంగా (F)KMS/DRM ద్వారా భర్తీ చేయబడుతోంది.
HDMI సిస్టమ్ మరియు గ్రాఫిక్స్ డ్రైవర్లు
Raspberry Pi పరికరాలు HDMI ప్రమాణాన్ని ఉపయోగిస్తాయి, ఇది వీడియో అవుట్పుట్ కోసం ఆధునిక LCD మానిటర్లు మరియు టెలివిజన్లలో చాలా సాధారణం. రాస్ప్బెర్రీ పై 3 (రాస్ప్బెర్రీ పై 3B+తో సహా) మరియు మునుపటి పరికరాలు ఒకే HDMI పోర్ట్ను కలిగి ఉంటాయి, ఇది పూర్తి-పరిమాణ HDMI కనెక్టర్ని ఉపయోగించి 1920 × 1200 @60Hz అవుట్పుట్ చేయగలదు. Raspberry Pi 4 రెండు మైక్రో HDMI పోర్ట్లను కలిగి ఉంది మరియు రెండు పోర్ట్లలో 4K అవుట్పుట్ చేయగలదు. సెటప్పై ఆధారపడి, రాస్ప్బెర్రీ పై 0లోని HDMI 4 పోర్ట్ గరిష్టంగా 4kp60 వరకు సామర్థ్యం కలిగి ఉంటుంది, అయితే రెండు 4K అవుట్పుట్ పరికరాలను ఉపయోగిస్తున్నప్పుడు మీరు రెండు పరికరాల్లో p30కి పరిమితం చేయబడతారు. గ్రాఫిక్స్ సాఫ్ట్వేర్ స్టాక్, వెర్షన్తో సంబంధం లేకుండా, జోడించిన HDMI పరికరాలను వాటి ప్రాపర్టీల కోసం ప్రశ్నించడానికి మరియు HDMI సిస్టమ్ను తగిన విధంగా సెటప్ చేయడానికి బాధ్యత వహిస్తుంది. లెగసీ మరియు FKMS స్టాక్లు రెండూ HDMI ఉనికి మరియు లక్షణాల కోసం తనిఖీ చేయడానికి వీడియోకోర్ గ్రాఫిక్స్ ప్రాసెసర్లో ఫర్మ్వేర్ను ఉపయోగిస్తాయి. దీనికి విరుద్ధంగా, KMS పూర్తిగా ఓపెన్ సోర్స్, ARM-సైడ్ ఇంప్లిమెంటేషన్ని ఉపయోగిస్తుంది. దీని అర్థం రెండు సిస్టమ్ల కోడ్ బేస్లు పూర్తిగా భిన్నంగా ఉంటాయి మరియు కొన్ని పరిస్థితులలో ఇది రెండు విధానాల మధ్య విభిన్న ప్రవర్తనకు దారి తీస్తుంది. HDMI మరియు DVI పరికరాలు EDID బ్లాక్ అని పిలువబడే మెటాడేటా భాగాన్ని ఉపయోగించి మూల పరికరానికి తమను తాము గుర్తించుకుంటాయి. ఇది I2C కనెక్షన్ ద్వారా డిస్ప్లే పరికరం నుండి సోర్స్ పరికరం ద్వారా చదవబడుతుంది మరియు ఇది గ్రాఫిక్స్ స్టాక్ ద్వారా పూర్తి చేయబడినందున ఇది తుది వినియోగదారుకు పూర్తిగా పారదర్శకంగా ఉంటుంది. EDID బ్లాక్ చాలా సమాచారాన్ని కలిగి ఉంది, అయితే ఇది డిస్ప్లే ఏ రిజల్యూషన్లకు మద్దతు ఇస్తుందో పేర్కొనడానికి ప్రధానంగా ఉపయోగించబడుతుంది, కాబట్టి తగిన రిజల్యూషన్ను అవుట్పుట్ చేయడానికి రాస్ప్బెర్రీ పైని సెటప్ చేయవచ్చు.
బూటింగ్ సమయంలో HDMI ఎలా వ్యవహరించబడుతుంది
మొదట పవర్ ఆన్ చేసినప్పుడు, రాస్ప్బెర్రీ పై అనేక సెtages, బూట్ s అని పిలుస్తారుtages:
- మొదటి-లుtagఇ, ROM-ఆధారిత బూట్లోడర్ వీడియోకోర్ GPUని ప్రారంభిస్తుంది.
- సెకండ్-లుtagఇ బూట్లోడర్ (ఇది Raspberry Pi 4కి ముందు పరికరాల్లో SD కార్డ్లో bootcode.bin మరియు రాస్ప్బెర్రీ పై 4లో SPI EEPROMలో):
- రాస్ప్బెర్రీ పై 4లో, రెండవది-stagఇ బూట్లోడర్ HDMI సిస్టమ్ను ప్రారంభిస్తుంది, సాధ్యమయ్యే మోడ్ల కోసం డిస్ప్లేను ప్రశ్నిస్తుంది, ఆపై డిస్ప్లేను తగిన విధంగా సెటప్ చేస్తుంది. ఈ సమయంలో ప్రాథమిక విశ్లేషణ డేటాను అందించడానికి డిస్ప్లే ఉపయోగించబడుతుంది.
- బూట్లోడర్ డయాగ్నస్టిక్ డిస్ప్లే (07 డిసెంబర్ 2022 నుండి) జోడించబడిన ఏవైనా డిస్ప్లేల స్థితిని ప్రదర్శిస్తుంది (హాట్ప్లగ్ డిటెక్ట్ (HPD) ఉందో లేదో మరియు డిస్ప్లే నుండి EDID బ్లాక్ పునరుద్ధరించబడిందో లేదో).
- వీడియోకోర్ ఫర్మ్వేర్ (start.elf) లోడ్ చేయబడింది మరియు రన్ అవుతుంది. ఇది HDMI సిస్టమ్పై నియంత్రణను తీసుకుంటుంది, ఏదైనా జోడించిన డిస్ప్లేల నుండి EDID బ్లాక్ని చదవండి మరియు ఆ డిస్ప్లేలలో రెయిన్బో స్క్రీన్ను చూపుతుంది.
- Linux కెర్నల్ బూట్ అవుతుంది
- కెర్నల్ బూట్ సమయంలో, ఫర్మ్వేర్ నుండి HDMI సిస్టమ్పై KMS నియంత్రణను తీసుకుంటుంది. మరోసారి EDID బ్లాక్ ఏదైనా జోడించబడిన డిస్ప్లేల నుండి చదవబడుతుంది మరియు ఈ సమాచారం Linux కన్సోల్ మరియు డెస్క్టాప్ను సెటప్ చేయడానికి ఉపయోగించబడుతుంది.
సాధ్యమయ్యే సమస్యలు మరియు లక్షణాలు
KMSకి వెళ్లేటప్పుడు అనుభవించే అత్యంత సాధారణ వైఫల్య లక్షణం మొదట్లో మంచి బూట్, బూట్లోడర్ స్క్రీన్ మరియు ఆ తర్వాత రెయిన్బో స్క్రీన్ కనిపిస్తుంది, కొన్ని సెకన్ల తర్వాత డిస్ప్లే బ్లాక్గా మారి తిరిగి రాకుండా ఉంటుంది. KMS డ్రైవర్ ఫర్మ్వేర్ నుండి డిస్ప్లేను రన్ చేస్తున్నప్పుడు కెర్నల్ బూటింగ్ ప్రాసెస్లో డిస్ప్లే బ్లాక్ అయ్యే పాయింట్. Raspberry Pi ప్రస్తుతం HDMI అవుట్పుట్ మినహా అన్ని విధాలుగా అమలవుతోంది, కనుక SSH ప్రారంభించబడితే మీరు ఆ మార్గం ద్వారా పరికరానికి లాగిన్ అవ్వగలరు. ఆకుపచ్చ SD కార్డ్ యాక్సెస్ LED సాధారణంగా అప్పుడప్పుడు ఫ్లికర్ అవుతుంది. మీరు HDMI అవుట్పుట్ను చూడలేరు; బూట్లోడర్ డిస్ప్లే లేదు మరియు రెయిన్బో స్క్రీన్ లేదు. ఇది సాధారణంగా హార్డ్వేర్ లోపానికి కారణమని చెప్పవచ్చు.
లోపం నిర్ధారణ
HDMI అవుట్పుట్ అస్సలు లేదు
పరికరం అస్సలు బూట్ కాకపోవచ్చు, కానీ ఇది ఈ శ్వేతపత్రం యొక్క చెల్లింపుకు వెలుపల ఉంది. గమనించిన ప్రవర్తన డిస్ప్లే సమస్య అని ఊహిస్తే, బూటింగ్ ప్రక్రియలో ఏదైనా భాగంలో HDMI అవుట్పుట్ లేకపోవడం సాధారణంగా హార్డ్వేర్ లోపం కారణంగా ఉంటుంది. సాధ్యమయ్యే అనేక ఎంపికలు ఉన్నాయి:
- లోపభూయిష్ట HDMI కేబుల్
- కొత్త కేబుల్ని ప్రయత్నించండి. కొన్ని కేబుల్లు, ప్రత్యేకించి చాలా చౌకైనవి, డిస్ప్లేను విజయవంతంగా గుర్తించడానికి Raspberry Pi కోసం అవసరమైన అన్ని కమ్యూనికేషన్ లైన్లను (ఉదా. హాట్ప్లగ్) కలిగి ఉండకపోవచ్చు.
- రాస్ప్బెర్రీ పై లోపభూయిష్ట HDMI పోర్ట్
- మీరు Raspberry Pi 4ని ఉపయోగిస్తుంటే, ఇతర HDMI పోర్ట్ని ప్రయత్నించండి.
- మానిటర్లో లోపభూయిష్ట HDMI పోర్ట్
- కొన్నిసార్లు మానిటర్ లేదా టీవీలోని HDMI పోర్ట్ అరిగిపోవచ్చు. పరికరంలో ఒకటి ఉంటే వేరే పోర్ట్ని ప్రయత్నించండి.
- అరుదుగా, డిస్ప్లే పరికరం ఆన్ చేసినప్పుడు లేదా సరైన పోర్ట్ ఎంచుకున్నప్పుడు మాత్రమే EDID డేటాను అందిస్తుంది. తనిఖీ చేయడానికి, పరికరం ఆన్లో ఉందని మరియు సరైన ఇన్పుట్ పోర్ట్ ఎంచుకోబడిందని నిర్ధారించుకోండి.
- డిస్ప్లే పరికరం హాట్ప్లగ్ డిటెక్ట్ లైన్ను నిర్ధారిస్తుంది
ప్రారంభ అవుట్పుట్, ఆపై స్క్రీన్ నల్లగా మారుతుంది
Linux కెర్నల్ బూట్ సమయంలో డిస్ప్లే పైకి వచ్చి ఆపివేయబడితే, అనేక కారణాలు ఉండవచ్చు మరియు ఇవి సాధారణంగా డిస్ప్లే పరికరం నుండి EDIDని చదవడంలో సమస్యకు సంబంధించినవి. బూట్ సీక్వెన్స్తో వ్యవహరించే పై విభాగం నుండి చూడగలిగినట్లుగా, బూట్ ప్రాసెస్ సమయంలో EDID అనేక విభిన్న పాయింట్ల వద్ద చదవబడుతుంది మరియు ఈ రీడ్లలో ప్రతి ఒక్కటి వేరే సాఫ్ట్వేర్ ద్వారా చేయబడుతుంది. చివరి రీడ్, KMS స్వాధీనం చేసుకున్నప్పుడు, మార్చబడని అప్స్ట్రీమ్ Linux కెర్నల్ కోడ్ ద్వారా నిర్వహించబడుతుంది మరియు ఇది లోపభూయిష్ట EDID ఫార్మాట్లను అలాగే మునుపటి ఫర్మ్వేర్ సాఫ్ట్వేర్ను నిర్వహించదు. అందుకే KMSని తీసుకున్న తర్వాత డిస్ప్లే సరిగ్గా పని చేయడం ఆగిపోతుంది. EDIDని చదవడంలో KMS విఫలమవుతోందో లేదో నిర్ధారించడానికి అనేక మార్గాలు ఉన్నాయి మరియు వాటిలో రెండు క్రింది విధంగా ఉన్నాయి.
బూట్లోడర్ డయాగ్నస్టిక్ స్క్రీన్ని తనిఖీ చేయండి (రాస్ప్బెర్రీ పై 4 మాత్రమే)
గమనిక
బూట్లోడర్ డయాగ్నస్టిక్లకు ఇటీవలి బూట్లోడర్ అవసరం. మీరు ఈ సూచనలను ఉపయోగించి తాజా సంస్కరణకు అప్గ్రేడ్ చేయవచ్చు: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader SD కార్డ్ని తీసివేసి, Raspberry Piని రీబూట్ చేయండి. ఇన్స్టాల్ 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 ద్వారా Raspberry Pi పరికరానికి లాగిన్ చేయాలి. అధునాతన సెట్టింగ్ల ఎంపికలను ఉపయోగించి, రాస్ప్బెర్రీ పై ఇమేజర్తో SD కార్డ్ చిత్రాన్ని సృష్టించేటప్పుడు SSH ప్రారంభించబడుతుంది. ఇప్పటికే చిత్రీకరించబడిన SD కార్డ్లో SSHని ప్రారంభించడం కొంచెం క్లిష్టంగా ఉంటుంది: జోడించడానికి మీరు మరొక కంప్యూటర్ని ఉపయోగించాలి file బూట్ విభజనకు ssh అని పేరు పెట్టబడింది. ఒరిజినల్ రాస్ప్బెర్రీ పైలో SD కార్డ్ని రీప్లేస్ చేసి, దాన్ని పవర్ అప్ చేయండి. ఇది DHCP ద్వారా కేటాయించబడిన IP చిరునామాతో SSHని ప్రారంభించాలి. లాగిన్ చేసిన తర్వాత, కనుగొనబడిన ఏదైనా EDID యొక్క కంటెంట్లను ప్రదర్శించడానికి టెర్మినల్ ప్రాంప్ట్లో కింది వాటిని టైప్ చేయండి (రాస్ప్బెర్రీ పైలోని HDMI పోర్ట్ డిస్ప్లే పరికరం కనెక్ట్ చేయబడిందనే దాన్ని బట్టి మీరు HDMI-A-1ని HDMI-A-2కి మార్చవలసి ఉంటుంది. కు): cat /sys/class/drm/card?-HDMI-A-1/edid కార్డ్ అనే పేరు గల ఫోల్డర్లు ఏవీ లేకుంటే?-HDMI-A-1 లేదా అలాంటిదే, అప్పుడు డిస్ప్లే నుండి EDID చదవబడకపోవచ్చు పరికరం.
గమనిక
EDID విజయవంతంగా చదవబడిన సందర్భంలో, ఉపయోగకరమైన వర్చువల్ ఉంది file అదే ఫోల్డర్లో, మోడ్లు అని పిలుస్తారు, ఇది ప్రదర్శించబడినప్పుడు పరికరం మద్దతునిస్తుందని EDID క్లెయిమ్ చేసే అన్ని సాధ్యమైన మోడ్లను చూపుతుంది.
ఉపశమనాలు
హాట్ప్లగ్ వైఫల్యాన్ని గుర్తించడం ఫర్మ్వేర్ మరియు 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_force_hotplug:0=1 లేదా hdmi_force_hotplug:1=1 ఉపయోగించి హాట్ప్లగ్ వర్తించే నిర్దిష్ట HDMI పోర్ట్ను పేర్కొనవచ్చు. KMS కోసం నామకరణం HDMI పోర్ట్లను 1 మరియు 2గా సూచిస్తుందని, రాస్ప్బెర్రీ పై 0 మరియు 1ని ఉపయోగిస్తుందని గమనించండి.
EDID సమస్యలు
మైనారిటీ డిస్ప్లే పరికరాలు ఆపివేయబడినా లేదా తప్పు AV ఇన్పుట్ ఎంచుకోబడినా EDIDని తిరిగి ఇవ్వలేవు. రాస్ప్బెర్రీ పై మరియు డిస్ప్లే పరికరాలు ఒకే పవర్ స్ట్రిప్లో ఉన్నప్పుడు మరియు రాస్ప్బెర్రీ పై పరికరం డిస్ప్లే కంటే వేగంగా బూట్ అయినప్పుడు ఇది సమస్య కావచ్చు. ఇలాంటి పరికరాలతో, మీరు మాన్యువల్గా EDIDని అందించాల్సి రావచ్చు. ఇంకా అసాధారణంగా, కొన్ని డిస్ప్లే పరికరాలు EDID బ్లాక్లను కలిగి ఉన్నాయి, అవి సరిగ్గా ఫార్మాట్ చేయబడ్డాయి మరియు KMS EDID సిస్టమ్ ద్వారా అన్వయించబడవు. ఈ పరిస్థితులలో, సారూప్య రిజల్యూషన్ ఉన్న పరికరం నుండి EDIDని చదవడం మరియు దానిని ఉపయోగించడం సాధ్యమవుతుంది. ఏదైనా సందర్భంలో, పరికరాన్ని నేరుగా ప్రశ్నించడానికి KMS ప్రయత్నించే బదులు, డిస్ప్లే పరికరం నుండి EDIDని ఎలా చదవాలో మరియు దానిని ఉపయోగించేందుకు KMSని కాన్ఫిగర్ చేయడం ఎలాగో క్రింది సూచనలు నిర్దేశించాయి.
ఒక EDIDని కాపీ చేస్తోంది a file
సృష్టిస్తోంది a file మొదటి నుండి EDID మెటాడేటాను కలిగి ఉండటం సాధారణంగా సాధ్యపడదు మరియు ఇప్పటికే ఉన్న దానిని ఉపయోగించడం చాలా సులభం. డిస్ప్లే పరికరం నుండి EDIDని పొందడం మరియు దానిని రాస్ప్బెర్రీ పై యొక్క SD కార్డ్లో నిల్వ చేయడం సాధారణంగా సాధ్యమవుతుంది కాబట్టి దీనిని డిస్ప్లే పరికరం నుండి EDIDని పొందడానికి బదులుగా KMS ద్వారా ఉపయోగించవచ్చు. డిస్ప్లే డివైజ్ అప్ మరియు రన్ అవుతుందని మరియు సరైన AV ఇన్పుట్లో ఉందని మరియు రాస్ప్బెర్రీ పై HDMI సిస్టమ్ను సరిగ్గా ప్రారంభించిందని నిర్ధారించుకోవడం ఇక్కడ సులభమైన ఎంపిక. టెర్మినల్ నుండి, మీరు ఇప్పుడు EDIDని aకి కాపీ చేయవచ్చు file కింది ఆదేశంతో: sudo cp /sys/class/drm/card?-HDMI-A-1/edid /lib/firmware/myedid.dat కొన్ని కారణాల వల్ల EDID లేనట్లయితే, మీరు పరికరాన్ని నాన్లో బూట్ చేయవచ్చు. డెస్క్టాప్ లేదా కన్సోల్కు బూట్ చేయడంలో విజయవంతమైన KMS మోడ్, ఆపై ఫర్మ్వేర్ (ఆశాజనక) విజయవంతంగా చదివిన EDIDని కాపీ చేయండి file.
- లెగసీ గ్రాఫిక్స్ మోడ్కు బూట్ చేయండి.
- బూట్ విభజనలో config.txtని సవరించండి, sudoని ఉపయోగించి మీ ఎడిటర్ని అమలు చేయాలని నిర్ధారించుకోండి మరియు dtoverlay=vc4-kms-v3d అని చెప్పే పంక్తిని #dtoverlay=vc4-kms-v3dకి మార్చండి.
- రీబూట్ చేయండి.
- డెస్క్టాప్ లేదా లాగిన్ కన్సోల్ ఇప్పుడు కనిపించాలి.
- టెర్మినల్ని ఉపయోగించి, జోడించిన డిస్ప్లే పరికరం నుండి 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 మోడ్లోకి తిరిగి బూట్ చేయండి:
- బూట్ విభజనలో config.txtని సవరించండి, sudoని ఉపయోగించి మీ ఎడిటర్ని అమలు చేయాలని నిర్ధారించుకోండి మరియు #dtoverlay=vc4-kms-v3d అని చెప్పే పంక్తిని dtoverlay=vc4-kms-v3dకి మార్చండి.
- రీబూట్ చేయండి.
గమనిక
మీరు ఉపయోగిస్తే a file-ఆధారిత EDID, కానీ ఇప్పటికీ హాట్ప్లగ్తో సమస్యలు ఉన్నాయి, మీరు కెర్నల్ కమాండ్ లైన్కు కింది వాటిని జోడించడం ద్వారా హాట్ప్లగ్ గుర్తింపును బలవంతం చేయవచ్చు: video=HDMI-A-1:D.
పత్రాలు / వనరులు
![]() |
RaspberryPi KMS HDMI అవుట్పుట్ గ్రాఫిక్స్ డ్రైవర్ [pdf] యూజర్ మాన్యువల్ KMS, HDMI అవుట్పుట్ గ్రాఫిక్స్ డ్రైవర్, KMS HDMI అవుట్పుట్, గ్రాఫిక్స్ డ్రైవర్, KMS HDMI అవుట్పుట్ గ్రాఫిక్స్ డ్రైవర్, డ్రైవర్ |