User:GNUtoo/External GPU init without running the option rom
Jump to navigation
Jump to search
The idea is to keep the option rom in memory while making SeaBIOS not run it. This has the effect of permitting linux(-libre) to initalize the GPU on all AMD/ATI and Nvidia GPU I tried it with. The downside is the lack of graphics before that. That means no graphics in GRUB.
Patch
From 73aae33b7e70d15b595b3f127ffe98bd76f9a646 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Date: Sat, 7 Mar 2015 15:39:52 +0100 Subject: [PATCH] Kconfig: Add option not to run option roms Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> --- src/Kconfig | 8 ++++++++ src/optionroms.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/Kconfig b/src/Kconfig index 95bf087..1988f56 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -403,6 +403,14 @@ menu "BIOS interfaces" default y help Support Post Memory Manager (PMM) entry point. + config OPTIONROMS_NORUN + depends on OPTIONROMS + bool "Put the option roms in memory, but don't run them" + default n + help + Some GPU drivers are capable of initializing the display alone, + but they still require some data from the option rom. + config BOOT bool "Boot interface" default y diff --git a/src/optionroms.c b/src/optionroms.c index c81eff2..c7c89da 100644 --- a/src/optionroms.c +++ b/src/optionroms.c @@ -53,7 +53,9 @@ __callrom(struct rom_header *rom, u16 offset, u16 bdf) void callrom(struct rom_header *rom, u16 bdf) { +#if (!CONFIG_OPTIONROMS_NORUN) __callrom(rom, OPTION_ROM_INITVECTOR, bdf); +#endif } // Execute a BCV option rom registered via add_bcv(). -- 2.6.4