कैसे जांचें कि कौन सा ग्राफिक्स कार्ड मेरा डिस्प्ले चला रहा है?


9

सिस्टम उन हाइब्रिड इंटेल / एटीआई प्रसाद (मक्सलेस) में से एक के साथ सेटअप है। कर्नेल सेटिंग्स और ड्राइवरों के साथ थोड़ी सी गड़बड़ के बाद मुझे दोनों कार्ड काम करने लगे, मुझे लगता है (कर्नेल सेटिंग्स में radeon.dpm = 1 को जोड़ने और केवल ओपनसोर्स ड्राइवरों का उपयोग करके)।

हालाँकि मैं यह पता नहीं लगा सकता कि सिस्टम किस कार्ड का उपयोग कर रहा है। नए कर्नेल (3.12) के साथ मेरी समझ से डायनामिक पॉवर प्रबंधन कार्ड को पावर / पावर देगा जब जरूरत होगी, इसलिए सिद्धांत रूप में इसे ज्यादातर समय के लिए एकीकृत hd4000 का उपयोग करना चाहिए, हालांकि मुझे एक आसान तरीका नहीं मिल सकता है जाँच करें कि कौन सा उपयोग में है।

lspci | grep VGA केवल सभी कार्डों को सूचीबद्ध करता है, यह निर्दिष्ट नहीं करता है कि वर्तमान में कौन सा उपयोग में है।

सही दिशा में कुछ स्टीयरिंग बहुत सराहना की।

प्रणाली

डेबियन 7 स्थिर, 3.12 amd64 कर्नेल 7670M AMD + Intel HD4000

जवाबों:


3

xrandr

उपयोग करने से xrandrआपको पता चलेगा कि कौन से कार्ड उपलब्ध हैं।

$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel

इस प्रणाली पर मेरे पास 1 ग्राफिक्स कार्ड, एक इंटेल है, जिसमें 2 पोर्ट (आउटपुट) हैं। आप आउटपुट को इस xrandrतरह से देख सकते हैं :

$ xrandr -q
Screen 0: minimum 320 x 200, current 3360 x 1080, maximum 8192 x 8192
LVDS1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
   1440x900       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 connected 1920x1080+1440+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

2 आउटपुट वीजीए 1 (वीजीए बाहरी पोर्ट) और एलवीडीएस 1 (लैपटॉप पर एलसीडी मॉनिटर) हैं।

lshw

अंत में आप lshwवास्तविक ग्राफिक्स कार्ड की जानकारी के बारे में अधिक जानकारी प्राप्त करने के लिए उपयोग कर सकते हैं :

$ sudo lshw -numeric -c video
  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller [8086:46]
       vendor: Intel Corporation [8086]
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:f2000000-f23fffff memory:d0000000-dfffffff ioport:1800(size=8)

यह कैसे निर्धारित किया जाए कि कौन सा जीपीयू चला रहा है जो मॉनिटर करता है

इस कार्य को पूरा करने के लिए आपको प्रदाताओं की सूची लेनी होगी और xrandr --listprovidersकमांड से उनका नंबर नोट करना होगा । यह संख्या उपकरणों की संख्या है। यह अक्सर उसी संख्या का होता है जिसे आउटपुट में स्क्रीन के साथ असाइन किया गया है xrandr -q

तो कोई भी शिथिल रूप से निर्माण कर सकता है कि कौन सा जीपीयू "डिवाइस" किस स्क्रीन को चला रहा है। मेरे उदाहरण में "प्रदाता 0" "स्क्रीन 0" चला रहा है।

नोट: शब्द "स्क्रीन" जरूरी नहीं कि एक ही प्रदर्शन के अनुरूप हो। मेरे परिदृश्य में मेरा GPU 2 आउटपुट, LVDS1 और VGA1 चला सकता है। लेकिन यह दृष्टिकोण आपको काफी हद तक विश्वास के साथ दृढ़ संकल्प करने की अनुमति देता है कि कौन सा प्रदर्शन किस GPU द्वारा संचालित किया जा रहा है।

सिस्टम की स्थापना के माध्यम से उपरोक्त संघों को नियंत्रित किया जाता है, इसलिए संभावनाएं हैं कि यह आपको गुमराह कर सकता है। उदाहरण के लिए, उपरोक्त एसोसिएशन सेटअप से संचालित है जो अक्सर इस तरह दिखता है:

Section "Screen"
    Identifier  "Screen0"
    Device      "Device0"
EndSection
Section "Screen"
    Identifier  "Screen1"
    Device      "Device1"
EndSection

इसलिए संभावना है कि सिस्टम सेटअप के Screen0अलावा कुछ और के साथ संचालित किया गया था Device0

संदर्भ


मेरे पास परीक्षण करने के लिए मल्टी-जीपीयू मशीन नहीं है, लेकिन जहां तक ​​मैं बता सकता हूं, आपके द्वारा प्रस्तावित आदेशों में से कोई भी संकेत नहीं देता है कि कौन से जीपीयू ड्राइव की निगरानी करते हैं।
गिल्स एसओ- बुराई को रोकना '10

@ गिल्स - सच है कि वे बाहर नहीं आते हैं और वास्तव में यह बताते हैं लेकिन वे यह दिखाते हैं कि एक डिवाइस किसी दिए गए स्क्रीन (यानी प्रदर्शित) से कैसे जुड़ा है।
SLM

आप अभी भी यह नहीं बता रहे हैं कि एक मॉनिटर के साथ जीपीयू कैसे संबंधित है (कम से कम सामान्य स्थिति में नहीं है Xorg.conf)। जानकारी शायद Xorg लॉग में है अगर कहीं और (और शायद कहीं और है लेकिन मुझे उसके साथ कोई अनुभव नहीं है)।
गिलेस एसओ-

@ गिल्स - हम्म। प्रदाता "प्रदाता 0" जीपीयू # 0 है। वह GPU ड्राइव प्रदर्शित करता है जो "स्क्रीन 0" के रूप में जुड़ा हुआ है। क्या मैंने स्पष्ट रूप से नहीं बताया?
SLM

लेकिन आप कैसे जानते हैं कि कौन सा प्रदाता किस स्क्रीन पर ड्राइव करता है?
गिल्स एसओ- बुराई को रोकना

2

glxinfoहै, जो में उपलब्ध है mesa-utilsजिस प्रदर्शन वीडियो एडाप्टर ओपन ग्राफिक्स के लिए प्रयोग किया जाता है के लिए इस्तेमाल किया जा सकता है।

उदाहरण के लिए:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.