Comment vérifier quelle carte graphique pilote mon écran?

9

Le système est configuré avec l'une de ces offres hybrides Intel / ATI (sans multiplexeur). Après avoir joué un peu avec les paramètres du noyau et les pilotes, je pense que les deux cartes fonctionnent, je pense (en ajoutant radeon.dpm = 1 dans les paramètres du noyau et en utilisant uniquement les pilotes opensource).

Cependant, je ne peux pas savoir quelle carte le système utilise. D'après ma compréhension du nouveau noyau (3.12), la gestion dynamique de l'alimentation amd éteindra / mettra la carte sous tension en cas de besoin, donc en théorie, elle devrait utiliser le hd4000 intégré la plupart du temps, mais je ne trouve pas de moyen facile pour vérifier lequel est utilisé.

lspci | grep VGA répertorie uniquement toutes les cartes, il ne précise pas laquelle est actuellement utilisée.

Une direction dans la bonne direction très appréciée.

Système

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

Jonathan
la source

Réponses:

3

xrandr

L'utilisation xrandrvous montrera quelles cartes sont disponibles.

$ 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

Sur ce système, j'ai 1 carte graphique, un Intel, qui a 2 ports (sorties). Vous pouvez voir les sorties avec xrandrcomme ceci:

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

Les 2 sorties sont VGA1 (port externe VGA) et LVDS1 (moniteur LCD sur ordinateur portable).

lshw

Enfin, vous pouvez utiliser lshwpour trouver plus d'informations concernant les informations réelles sur les cartes graphiques:

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

Comment déterminer quel GPU pilote quels moniteurs

Pour accomplir cette tâche, vous devrez prendre la liste des fournisseurs et noter leur numéro dans la xrandr --listproviderscommande. Ce numéro est le numéro des appareils. C'est souvent le même nombre que celui attribué à l'écran dans la sortie de xrandr -q.

Ainsi, on peut vaguement construire quel «périphérique» GPU pilote quel écran. Dans mon exemple, "Provider 0" conduit "Screen 0".

REMARQUE: Le terme "écran" ne correspond pas nécessairement à un seul affichage. Dans mon scénario, mon GPU peut piloter 2 sorties, LVDS1 et VGA1. Mais cette approche vous permet de déterminer avec un degré de confiance assez élevé quel affichage est piloté par quel GPU.

Les associations ci-dessus sont contrôlées via la configuration du système, il existe donc des possibilités qu'il puisse vous induire en erreur. Par exemple, l'association ci-dessus est issue d'une configuration qui ressemble souvent à ceci:

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

Il y a donc la possibilité que le système ait été configuré avec Screen0un pilotage autre que Device0.

Références

slm
la source
Je n'ai pas de machine multi-GPU avec laquelle tester, mais pour autant que je sache, aucune des commandes que vous avez proposées n'indique quels lecteurs GPU surveillent.
Gilles 'SO- arrête d'être méchant'
@Gilles - c'est vrai qu'ils ne sortent pas et ne le déclarent pas, mais ils montrent comment un appareil est associé à un écran donné (c'est-à-dire des écrans).
slm
Vous n'expliquez toujours pas comment associer un GPU à un moniteur (au moins dans le cas commun de ne pas en avoir Xorg.conf). Les informations sont probablement dans le journal Xorg si nulle part ailleurs (et probablement ailleurs mais je n'ai aucune expérience avec cela).
Gilles 'SO- arrête d'être méchant'
@Gilles - hmm. Le fournisseur "Provider 0" est GPU # 0. Ce GPU affiche les écrans qui sont associés en tant que «écran 0». N'ai-je pas expliqué cela clairement?
slm
Mais comment savoir quel fournisseur gère quel écran?
Gilles 'SO- arrête d'être méchant'
2

Le glxinfo, qui est disponible dans, mesa-utilspeut être utilisé pour afficher la carte vidéo utilisée pour les graphiques OpenGL.

Par exemple:

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