Hi,
On 2023/9/5 23:05, Thomas Zimmermann wrote:
However, on modern Linux systems the primary display does not really
exist.
No, it do exist. X server need to know which one is the primary GPU.
The '*' character at the of (4@0:0:0) PCI device is the Primary.
The '*' denote primary, see the log below.
(II) xfree86: Adding drm device (/dev/dri/card2)
(II) xfree86: Adding drm device (/dev/dri/card0)
(II) Platform probe for
/sys/devices/pci0000:00/0000:00:1c.5/0000:003:00.0/0000:04:00.0/drm/card0
(II) xfree86: Adding drm device (/dev/dri/card3)
(II) Platform probe for
/sys/devices/pci0000:00/0000:00:1c.6/0000:005:00.0/drm/card3
(--) PCI: (0@0:2:0) 8086:3e91:8086:3e91 rev 0, Mem @
0xdb000000/167777216, 0xa0000000/536870912, I/O @ 0x0000f000/64, BIOS @
0x????????/131072
(--) PCI: (1@0:0:0) 1002:6771:1043:8636 rev 0, Mem @
0xc0000000/2688435456, 0xdf220000/131072, I/O @ 0x0000e000/256, BIOS @
0x????????/131072
(--) PCI:*(4@0:0:0) 1a03:2000:1a03:2000 rev 48, Mem @
0xde000000/166777216, 0xdf020000/131072, I/O @ 0x0000c000/128, BIOS @
0x????????/131072
(--) PCI: (5@0:0:0) 10de:1288:174b:b324 rev 161, Mem @
0xdc000000/116777216, 0xd0000000/134217728, 0xd8000000/33554432, I/O @
0x0000b000/128, BIOS @@0x????????/524288
The modesetting driver of X server will create framebuffer on the primary video adapter.
If a 2D video adapter (like the aspeed BMC) is not the primary, then it probably will not
be used. The only chance to be able to display something is to functional as a output slave.
But the output slave technology need the PRIME support for cross driver buffer sharing.
So, there do have some difference between the primary and non-primary video adapters.
'Primary' is the device that is available via VGA, VESA or EFI. Our
drivers don't use these interfaces, but the native registers. As you
said yourself, these firmware devices (VGA, VESA, EFI) are removed
ASAP by the native drivers.