On X200 with Libreboot 20220710 running Debian Bullseye I loose the battery icon (cannot see charge status), cannot adjust screen brightness with Fn keys, power management does not work and the system hangs on reboot or shutdown with ACPI error message AE_NOT_FOUND. Everything works well downgrading back to 20160907.
can you test this on latest coreboot?
i want to see if upstream has this bug or just us
I would like to help but I don't have any experience with coreboot and I don't know how to compile it for Thinkpad X200.
I will gladly follow instructions though.
You can follow this
guide. It's a little technical and more geared towards developers
so here are instructions based on that guide ↓.
Make sure to set the correct configuration, similar to
libreboot's config. That mostly involves selecting the correct
board (X200 in your case), payload (use SeaBIOS. GNU GRUB requires
configuration), using native graphics initialisation, including
the microcode, using corebootfb instead of the legacy VGA text
mode and setting the right ROM chip size.
To get the ROM chip size, just run in a shell:
$ sudo dmidecode | grep "ROM Size"
We'll need this later on.
First, download the coreboot source code:
$ git clone https://review.coreboot.org/coreboot
$ cd coreboot
Then, configure coreboot, like so:
$ make menuconfig # This loads a menu to
# configure coreboot
Mainboard vendor --->
Mainboard model --->
ROM chip size --->
# Set it to the ROM size returned by the
# dmidecode command you ran earlier.
# If it returned
# 'ROM size: 8 MB' for example, then set
# this option to '8192 KB (8 MB)'.
[*] Use native graphics initialization
Framebuffer mode --->
Linear "high-resolution" framebuffer
Add a payload --->
You then need to build the coreboot toolchain which is
required to compile coreboot itself. This is going to take
a very long time so be patient!
$ make crossgcc-i386 CPUS=$(nproc)
After that command finished, you can then begin building
coreboot itself. This ironically takes less time.
Run this command:
And you're done! Now you can flash coreboot:
$ sudo flashrom -p internal -r "~/dump1.bin" # Backups
$ sudo flashrom -p internal -r "~/dump2.bin"
$ sudo flashrom -p internal -r "~/dump3.bin"
$ diff "~/dump1.bin" "~/dump2.bin" # If this returns an
$ diff "~/dump2.bin" "~/dump3.bin" # output, stop there
# and tell us.
$ sudo flashrom -p internal -w build/coreboot.rom
Then turn off your computer, wait for ~1 minute, then turn
it back on and reproduce the bug. If it's still present, tell
@vimuser We should try documenting a way to use the latest
coreboot revision while still using lbmk on the website.
Oh wait. First, do you have an external programmer
for flashing externally? If not then I highly recommend
buying one just in case something goes wrong.
I have an external programmer for flashing and I followed the instructions above to configure coreboot. However, I would like to ask a few questions before I proceed with flashing (to make sure I do everything correctly).
With the command make menuconfig, I get to the section
but I don't see the option [*] Use native graphics initialization
rather, I have
Graphics initialization (use libgfxinit)
[ ] Use onboard VGA as primary video device
Is libgfxinit ok (other options are ()run VGA Option ROMs or ()None)?
Should I select the onboard VGA as primary device?
From the instructions provided I assume that all the other sections of the configuration menu that are not specified should be left as default. Is that correct?
After obtaining the coreboot.rom with the command make, can I set the MAC address as I did for the libreboot rom with ich9gen? Is it necessary to do this?
I compiled coreboot with libgfxinit and SeaBIOS and set my MAC address in the rom image with ich9gen.
I flashed internally and everything went well. All works correctly.
I tested the system for about 24h doing several reboots during that time (Debian Bullseye) and I could not replicate the issues I am having with Libreboot 20220710.
It seems to me that the problem might be specific to libreboot as coreboot appears to be working perfectly.
will leave this issue open until libreboot updates its coreboot revisions. on this day, 31 December 2022, they're quite outdated
since upstream works, i'll ask that you test libreboot again later. the next release is definitely going to be another testing release (again, newer revisions of coreboot)
I will happily test libreboot again.
Thank you and looking forward to the new release.