Hello Friends
Hello All! This is my first try in booting coreboot on a LVDS panel. This is a Sandybridge-M system using video option ROM and VBT extracted from the original FW.
if you ever want to get open-source gfx init running instead, let me know. It would only need a few more lines to force a specific mode with libgfxinit, maybe that is enough. And as you run the VBIOS ROM within coreboot, you are probably not interested in a resident VBIOS, are you?
[JT]->[Nico] I would prefer to do it with just libgfxinit but I don't have a remote idea in how to initialize the LVDS panel. [JT]->[Nico] With a desktop monitor libgfxinit just work in this system but not a sign of activity on the panel. [JT]->[Nico] I would like to know how to initialize the panel with just coreboot, so, please show me how. [JT]->[Subrata] But also would like to know how to do it the right way with the blob.
VBE: Getting information about VESA mode 4116
What mode is this 4116? Are you sure, you need this specific mode? Are you sure, your panel supports it? Sometimes, you need to specify a VBIOS (maybe even VBT) specific code to use the panel's native resolution.
[Subrata] VBE: resolution for 4116: 1024x768@16. Its depends on your panel support and VBIOS support.
[JT] I just set at menuconfig 1024x768 1-5-5-5 and I have not idea why is reporting 4116-16 bit the intended is 18 bit. [JT]->[Subrata] Do I need to configure something else or create some code for this?
VBE: Function call failed! Error: In vbe_get_mode_info function
I don't think coreboot should halt here. Problems with the graphics are non-fatal.
[Subrata] Please have a look at https://review.coreboot.org/c/coreboot/+/34284. What I found was sometime Coreboot tries to fixed a mode which might not be supported by that VBIOS hence we might see issue during payload and further because it would try to map display to 0 resolution if mode set is not correct. Hence I had listed the supported VESA mode in debug print. If you could try to use supported one, it might work.
[JT] Halts with a "die" function because anyway if is not halted it will be halted by Tianocore with division by zero. [JT]->[Subrata] The LVDS panel supports 1024x768 18 and 24 bit but the LVDS cable only can transfer 18 bits. [JT]->[Subrata] The original FW support those LVDS resolutions too and I suppose VBIOS too. [JT]->[Subrata] At 1024x768 1-5-5-5 is the only setting that shows signs of panel initialization and shows output on the panel but halts. [JT] The other 2 1024x768 variants shows vertical stripes on the panel and gets halted anyway. [JT] This system doesn't dump the list of supported VESA modes even if I comment the "die" function.
Thank you, Jose Trujillo.