Add check for pci_device_linux_sysfs_boot_display()

In the case of multiple display devices that are not VGA devices
the 'boot_display' attribute read by libpciaccess can disambiguate.
This commit is contained in:
Mario Limonciello 2025-06-23 22:30:46 -05:00 committed by Mario Limonciello
parent e673a4bda0
commit 95a2eda2c8
2 changed files with 5 additions and 3 deletions

View file

@ -109,7 +109,8 @@ xf86PciProbe(void)
xf86PciVideoInfo[num - 1] = info;
pci_device_probe(info);
if (primaryBus.type == BUS_NONE && pci_device_is_boot_vga(info)) {
if (primaryBus.type == BUS_NONE && (pci_device_is_boot_vga(info) ||
pci_device_is_boot_display(info))) {
primaryBus.type = BUS_PCI;
primaryBus.id.pci = info;
}

View file

@ -353,7 +353,7 @@ xf86platformProbe(void)
}
}
/* Then check for pci_device_is_boot_vga() */
/* Then check for pci_device_is_boot_vga()/pci_device_is_boot_display() */
for (i = 0; i < xf86_num_platform_devices; i++) {
struct xf86_platform_device *dev = &xf86_platform_devices[i];
@ -361,7 +361,8 @@ xf86platformProbe(void)
continue;
pci_device_probe(dev->pdev);
if (pci_device_is_boot_vga(dev->pdev)) {
if (pci_device_is_boot_display(dev->pdev) ||
pci_device_is_boot_vga(dev->pdev)) {
primaryBus.type = BUS_PLATFORM;
primaryBus.id.plat = dev;
}