Hi,

> On some buggy EFI firmwares, GRUB is started with the console resolution
> set to the maximum but the output console EFI object has the mode set as
> 0, which is the minimum supported mode of 80x25 characters. This causes
> strange behavior at the GRUB shell where output can fill the screen, but
> the prompt is at line 80 in the middle of the screen.

This behavior might not be ideal, but it's clearly within the specs and
not buggy.  What firmware do you talk about btw?

> +  /* Set text-mode resolution to maximum supported */
> +  o = grub_efi_system_table->con_out;
> +  for (i=0, columns_max=0, rows_max=0, mode_max=0; i < o->mode->max_mode; 
> i++)
> +    if (GRUB_EFI_SUCCESS == efi_call_4 (o->query_mode, o, o->mode->mode,
> +                                       &columns, &rows)
> +       && (columns_max * rows_max) < (columns * rows))
> +      mode_max = i;
> +
> +  efi_call_2 (o->set_mode, o, mode_max);

This is buggy.  It find the last entry in the mode list.  Which works by
pure luck because that happens to be the entry you want have in case the
list is sorted.

take care,
  Gerd


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to