Lenovo ThinkPad W530

To be clear, those blobs need to be added into coreboot otherwise there is no dGPU usable on the system:

https://github.com/osresearch/heads/blob/master/config/coreboot-w530-dgpu-K2000m-hotp-maximized.config#L11

(Note: k2000m k1000m board model needs to be chosen carefully, and this documentation is missing)

And those blobs need to be downloaded/extracted to be made available at coreboot build time heads/blobs/xx30/vbios_w530.sh at master · linuxboot/heads · GitHub

More info on the READMEs heads/blobs/xx30 at master · linuxboot/heads · GitHub

Those use cases were reported to be all functional under Heads with blobs and hybrid mode activated with nvramtool.

If your usage is different, using those images, please open an issue on Heads repository. It would need testing and proper fix.

This misunderstanding of how coreboot needs to be configured is the reason it didn’t work for you on vanilla coreboot. Your dGPU was just never initialized. Which is needed to go in hybrid mode as well.

That would be true if the settings were in nvram (CMOS memory, persistent through CMOS battery).

In the current use case where one modifies the default in the rom (as instructed right now), this is reapplied on boot from flash, and disconnecting the battery won’t change the default coming applied on boot. Also, upgrading the firmware would reset the settings to iGPU only.

I think if users wants to be able to activate/deactivate dGPU:
1- nvramtool should be provided as an additional and optionally packed tool inside of Heads so that CMOS settings are changed in nvram and living in cmos momory (so that disconnecting CMOS battery resets to default being iGPU only)
2- We should make sure that coreboot CMOS settings reads from nvram are read if they exist. (Not surenitnis the case)

As long as someone tunes dgpu to be hybrid or deactivated, there should not be any black screen at boot.

Any other idea to ease usage of iGPU/dGPU/hybrid inside of Heads