Wie überprüfe ich, welche Grafikkarte mein Display steuert?

9

Das System ist mit einem dieser hybriden Intel / ATI-Angebote (muxless) ausgestattet. Nach einigem Hin und Her mit den Kerneleinstellungen und Treibern habe ich beide Karten zum Laufen gebracht (ich denke, radeon.dpm = 1 in den Kerneleinstellungen hinzufügen und nur die OpenSource-Treiber verwenden).

Ich kann jedoch nicht herausfinden, welche Karte das System verwendet. Nach meinem Verständnis mit dem neueren Kernel (3.12) und der dynamischen Energieverwaltung wird die Karte bei Bedarf heruntergefahren / hochgefahren. Theoretisch sollte sie also die meiste Zeit die integrierte HD4000 verwenden, ich kann jedoch keinen einfachen Weg finden um zu überprüfen, welche verwendet wird.

lspci | grep VGA listet nur alle Karten auf, es wird nicht angegeben, welche derzeit verwendet wird.

Einige Lenkungen in die richtige Richtung sehr geschätzt.

System

Debian 7 stabil, 3.12 amd64 Kernel 7670M AMD + Intel HD4000

Jonathan
quelle

Antworten:

2

xrandr

Mit xrandrwird angezeigt, welche Karten verfügbar sind.

$ 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

Auf diesem System habe ich 1 Grafikkarte, eine Intel, die 2 Ports (Ausgänge) hat. Sie können die Ausgaben xrandrwie folgt sehen:

$ 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)

Die 2 Ausgänge sind VGA1 (externer VGA-Anschluss) und LVDS1 (LCD-Monitor am Laptop).

lshw

Zuletzt können Sie lshwweitere Informationen zu den tatsächlichen Grafikkarteninformationen erhalten:

$ 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)

So bestimmen Sie, welche GPU welche Monitore steuert

Um diese Aufgabe auszuführen, müssen Sie die Liste der Anbieter übernehmen und deren Nummer aus dem xrandr --listprovidersBefehl notieren . Diese Nummer ist die Gerätenummer. Es ist oft die gleiche Nummer, die zusammen mit dem Bildschirm in der Ausgabe von zugewiesen wurde xrandr -q.

So kann man lose konstruieren, welches GPU- "Gerät" welchen Bildschirm steuert. In meinem Beispiel steuert "Provider 0" "Screen 0".

HINWEIS: Der Begriff "Bildschirm" entspricht nicht unbedingt einer einzelnen Anzeige. In meinem Szenario kann meine GPU 2 Ausgänge, LVDS1 und VGA1, ansteuern. Mit diesem Ansatz können Sie jedoch mit einem ziemlich hohen Maß an Sicherheit feststellen, welche Anzeige von welcher GPU gesteuert wird.

Die oben genannten Zuordnungen werden durch die Einrichtung des Systems gesteuert, sodass die Möglichkeit besteht, dass Sie irregeführt werden. Die obige Zuordnung basiert beispielsweise auf einem Setup, das häufig folgendermaßen aussieht:

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

Es besteht also die Möglichkeit, dass das System so eingerichtet wurde, Screen0dass etwas anderes als gesteuert wird Device0.

Verweise

slm
quelle
Ich habe keinen Multi-GPU-Computer zum Testen, aber soweit ich das beurteilen kann, gibt keiner der von Ihnen vorgeschlagenen Befehle an, welche GPU welchen Monitor antreibt.
Gilles 'SO - hör auf böse zu sein'
@ Gilles - stimmt, sie kommen nicht heraus und geben es tatsächlich an, aber sie zeigen, wie ein Gerät einem bestimmten Bildschirm zugeordnet ist (dh Anzeigen).
slm
Sie erklären immer noch nicht, wie Sie eine GPU mit einem Monitor verknüpfen können (zumindest im allgemeinen Fall, dass Sie keinen haben Xorg.conf). Die Informationen befinden sich wahrscheinlich im Xorg-Protokoll, wenn nirgendwo anders (und wahrscheinlich anderswo, aber ich habe keine Erfahrung damit).
Gilles 'SO - hör auf böse zu sein'
@ Gilles - hmm. Der Provider "Provider 0" ist GPU # 0. Diese GPU-Laufwerke werden als "Bildschirm 0" angezeigt. Habe ich das nicht klar erklärt?
slm
Aber woher wissen Sie, welcher Anbieter welchen Bildschirm steuert?
Gilles 'SO - hör auf böse zu sein'
2

Mit dem glxinfo, der in verfügbar mesa-utilsist, kann angezeigt werden, welcher Videoadapter für OpenGL-Grafiken verwendet wird.

Zum Beispiel:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
Don Manley
quelle