Bug#1146562: Please return efi_uga.mod to x86_64-efi grub

Mikhail Ryazanov mikhail.ryazanov at jila.colorado.edu
Sat Sep 5 21:28:41 BST 2026


I was expecting more interest and participation in finding the real 
problem, but unfortunately had to dig this myself. Here are some 
important updates.

I've downloaded the version 2.14-1 from snapshot.debian.org and 
confirmed that it works fine. Further tests also confirmed my previous 
suspicion that the problem is not in the efi_uga removal (actually, my 
system uses GOP, and it works), but nevertheless seems to be associated 
with the same patch.

Namely in 2.14-3, the command "terminal_output console" brings the 
system to a state when GRUB thinks that it works in the text mode, but 
the display is actually not switched to the text mode, so all GRUB 
output goes nowhere, leaving the screen stuck (in my case, blank because 
"terminal_output console" was in grub.cfg before any output). Blindly 
typing "terminal_output gfxterm" makes GRUB usable (supposedly, if 
necessary video modules were loaded).

So, removing "console" from the GRUB configuration made 2.14-3 usable, 
although quite poorly, as that MacBook has a high-resolution screen 
("Retina"), on which the default GRUB font is very tiny (line height < 
2 mm). "videoinfo" shows that only the native resolution is supported, 
so changing "gfxmode" does not help. The only solution that I've found 
was to load a larger font (finding a reasonable font file that will work 
with grub-mkfont was another quest). However, GRUB_FONT in 
/etc/default/grub is not documented and apparently does not work 
properly, so I had to edit grub.cfg manually and will need to do so 
every time...

Interestingly, "efitextmode" still works in 2.14-3, showing available 
text modes and allows selecting among them. But because their 
initialization has been removed from grub_prepare_for_text_output(), 
nothing really works.

I've also tested that "terminal_output console" works in 2.12-9 even on 
the newest PC (made this year), so my opinion is that the decision to 
"drop support for ... Console Control" was a mistake. However, if you 
prefer formalism ("Console Control protocol was an implementation detail 
of the deprecated Intel EDK") over real-world usability, please then 
remove it _completely_ and document this breaking change accordingly, 
because the current behavior is very confusing and frustrating (from the 
user perspective; and keeps the code in a highly inconsistent state, 
from the developer side).



More information about the Pkg-grub-devel mailing list