Increase Font in GRUB for High DPI Screens
Screens with a high DPI are nice, but not all programs/environments have caught up on recognizing them. This has an annoying consequence that some things just appear tiny on your screen. GRUB is one of those programs with this issue. Luckily, since it is a text interface, it can be easily “fixed” by increasing the font.
To do this, we will first need to generate a font at a certain size in a format that GRUB can handle. You can pick any font of your system for this, I will be using Deja Vu Sans Mono. Monospace fonts are most likely the way to go. Open a terminal and enter the following.
sudo grub-mkfont --output=/boot/grub/fonts/DejaVuSansMono24.pf2 \
--size=24 /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
What this does may be obvious to most (and if so, you can skip this paragraph),
but I will go over the details just to be sure. sudo
is required since you will
need root privileges to write the newly generated font to the output folder.
grub-mkfont
is the program that generates the GRUB compatible font for you.
--output=/boot/...
tells it where to save the font. I would advise to keep
the folder /boot/grub/fonts/
as it is, simply because it is the most logical
place to put this. The name you give the new font is completely up to you, I
decided to keep it descriptive by combining the original font name and the size
that I use. --size=24
defines the size you want to use, 24 worked nicely for
my screen. The final parameter is the location of the original font file. Note
that running the command spewed out some warnings in my terminal, but the font
seemed to still be created without problems.
With that done, open /etc/default/grub
in your favourite text editor. You
will once again need root privileges to edit. Add a GRUB_FONT
line with the
location of your generated font (and maybe some comment explaining what you
did) like so:
# More readable font on high dpi screen, generated with
# sudo grub-mkfont --output=/boot/grub/fonts/DejaVuSansMono24.pf2 \
# --size=24 /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
GRUB_FONT=/boot/grub/fonts/DejaVuSansMono24.pf2
Save the file and finally run sudo update-grub
to propagate your change to
all the files that need it. You’re all done, you can reboot to give it a look.
Information derived from: