How to get High Resolution Grub/Console on Nvidia GPUs in UEFI

So this has been something Ive been trying to get working right for days, i tried to get early KMS and any other possible ways of getting high resolution console at boot time with an Nvidia GPU, specifically a 1080ti. Finally i have managed to do it though and ill share how as its really simple if youre willing to use UEFI over Legacy mode. I was in legacy mode so had to switch my system to GPT/EFI which is a fairly simply but time consuming process.

The problem ends up being having CSM support enabled to allow legacy operation. When you have CSM enabled the Nvidia GPU will default to legacy mode and limit you to a max of 1280x1024 resolution. This is due to Nvidia not providing fbdev so you are limited to VGA resolutions and Nvidia will mostly likely never touch this so you NEED to use UEFI to get HighRes.

If you install your Manjaro/Linux system in UEFI mode, disable CSM and make sure youre in a pure UEFI only mode, your Nvidia GOP driver will work in efifb mode which will allow you to have native grub/terminal resolutions which you can set the usual way in /etc/default/grub, i.e GRUB_GFXMODE=2560x1440x32 GRUB_GFXPAYLOAD_LINUX=keep

This wasnt easy for me to find or figure out as i couldnt really find much searching so i started experimenting and looking into efifb and how to get it working. Hope this helps someone get it working also and any questions id be happy to answer.

Try
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1024x768x32

and let us know if you see any difference. Better, worse or same?
And.. are you using theme or just background?

1 Like

No I wasn't asking I was posting to try and help other folks looking for an answer
Thanks though, this just seemed the most appropriate place to post it but could be wrong

Yes, I know you are trying to help, and that is good and appreciated.
What we are trying to do here is to find out if that is the real source of the solution.
If the 'solution' is not the right one but happen by other circumstance or by happenstance, that would not be a solution and a red herring to others trying to solve the problem.

So, I am asking you to try out what if changing the parameters will result in.
Perhaps that would be clearer.

Again, repeat I know your good intentions and I appreciate that.
Cheers.

That does do it in VGA mode but the issue in the first place was not having high resolution and being stuck to VGA mode, I already covered that your max resolution before switching to UEFI and using efifb with an Nvidia GPU is 1280x1024 and your solution is just using a lower resolution which defeats the purpose entirely.

What im posting here isnt a red herring if what youre suggesting is going in the polar opposite direction and there isnt anything setting grub to any other mode will do as when using an Nvidia GPU unless you want to have no 3D and use Nouveau on a newer card then using the Nvidia driver with efifb is the only way to accomplish native res grub/console

Youre trying to help in some fashion which is appreciated, but the issue isnt with linux, manjaro, etc. but with Nvidia and what they allow to be used and it what manner.

A uefi bios GUI does not use the graphic card to set resolution.
Motherboard manufacturers (except gigabyte) agree to use a standard resolution.
UEFI grub use resolution as determined by the bios (uefi bios).

bios-legacy bios does not use GUI, so the bios has no 'resolution' to speak of.
bios-legacy grub sets various standard resolutions and is only limited by the monitor resolution.
These standard resolutions can be discovered by grub command 'videoinfo' and since monitors have better resolutions nowadays, we usually can have better bios-legacy grub resolution than the uefi grub resolution. And a bios-legacy grub also do not make use of the system graphic card.

And what I am suggesting and was awaiting for your confirmation is that despite setting 1280x1024, you might be only getting 1024x768 in your uefi grub.
You may get 1280x1024 in your bios-legacy grub but I doubt you can get 2560x1440 despite setting it in your grub defaults.

But let's stop here. We are getting nowhere if we don't replicate and verify.
It does not matter who is right and who is wrong.
What matters is what is correct.
Take care.

I'm not taking about the bios GUI, I'm talking about grub which only when using the Nvidia GPU GOP driver and efifb which requires being set to UEFI only it allows grub to use 2560x1440, I've already confirmed this.

Bios Grub will use Fbdev if available (OSS/Kernel drivers) which allows high res console/grub in both bios emulation and uefi.

I'm not setting 1280x1024 in my uefi grub, I already have 2560x1440 after switching to uefi, disabling csm, and setting the resolution.

I have already done this, this post isn't theoretical i have already done it and I'm not arguing a right or wrong but simply posting how I made this work. It is functional solution plain and simple because of Nvidia lacking fbdev and only using efifb properly along withe the GPU not using efifb unless set explicitly to uefi

I'm not sure why you want me to lower my resolution when I've solved my problem and I'm just posting my method.

Anyone coming here please refer to OP for solution

Here is my proof I'm not blowing smoke




Good. First, verify your motherboard, at terminal

inxi -M

Then reboot to your grub menu, in uefi.
Go to grub prompt (press 'c').
Output please of

grub> echo $grub_platform

Verify output is 'efi'

Do videotest. (after each test, you will need to hard reboot)

grub> videotest 1024x768
grub> videotest 1280x1024
grub> videotest 2560x1440

the first 1024x768 is to show what the result will be if the resolution works.
If the reolution does not work, you will get a black screen or a blinking cursor.

Remember, hard reboot after each test.

Good that you willing to verify.

OOPs... Just saw your screen shot.
You are using Gigabyte!!
No need for test.
As said, gigabyte wants to use a higher resolution!
It won't follow other motherboard consensus.

But... stress graphic card has nothing to do with it.

If others want to report a non-gigabyte motherboard using a non 1024x768 resolution in their uefi grub. please tell us.
I'll be happy if I am wrong about this.

I feel like you haven't really read my posts based on your responses.
I'm sorry but I'm not rebooting a for hours for another day, I've found my solution and am done here unless anyone needs help

Well, I get the same feeling too.
When I mentioned gigabyte, you did not alert me to the fact that you are using Gigabyte.
That will save both of us some angst.

Anyway, we wasted both our time here.
BTW, your method will not work with a non-gigabyte motherboard.
We shouldn't waste more of other peoples' time.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by