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 تعمیراتی ورژن: گیتاش: c65fe9c-clean
قانونی دستبرداری کا نوٹس
Raspberry PI پروڈکٹس (بشمول ڈیٹا شیٹس) کے لیے تکنیکی اور قابل اعتماد ڈیٹا جیسا کہ وقتاً فوقتاً ترمیم کیا جاتا ہے ("وسائل") RASPBERRY PI LTD ("RPL") کے ذریعے فراہم کیے جاتے ہیں، BEXIMPLIDISS کے ذریعے فراہم کیے جاتے ہیں۔ کے لیے، کسی خاص مقصد کے لیے تجارتی قابلیت اور فٹنس کی مضمر وارنٹیوں کو مسترد کر دیا گیا ہے۔ قابل اطلاق قانون کے ذریعہ اجازت دی گئی زیادہ سے زیادہ حد تک کسی بھی صورت میں RPL کسی بھی براہ راست، بالواسطہ، حادثاتی، خصوصی، مثالی، یا نتیجے میں ہونے والے نقصانات کے لیے ذمہ دار نہیں ہوگا , یا منافع؛ یا کاروباری رکاوٹ) بہر حال اور ذمہ داری کے کسی نظریہ پر، چاہے معاہدے میں ہو، سخت ذمہ داری ہو، یا ٹارٹ (بشمول غفلت یا کسی اور صورت میں) کسی بھی صورت میں، کسی بھی صورت میں، کسی بھی صورت میں کسی بھی قسم کی ذمہ داری کے استعمال کے سلسلے میں اس طرح کے نقصان کے. RPL وسائل یا ان میں بیان کردہ کسی بھی مصنوعات میں کسی بھی وقت اور بغیر کسی اطلاع کے کوئی بھی اضافہ، بہتری، تصحیح یا کوئی اور ترمیم کرنے کا حق محفوظ رکھتا ہے۔ وسائل ڈیزائن کے علم کی مناسب سطح کے حامل ہنر مند صارفین کے لیے بنائے گئے ہیں۔ صارفین اپنے وسائل کے انتخاب اور استعمال اور ان میں بیان کردہ مصنوعات کے کسی بھی اطلاق کے لیے مکمل طور پر ذمہ دار ہیں۔ صارف RPL کو وسائل کے استعمال سے پیدا ہونے والے تمام ذمہ داریوں، اخراجات، نقصانات یا دیگر نقصانات کی تلافی اور روکے رکھنے پر متفق ہے۔ RPL صارفین کو وسائل کو صرف Raspberry Pi مصنوعات کے ساتھ استعمال کرنے کی اجازت دیتا ہے۔ وسائل کے دیگر تمام استعمال ممنوع ہیں۔ کسی دوسرے RPL یا دوسرے فریق ثالث کے حقوق دانش کو کوئی لائسنس نہیں دیا جاتا ہے۔ ہائی رسک سرگرمیاں۔ Raspberry Pi پروڈکٹس کو خطرناک ماحول میں استعمال کرنے کے لیے ڈیزائن، تیار یا ارادہ نہیں کیا گیا ہے جس میں ناکام محفوظ کارکردگی کی ضرورت ہوتی ہے، جیسے جوہری تنصیبات، ہوائی جہاز کے نیویگیشن یا مواصلاتی نظام، ہوائی ٹریفک کنٹرول، ہتھیاروں کے نظام یا حفاظت کے لیے اہم ایپلی کیشنز (بشمول لائف سپورٹ) سسٹمز اور دیگر طبی آلات)، جس میں مصنوعات کی ناکامی براہ راست موت، ذاتی چوٹ یا شدید جسمانی یا ماحولیاتی نقصان ("ہائی رسک ایکٹیویٹیز") کا باعث بن سکتی ہے۔ RPL خاص طور پر ہائی رسک سرگرمیوں کے لیے فٹنس کی کسی بھی واضح یا مضمر وارنٹی کو مسترد کرتا ہے اور ہائی رسک سرگرمیوں میں Raspberry Pi مصنوعات کے استعمال یا شمولیت کے لیے کوئی ذمہ داری قبول نہیں کرتا ہے۔ Raspberry Pi مصنوعات RPL کی معیاری شرائط کے تحت فراہم کی جاتی ہیں۔ RPL کی وسائل کی فراہمی RPL کی معیاری شرائط میں توسیع یا ترمیم نہیں کرتی ہے جس میں ان میں بیان کردہ دستبرداری اور وارنٹی شامل ہیں لیکن ان تک محدود نہیں۔
دستاویز کے ورژن کی تاریخ
دستاویز کا دائرہ کار
یہ دستاویز درج ذیل Raspberry Pi مصنوعات پر لاگو ہوتی ہے۔
تعارف
KMS (کرنل موڈ سیٹنگ) گرافکس ڈرائیور کے متعارف ہونے کے ساتھ، Raspberry Pi Ltd ویڈیو آؤٹ پٹ سسٹم کے لیگیسی فرم ویئر کنٹرول سے ہٹ کر مزید اوپن سورس گرافکس سسٹم کی طرف بڑھ رہا ہے۔ تاہم، یہ اپنے ہی چیلنجوں کے ساتھ آیا ہے۔ اس دستاویز کا مقصد نئے سسٹم میں منتقل ہونے پر پیدا ہونے والے کسی بھی مسائل میں مدد کرنا ہے۔ یہ وائٹ پیپر فرض کرتا ہے کہ Raspberry Pi Raspberry Pi OS چلا رہا ہے، اور جدید ترین فرم ویئر اور کرنل کے ساتھ مکمل طور پر اپ ٹو ڈیٹ ہے۔
اصطلاحات
DRM: ڈائریکٹ رینڈرنگ مینیجر، لینکس کرنل کا ایک ذیلی نظام جو گرافکس پروسیسنگ یونٹس (GPUs) کے ساتھ بات چیت کے لیے استعمال ہوتا ہے۔ FKMS اور KMS کے ساتھ شراکت میں استعمال کیا جاتا ہے۔
DVI: HDMI کا پیشرو، لیکن آڈیو صلاحیتوں کے بغیر۔ HDMI سے DVI کیبلز اور اڈاپٹر Raspberry Pi ڈیوائس کو DVI سے لیس ڈسپلے سے جوڑنے کے لیے دستیاب ہیں۔
ترمیم: توسیعی ڈسپلے شناختی ڈیٹا۔ ڈسپلے ڈیوائسز کے لیے ایک میٹا ڈیٹا فارمیٹ جو ان کی صلاحیتوں کو ویڈیو سورس میں بیان کرتا ہے۔ 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 ڈرائیور" کہا جاتا ہے۔ میراثی گرافکس اسٹیک: ایک گرافکس اسٹیک مکمل طور پر VideoCore فرم ویئر بلاب میں لاگو کیا گیا ہے جسے لینکس فریم بفر ڈرائیور نے بے نقاب کیا ہے۔ میراثی گرافکس اسٹیک کو 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 سسٹم کو مناسب طریقے سے ترتیب دینے کا ذمہ دار ہے۔ Legacy اور FKMS اسٹیک دونوں HDMI کی موجودگی اور خصوصیات کو چیک کرنے کے لیے VideoCore گرافکس پروسیسر میں فرم ویئر کا استعمال کرتے ہیں۔ اس کے برعکس، KMS مکمل طور پر اوپن سورس، ARM-سائیڈ نفاذ کا استعمال کرتا ہے۔ اس کا مطلب ہے کہ دونوں نظاموں کے لیے کوڈ کی بنیادیں بالکل مختلف ہیں، اور کچھ حالات میں اس کے نتیجے میں دونوں طریقوں کے درمیان مختلف رویے ہو سکتے ہیں۔ HDMI اور DVI ڈیوائسز میٹا ڈیٹا کے ایک ٹکڑے کا استعمال کرتے ہوئے خود کو ماخذ ڈیوائس سے شناخت کرتے ہیں جسے EDID بلاک کہتے ہیں۔ اسے ڈسپلے ڈیوائس سے سورس ڈیوائس کے ذریعے I2C کنکشن کے ذریعے پڑھا جاتا ہے، اور یہ آخری صارف کے لیے مکمل طور پر شفاف ہے جیسا کہ گرافکس اسٹیک کے ذریعے کیا جاتا ہے۔ EDID بلاک میں بہت زیادہ معلومات ہوتی ہیں، لیکن یہ بنیادی طور پر یہ بتانے کے لیے استعمال ہوتا ہے کہ ڈسپلے کن ریزولوشنز کو سپورٹ کرتا ہے، لہذا Raspberry Pi کو ایک مناسب ریزولوشن آؤٹ پٹ کرنے کے لیے ترتیب دیا جا سکتا ہے۔
بوٹنگ کے دوران HDMI سے کیسے نمٹا جاتا ہے۔
جب پہلی بار پاور آن ہوتی ہے تو، Raspberry Pi کئی s سے گزرتی ہے۔tages، بوٹ ایس کے نام سے جانا جاتا ہے۔tages:
- پہلا-ایسtage، ROM پر مبنی بوٹ لوڈر VideoCore GPU شروع کرتا ہے۔
- سیکنڈ-stage بوٹ لوڈر (یہ Raspberry Pi 4 سے پہلے کے آلات پر SD کارڈ پر اور Raspberry Pi 4 پر SPI EEPROM میں bootcode.bin ہے):
- Raspberry Pi 4 پر، سیکنڈ ایسtage بوٹ لوڈر HDMI سسٹم کو شروع کرے گا، ممکنہ طریقوں کے لیے ڈسپلے سے پوچھ گچھ کرے گا، پھر ڈسپلے کو مناسب طریقے سے ترتیب دے گا۔ اس مقام پر ڈسپلے کو بنیادی تشخیصی ڈیٹا فراہم کرنے کے لیے استعمال کیا جاتا ہے۔
- بوٹ لوڈر تشخیصی ڈسپلے (07 دسمبر 2022 کے بعد) کسی بھی منسلک ڈسپلے کی حیثیت کو ظاہر کرے گا (چاہے ہاٹ پلگ ڈیٹیکٹ (HPD) موجود ہے، اور آیا ڈسپلے سے EDID بلاک برآمد ہوا ہے)۔
- VideoCore فرم ویئر (start.elf) لوڈ اور چلایا جاتا ہے۔ یہ HDMI سسٹم کا کنٹرول سنبھال لے گا، کسی بھی منسلک ڈسپلے سے EDID بلاک کو پڑھے گا، اور ان ڈسپلے پر اندردخش اسکرین دکھائے گا۔
- لینکس کرنل بوٹ کرتا ہے۔
- کرنل بوٹ کے دوران، KMS فرم ویئر سے HDMI سسٹم کا کنٹرول سنبھال لے گا۔ ایک بار پھر EDID بلاک کو کسی بھی منسلک ڈسپلے سے پڑھا جاتا ہے، اور یہ معلومات لینکس کنسول اور ڈیسک ٹاپ کو ترتیب دینے کے لیے استعمال ہوتی ہے۔
ممکنہ مسائل اور علامات
KMS میں منتقل ہونے کے دوران ناکامی کی سب سے عام علامت ابتدائی طور پر ایک اچھا بوٹ ہے، جس میں بوٹ لوڈر اسکرین اور پھر اندردخش اسکرین نمودار ہوتی ہے، جس کے بعد کچھ سیکنڈ کے بعد ڈسپلے سیاہ ہوجاتا ہے اور دوبارہ آن نہیں ہوتا ہے۔ وہ نقطہ جس پر ڈسپلے سیاہ ہو جاتا ہے درحقیقت کرنل بوٹنگ کے عمل کے دوران وہ نقطہ ہوتا ہے جب KMS ڈرائیور فرم ویئر سے ڈسپلے کو چلاتا ہے۔ Raspberry Pi فی الحال HDMI آؤٹ پٹ کے علاوہ تمام معاملات میں چل رہا ہے، لہذا اگر SSH فعال ہے تو آپ کو اس راستے سے ڈیوائس میں لاگ ان کرنے کے قابل ہونا چاہیے۔ گرین ایس ڈی کارڈ تک رسائی ایل ای ڈی عام طور پر کبھی کبھار جھلملاتی ہے۔ یہ بھی ممکن ہے کہ آپ کو HDMI آؤٹ پٹ بالکل نظر نہیں آئے گا۔ کوئی بوٹ لوڈر ڈسپلے، اور کوئی رینبو اسکرین نہیں۔ یہ عام طور پر ہارڈ ویئر کی خرابی سے منسوب کیا جا سکتا ہے.
غلطی کی تشخیص
کوئی HDMI آؤٹ پٹ بالکل نہیں۔
یہ ممکن ہے کہ ڈیوائس بالکل بوٹ نہ ہوئی ہو، لیکن یہ اس وائٹ پیپر کی ترسیل سے باہر ہے۔ یہ فرض کرتے ہوئے کہ مشاہدہ شدہ سلوک ایک ڈسپلے کا مسئلہ ہے، بوٹنگ کے عمل کے کسی بھی حصے کے دوران HDMI آؤٹ پٹ کی کمی عام طور پر ہارڈ ویئر کی خرابی کی وجہ سے ہوتی ہے۔ کئی ممکنہ اختیارات ہیں:
- خراب HDMI کیبل
- ایک نئی کیبل آزمائیں۔ کچھ کیبلز، خاص طور پر بہت سستی، میں Raspberry Pi کے لیے تمام ضروری کمیونیکیشن لائنز (مثلاً ہاٹ پلگ) پر مشتمل نہ ہوں تاکہ ڈسپلے کا کامیابی سے پتہ لگایا جا سکے۔
- Raspberry Pi پر خراب HDMI پورٹ
- اگر آپ Raspberry Pi 4 استعمال کر رہے ہیں تو دوسرے HDMI پورٹ کو آزمائیں۔
- مانیٹر پر خراب HDMI پورٹ
- کبھی کبھی مانیٹر یا ٹی وی پر HDMI پورٹ ختم ہو سکتا ہے۔ اگر آلہ میں ایک ہے تو ایک مختلف پورٹ آزمائیں۔
- شاذ و نادر ہی، ڈسپلے ڈیوائس صرف EDID ڈیٹا فراہم کر سکتا ہے جب آن کیا جائے، یا جب صحیح پورٹ کا انتخاب کیا جائے۔ چیک کرنے کے لیے، یقینی بنائیں کہ آلہ آن ہے اور صحیح ان پٹ پورٹ کا انتخاب کیا گیا ہے۔
- ڈسپلے آلہ جو ہاٹ پلگ کا پتہ لگانے والی لائن پر زور نہیں دے رہا ہے۔
ابتدائی آؤٹ پٹ، پھر اسکرین سیاہ ہوجاتی ہے۔
اگر ڈسپلے اوپر آتا ہے لیکن پھر لینکس کرنل بوٹ کے دوران بند ہوجاتا ہے، تو اس کی کئی ممکنہ وجوہات ہیں، اور یہ عام طور پر ڈسپلے ڈیوائس سے EDID پڑھنے میں دشواری سے متعلق ہیں۔ جیسا کہ بوٹ کی ترتیب سے نمٹنے کے اوپر والے حصے سے دیکھا جا سکتا ہے، بوٹ کے عمل کے دوران EDID کو کئی مختلف پوائنٹس پر پڑھا جاتا ہے، اور ان میں سے ہر ایک پڑھنا سافٹ ویئر کے مختلف ٹکڑے کے ذریعے کیا جاتا ہے۔ حتمی پڑھنا، جب کے ایم ایس سنبھالتا ہے، غیر تبدیل شدہ اپ اسٹریم لینکس کرنل کوڈ کے ذریعے کیا جاتا ہے، اور یہ عیب دار EDID فارمیٹس کے ساتھ ساتھ پہلے کے فرم ویئر سافٹ ویئر کو نہیں سنبھالتا ہے۔ یہی وجہ ہے کہ KMS کے سنبھالنے کے بعد ڈسپلے صحیح طریقے سے کام کرنا بند کر سکتا ہے۔ اس بات کی تصدیق کرنے کے کئی طریقے ہیں کہ آیا KMS EDID کو پڑھنے میں ناکام ہو رہا ہے، اور ان میں سے دو درج ذیل ہیں۔
بوٹ لوڈر کی تشخیصی اسکرین چیک کریں (صرف Raspberry Pi 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=none #0
Raspberry Pi 4 سے یہ آؤٹ پٹ ظاہر کرتا ہے کہ سسٹم کو HDMI پورٹ 0 پر HDMI ڈسپلے کا پتہ چلا، ہاٹ پلگ کا پتہ لگانے پر زور دیا گیا، اور EDID کو ٹھیک پڑھا گیا۔ HDMI پورٹ 1 پر کچھ نہیں ملا۔
چیک کریں کہ آیا KMS سسٹم نے EDID کا پتہ لگایا ہے۔
اسے چیک کرنے کے لیے آپ کو ایک مختلف کمپیوٹر سے SSH پر Raspberry Pi ڈیوائس میں لاگ ان کرنے کی ضرورت ہوگی۔ اعلی درجے کی ترتیبات کے اختیارات کا استعمال کرتے ہوئے، Raspberry Pi Imager کے ساتھ 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 پورٹ کی وضاحت کر سکتے ہیں جس پر ہاٹ پلگ لاگو ہوتا ہے یا تو 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 میں ترمیم کریں، sudo کا استعمال کرتے ہوئے اپنے ایڈیٹر کو چلانا یقینی بنائیں، اور 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، sudo کا استعمال کرتے ہوئے اپنے ایڈیٹر کو چلانا یقینی بنائیں، اور کرنل کمانڈ لائن میں درج ذیل کو شامل کریں: drm.edid_firmware=myedid.dat آپ ای ڈی آئی ڈی کو ایک پر لاگو کرسکتے ہیں۔ مخصوص HDMI پورٹ حسب ذیل ہے: drm.edid_firmware=HDMI-A-1:myedid.dat اگر ضروری ہو تو، درج ذیل کام کرکے KMS موڈ میں واپس بوٹ کریں:
- بوٹ پارٹیشن میں config.txt میں ترمیم کریں، sudo کا استعمال کرتے ہوئے اپنے ایڈیٹر کو چلانا یقینی بنائیں، اور اس لائن کو تبدیل کریں جو کہتی ہے #dtoverlay=vc4-kms-v3d کو dtoverlay=vc4-kms-v3d میں۔
- دوبارہ شروع کریں۔
نوٹ
اگر آپ استعمال کرتے ہیں a file-based EDID، لیکن پھر بھی ہاٹ پلگ کے ساتھ مسائل ہیں، آپ کرنل کمانڈ لائن میں درج ذیل کو شامل کر کے ہاٹ پلگ کا پتہ لگانے پر مجبور کر سکتے ہیں: video=HDMI-A-1:D۔
دستاویزات / وسائل
![]() |
RaspberryPi KMS HDMI آؤٹ پٹ گرافکس ڈرائیور [پی ڈی ایف] یوزر مینوئل KMS، HDMI آؤٹ پٹ گرافکس ڈرائیور، KMS HDMI آؤٹ پٹ، گرافکس ڈرائیور، KMS HDMI آؤٹ پٹ گرافکس ڈرائیور، ڈرائیور |