Tweak which may potentially fix graphics on some devices

I saw an interesting post on the coreboot mailing list this AM, which details a problem with graphics on some AMD Richland CPU’s, which is fixed by disabling threading in SeaBIOS:

to answer this question to myself: It seems like my VGA BIOS was neither working with the A4-5300 APU nor the A10-6700 APU. After debugging the problem over the serial port it turned out that SeaBIOS had multithreading issues and recognized the disks only partially and incorrectly --- which then lead to a boot failure.

To solve this issue, I got the hint on IRC (many thanks!) to apply the following patch (also raises the debug level):


diff --git a/payloads/external/SeaBIOS/Makefile b/payloads/external/SeaBIOS/Makefile
index 4b108d5..10e5aea 100644
--- a/payloads/external/SeaBIOS/Makefile
+++ b/payloads/external/SeaBIOS/Makefile
@@ -37,6 +37,8 @@ checkout: fetch
        cd seabios; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y)
 
 config: checkout
+       echo "CONFIG_DEBUG_LEVEL=5" >> seabios/.config
+       echo "CONFIG_THREADS=n" >> seabios/.config
        echo "    CONFIG     SeaBIOS $(TAG-y)"
        echo "CONFIG_COREBOOT=y" > seabios/.config
 ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)

So, I’ve disabled multi-threading in all the builds as a precaution, as I know some people with older models have had occasional graphics problems, and I guess having slightly slower init from SeaBIOS is a small price to pay if it means your machine actually boots! Now, I’m not saying this is definitely the cause of the occasional problems, as I don’t know, and they are completely different CPU’s buy different manufacturers, but it can’t hurt, right?

Leave a comment