Hello Heinrich, It seems that most default configurations for boards in the tree are using "serial,vidconsole" in that order. I did not find in documentation that the order of the values was meaningful and that I should put "vidconsole" first. From what I can tell, this is the only part of the code where order is used to define one console as 'primary'?
For my case I had that same default config and thus the serial 80x25 default size was used, leaving the EFI output confined to a small region of the panel. A vidconsole always reports its exact size and I thought this would always be used to determine default size when present, but I see now that this was not the decision you made. Perhaps documenting that the order of values is important would make sense then? Or thinking about making vidconsole always default when it is enabled? I personally believe that if a vidconsole is enabled, it should be used by default to determine size (which is what my patch implements) as it is guaranteed to not fail (vidconsole always has a size) and when enabled it feels like the thing most users will care about; but I guess that is up for discussion. For now, I will change the order in my personal configuration then, thank you. Best regards, -- Valentin On Sun, 20 Sept 2026 at 06:50, Heinrich Schuchardt <[email protected]> wrote: > > Am 19. September 2026 23:52:07 MESZ schrieb Valentin Haudiquet > <[email protected]>: > >query_vidconsole() matched the stdout environment value with a strncmp > >against "vidconsole", but stdout may be a comma-separated list (e.g. > >"serial,vidconsole"); match the substring instead. > > Hello Valentin, > > The string match here is used here to decide which output device defines the > screen size. If video is your primary output, you would place it first in the > comma separated list. > > Could you, please, explain why this does not match your needs. > > Best regards > > Heinrich > > > > > >Signed-off-by: Valentin Haudiquet <[email protected]> > >--- > > lib/efi_loader/efi_console.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > >diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c > >index 8d076058280..85f1a9312d9 100644 > >--- a/lib/efi_loader/efi_console.c > >+++ b/lib/efi_loader/efi_console.c > >@@ -344,7 +344,8 @@ static int __maybe_unused query_vidconsole(int *rows, > >int *cols) > > struct udevice *dev; > > struct vidconsole_priv *priv; > > > >- if (!stdout_name || strncmp(stdout_name, "vidconsole", 10)) > >+ /* stdout may be a comma-separated list, e.g. "serial,vidconsole" */ > >+ if (!stdout_name || !strstr(stdout_name, "vidconsole")) > > return -ENODEV; > > stdout_dev = stdio_get_by_name("vidconsole"); > > if (!stdout_dev) >
