diff --git a/Kernel/Devices/GPU/Management.cpp b/Kernel/Devices/GPU/Management.cpp index 39839c8b3d7..74f69565007 100644 --- a/Kernel/Devices/GPU/Management.cpp +++ b/Kernel/Devices/GPU/Management.cpp @@ -225,22 +225,22 @@ UNMAP_AFTER_INIT bool GraphicsManagement::initialize() return true; } + if (!PCI::Access::is_disabled()) { + MUST(PCI::enumerate([&](PCI::DeviceIdentifier const& device_identifier) { + // Note: Each graphics controller will try to set its native screen resolution + // upon creation. Later on, if we don't want to have framebuffer devices, a + // framebuffer console will take the control instead. + if (!is_vga_compatible_pci_device(device_identifier) && !is_display_controller_pci_device(device_identifier)) + return; + if (auto result = determine_and_initialize_graphics_device(device_identifier); result.is_error()) + dbgln("Failed to initialize device {}, due to {}", device_identifier.address(), result.error()); + })); + } else { #if ARCH(X86_64) - if (PCI::Access::is_disabled()) { dmesgln("Graphics: Using an assumed-to-exist ISA VGA compatible generic adapter"); return true; - } - - MUST(PCI::enumerate([&](PCI::DeviceIdentifier const& device_identifier) { - // Note: Each graphics controller will try to set its native screen resolution - // upon creation. Later on, if we don't want to have framebuffer devices, a - // framebuffer console will take the control instead. - if (!is_vga_compatible_pci_device(device_identifier) && !is_display_controller_pci_device(device_identifier)) - return; - if (auto result = determine_and_initialize_graphics_device(device_identifier); result.is_error()) - dbgln("Failed to initialize device {}, due to {}", device_identifier.address(), result.error()); - })); #endif + } // Note: If we failed to find any graphics device to be used natively, but the // bootloader prepared a framebuffer for us to use, then just create a DisplayConnector