RaspberryPi KMS HDMI آئوٽ پٽ گرافڪس ڊرائيور
ڪولوفون
Raspberry Pi Ltd. تعمير جي تاريخ: 2020-2023-4.0 تعميراتي نسخو: گيتاش: c4.0fe2023c-clean
قانوني ڊسڪليمر نوٽيس
RASPBRY PI پروڊڪٽس لاءِ ٽيڪنيڪل ۽ قابل اعتماد ڊيٽا (جنهن ۾ ڊيٽا شيٽ شامل آهن) جيئن ته وقت کان وقت تائين تبديل ٿيل آهي ("وسيلا") راسبيري پي آئي لميٽيڊ ("آر پي ايل"") INYP RESS INC پاران مهيا ڪيل آهن. لوڊنگ، پر محدود ناهي ڏانهن، خاص مقصد لاءِ واپار جي قابليت ۽ فٽنس جي مضمر وارنٽي رد ڪئي وئي آهي. قابل اطلاق قانون طرفان اجازت ڏنل وڌ ۾ وڌ حد تائين ڪنهن به صورت ۾ RPL ڪنهن به سڌي، اڻ سڌي، اتفاقي، خاص، مثالي، يا نتيجي ۾ ٿيندڙ نقصانن لاءِ ذميوار نه هوندو، بي ترتيب UTE سامان يا خدمتون؛ استعمال جو نقصان، ڊيٽا ، يا منافعو؛ يا ڪاروباري مداخلت) بهرحال سبب ۽ ذميواري جي ڪنهن به نظريي تي، ڇا معاهدي ۾، سخت ذميواري، يا ٽارٽ (بشمول غفلت يا ٻي صورت ۾) ڪنهن به صورت ۾، اسان جي وچ ۾ ڪنهن به صورت ۾ جيتوڻيڪ امڪان جي صلاح ڏني اهڙي نقصان جي. RPL ڪنهن به وقت ۽ بغير ڪنهن به اطلاع جي وسيلن يا انهن ۾ بيان ڪيل ڪنهن به پروڊڪٽ ۾ ڪا به واڌارو، سڌارا، سڌارا يا ڪا ٻي ترميم ڪرڻ جو حق محفوظ رکي ٿو. وسيلن جو مقصد ماهر استعمال ڪندڙن لاءِ آهي جيڪي مناسب سطح جي ڊيزائن جي ڄاڻ سان. استعمال ڪندڙ صرف انهن جي چونڊ ۽ وسيلن جي استعمال ۽ انهن ۾ بيان ڪيل مصنوعات جي ڪنهن به درخواست جا ذميوار آهن. استعمال ڪندڙ قبول ڪري ٿو RPL کي سڀني ذميدارين، خرچن، نقصانن يا ٻين نقصانن جي خلاف بي ضرر رکڻ لاءِ. ٻين سڀني وسيلن جو استعمال منع ٿيل آهي. ڪو به لائسنس ڪنهن ٻئي RPL يا ٻي ٽئين پارٽي دانشورانه ملڪيت جي حق کي نه ڏنو ويو آهي. اعليٰ خطرن جون سرگرميون. Raspberry Pi پروڊڪٽس ٺهيل، ٺاهيل يا خطرناڪ ماحول ۾ استعمال لاءِ تيار نه ڪيون ويون آهن جن کي ناڪام محفوظ ڪارڪردگي جي ضرورت هوندي آهي، جهڙوڪ ايٽمي سهولتن جي آپريشن ۾، جهاز جي نيويگيشن يا ڪميونيڪيشن سسٽم، ايئر ٽريفڪ ڪنٽرول، هٿيارن جا نظام يا حفاظتي نازڪ ايپليڪيشنون (بشمول لائف سپورٽ) سسٽم ۽ ٻيا طبي آلات)، جن ۾ مصنوعات جي ناڪامي سڌو سنئون موت، ذاتي زخم يا سخت جسماني يا ماحولياتي نقصان ("هاء ريسڪ سرگرميون") جي ڪري سگھي ٿي. RPL خاص طور تي تيز خطري جي سرگرمين لاءِ فٽنيس جي ڪنهن به ظاهري يا تقاضا وارنٽي کي رد ڪري ٿو ۽ هاءِ ريسڪ سرگرمين ۾ Raspberry Pi پروڊڪٽس جي استعمال يا شموليت جي ڪا به ذميواري قبول نه ڪندو آهي. Raspberry Pi پروڊڪٽس RPL جي معياري شرطن جي تابع آهن. RPL جي وسيلن جي فراهمي آر پي ايل جي معياري شرطن کي وڌائي يا ٻي صورت ۾ تبديل نه ڪري ٿي پر انهن ۾ بيان ڪيل اعلانن ۽ وارنٽيز تائين محدود ناهي.
دستاويزي نسخي جي تاريخ
دستاويز جو دائرو
هي دستاويز هيٺين Raspberry Pi شين تي لاڳو ٿئي ٿو
تعارف
KMS (Kernel Mode Setting) گرافڪس ڊرائيور جي تعارف سان، Raspberry Pi Ltd وڊيو آئوٽ پُٽ سسٽم جي ورثي واري فرم ویئر ڪنٽرول کان ۽ وڌيڪ اوپن سورس گرافڪس سسٽم ڏانهن منتقل ٿي رهي آهي. بهرحال، اهو آيو آهي پنهنجي سيٽ جي چئلينج سان. هي دستاويز ڪنهن به مسئلن سان مدد ڪرڻ جو ارادو ڪيو ويو آهي جيڪو پيدا ٿي سگهي ٿو جڏهن نئين سسٽم ڏانهن منتقل ٿي وڃي. هي وائيٽ پيپر فرض ڪري ٿو ته Raspberry Pi هلائي رهي آهي Raspberry Pi OS، ۽ مڪمل طور تي تازه ترين فرم ویئر ۽ ڪرنل سان گڏ آهي.
اصطلاحات
DRM: سڌو رينڊرنگ مئنيجر، لينڪس ڪنيل جو هڪ سبسسٽم استعمال ڪيو ويو گرافڪس پروسيسنگ يونٽس (GPUs) سان رابطو ڪرڻ لاءِ. FKMS ۽ KMS سان شراڪت ۾ استعمال ڪيو ويو.
DVI: HDMI جو اڳوڻو، پر آڊيو صلاحيتن کان سواء. HDMI کان DVI ڪيبل ۽ اڊاپٽر موجود آهن راسبي پي ڊيوائس کي DVI ليس ڊسپلي سان ڳنڍڻ لاءِ.
ايڊڊ: توسيع ٿيل ڊسپلي سڃاڻپ ڊيٽا. ڊسپلي ڊوائيسز لاء هڪ ميٽا ڊيٽا فارميٽ انهن جي صلاحيتن کي بيان ڪرڻ لاء هڪ وڊيو ذريعو ڏانهن. EDID ڊيٽا جي جوڙجڪ ۾ ٺاهيندڙ جو نالو ۽ سيريل نمبر، پراڊڪٽ جو قسم، جسماني ڊسپلي سائيز، ۽ ڊسپلي جي مدد سان وقت شامل آهن، ڪجهه گهٽ مفيد ڊيٽا سان گڏ. ڪجهه ڊسپلين ۾ خراب EDID بلاڪ هوندا، جيڪي مسئلا پيدا ڪري سگھن ٿا جيڪڏهن اهي خرابيون ڊسپلي سسٽم طرفان هٿ نه ڪيا وڃن.
FKMS (vc4-fkms-v3d): جعلي ڪرنل موڊ سيٽنگ. جڏهن ته فرم ویئر اڃا تائين گهٽ سطح جي هارڊويئر کي سنڀاليندو آهي (مثال طورampلي، هاءِ ڊيفينيشن ملٽي ميڊيا انٽرفيس (HDMI) بندرگاهن، ڊسپلي سيريل انٽرفيس (DSI) وغيره، معياري لينڪس لائبريريون استعمال ڪيون وينديون آهن ڪنيل ۾. 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 ڊرائيور". وراثت گرافڪس اسٽيڪ: هڪ گرافڪس اسٽيڪ مڪمل طور تي لاڳو ڪيو ويو وڊيو ڪور فرم ویئر بلب ۾ جيڪو لينڪس فريم بفر ڊرائيور طرفان ظاهر ڪيو ويو آهي. ورثي گرافڪس اسٽيڪ استعمال ڪيو ويو آهي اڪثريت Raspberry Pi Ltd ڊوائيسز ۾ تازو جيستائين؛ اهو هاڻي آهستي آهستي (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 اسٽيڪ ٻئي استعمال ڪندا آهن فرم ویئر ۾ وڊيو ڪور گرافڪس پروسيسر HDMI موجودگي ۽ ملڪيت جي جانچ ڪرڻ لاءِ. ان جي ابتڙ، KMS استعمال ڪري ٿو مڪمل طور تي کليل ذريعو، ARM-سائڊ عمل درآمد. هن جو مطلب آهي ته ٻن سسٽم لاء ڪوڊ جا بنياد مڪمل طور تي مختلف آهن، ۽ ڪجهه حالتن ۾ اهو نتيجو ٿي سگهي ٿو ٻن طريقن جي وچ ۾ مختلف رويي جو نتيجو. HDMI ۽ DVI ڊوائيسز پاڻ کي ماخذ ڊيوائس تائين سڃاڻيندا آهن ميٽاداٽا جو هڪ ٽڪرو استعمال ڪندي جنهن کي EDID بلاڪ سڏيو ويندو آهي. اهو هڪ I2C ڪنيڪشن ذريعي ڊسپلي ڊيوائس مان سرچ ڊيوائس ذريعي پڙهيو ويندو آهي، ۽ اهو مڪمل طور تي آخري صارف لاءِ شفاف هوندو آهي جيئن اهو گرافڪس اسٽيڪ ذريعي ڪيو ويندو آهي. EDID بلاڪ ۾ وڏي پئماني تي معلومات شامل آهي، پر اهو بنيادي طور تي استعمال ڪيو ويندو آهي وضاحت ڪرڻ لاءِ ته ڪهڙن قراردادن کي سپورٽ ڪري ٿو، تنهن ڪري Raspberry Pi کي سيٽ ڪري سگهجي ٿو هڪ مناسب ريزوليوشن ڪڍڻ لاءِ.
HDMI بوٽنگ دوران ڪيئن ڊيل ڪيو ويو آهي
جڏهن پهريون ڀيرو طاقتور، Raspberry Pi ڪيترن ئي s ذريعي وڃي ٿوtages، بوٽ s طور سڃاتو وڃي ٿوtages:
- پهريون - ايسtagاي، ROM تي ٻڌل بوٽ لوڊر شروع ٿئي ٿو ويڊيو ڪور 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 فرمائيندڙ (start.elf) لوڊ ۽ هلائي ٿو. هي HDMI سسٽم جو ڪنٽرول سنڀاليندو، ڪنهن به منسلڪ ڊسپلي مان EDID بلاڪ پڙهندو، ۽ انهن ڊسپلي تي اندردخش اسڪرين ڏيکاريندو.
- لينڪس ڪنيل بوٽن
- ڪرنل بوٽ دوران، KMS فرم ویئر کان HDMI سسٽم جو ڪنٽرول سنڀاليندو. هڪ ڀيرو ٻيهر EDID بلاڪ ڪنهن به منسلڪ ڊسپلي مان پڙهيو ويندو آهي، ۽ اها معلومات لينڪس ڪنسول ۽ ڊيسڪ ٽاپ کي سيٽ ڪرڻ لاء استعمال ڪيو ويندو آهي.
ممڪن مسئلا ۽ علامات
سڀ کان وڌيڪ عام ناڪامي جي علامت جو تجربو ڪيو ويو آهي جڏهن KMS ڏانهن منتقل ڪيو ويو آهي شروعاتي طور تي سٺو بوٽ، بوٽ لوڊر اسڪرين سان ۽ پوء رينبو اسڪرين ظاهر ٿيڻ سان، ڪجهه سيڪنڊن کان پوء ڊسپلي ڪارو ٿيڻ ۽ واپس نه اچڻ جي پٺيان. اهو نقطو جنهن تي ڊسپلي ڪارا ٿي وڃي ٿي حقيقت ۾ اهو نقطو آهي ڪرنل بوٽنگ جي عمل دوران جڏهن KMS ڊرائيور فرم ويئر مان ڊسپلي کي هلائڻ تي قبضو ڪري ٿو. Raspberry Pi هن وقت HDMI آئوٽ کان سواءِ هر لحاظ کان هلندي آهي، تنهن ڪري جيڪڏهن SSH فعال آهي ته پوءِ توهان کي ان رستي ذريعي ڊوائيس ۾ لاگ ان ٿيڻ گهرجي. گرين SD ڪارڊ جي رسائي LED عام طور تي ڪڏهن ڪڏهن ڦلڪي ويندي. اهو پڻ ممڪن آهي ته توهان ڪنهن به HDMI پيداوار نه ڏسندا؛ نه بوٽ لوڊر ڊسپلي، ۽ نه اندردخش اسڪرين. اهو عام طور تي هڪ هارڊويئر غلطي سان منسوب ڪري سگهجي ٿو.
غلطي جي تشخيص
ڪابه HDMI ٻاھر نه آھي
اهو ممڪن آهي ته ڊوائيس مڪمل طور تي بوٽ نه ڪيو آهي، پر اهو هن سفيد پيپر جي ريمٽ کان ٻاهر آهي. فرض ڪيو ته مشاهدو رويي هڪ ڊسپلي مسئلو آهي، بوٽنگ جي عمل جي ڪنهن به حصي دوران HDMI آئوٽ جي کوٽ عام طور تي هارڊويئر جي غلطي جي سبب آهي. اتي ڪيترائي ممڪن اختيارن جا آھن:
- ناقص HDMI ڪيبل
- نئين ڪيبل جي ڪوشش ڪريو. ڪجهه ڪيبل، خاص طور تي تمام سستا، شايد سڀني گهربل ڪميونيڪيشن لائينن تي مشتمل نه هجن (مثال طور هاٽ پلگ) Raspberry Pi لاءِ ڊسپلي کي ڪاميابي سان ڳولڻ لاءِ.
- Raspberry Pi تي خراب HDMI پورٽ
- جيڪڏهن توهان Raspberry Pi 4 استعمال ڪري رهيا آهيو، ٻئي HDMI پورٽ جي ڪوشش ڪريو.
- مانيٽر تي خراب HDMI پورٽ
- ڪڏهن ڪڏهن مانيٽر يا ٽي وي تي HDMI بندرگاهن کي ختم ڪري سگهي ٿو. ڪوشش ڪريو هڪ مختلف بندرگاهه جيڪڏهن ڊوائيس وٽ آهي.
- گهڻو ڪري، هڪ ڊسپلي ڊيوائس صرف EDID ڊيٽا مهيا ڪري سگهي ٿي جڏهن آن هجي، يا جڏهن صحيح پورٽ چونڊيو وڃي. چيڪ ڪرڻ لاء، پڪ ڪريو ته ڊوائيس تي آهي ۽ صحيح ان پٽ پورٽ چونڊيو ويو آهي.
- ڊسپلي ڊيوائس هاٽ پلگ ڳولڻ واري لائن تي زور نه ڏيندي
شروعاتي ٻاھر، پوء اسڪرين ڪارو ٿي ويندو آھي
جيڪڏهن ڊسپلي مٿي اچي ٿي پر پوءِ لينڪس ڪنيل بوٽ دوران بند ٿي وڃي ٿي، اتي ڪيترائي ممڪن سبب آهن، ۽ اهي عام طور تي ڊسپلي ڊوائيس مان EDID پڙهڻ واري مسئلي سان لاڳاپيل آهن. جيئن مٿي ڏنل سيڪشن مان ڏسي سگھجي ٿو بوٽ جي ترتيب سان معاملو ڪندي، EDID بوٽ جي عمل دوران ڪيترن ئي مختلف پوائنٽن تي پڙهي ويندي آهي، ۽ انهن مان هر هڪ سافٽ ويئر جي مختلف ٽڪرا ذريعي ڪيو ويندو آهي. حتمي پڙھڻ، جڏھن KMS سنڀالي ٿو، اڻڄاتل اپ اسٽريم لينڪس ڪنيل ڪوڊ ذريعي ڪيو ويندو آھي، ۽ اھو ناقص EDID فارميٽ ۽ اڳوڻي فرم ویئر سافٽ ويئر کي سنڀاليندو آھي. اهو ئي سبب آهي ته ڊسپلي صحيح طريقي سان ڪم ڪرڻ بند ڪري سگهي ٿي هڪ ڀيرو KMS ختم ٿي ويندو. تصديق ڪرڻ جا ڪيترائي طريقا آهن ته ڇا KMS EDID پڙهڻ ۾ ناڪام ٿي رهيو آهي، ۽ انهن مان ٻه هن ريت آهن.
چيڪ ڪريو بوٽ لوڊر تشخيصي اسڪرين (صرف Raspberry Pi 4)
نوٽ
بوٽ لوڊر جي تشخيص کي تازو بوٽ لوڊر جي ضرورت آهي. توھان ھنن ھدايتن کي استعمال ڪندي جديد ورجن ڏانھن اپ گريڊ ڪري سگھو ٿا: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader ايس ڊي ڪارڊ کي هٽايو ۽ ريبوٽ ڪريو Raspberry Pi. انسٽال او ايس اسڪرين تي ESC کي دٻايو، ۽ تشخيصي اسڪرين کي ڊسپلي ڊوائيس تي ظاهر ٿيڻ گهرجي. ڊسپلي تي ھڪڙي لائن ھئڻ گھرجي جيڪا ڊسپلي سان شروع ٿئي: - مثال لاءِampاليزي:
- ڏيکاريو: DISP0: HDMI HPD=1 EDID=OK #2 DISP1: HPD=0 EDID=none #0
Raspberry Pi 4 مان هي آئوٽ ڏيکاري ٿو ته سسٽم HDMI پورٽ 0 تي هڪ HDMI ڊسپلي کي ڳولي ٿو، هاٽ پلگ جي سڃاڻپ تي زور ڏنو ويو آهي، ۽ EDID صحيح پڙهي وئي هئي. HDMI پورٽ 1 تي ڪجھ به نه مليو.
چيڪ ڪريو ته ڇا KMS سسٽم هڪ EDID معلوم ڪيو آهي
ھن کي چيڪ ڪرڻ لاءِ توھان کي لاگ ان ٿيڻو پوندو Raspberry Pi ڊيوائس تي SSH تي مختلف ڪمپيوٽر کان. SSH فعال ٿي سگھي ٿو جڏهن SD ڪارڊ تصوير ٺاھيو Raspberry Pi Imager سان، استعمال ڪندي ترقي يافته سيٽنگون اختيارن کي. هڪ SD ڪارڊ تي SSH کي فعال ڪرڻ جيڪا اڳ ۾ ئي تصوير ڪئي وئي آهي ٿورو وڌيڪ پيچيده آهي: توهان کي هڪ ٻيو ڪمپيوٽر استعمال ڪرڻ جي ضرورت پوندي file ssh نالي بوٽ ورشن کي. SD ڪارڊ کي اصل Raspberry Pi ۾ تبديل ڪريو ۽ ان کي طاقت ڏيو. هن کي SSH کي فعال ڪرڻ گهرجي، DHCP پاران مختص ڪيل IP پتي سان. هڪ دفعو لاگ ان ٿيو، هيٺ ڏنل ٽائيپ ڪريو ٽرمينل پرامپٽ تي ڪنهن به 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 پورٽ بيان ڪري سگهو ٿا جيڪو هاٽ پلگ يا ته استعمال ڪرڻ تي لاڳو ٿئي ٿو 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
ٺاھڻ a file شروع کان EDID ميٽا ڊيٽا تي مشتمل عام طور تي ممڪن ناهي، ۽ هڪ موجود استعمال ڪرڻ تمام آسان آهي. اهو عام طور تي هڪ ڊسپلي ڊيوائس مان EDID حاصل ڪرڻ ۽ ان کي Raspberry Pi جي SD ڪارڊ تي ذخيرو ڪرڻ ممڪن آهي ته جيئن اهو ڊسپلي ڊيوائس مان EDID حاصل ڪرڻ بدران KMS ذريعي استعمال ڪري سگهجي. ھتي سڀ کان آسان اختيار آھي پڪ ڪرڻ لاءِ ته ڊسپلي ڊيوائس ھلندڙ آھي ۽ صحيح AV ان پٽ تي، ۽ اھو ته Raspberry Pi شروع ڪيو آھي HDMI سسٽم صحيح طرح سان. ٽرمينل مان، توھان ھاڻي EDID کي نقل ڪري سگھو ٿا a file ھيٺ ڏنل حڪم سان: sudo cp /sys/class/drm/card?-HDMI-A-1/edid /lib/firmware/myedid.dat جيڪڏھن ڪنھن سبب جي ڪري EDID موجود نه آھي، توھان ڊوائيس کي بوٽ ڪري سگھو ٿا غير -KMS موڊ جيڪو ڊيسڪ ٽاپ يا ڪنسول تي بوٽ ڪرڻ ۾ ڪامياب ٿئي ٿو، پوء EDID کي نقل ڪريو ته فرم ویئر (اميد سان) ڪاميابيء سان پڙھندو. file.
- وراثت گرافڪس موڊ ڏانھن بوٽ ڪريو.
- بوٽ ورشن ۾ config.txt کي ايڊٽ ڪريو، سوڊو استعمال ڪندي پنھنجي ايڊيٽر کي ھلائڻ جي پڪ ڪريو، ۽ ان لائن کي تبديل ڪريو جيڪا چوي ٿي dtoverlay=vc4-kms-v3d کي #dtoverlay=vc4-kms-v3d.
- ريبوٽ.
- ڊيسڪ ٽاپ يا لاگ ان ڪنسول هاڻي ظاهر ٿيڻ گهرجي.
- ٽرمينل کي استعمال ڪندي، EDID کي منسلڪ ڊسپلي ڊيوائس مان نقل ڪريو a file هيٺ ڏنل حڪم سان:
- tvservice -d myedid.dat sudo mv myedid.dat /lib/firmware/
استعمال ڪندي a file-based EDID ڊسپلي ڊيوائس کان پڇا ڳاڇا ڪرڻ بجاءِ Edit /boot/cmdline.txt، سوڊو استعمال ڪندي پنھنجي ايڊيٽر کي ھلائڻ جي پڪ ڪريو، ۽ ھيٺيون ڪمانڊ لائن ۾ شامل ڪريو: drm.edid_firmware=myedid.dat توھان EDID کي لاڳو ڪري سگھو ٿا. مخصوص HDMI پورٽ ھيٺ ڏنل آھي: drm.edid_firmware=HDMI-A-1:myedid.dat جيڪڏھن ضروري ھجي، ھيٺ ڏنل ڪم ڪندي KMS موڊ ۾ واپس بوٽ ڪريو:
- بوٽ ورشن ۾ config.txt کي ايڊٽ ڪريو، سوڊو استعمال ڪندي پنھنجي ايڊيٽر کي ھلائڻ جي پڪ ڪريو، ۽ ان لائن کي تبديل ڪريو جيڪا چوي ٿي #dtoverlay=vc4-kms-v3d کان dtoverlay=vc4-kms-v3d.
- ريبوٽ.
نوٽ
جيڪڏهن توهان استعمال ڪندا آهيو a file-based EDID، پر اڃا تائين hotplug سان مسئلا آهن، توهان هيٺ ڏنل شامل ڪري kernel ڪمانڊ لائن ۾ شامل ڪري هاٽ پلگ ڳولڻ تي مجبور ڪري سگهو ٿا: video=HDMI-A-1:D.
دستاويز / وسيلا
![]() |
RaspberryPi KMS HDMI آئوٽ پٽ گرافڪس ڊرائيور [pdf] استعمال ڪندڙ دستياب KMS، HDMI آئوٽ پٽ گرافڪس ڊرائيور، KMS HDMI آئوٽ پٽ، گرافڪس ڊرائيور، KMS HDMI آئوٽ پٽ گرافڪس ڊرائيور، ڊرائيور |