[DEBUG] found VGA at PCI: 00:02.0
[DEBUG] found VGA at PCI: 01:00.0
[DEBUG] Setting up VGA for PCI: 00:02.0
[DEBUG] Setting PCI_BRIDGE_CTL_VGA for bridge DOMAIN: 0000
[DEBUG] Setting PCI_BRIDGE_CTL_VGA for bridge Root Device
linux incorrectly overrides the boot VGA device:
[ 0.372557] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[ 0.372557] pci 0000:00:02.0: vgaarb: bridge control possible
[ 0.372557] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[ 0.372557] pci 0000:01:00.0: vgaarb: setting as boot VGA device (overriding previous)
[ 0.372557] pci 0000:01:00.0: vgaarb: bridge control possible
[ 0.372557] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[ 0.372557] vgaarb: loaded
edk2 creates Graphics Info HOB from the coreboot FB:
Found coreboot video frame buffer information
physical_address: 0x90000000
x_resolution: 0x780
y_resolution: 0x4B0
bits_per_pixel: 0x20
bytes_per_line: 0x1E00
red_mask_size: 0x8
red_mask_pos: 0x10
green_mask_size: 0x8
green_mask_pos: 0x8
blue_mask_size: 0x8
blue_mask_pos: 0x0
reserved_mask_size: 0x8
reserved_mask_pos: 0x18
Created graphics info hob
The dGPU is being used as boot VGA device instead of the iGPU.
Steps to reproduce
grep . /sys/devices/pci0000:00/0000:00:{02.0,01.0/0000:01:00.0}/boot_vga
Expected behavior
boot_vga
is set to the iGPUActual behavior
boot_vga
is set to the dGPUAdditional info
coreboot looks correct:
linux incorrectly overrides the boot VGA device:
edk2 creates Graphics Info HOB from the coreboot FB:
although GraphicsDeviceInfo HOB is not created:
GraphicsConsole enumerates the dGPU device first: