RaspberryPi KMS HDMI გამომავალი გრაფიკის დრაივერი
კოლოფონი
2020-2023 Raspberry Pi Ltd (ყოფილი Raspberry Pi (Trading) Ltd.) ეს დოკუმენტაცია ლიცენზირებულია Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) ლიცენზიით. აშენების თარიღი: 2023-02-10 აშენების ვერსია: githash: c65fe9c-clean
სამართლებრივი პასუხისმგებლობის შენიშვნა
ტექნიკური და სანდო მონაცემები RASPBERRY PI პროდუქტებისთვის (მონაცემთა ფურცლების ჩათვლით), როგორც დროდადრო შეცვლილი („რესურსები“) მოწოდებულია Raspberry PI LTD-ის (“RPL”) TECHNOLOGY, AS IS, RPL. TO, ნაგულისხმევი გარანტიები სავაჭროუნარიანობისა და კონკრეტული მიზნისთვის ვარგისიანობის შესახებ უგულებელყოფილია. მოქმედი კანონმდებლობით ნებადართული მაქსიმალური ზომით, RPL არავითარ შემთხვევაში არ იქნება პასუხისმგებელი რაიმე პირდაპირი, არაპირდაპირი, შემთხვევითი, განსაკუთრებული, სამაგალითო ან თანმდევი აშშ-ის ზარალისთვის , ან მოგება, ან ბიზნესის შეფერხება) რაც არ უნდა იყოს გამოწვეული და პასუხისმგებლობის ნებისმიერ თეორიაზე, იქნება ეს კონტრაქტი, მკაცრი პასუხისმგებლობა, თუ დელიქტური (მათ შორის, დაუდევრობა თუ სხვაგვარად) ასეთი ზიანის. RPL იტოვებს უფლებას ნებისმიერ დროს და შემდგომი შეტყობინების გარეშე განახორციელოს ნებისმიერი გაუმჯობესება, გაუმჯობესება, შესწორება ან ნებისმიერი სხვა ცვლილება რესურსებში ან მათში აღწერილ პროდუქტებში. რესურსები განკუთვნილია გამოცდილი მომხმარებლებისთვის, რომლებსაც აქვთ დიზაინის ცოდნის შესაბამისი დონე. მომხმარებლები მხოლოდ პასუხისმგებელნი არიან რესურსების არჩევასა და გამოყენებაზე და მათში აღწერილი პროდუქტების ნებისმიერ გამოყენებაზე. მომხმარებელი თანახმაა აანაზღაუროს და დატოვოს RPL უვნებლად ყველა პასუხისმგებლობის, ხარჯის, ზიანის ან სხვა ზარალის მიმართ, რომელიც წარმოიქმნება RESOURCES-ის გამოყენებით. RPL აძლევს მომხმარებლებს უფლებას გამოიყენონ რესურსები მხოლოდ Raspberry Pi-სთან ერთად. აკრძალულია რესურსების ყველა სხვა გამოყენება. არანაირი ლიცენზია არ არის გაცემული სხვა RPL ან სხვა მესამე მხარის ინტელექტუალური საკუთრების უფლებაზე. მაღალი რისკის აქტივობები. Raspberry Pi-ს პროდუქტები არ არის შექმნილი, წარმოებული ან განკუთვნილი სახიფათო გარემოში გამოსაყენებლად, რომელიც საჭიროებს წარუმატებლობის უსაფრთხო შესრულებას, როგორიცაა ბირთვული ობიექტების ექსპლუატაცია, თვითმფრინავების სანავიგაციო ან საკომუნიკაციო სისტემები, საჰაერო მოძრაობის კონტროლი, იარაღის სისტემები ან უსაფრთხოებისთვის კრიტიკული აპლიკაციები (მათ შორის სიცოცხლის მხარდაჭერა სისტემები და სხვა სამედიცინო მოწყობილობები), რომლებშიც პროდუქციის უკმარისობამ შეიძლება გამოიწვიოს უშუალოდ სიკვდილი, პირადი დაზიანება ან მძიმე ფიზიკური ან გარემოს დაზიანება („მაღალი რისკის აქტივობები“). RPL კონკრეტულად უარს ამბობს მაღალი რისკის აქტივობებისთვის ვარგისიანობის ნებისმიერ მკაფიო ან ნაგულისხმევ გარანტიაზე და არ იღებს პასუხისმგებლობას Raspberry Pi-ის პროდუქტების მაღალი რისკის აქტივობებში გამოყენების ან ჩართვაზე. Raspberry Pi-ს პროდუქტები მოწოდებულია RPL-ის სტანდარტული პირობებით. RPL-ის რესურსების დებულება არ აფართოებს ან სხვაგვარად ცვლის RPL-ის სტანდარტულ პირობებს, მათ შორის, მაგრამ არ შემოიფარგლება მათში გამოხატული პასუხისმგებლობისა და გარანტიებით.
დოკუმენტის ვერსიის ისტორია
დოკუმენტის ფარგლები
ეს დოკუმენტი ვრცელდება Raspberry Pi-ს შემდეგ პროდუქტებზე
შესავალი
KMS (Kernel Mode Setting) გრაფიკული დრაივერის დანერგვით, Raspberry Pi შპს შორდება ვიდეო გამომავალი სისტემის ძველი პროგრამული უზრუნველყოფის კონტროლს და უფრო ღია კოდის გრაფიკულ სისტემაზე გადადის. თუმცა, ამას მოჰყვა თავისი გამოწვევები. ეს დოკუმენტი მიზნად ისახავს დაეხმაროს ნებისმიერ პრობლემას, რომელიც შეიძლება წარმოიშვას ახალ სისტემაში გადასვლისას. ეს whitepaper ვარაუდობს, რომ Raspberry Pi გაშვებულია Raspberry Pi OS და სრულად არის განახლებული უახლესი პროგრამული უზრუნველყოფისა და ბირთვების შესახებ.
ტერმინოლოგია
DRM: Direct Rendering Manager, Linux-ის ბირთვის ქვესისტემა, რომელიც გამოიყენება გრაფიკული დამუშავების ერთეულებთან (GPU) კომუნიკაციისთვის. გამოიყენება FKMS-თან და KMS-თან პარტნიორობით.
DVI: HDMI-ის წინამორბედი, მაგრამ აუდიო შესაძლებლობების გარეშე. HDMI to DVI კაბელები და გადამყვანები ხელმისაწვდომია Raspberry Pi მოწყობილობის DVI-ით აღჭურვილ ეკრანთან დასაკავშირებლად.
EDID: გაფართოებული ჩვენების საიდენტიფიკაციო მონაცემები. მეტამონაცემების ფორმატი საჩვენებელი მოწყობილობებისთვის, რათა აღწერონ მათი შესაძლებლობები ვიდეო წყაროსთვის. EDID მონაცემთა სტრუქტურა მოიცავს მწარმოებლის სახელს და სერიულ ნომერს, პროდუქტის ტიპს, ფიზიკურ დისპლეის ზომას და ეკრანის მიერ მხარდაჭერილ ვადებს, ზოგიერთ ნაკლებად სასარგებლო მონაცემთან ერთად. ზოგიერთ დისპლეს შეიძლება ჰქონდეს დეფექტური EDID ბლოკები, რამაც შეიძლება გამოიწვიოს პრობლემები, თუ ეს დეფექტები არ იქნება დამუშავებული ჩვენების სისტემის მიერ.
FKMS (vc4-fkms-v3d): ყალბი ბირთვის რეჟიმის დაყენება. მიუხედავად იმისა, რომ firmware კვლავ აკონტროლებს დაბალი დონის აპარატურას (მაგampასევე, მაღალი გარჩევადობის მულტიმედიური ინტერფეისის (HDMI) პორტები, ეკრანის სერიული ინტერფეისი (DSI) და ა.შ.), სტანდარტული Linux ბიბლიოთეკები გამოიყენება თავად ბირთვში. FKMS ნაგულისხმევად გამოიყენება Buster-ში, მაგრამ ახლა მოძველებულია Bullseye-ში KMS-ის სასარგებლოდ.
HDMI: მაღალი გარჩევადობის მულტიმედიური ინტერფეისი არის საკუთრების აუდიო/ვიდეო ინტერფეისი შეუკუმშველი ვიდეო მონაცემებისა და შეკუმშული ან შეუკუმშული ციფრული აუდიო მონაცემების გადასაცემად.
HPD: Hotplug-ის გამოვლენა. არსებობს ფიზიკური მავთული, რომელიც ამტკიცებს დაკავშირებულ დისპლეის მოწყობილობას მის საჩვენებლად.
KMS: ბირთვის რეჟიმის დაყენება; იხილეთ https://www.kernel.org/doc/html/latest/gpu/drm-kms.html დამატებითი დეტალებისთვის. Raspberry Pi-ზე vc4-kms-v3d არის დრაივერი, რომელიც ახორციელებს KMS-ს და მას ხშირად მოიხსენიებენ როგორც „KMS დრაივერს“. Legacy გრაფიკული დასტა: გრაფიკული დასტა მთლიანად დანერგილი VideoCore firmware blob-ში, გამოვლენილი Linux Framebuffer-ის დრაივერის მიერ. მემკვიდრეობითი გრაფიკული დასტა ბოლო დრომდე გამოიყენებოდა Raspberry Pi შპს მოწყობილობების უმეტესობაში; ის ახლა თანდათან იცვლება (F)KMS/DRM-ით.
HDMI სისტემა და გრაფიკის დრაივერები
Raspberry Pi მოწყობილობები იყენებენ HDMI სტანდარტს, რომელიც ძალიან გავრცელებულია თანამედროვე LCD მონიტორებსა და ტელევიზორებზე, ვიდეო გამოსასვლელად. Raspberry Pi 3 (მათ შორის Raspberry Pi 3B+) და ადრინდელ მოწყობილობებს აქვთ ერთი HDMI პორტი, რომელსაც შეუძლია 1920 × 1200 @60Hz გამომავალი სრული ზომის HDMI კონექტორის გამოყენებით. Raspberry Pi 4-ს აქვს ორი მიკრო HDMI პორტი და შეუძლია ორივე პორტზე 4K გამომავალი. დაყენებიდან გამომდინარე, Raspberry Pi 0-ზე HDMI 4 პორტს შეუძლია 4kp60-მდე, მაგრამ ორი 4K გამომავალი მოწყობილობის გამოყენებისას ორივე მოწყობილობაზე შემოიფარგლება p30-ით. გრაფიკული პროგრამული უზრუნველყოფის დასტა, ვერსიის მიუხედავად, პასუხისმგებელია მიმაგრებული HDMI მოწყობილობების მათი თვისებების გამოკითხვაზე და HDMI სისტემის სათანადოდ დაყენებაზე. Legacy და FKMS სტეკები ორივე იყენებს firmware-ს VideoCore გრაფიკულ პროცესორში HDMI არსებობისა და თვისებების შესამოწმებლად. ამის საპირისპიროდ, KMS იყენებს მთლიანად ღია წყაროს, ARM-ის იმპლემენტაციას. ეს ნიშნავს, რომ ორი სისტემის კოდების საფუძვლები სრულიად განსხვავებულია და ზოგიერთ შემთხვევაში ამან შეიძლება გამოიწვიოს განსხვავებული ქცევა ორ მიდგომას შორის. HDMI და DVI მოწყობილობები იდენტიფიცირებას უკეთებენ წყაროს მოწყობილობას მეტამონაცემების ნაწილის გამოყენებით, რომელსაც ეწოდება EDID ბლოკი. ამას კითხულობს წყაროს მოწყობილობა დისპლეის მოწყობილობიდან I2C კავშირის საშუალებით და ეს სრულიად გამჭვირვალეა საბოლოო მომხმარებლისთვის, როგორც ეს ხდება გრაფიკული დასტაზე. EDID ბლოკი შეიცავს უამრავ ინფორმაციას, მაგრამ ის ძირითადად გამოიყენება იმის დასაზუსტებლად, თუ რომელ რეზოლუციებს უჭერს მხარს ეკრანი, ამიტომ Raspberry Pi შეიძლება დაყენდეს შესაბამისი რეზოლუციის გამოსატანად.
როგორ განიხილება HDMI ჩატვირთვისას
როდესაც პირველად ჩართულია, Raspberry Pi გადის რამდენიმე სtages, ცნობილია როგორც boot stages:
- პირველებიtagე, ROM-ზე დაფუძნებული ჩამტვირთველი იწყებს VideoCore GPU-ს.
- მეორე-სtage bootloader (ეს არის bootcode.bin SD ბარათზე Raspberry Pi 4-მდე და SPI EEPROM-ში Raspberry Pi 4-ზე):
- Raspberry Pi 4-ზე მეორე-სtage bootloader ჩართავს HDMI სისტემას, გამოიკითხავს დისპლეის შესაძლო რეჟიმებს, შემდეგ დააყენებს დისპლეის სათანადოდ. ამ ეტაპზე ეკრანი გამოიყენება ძირითადი დიაგნოსტიკური მონაცემების უზრუნველსაყოფად.
- ჩამტვირთველის დიაგნოსტიკური ეკრანი (07 წლის 2022 დეკემბერი) აჩვენებს ნებისმიერი მიმაგრებული ეკრანის სტატუსს (არსებობს თუ არა Hotplug Detect (HPD) და აღდგენილია თუ არა ეკრანიდან EDID ბლოკი).
- VideoCore firmware (start.elf) იტვირთება და მუშაობს. ეს აიღებს HDMI სისტემის კონტროლს, წაიკითხავს EDID ბლოკს ნებისმიერი თანდართული ეკრანიდან და აჩვენებს ცისარტყელას ეკრანს ამ ეკრანებზე.
- Linux kernel-ის ჩექმები
- ბირთვის ჩატვირთვის დროს, KMS აიღებს HDMI სისტემის კონტროლს firmware-დან. კიდევ ერთხელ იკითხება EDID ბლოკი ნებისმიერი თანდართული ეკრანიდან და ეს ინფორმაცია გამოიყენება Linux კონსოლის და დესკტოპის დასაყენებლად.
შესაძლო პრობლემები და სიმპტომები
KMS-ზე გადასვლისას ყველაზე გავრცელებული მარცხის სიმპტომი არის თავდაპირველად კარგი ჩატვირთვა, ჩატვირთვის ეკრანი და შემდეგ ცისარტყელას ეკრანი გამოჩნდება, რასაც მოჰყვა რამდენიმე წამის შემდეგ ეკრანი გაშავდება და აღარ ჩაირთვება. წერტილი, როდესაც ეკრანი შავდება, სინამდვილეში არის წერტილი ბირთვის ჩატვირთვის პროცესში, როდესაც KMS დრაივერი ახორციელებს ეკრანის გაშვებას firmware-დან. Raspberry Pi ამჟამად მუშაობს ყველა ასპექტში, გარდა HDMI გამომავალი, ასე რომ, თუ SSH ჩართულია, მაშინ თქვენ უნდა შეგეძლოთ მოწყობილობაში შესვლა ამ მარშრუტით. მწვანე SD ბარათის წვდომის LED, როგორც წესი, ზოგჯერ ციმციმდება. ასევე შესაძლებელია, რომ თქვენ საერთოდ არ ნახოთ HDMI გამომავალი; არ არის ჩამტვირთველის ჩვენება და არც ცისარტყელას ეკრანი. ეს ჩვეულებრივ შეიძლება მიეწეროს ტექნიკის გაუმართაობას.
ხარვეზის დიაგნოსტიკა
HDMI გამომავალი საერთოდ არ არის
შესაძლებელია, რომ მოწყობილობა საერთოდ არ ჩაიტვირთა, მაგრამ ეს არის ამ თეთრი ქაღალდის უფლებამოსილების მიღმა. თუ ვივარაუდებთ, რომ დაკვირვებული ქცევა არის ეკრანის პრობლემა, HDMI გამომავალი არარსებობა ჩატვირთვის პროცესის ნებისმიერი ნაწილის დროს, როგორც წესი, გამოწვეულია აპარატურის გაუმართაობით. არსებობს რამდენიმე შესაძლო ვარიანტი:
- დეფექტური HDMI კაბელი
- სცადეთ ახალი კაბელი. ზოგიერთი კაბელი, განსაკუთრებით ძალიან იაფი, შეიძლება არ შეიცავდეს ყველა საჭირო საკომუნიკაციო ხაზს (მაგ. Hotplug) Raspberry Pi-სთვის ეკრანის წარმატებით აღმოსაჩენად.
- დეფექტური HDMI პორტი Raspberry Pi-ზე
- თუ იყენებთ Raspberry Pi 4-ს, სცადეთ სხვა HDMI პორტი.
- დეფექტური HDMI პორტი მონიტორზე
- ზოგჯერ მონიტორზე ან ტელევიზორზე HDMI პორტი შეიძლება ცვეთდეს. სცადეთ სხვა პორტი, თუ მოწყობილობას აქვს ერთი.
- იშვიათად, ჩვენების მოწყობილობამ შეიძლება უზრუნველყოს EDID მონაცემები მხოლოდ ჩართვის ან სწორი პორტის არჩევისას. შესამოწმებლად, დარწმუნდით, რომ მოწყობილობა ჩართულია და სწორი შეყვანის პორტი არჩეულია.
- მოწყობილობის ჩვენება, რომელიც არ ამტკიცებს ცხელი დანამატის აღმოჩენის ხაზს
საწყისი გამომავალი, შემდეგ ეკრანი შავდება
თუ ეკრანი ჩნდება, მაგრამ შემდეგ ითიშება Linux-ის ბირთვის ჩატვირთვისას, არსებობს მრავალი შესაძლო მიზეზი და ეს ჩვეულებრივ დაკავშირებულია ეკრანის მოწყობილობიდან EDID-ის წაკითხვის პრობლემასთან. როგორც ჩანს ზემოთ მოყვანილი განყოფილებიდან, რომელიც ეხება ჩატვირთვის თანმიმდევრობას, EDID იკითხება ჩატვირთვის პროცესში რამდენიმე სხვადასხვა წერტილში და თითოეული ეს წაკითხვა ხდება სხვადასხვა პროგრამული უზრუნველყოფის საშუალებით. საბოლოო წაკითხვა, როდესაც KMS იკავებს, ხორციელდება Linux-ის ბირთვის უცვლელი კოდით, და ეს არ ამუშავებს დეფექტურ EDID ფორმატებს, ისევე როგორც ადრინდელ firmware პროგრამულ უზრუნველყოფას. ამიტომ ეკრანს შეუძლია შეწყვიტოს სწორად მუშაობა, როგორც კი KMS აიღებს. არსებობს მრავალი გზა, რათა დაადასტუროთ, ვერ კითხულობს თუ არა KMS EDID-ს, და აქედან ორი შემდეგია.
შეამოწმეთ ჩამტვირთველის დიაგნოსტიკური ეკრანი (მხოლოდ Raspberry Pi 4)
შენიშვნა
ჩამტვირთველის დიაგნოსტიკა მოითხოვს ბოლო ჩამტვირთველს. შეგიძლიათ განაახლოთ უახლეს ვერსიაზე ამ ინსტრუქციების გამოყენებით: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader ამოიღეთ SD ბარათი და გადატვირთეთ Raspberry Pi. დააჭირეთ ESC-ს Install OS-ის ეკრანზე და დიაგნოსტიკური ეკრანი გამოჩნდება ეკრანის მოწყობილობაზე. ეკრანზე უნდა იყოს ხაზი, რომელიც იწყება ჩვენებით: — მაგampლე:
- ჩვენება: DISP0: HDMI HPD=1 EDID=ok #2 DISP1: HPD=0 EDID=არცერთი #0
Raspberry Pi 4-ის ეს გამომავალი გვიჩვენებს, რომ სისტემამ აღმოაჩინა HDMI დისპლეი HDMI პორტზე 0, ცხელი დანამატის ამოცნობა დამტკიცებულია და EDID წაიკითხა OK. HDMI პორტ 1-ზე არაფერი მოიძებნა.
შეამოწმეთ, აღმოაჩინა თუ არა KMS სისტემამ EDID
ამის შესამოწმებლად თქვენ უნდა შეხვიდეთ Raspberry Pi მოწყობილობაში SSH-ის მეშვეობით სხვა კომპიუტერიდან. SSH შეიძლება ჩართოთ SD ბარათის გამოსახულების შექმნისას Raspberry Pi Imager-ით, გაფართოებული პარამეტრების გამოყენებით. SSH-ის ჩართვა SD ბარათზე, რომელიც უკვე გამოსახულია, ცოტა უფრო რთულია: თქვენ დაგჭირდებათ სხვა კომპიუტერის გამოყენება. file დაასახელა ssh ჩატვირთვის განყოფილებაში. შეცვალეთ SD ბარათი ორიგინალურ Raspberry Pi-ში და ჩართეთ იგი. ამან უნდა ჩართოს SSH, DHCP-ის მიერ გამოყოფილი IP მისამართით. შესვლის შემდეგ, აკრიფეთ შემდეგი ტერმინალის მოთხოვნაში ნებისმიერი აღმოჩენილი EDID-ის შიგთავსის საჩვენებლად (შეიძლება დაგჭირდეთ HDMI-A-1-ის შეცვლა HDMI-A-2-ზე იმისდა მიხედვით, თუ რომელ HDMI პორტზე არის დაკავშირებული დისპლეი Raspberry Pi-ზე. to): cat /sys/class/drm/card?-HDMI-A-1/edid თუ არ არსებობს საქაღალდეები სახელწოდებით card?-HDMI-A-1 ან მსგავსი, მაშინ სავარაუდოა, რომ ეკრანიდან EDID ვერ წაიკითხება მოწყობილობა.
შენიშვნა
იმ შემთხვევაში, როდესაც EDID წარმატებით იკითხება, არის სასარგებლო ვირტუალური file იმავე საქაღალდეში, რომელსაც ეწოდება რეჟიმები, რომელიც აჩვენებს ყველა შესაძლო რეჟიმს, რომელსაც EDID აცხადებს, რომ მოწყობილობა მხარს უჭერს.
შერბილებები
Hotplug აღმოჩენის წარუმატებლობა თუ ორივე firmware და KMS ვერ პოულობენ მიმაგრებულ მონიტორს, ეს შეიძლება იყოს Hotplug-ის გამოვლენის წარუმატებლობა - ანუ Raspberry Pi-მ არ იცის, რომ მოწყობილობა ჩართულია, ამიტომ არ ამოწმებს EDID-ს. ეს შეიძლება გამოწვეული იყოს ცუდი კაბელის ან დისპლეის მოწყობილობით, რომელიც არ ამტკიცებს ცხელ დანამატს სწორად. თქვენ შეგიძლიათ აიძულოთ hotplug-ის აღმოჩენა ბირთვის ბრძანების ხაზის შეცვლით 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 ჩანაწერის გამოყენებას hotplug-ის ამოცნობის დასაყენებლად, მაგრამ დაწერის დროს ეს არ მუშაობს KMS-თან. ის შეიძლება იყოს მხარდაჭერილი მომავალი firmware გამოშვებებში. config.txt ჩანაწერი არის hdmi_force_hotplug, და შეგიძლიათ მიუთითოთ კონკრეტული HDMI პორტი, რომელზეც გამოიყენება hotplug ან 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-ის მიღება დისპლეის მოწყობილობიდან და მისი შენახვა Raspberry Pi-ს SD ბარათზე, რათა ის გამოიყენოს KMS-მა დისპლეის მოწყობილობიდან EDID-ის მიღების ნაცვლად. უმარტივესი ვარიანტი აქ არის იმის უზრუნველყოფა, რომ დისპლეის მოწყობილობა მუშაობს და მუშაობს სწორ AV შეყვანაზე და რომ Raspberry Pi-მ სწორად გაუშვა HDMI სისტემა. ტერმინალიდან ახლა შეგიძლიათ დააკოპიროთ EDID a file შემდეგი ბრძანებით: sudo cp /sys/class/drm/card?-HDMI-A-1/edid /lib/firmware/myedid.dat თუ რაიმე მიზეზით EDID არ არის, შეგიძლიათ ჩატვირთოთ მოწყობილობა არა -KMS რეჟიმი, რომელიც წარმატებით ჩაიტვირთება სამუშაო მაგიდაზე ან კონსოლზე, შემდეგ დააკოპირეთ EDID, რომელსაც firmware (იმედია) წარმატებით წაიკითხავს 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-ზე.
- გადატვირთვა.
შენიშვნა
თუ იყენებთ ა file-დაფუძნებულია EDID-ზე, მაგრამ მაინც გაქვთ პრობლემები Hotplug-თან, შეგიძლიათ აიძულოთ hotplug-ის გამოვლენა ბირთვის ბრძანების ხაზში შემდეგის დამატებით: video=HDMI-A-1:D.
დოკუმენტები / რესურსები
![]() |
RaspberryPi KMS HDMI გამომავალი გრაფიკის დრაივერი [pdf] მომხმარებლის სახელმძღვანელო KMS, HDMI გამომავალი გრაფიკის დრაივერი, KMS HDMI გამომავალი, გრაფიკის დრაივერი, KMS HDMI გამომავალი გრაფიკის დრაივერი, დრაივერი |