RaspberryPi KMS HDMI આઉટપુટ ગ્રાફિક્સ ડ્રાઈવર
કોલોફોન
2020-2023 Raspberry Pi Ltd (અગાઉ રાસ્પબેરી Pi (ટ્રેડિંગ) લિ.) આ દસ્તાવેજીકરણ ક્રિએટિવ કૉમન્સ એટ્રિબ્યુશન-નોડેરિવેટિવ્સ 4.0 ઇન્ટરનેશનલ (CC BY-ND 4.0) લાયસન્સ હેઠળ લાઇસન્સ થયેલ છે. બિલ્ડ-તારીખ: 2023-02-10 બિલ્ડ-વર્ઝન: ગીથાશ: c65fe9c-ક્લીન
કાનૂની અસ્વીકરણ સૂચના
રાસ્પબેરી PI પ્રોડક્ટ્સ (ડેટાશીટ્સ સહિત) માટે ટેક્નિકલ અને વિશ્વસનીયતા ડેટા સમયાંતરે સંશોધિત ("સંસાધન") રાસ્પબેરી પીઆઈ લિમિટેડ ("આરપીએલ") દ્વારા પ્રદાન કરવામાં આવે છે, અને એનઆઈએમપીઆઈએનઆઈઆરઆઈએમપીઆઈ એલઇડી, બી. માટે, ખાસ હેતુ માટે વેપારીતા અને યોગ્યતાની ગર્ભિત વોરંટી અસ્વીકારવામાં આવી છે. લાગુ કાયદા દ્વારા મંજૂર મહત્તમ હદ સુધી, કોઈપણ ઘટનામાં RPL કોઈપણ પ્રત્યક્ષ, આડકતરી, આકસ્મિક, વિશેષ, અનુકરણીય, અથવા પરિણામલક્ષી નુકસાનો માટે જવાબદાર રહેશે નહીં , અથવા નફો; અથવા વ્યાપાર વિક્ષેપ) જો કે કારણભૂત અને કોઈપણ જવાબદારીના સિદ્ધાંત પર, પછી ભલે તે કરારમાં હોય, કડક જવાબદારી હોય, અથવા તોડ (બેદરકારી સહિત અથવા અન્યથા) કોઈ પણ સંજોગોમાં ઉપયોગની તકેદારીથી સંબંધિત હોય આવા નુકસાનની. આરપીએલ કોઈપણ સમયે અને કોઈપણ સૂચના વિના સંસાધનોમાં અથવા તેમાં વર્ણવેલ કોઈપણ ઉત્પાદનોમાં કોઈપણ સુધારણા, સુધારણા, સુધારા અથવા કોઈપણ અન્ય ફેરફારો કરવાનો અધિકાર અનામત રાખે છે. સંસાધનો ડિઝાઇન જ્ઞાનના યોગ્ય સ્તર ધરાવતા કુશળ વપરાશકર્તાઓ માટે બનાવાયેલ છે. વપરાશકર્તાઓ તેમની પસંદગી અને સંસાધનોના ઉપયોગ અને તેમાં વર્ણવેલ ઉત્પાદનોની કોઈપણ એપ્લિકેશન માટે સંપૂર્ણપણે જવાબદાર છે. વપરાશકર્તા RPL ને તમામ જવાબદારીઓ, ખર્ચો, નુકસાની અથવા તેમના સંસાધનોના ઉપયોગથી ઉદ્ભવતા અન્ય નુકસાન સામે નુકસાની વિનાની ભરપાઈ કરવા અને પકડી રાખવા સંમત થાય છે. RPL વપરાશકર્તાઓને ફક્ત Raspberry Pi ઉત્પાદનો સાથે સંસાધનોનો ઉપયોગ કરવાની પરવાનગી આપે છે. રિસોર્સનો અન્ય તમામ ઉપયોગ પ્રતિબંધિત છે. કોઈપણ અન્ય RPL અથવા અન્ય તૃતીય પક્ષ બૌદ્ધિક સંપદા અધિકારને કોઈ લાઇસન્સ આપવામાં આવતું નથી. ઉચ્ચ જોખમવાળી પ્રવૃત્તિઓ. રાસ્પબેરી પાઈ ઉત્પાદનો જોખમી વાતાવરણમાં ઉપયોગમાં લેવા માટે ડિઝાઇન, ઉત્પાદિત અથવા હેતુપૂર્વક નથી કે જેમાં પરમાણુ સુવિધાઓ, એરક્રાફ્ટ નેવિગેશન અથવા કોમ્યુનિકેશન સિસ્ટમ, એર ટ્રાફિક કંટ્રોલ, શસ્ત્ર સિસ્ટમ અથવા સલામતી-નિર્ણાયક એપ્લિકેશનો (જીવન સપોર્ટ સહિત) ના સંચાલનમાં નિષ્ફળ સલામત કામગીરીની જરૂર હોય. સિસ્ટમો અને અન્ય તબીબી ઉપકરણો), જેમાં ઉત્પાદનોની નિષ્ફળતા સીધા મૃત્યુ, વ્યક્તિગત ઈજા અથવા ગંભીર શારીરિક અથવા પર્યાવરણીય નુકસાન ("ઉચ્ચ જોખમ પ્રવૃત્તિઓ") તરફ દોરી શકે છે. RPL ખાસ કરીને ઉચ્ચ જોખમ પ્રવૃત્તિઓ માટે ફિટનેસની કોઈપણ સ્પષ્ટ અથવા ગર્ભિત વોરંટીને અસ્વીકાર કરે છે અને ઉચ્ચ જોખમ પ્રવૃત્તિઓમાં રાસ્પબેરી પાઈ ઉત્પાદનોના ઉપયોગ અથવા સમાવેશ માટે કોઈ જવાબદારી સ્વીકારતું નથી. Raspberry Pi ઉત્પાદનો RPL ની માનક શરતોને આધીન પ્રદાન કરવામાં આવે છે. આરપીએલની સંસાધનોની જોગવાઈઓ આરપીએલની માનક શરતોને વિસ્તૃત અથવા સંશોધિત કરતી નથી, જેમાં તેમાં દર્શાવેલ અસ્વીકરણ અને વોરંટીનો સમાવેશ થાય છે પરંતુ તે પૂરતો મર્યાદિત નથી.
દસ્તાવેજ સંસ્કરણ ઇતિહાસ
દસ્તાવેજનો અવકાશ
આ દસ્તાવેજ નીચેના Raspberry Pi ઉત્પાદનોને લાગુ પડે છે
પરિચય
KMS (કર્નલ મોડ સેટિંગ) ગ્રાફિક્સ ડ્રાઇવરની રજૂઆત સાથે, Raspberry Pi Ltd વિડિઓ આઉટપુટ સિસ્ટમના લેગસી ફર્મવેર નિયંત્રણથી દૂર અને વધુ ઓપન સોર્સ ગ્રાફિક્સ સિસ્ટમ તરફ આગળ વધી રહી છે. જો કે, આ તેના પોતાના પડકારોના સમૂહ સાથે આવ્યું છે. આ દસ્તાવેજનો હેતુ નવી સિસ્ટમમાં જતી વખતે ઊભી થતી કોઈપણ સમસ્યાઓમાં મદદ કરવાનો છે. આ વ્હાઇટપેપર ધારે છે કે Raspberry Pi એ Raspberry Pi OS ચલાવી રહ્યું છે, અને નવીનતમ ફર્મવેર અને કર્નલ સાથે સંપૂર્ણ રીતે અદ્યતન છે.
પરિભાષા
DRM: ડાયરેક્ટ રેન્ડરિંગ મેનેજર, ગ્રાફિક્સ પ્રોસેસિંગ યુનિટ્સ (GPUs) સાથે વાતચીત કરવા માટે ઉપયોગમાં લેવાતા Linux કર્નલની સબસિસ્ટમ. FKMS અને KMS સાથે ભાગીદારીમાં વપરાય છે.
DVI: HDMI નો પુરોગામી, પરંતુ ઑડિઓ ક્ષમતાઓ વિના. Raspberry Pi ઉપકરણને DVI-સજ્જ ડિસ્પ્લે સાથે કનેક્ટ કરવા માટે HDMI થી DVI કેબલ્સ અને એડેપ્ટર ઉપલબ્ધ છે.
સંપાદિત કરો: વિસ્તૃત ડિસ્પ્લે આઇડેન્ટિફિકેશન ડેટા. વિડિયો સ્ત્રોતમાં તેમની ક્ષમતાઓનું વર્ણન કરવા માટે ડિસ્પ્લે ઉપકરણો માટે મેટાડેટા ફોર્મેટ. EDID ડેટા સ્ટ્રક્ચરમાં ઉત્પાદકનું નામ અને સીરીયલ નંબર, ઉત્પાદનનો પ્રકાર, ભૌતિક પ્રદર્શન કદ અને ડિસ્પ્લે દ્વારા સમર્થિત સમય, કેટલાક ઓછા ઉપયોગી ડેટા સાથેનો સમાવેશ થાય છે. કેટલાક ડિસ્પ્લેમાં ખામીયુક્ત EDID બ્લોક્સ હોઈ શકે છે, જે સમસ્યાઓનું કારણ બની શકે છે જો તે ખામીઓ ડિસ્પ્લે સિસ્ટમ દ્વારા નિયંત્રિત કરવામાં ન આવે.
FKMS (vc4-fkms-v3d): નકલી કર્નલ મોડ સેટિંગ. જ્યારે ફર્મવેર હજુ પણ નિમ્ન-સ્તરના હાર્ડવેરને નિયંત્રિત કરે છે (ઉદાample, હાઈ-ડેફિનેશન મલ્ટીમીડિયા ઈન્ટરફેસ (HDMI) પોર્ટ્સ, ડિસ્પ્લે સીરીયલ ઈન્ટરફેસ (DSI), વગેરે, પ્રમાણભૂત Linux પુસ્તકાલયોનો ઉપયોગ કર્નલમાં જ થાય છે. FKMSનો ઉપયોગ બસ્ટરમાં મૂળભૂત રીતે થાય છે, પરંતુ હવે બુલસીમાં KMSની તરફેણમાં નાપસંદ કરવામાં આવે છે.
એચડીએમઆઈ: હાઇ-ડેફિનેશન મલ્ટીમીડિયા ઇન્ટરફેસ એ બિનસંકુચિત વિડિયો ડેટા અને સંકુચિત અથવા અસંકોચિત ડિજિટલ ઑડિઓ ડેટાને ટ્રાન્સમિટ કરવા માટેનું માલિકીનું ઑડિઓ/વિડિયો ઇન્ટરફેસ છે.
HPD: હોટપ્લગ શોધો. એક ભૌતિક વાયર કે જે કનેક્ટેડ ડિસ્પ્લે ઉપકરણ દ્વારા દર્શાવવામાં આવે છે તે હાજર છે.
કેએમએસ: કર્નલ મોડ સેટિંગ; જુઓ https://www.kernel.org/doc/html/latest/gpu/drm-kms.html વધુ વિગતો માટે. Raspberry Pi પર, vc4-kms-v3d એ ડ્રાઇવર છે જે KMS ને અમલમાં મૂકે છે, અને તેને ઘણીવાર "KMS ડ્રાઇવર" તરીકે ઓળખવામાં આવે છે. લેગસી ગ્રાફિક્સ સ્ટેક: લિનક્સ ફ્રેમબફર ડ્રાઈવર દ્વારા એક્સપોઝ કરાયેલ વિડીયોકોર ફર્મવેર બ્લોબમાં સંપૂર્ણ રીતે અમલમાં આવેલ ગ્રાફિક્સ સ્ટેક. લેગસી ગ્રાફિક્સ સ્ટેકનો ઉપયોગ રાસ્પબેરી પી લિમિટેડના મોટાભાગના ઉપકરણોમાં તાજેતરમાં સુધી કરવામાં આવ્યો છે; તે હવે ધીમે ધીમે (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 હાજરી અને ગુણધર્મો તપાસવા માટે VideoCore ગ્રાફિક્સ પ્રોસેસરમાં ફર્મવેરનો ઉપયોગ કરે છે. તેનાથી વિપરીત, KMS સંપૂર્ણપણે ઓપન સોર્સ, ARM-સાઇડ અમલીકરણનો ઉપયોગ કરે છે. આનો અર્થ એ છે કે બે સિસ્ટમો માટેના કોડ પાયા સંપૂર્ણપણે અલગ છે, અને કેટલાક સંજોગોમાં આ બે અભિગમો વચ્ચે અલગ વર્તનમાં પરિણમી શકે છે. HDMI અને DVI ઉપકરણો EDID બ્લોક તરીકે ઓળખાતા મેટાડેટાના ટુકડાનો ઉપયોગ કરીને સ્ત્રોત ઉપકરણમાં પોતાને ઓળખે છે. આ I2C કનેક્શન દ્વારા ડિસ્પ્લે ઉપકરણમાંથી સ્ત્રોત ઉપકરણ દ્વારા વાંચવામાં આવે છે, અને આ અંતિમ વપરાશકર્તા માટે સંપૂર્ણપણે પારદર્શક છે કારણ કે તે ગ્રાફિક્સ સ્ટેક દ્વારા કરવામાં આવે છે. EDID બ્લોકમાં ઘણી બધી માહિતી હોય છે, પરંતુ તેનો ઉપયોગ મુખ્યત્વે ડિસ્પ્લે કયા રિઝોલ્યુશનને સપોર્ટ કરે છે તે સ્પષ્ટ કરવા માટે થાય છે, તેથી યોગ્ય રિઝોલ્યુશન આઉટપુટ કરવા માટે રાસ્પબેરી પાઈ સેટ કરી શકાય છે.
બુટીંગ દરમિયાન HDMI સાથે કેવી રીતે વ્યવહાર કરવામાં આવે છે
જ્યારે પહેલીવાર ચાલુ કરવામાં આવે છે, ત્યારે રાસ્પબેરી પાઈ સંખ્યાબંધ sમાંથી પસાર થાય છેtages, બુટ એસ તરીકે ઓળખાય છેtages:
- પ્રથમ-એસtage, ROM-આધારિત બુટલોડર VideoCore GPU શરૂ કરે છે.
- સેકન્ડ-એસtage બુટલોડર (આ Raspberry Pi 4 પહેલાના ઉપકરણો પર SD કાર્ડ પર અને Raspberry Pi 4 પર SPI EEPROM માં bootcode.bin છે):
- રાસ્પબેરી પી 4 પર, સેકન્ડ-એસtage બુટલોડર HDMI સિસ્ટમ શરૂ કરશે, સંભવિત સ્થિતિઓ માટે ડિસ્પ્લેની પૂછપરછ કરશે, પછી ડિસ્પ્લેને યોગ્ય રીતે સેટ કરશે. આ બિંદુએ ડિસ્પ્લેનો ઉપયોગ મૂળભૂત ડાયગ્નોસ્ટિક ડેટા પ્રદાન કરવા માટે થાય છે.
- બુટલોડર ડાયગ્નોસ્ટિક ડિસ્પ્લે (07 ડિસેમ્બર 2022 પછી) કોઈપણ જોડાયેલ ડિસ્પ્લેની સ્થિતિ પ્રદર્શિત કરશે (શું હોટપ્લગ ડિટેક્ટ (HPD) હાજર છે, અને શું ડિસ્પ્લેમાંથી EDID બ્લોક પુનઃપ્રાપ્ત કરવામાં આવ્યો હતો).
- VideoCore ફર્મવેર (start.elf) લોડ થાય છે અને ચાલે છે. આ HDMI સિસ્ટમ પર નિયંત્રણ મેળવશે, કોઈપણ જોડાયેલ ડિસ્પ્લેમાંથી EDID બ્લોક વાંચશે અને તે ડિસ્પ્લે પર મેઘધનુષ્ય સ્ક્રીન બતાવશે.
- Linux કર્નલ બુટ થાય છે
- કર્નલ બુટ દરમિયાન, KMS ફર્મવેરમાંથી HDMI સિસ્ટમનું નિયંત્રણ મેળવશે. ફરી એકવાર 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 ગ્રહણ કરે છે, ત્યારે અપસ્ટ્રીમ લિનક્સ કર્નલ કોડ દ્વારા કરવામાં આવે છે, અને આ ખામીયુક્ત EDID ફોર્મેટ તેમજ અગાઉના ફર્મવેર સોફ્ટવેરને નિયંત્રિત કરતું નથી. આ જ કારણ છે કે એકવાર KMS કબજે કરી લે પછી ડિસ્પ્લે યોગ્ય રીતે કામ કરવાનું બંધ કરી શકે છે. KMS EDID વાંચવામાં નિષ્ફળ રહ્યું છે કે કેમ તેની પુષ્ટિ કરવાની ઘણી રીતો છે અને તેમાંથી બે નીચે મુજબ છે.
બુટલોડર ડાયગ્નોસ્ટિક સ્ક્રીન તપાસો (ફક્ત રાસ્પબેરી પી 4)
નોંધ
બુટલોડર ડાયગ્નોસ્ટિક્સ માટે તાજેતરના બુટલોડરની જરૂર છે. તમે આ સૂચનાઓનો ઉપયોગ કરીને નવીનતમ સંસ્કરણ પર અપગ્રેડ કરી શકો છો: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader SD કાર્ડ દૂર કરો અને Raspberry Pi રીબૂટ કરો. Install OS સ્ક્રીન પર ESC દબાવો, અને ડિસ્પ્લે ઉપકરણ પર ડાયગ્નોસ્ટિક સ્ક્રીન દેખાવી જોઈએ. ડિસ્પ્લે પર એક લીટી હોવી જોઈએ જે ડિસ્પ્લેથી શરૂ થાય છે: — ex forampલે:
- પ્રદર્શન: 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 Imager સાથે SD કાર્ડની છબી બનાવતી વખતે SSH સક્ષમ કરી શકાય છે. SD કાર્ડ પર SSH ને સક્ષમ કરવું જે પહેલેથી જ ઇમેજ કરવામાં આવ્યું છે તે થોડું વધુ જટિલ છે: તમારે એક ઉમેરવા માટે બીજા કમ્પ્યુટરનો ઉપયોગ કરવાની જરૂર પડશે file બુટ પાર્ટીશનને ssh નામ આપવામાં આવ્યું છે. અસલ રાસ્પબેરી પીમાં SD કાર્ડ બદલો અને તેને પાવર અપ કરો. આનાથી DHCP દ્વારા ફાળવેલ IP સરનામા સાથે SSH ને સક્ષમ કરવું જોઈએ. એકવાર લૉગ ઇન થઈ ગયા પછી, શોધાયેલ કોઈપણ EDID ની સામગ્રી પ્રદર્શિત કરવા માટે ટર્મિનલ પ્રોમ્પ્ટ પર નીચે લખો (તમારે HDMI-A-1 ને HDMI-A-2 માં બદલવાની જરૂર પડી શકે છે તેના આધારે ડિસ્પ્લે ઉપકરણ રાસ્પબેરી પી પર કયા 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 પોર્ટનો ઉલ્લેખ કરી શકો છો કે જે હોટપ્લગ hdmi_force_hotplug:0=1 અથવા hdmi_force_hotplug:1=1 નો ઉપયોગ કરવા માટે લાગુ થાય છે. નોંધ કરો કે 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 મેળવવું અને તેને રાસ્પબેરી પાઈના 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.
- લેગસી ગ્રાફિક્સ મોડ પર બુટ કરો.
- બુટ પાર્ટીશનમાં 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 આઉટપુટ ગ્રાફિક્સ ડ્રાઈવર [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા KMS, HDMI આઉટપુટ ગ્રાફિક્સ ડ્રાઈવર, KMS HDMI આઉટપુટ, ગ્રાફિક્સ ડ્રાઈવર, KMS HDMI આઉટપુટ ગ્રાફિક્સ ડ્રાઈવર, ડ્રાઈવર |