xrandr
O uso xrandr
mostrará quais cartões estão disponíveis.
$ 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
Neste sistema, tenho 1 placa gráfica, uma Intel, que possui 2 portas (saídas). Você pode ver as saídas da seguinte xrandr
forma:
$ 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)
As 2 saídas são VGA1 (porta externa VGA) e LVDS1 (monitor LCD no laptop).
lshw
Por fim, você pode usar lshw
para descobrir mais informações sobre as informações reais das placas gráficas:
$ 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)
Como determinar qual GPU está dirigindo e quais monitores
Para realizar esta tarefa, você precisará levar a lista de provedores e anotar o número deles no xrandr --listproviders
comando. Este número é o número de dispositivos. Muitas vezes, é o mesmo número atribuído juntamente com a tela na saída de xrandr -q
.
Portanto, é possível construir livremente qual "dispositivo" da GPU está direcionando para qual tela. No meu exemplo, "Provedor 0" está direcionando a "Tela 0".
NOTA: O termo "Tela" não corresponde necessariamente a uma única exibição. No meu cenário, minha GPU pode direcionar 2 saídas, LVDS1 e VGA1. Mas essa abordagem permite que você faça a determinação com um alto grau de confiança sobre qual monitor está sendo conduzido por qual GPU.
As associações acima são controladas através da configuração do sistema, para que haja possibilidades de enganar você. Por exemplo, a associação acima é direcionada a partir de uma configuração que se parece com isso:
Section "Screen"
Identifier "Screen0"
Device "Device0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
EndSection
Portanto, existe a possibilidade de o sistema ter sido configurado para Screen0
ser acionado por outra coisa Device0
.
Referências