कैसे पता लगाया जाए कि UEFI बूटेड लाइनक्स मशीन का वीडियो मोड ग्राफिक्स आउटपुट प्रोटोकॉल (GOP) या यूनिवर्सल ग्राफिक्स एडॉप्टर (UGA) है?


5

यूईएफआई फर्मवेयर जीओपी या यूजीए ग्राफिक्स प्रोटोकॉल का समर्थन करता है। GOP नया है और इसने UGA का स्थान ले लिया है। मेरी मशीन पर जिसमें एक एकीकृत ग्राफिक्स एडेप्टर नहीं है (केवल एक असतत ग्राफिक्स एडाप्टर NVIDIA GTX 965m), मैंने पाया कि लिनक्स इंस्टॉलेशन सीडी को लाइव बूट करने पर, मेरे ग्राफिक्स कार्ड को चलाने वाला कोई कर्नेल मॉड्यूल नहीं है (मैंने lspci और X लॉग की जाँच की) ।

यूईएफआई पर कुछ शोध करने के बाद, मैंने इन 2 प्रकार के ग्राफिक्स प्रोटोकॉल को पाया, और मैं सोच रहा था कि क्या कोई तरीका है (कमांड लाइन क्वेरी) यह पता लगाने के लिए कि 2 में से किसका उपयोग किया जा रहा है, क्योंकि ऐसा लगता है कि यह यूईएफआई है फर्मवेयर जो मेरी मशीन के प्रदर्शन को चलाने की क्षमता प्रदान कर रहा है (शायद मेरे "वीजीए संगत" असतत ग्राफिक्स कार्ड के माध्यम से)।

इसके अलावा, BIOS सेटिंग्स पर (UEFI फर्मवेयर का उपयोग करते समय यह अभी भी BIOS सेटिंग्स कहा जाता है?), मैं अपनी वीडियो ओप रोम सेटिंग्स को "BIOS संगतता मोड" में बदलने में सक्षम था। जब मैंने इसे "यूईएफआई केवल" के रूप में छोड़ दिया, तो मुझे BIOS कॉन्फ़िगरेशन सेटिंग्स और POST डिस्प्ले और बूट लोडिंग डिस्प्ले पर पूर्ण रिज़ॉल्यूशन मिला। "BIOS संगतता मोड" चुनते समय, मुझे एक बहुत छोटा संकल्प मिला। क्या इसका मतलब यह है कि फर्मवेयर इसके बजाय वीजीए प्रोटोकॉल का उपयोग करने में सक्षम था?


1
AFAIK, सब कुछ लेकिन macs GOP का उपयोग करता है? हालांकि उस मामले में कोई नहीं; लिनक्स यूईएफआई ड्राइवरों का उपयोग बिल्कुल नहीं करता है - फर्मवेयर एक्सिटबूटसर्विस () के दौरान सभी ड्राइवरों को अनलोड करता है और ग्राफिक्स कार्ड से सीधे पीसीआई के माध्यम से बात करता है।
ग्रैविटी

अगर यह सच था, तो lspciमेरे NVIDIA ग्राफिक्स कार्ड के लिए मेरे शो नो "कर्नेल ड्राइवर इन यूज़" कैसे आए ? और मेरे वीडियो ओपी रोम सेटिंग्स में BIOS और UEFI के बीच स्विच करने से मेरे पूरे सत्र के लिए रिज़ॉल्यूशन बदल जाता है। और यह भी कि मैं एक लाइव सीडी को बूट कर रहा हूं जो NVIDIA कार्ड के लिए किसी भी एनवीडिया या नोव्यू ड्राइवरों को लोड नहीं करता है।
CMCDragonkai

हम्म, मैं @ रॉड की पोस्ट को देखते हुए, इसके बारे में गलत हो सकता हूं । ( efifbयह जानना होगा कि यह कौन सा प्रोटोकॉल बोलता है, सब के बाद।)
विशाल

जवाबों:


9

ग्रेविटी के उत्तर के बारे में विस्तार से बताने के लिए, आपके प्रश्न के लिए प्रासंगिकता की अलग-अलग डिग्री के कई मुद्दे हैं:

  • यूजीए बनाम जीओपी - जैसा कि आप कहते हैं, दो ईएफआई वीडियो सिस्टम हैं, यूजीए और जीओपी। बाद वाले को EFI 2.x (उर्फ UEFI), IIRC और AFAIK के साथ पेश किया गया था, सभी UEFI- आधारित सिस्टम GOP का उपयोग करते हैं। सिद्धांत रूप में, सभी ईएफआई 1.x सिस्टम को यूजीए का उपयोग करना चाहिए; हालाँकि, Apple (जो अभी भी अपने सबसे हाल के उत्पादों में EFI 1.x का उपयोग करता है) ने UGA को अपने EFI में पोर्ट किया है, इसलिए कुछ (लेकिन सभी नहीं) Mac में GOP के साथ EFI 1.x है। अन्य ऑडबॉल अपवाद हो सकते हैं। जैसा कि ग्रेविटी कहती है, यह अंतर फर्मवेयर स्तर पर महत्वपूर्ण है, लेकिन वास्तव में ओएस स्तर पर नहीं, कम से कम AFAIK नहीं।
  • लिनक्स फ्रेमबफ़र डिवाइस - चाहे वह यूजीए या जीओपी हो, फ़र्मवेयर ओएस को अपने वीडियो हार्डवेयर तक पहुँचाता है, जिसे लिनक्स एक फ्रेमबफ़र डिवाइस के माध्यम से उजागर करता है - विशेष रूप से efifb,। EFI- आधारित सिस्टम पर, यह अक्सर टेक्स्ट-मोड ऑपरेशन के लिए आधार होता है (यदि आप X शुरू नहीं करते हैं या यदि आप Ctrl + Alt + F1 को Ctrl + Alt + F6 के माध्यम से हिट करते हैं)। OTOH, विशिष्ट वीडियो चिपसेट के लिए कुछ कर्नेल ड्राइवरों द्वारा प्रदान किए गए फ्रेमबफ़र डिवाइस भी हैं, इसलिए हो सकता है कि आप efifbडिवाइस का उपयोग न करें । मुझे नहीं पता है कि अगर यूजीए और जीओपी खुद ओएस के लिए मौजूद हैं, तो इसमें कोई अंतर नहीं है। निश्चित रूप से मुझे उच्च स्तर पर कोई अंतर नहीं पता है, जैसे कि कमांड आप लिनक्स में उपयोग करेंगे।
  • एक्स विंडो सिस्टम ड्राइवर - एक्स ड्राइवर कर्नेल वीडियो ड्राइवरों पर भरोसा कर सकते हैं या मूल रूप से उनमें से स्वतंत्र हो सकते हैं। ज्यादातर मामलों में, आप एक एक्स ड्राइवर का उपयोग करते हैं जो एक विशिष्ट वीडियो चिपसेट (एटीआई, एनवीडिया, इंटेल, आदि) के लिए लिखा जाता है, और ये फर्मवेयर के माध्यम से काम नहीं करते हैं। इस प्रकार, इन ड्राइवरों को UGA बनाम GOP (या यहां तक ​​कि BIOS बनाम EFI) से प्रभावित नहीं होना चाहिए, हालांकि उस बारे में कुछ चेतावनी हैं)। उस ने कहा, एक एक्स फ्रेमबफ़र ड्राइवर है जो डिवाइस सहित जो भी फ्रेमबॉलर डिवाइस सक्रिय है, उसके माध्यम से काम करेगा efifb। इस प्रकार, आप कर सकते हैंईएफआई के यूजीए या जीओपी मोड के माध्यम से एक प्रदर्शन चलाएं। यह निश्चित रूप से यह करने के लिए एक उप-इष्टतम तरीका है, हालांकि, क्योंकि फ्रेमबफ़र ड्राइवर धीमी गति से होते हैं। उबंटू की एकता सहित आधुनिक विंडोिंग वातावरण तेजी से वीडियो त्वरण सुविधाओं पर भरोसा कर रहे हैं जो कि फ्रेमबफ़र के माध्यम से सुलभ नहीं हैं।

आप इनमें से कुछ को कर्नेल रिंग बफर के माध्यम से जांच कर सकते हैं dmesg, जैसे कि:

$ dmesg | grep fb
[    0.625015] efifb: probing for efifb
[    0.625207] efifb: framebuffer at 0xc0000000, mapped to 0xffffc90010880000, using 3072k, total 3072k
[    0.625208] efifb: mode is 1024x768x32, linelength=4096, pages=1
[    0.625209] efifb: scrolling: redraw
[    0.625210] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.627994] fb0: EFI VGA frame buffer device
[    6.086695] fb: conflicting fb hw usage radeondrmfb vs EFI VGA - removing generic driver
[    6.689526] [drm] fb mappable at 0xC1488000
[    6.689531] [drm] fb depth is 24
[    6.689610] fbcon: radeondrmfb (fb0) is primary device
[    6.804904] radeon 0000:00:01.0: fb0: radeondrmfb frame buffer device

यह उदाहरण एएमडी / एटीआई जीपीयू के साथ सिस्टम पर कई फ्रेमबफ़र-संबंधित संदेशों को दिखाता है। आप ध्यान दें कि इसमें UGA बनाम GOP का कोई उल्लेख नहीं है, लेकिन efifbडिवाइस को संदर्भित किया गया है, जैसा कि fbcon(फ्रेमबफ़र कंसोल) और radeondrmfb(ATI / AMD Radeon उपकरणों के लिए फ़्रेमबफ़र डिवाइस)। removing generic driverसंदेश से एक handoff अर्थ है efifbकरने के लिए ड्राइवर radeondrmfbड्राइवर। आप /var/log/Xorg.0.logएक्स सर्वर से संबंधित संदेशों के लिए भी जांच कर सकते हैं । मेरे सिस्टम के मामले में, ये कम दिलचस्प हैं, लेकिन अगर आपको X शुरू करने में कोई समस्या हो रही है, तो आपके Xorg.0.logलिए अधिक रुचि हो सकती है।

एक और बिंदु: जब हार्डवेयर मुद्दों पर मदद के लिए पूछते हैं, तो यह आम तौर पर महत्वपूर्ण है कि आप निर्दिष्ट करें कि आपका हार्डवेयर क्या है - "असतत ग्राफिक्स एडेप्टर" आपके वीडियो समस्या पर मदद की मांग करते समय अपर्याप्त रूप से विशिष्ट है। उस मामले के लिए, यह स्पष्ट नहीं है कि आपकी समस्या क्या है - या क्या आप इस जानकारी की तलाश कर रहे हैं कि यह सब कैसे एक साथ फिट बैठता है ताकि आपकी समझ आगे बढ़ सके?


शानदार विस्तृत जवाब, बहुत समझ में आया। मेरी विशिष्ट समस्या यह समझने की कोशिश कर रही थी कि जब एक्स-डिस्प्ले-मैनेजर मेरी लाइव सीडी (NIXOS) पर शुरू नहीं होगा, जब मैं यूईएफआई वीडियो ओपोम के माध्यम से बूट कर रहा था, जबकि लेगेसी वीडियो ओपेरॉम के माध्यम से बूट करते समय, एक्स डिस्प्ले-मैनेजर तब शुरू हो सकता था (और लॉग यह दर्शाता है कि यह VESA VBE का उपयोग करता है)। मैं अपने कर्नेल लॉग की जाँच करूँगा और आपको वापस प्राप्त करूँगा। इसके अलावा मेरे असतत GPU NVIDIA GTX 965m है।
CMCDragonkai

तो मैंने पाया efifbऔर fb0कर्नेल लॉग में। लेकिन आपने उल्लेख किया है कि एक्स efifbचीजों को प्रदर्शित करने के लिए उपयोग कर सकता है , लेकिन एक्स लॉग की जांच करते समय, इसका कोई उल्लेख नहीं है efifb?
CMCDragonkai

यह या तो आपके मदरबोर्ड के फर्मवेयर में बग या आपके वीडियो कार्ड के फर्मवेयर में ईजीआई समर्थन की कमी या समस्या का मुद्दा है। यदि आप किसी पास्टबिन साइट पर चार फाइल पोस्ट करते हैं तो आपको अधिक मदद मिल सकती है : आपकी फर्मवेयर में वीडियो विकल्प सेटिंग्स से आपकी dmesgऔर Xorg.0.logफाइल। (यह है, दो dmesgआउटपुट और दो Xorg.0.logफाइलें।) मैं खुद वीडियो समस्याओं के डिबगिंग का विशेषज्ञ नहीं हूं, इसलिए मैं मदद करने में सक्षम नहीं हो सकता; लेकिन शायद कोई होगा। आप एक नया प्रश्न शुरू कर सकते हैं जो संबंधित बिंदुओं को सामने प्रदान करता है।
रॉड स्मिथ

ऐसा लगता है कि NVIDIA को UEFI वीडियो Op ROM के लिए खराब समर्थन प्राप्त है। इसलिए मैंने लीगेसी वीडियो ऑप रोम में स्विच किया, और NVIDIA चालक को tty7 पर पूर्ण रिज़ॉल्यूशन है, जबकि tty1 कम रिज़ॉल्यूशन एनएम पर है।
CMCDragonkai
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.