xrandr
El uso xrandr
le mostrará qué tarjetas están 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
En este sistema tengo 1 tarjeta gráfica, una Intel, que tiene 2 puertos (salidas). Puede ver las salidas con este xrandr
aspecto:
$ 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)
Las 2 salidas son VGA1 (puerto externo VGA) y LVDS1 (monitor LCD en la computadora portátil).
lshw
Por último, puede utilizar lshw
para obtener más información sobre la información real de las tarjetas 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)
Cómo determinar qué GPU está manejando qué monitores
Para realizar esta tarea, deberá tomar la lista de proveedores y anotar su número desde el xrandr --listproviders
comando. Este número es el número de dispositivos. A menudo es el mismo número que se asigna junto con la pantalla en la salida de xrandr -q
.
Entonces, uno puede construir libremente qué "dispositivo" de GPU está manejando qué pantalla. En mi ejemplo, "Proveedor 0" está conduciendo a "Pantalla 0".
NOTA: El término "Pantalla" no corresponde necesariamente a una sola pantalla. En mi escenario, mi GPU puede manejar 2 salidas, LVDS1 y VGA1. Pero este enfoque le permite tomar la determinación con un grado bastante alto de confianza sobre qué pantalla está siendo impulsada por qué GPU.
Las asociaciones anteriores se controlan a través de la configuración del sistema, por lo que hay posibilidades de que pueda confundirlo. Por ejemplo, la asociación anterior se maneja desde una configuración que a menudo se ve así:
Section "Screen"
Identifier "Screen0"
Device "Device0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
EndSection
Por lo tanto, existe la posibilidad de que el sistema se haya configurado con Screen0
una conducción diferente Device0
.
Referencias