How to reduce grub resolution?
On my 4k laptop, I have 2 problems: 1) the grub boot menu is in 4k - so it's all super tiny. 2) If I have TPM and secure boot enabled, it actually runs out of memory, and I've heard you can lower the resolution to fix that.
So how do I do that on Bazzite? Most of the stuff the AIs tell me is bunk, and doens't work.
17 Replies
There are so many notes all over the grub files about what NOT to edit, but nothing about how to actually get any custom settings in to the darned runtime config. NOTHING I do makes it in. It's like trying to send a signal from the event horizon of a black hole.
This should work on bazzite afaik: https://wiki.archlinux.org/title/GRUB/Tips_and_tricks#Setting_the_framebuffer_resolution
That is one of the many things I've tried, 36 different times lol
Nothing has any impact at all - it just always renderes at 4k
I think it's because the way the grub.cfg is generated, it doesn't load any of the custom stuff until all the way at the end - after the video mode is already initialized.
For me, changing it back won't actually solve the problem - I need it to never try to run in 4k at all
And there doesn't appear to be any way to actually override that early enough with custom configs
(And changing the mode after the fact just doesn't work - ever.)
grub's terminal is also missing commands like videoinfo
Not sure how it works in current linux, but I used to do some nomodset kernel argument thing a long time ago. This was in crt times though. I'll see if I can dig sth up
I also tried changing kernal args, that also has no impact whatsoever
It's definitely probable I've done it wrong
It looks equally probable, that there just isn't a way to override the mode setting
(on silverblue/ostree base)
You can set a manual resolution for sure. Helped someone with that before.
You need to use rpm-ostree kargs for kernel arguments.
Not sure how it applies to an internal monitor though.
They used a manual resolution from here: https://wiki.archlinux.org/title/Kernel_mode_setting#Troubleshooting
The grub template system sets the display mode in it's 00 file:
hmm, if loadfont unicode - how do I change that conditional?
I wonder if I can just edit the 00_header file?
You should be able to as it's on /etc
BTW, I tried setting kargs 100 different ways - nothing had any impact
also,
hwinfo --framebuffer
doesn't work on bazzite
and in grub cli, neither videoinfo and vbeinfo aren't there either
It's like everything that might be somewhat standard in the linux world is simply unavailable hereI've never bothered to figure out the complete grub chain, but all kernel parameters that I tried with kargs worked. The person I helped setting a manual reolution for their tv with a karg had success too.
It looks like the 00_header file actually sets the mode from a variable
can I just enter this in grubenv maybe?
Maybe this thread can help you? https://universal-blue.discourse.group/t/grub-theming-guide-for-silverblue-ublue/370
Cool thanks!
I don't know what I did differently this time, but it worked!
Solution
I added this to /etc/default/grub:
Then ran the generate command:
I think the mistake I made earlier, was that I didn't include
x32
in the mode list
Anyway - this works!It did NOT solve the out of memory problem lol - I'll try other things later
Not sure if this applies to you, but I just came across this grub oom thread: https://universal-blue.discourse.group/t/stuck-on-bazzite-build-cant-boot-into-update-grub-memory-error-others-affected/6827
Universal Blue
Stuck on Bazzite build, can't boot into update - grub memory error,...
I seem to be stuck on bazzite-nvidia:stable 41.20250127, and as I am researching I am finding more and more people who seem to be in the same boat. If I remember correctly I was hit by the bad update a few weeks ago, and was able to roll back and update from there just fine. I didn’t do a full shut down for a while, and once I did, I am exper...