Ferdinand Keil's

electronic notes

Mai 26, 2020

Getting a nice, high-resolution terminal on Linux with an NVIDIA GPU and EFI

I finally replaced my more than ten year old 24" Dell monitor with a Samsung 49" curved display. Splitting it in three parts (1:2:1) makes for a very ergonomic desktop, as one's turning the head equally to both sides.

However, the unusually high resolution of the display (5120x1440 pixels) causes its own set of problems. The toughest one so far was setting a higher resolution during boot and in terminals (1280x1024 just isn't cutting it). Linux can do it, GRUB has a setting for it, EFI shouldn't be a problem and the NVIDIA driver supports it as well. So I kept changing options in /etc/default/grub for hours, even breaking GRUB in the process.

Turns out, it has nothing to do with the GRUB config. This post in the Manjaro forum got me on the right track: mainboards with EFI firmware have a so called CSM to support legacy OSes. If it is enabled, the NVIDIA driver limits the framebuffer resolution (that is used for the terminal) to 1280x1024 pixels. So one has to disable CSM for the NVIDIA driver to output higher resolutions in terminals. Now that I have disabled the CSM, everything is working brilliantly without any additional settings in the GRUB config.