Fix low resolution grub and splash screen with Nvidia drivers on Ubuntu 14.04

By | July 29, 2020

Nvidia drivers

With the Nvidia official drivers you are able to throttle the performance of the nvidia graphic cards (gpu) to the maximum. However there are small glitches that need to be fixed manually.

After installing and enabling the nvidia proprietory drivers you would notice that the grub screen and the Ubuntu splash screen (called Plymouth) at startup and shutdown are displaying in a low resolution graphics mode. It is generally as low as 640x480 px.

The low resolution is caused because the Nvidia graphics drivers are not yet loaded at the point of grub screen and splash screen.

At that point the system can display whatever resolution the graphics card supports via the VESA BIOS extensions. 640x480 being the most viable resolution, is used hence.

The splash screen being in low resolution is not likely to cause any problems, but the grub screen should have a better resolution when you need to work at the grub console for example.

So this quick tutorial shows you how to fix the resolution at these screens. Note that this has only been tested on Ubuntu 14.04 and many other users have reported issues with this method either not working or causing a blank screens at different places.

The steps shown here can only change the resolution to a higher (supported) value, but may not provide the native resolution of your lcd monitor.

1. Fix the grub boot menu screen

To fix the grub boot menu screen edit the file /etc/default/grub

$ sudo nano /etc/default/grub

In the file look for the section that has a field named GRUB_GFXMODE declared.

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

Edit it to look something like this

GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep

Now run the following command to regenerate the grub configuration file.

$ sudo update-grub2

Now reboot your system. The grub boot screen should have the resolution 1024x768.

Get a higher resolution

At the Grub boot screen press 'c' key to access the grub console. At the grub console run the following command

grub> vbeinfo

It will display all the supported resolutions. If you find a resolution higher than 1024x768 in the list, then you can use it as the value of GRUB_GFXMODE to get better. Make sure to select a resolution that matches the aspect ratio of the native resolution of your monitor.

2. Fix the splash screen

To fix the splash screen create and edit

$ sudo nano /etc/initramfs-tools/conf.d/splash

And fill it with the following line

echo FRAMEBUFFER=y

Now run the following command

$ sudo update-initramfs -u

Reboot again and now the startup and shutdown splash screens should have the resolution specified in GRUB_GFXMODE field of the grub configuration file.

About Silver Moon

A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected].

18 Comments

Fix low resolution grub and splash screen with Nvidia drivers on Ubuntu 14.04
  1. Farid

    Thank you! I set GRUB_GFXMODE to 1360x768x32 that was listed in vbeinfo, and then sudo update-grub2, and … it worked.

  2. Alejandro Soumah

    Each time I increase the resolution , the screen gets laggy really laggy. If I stay on low resolution it works okay.
    How do I fix it ?

  3. Deepu Chandran

    Hey guys,
    Can some one tell me how to fix this same problem in systems without nvedia… Mine has intel integrated graphics… I followed the above methods but didn’t got any results…
    Please help…

  4. EricWM

    I followed the steps above and the screen resolution change accordingly but I get the following message at the top of the grub menu screen.
    Error (hd0,msdos1)/boot/grub/themes/background.png:3:1666 missing separator after property name ‘w’
    The background.png is not displayed.
    any help with this problem would be appreciated.
    Thanks

  5. Ahmed Sadman

    GRUB screen fixed. But Splash screen isn’t. At the splash screen during opening the pc, the screen stays complete black printing only a string ‘FRAMEBUFFER=y’. Can you help?

  6. Jecht_Sin

    Ok, I am running Ubuntu 14.04 in a Parallels Desktop VM for OS X. just adding the line:

    GRUB_GFXMODE=1280×800

    and updating grub2 worked for me for both grub and the splash screen. But the login windows still is at a lower resolution. I will eventually work that out, but this is simply a pain.

  7. Pablo Chinchilla

    God bless you!
    Thank you so much! I even asked at askubuntu.com and they didn’t bring me a solution.
    Really easy and helpful.

  8. Thuffir

    Worth noting, that you will get the following warning from the NVIDIA driver:

    NVRM: Your system is not currently configured to drive a VGA console
    NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
    NVRM: requires the use of a text-mode VGA console. Use of other console
    NVRM: drivers including, but not limited to, vesafb, may result in
    NVRM: corruption and stability problems, and is not supported.

    So it seems that the higher resolution console is not working on purpose. (Or rather on poor support from NVIDIA…)

  9. Fabien Auréjac

    Thank you very much, really helpful

    just a notice, here on chrome mac a field displays:

    And fill it with the following line
    echo FRAMEBUFFER=y

    so the line to put in /etc/initramfs-tools/conf.d/splash is only FRAMEBUFFER=y

    1. Konstigt2

      It worked anyway for me (only that I would see FRAMEBUFFER=y displayed while booting) so I guess the command isn’t needed at all?!

Leave a Reply

Your email address will not be published. Required fields are marked *