From d11ce2a42aed684226a953f4590ee5164232a84c Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 23 Jun 2025 22:30:46 -0500 Subject: [PATCH] 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. Part-of: --- hw/xfree86/common/xf86pciBus.c | 3 ++- hw/xfree86/common/xf86platformBus.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c index 1286c2310..ef71ad796 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c @@ -111,7 +111,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; } diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 1fd4514a3..f92df348c 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -378,7 +378,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]; @@ -386,7 +386,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; }