Nvidia display driver and high resolution linux console

This guide is for Debian 8 but will also work with  Ubuntu.
In order to solve the issue of huge fonts when using the nvidia driver you can try the following.
This issues occur after installing the nvidia binary driver. Quite some effort is required to solve the issue.
But when completed you should be able get nice fonts and get images in the links2 webbrowser or play video directly on the console with mplayer.

links2 -G https://flyongeek.wordpress.com
mplayer -vo fbdev -screenw 800 -screenh 600 -geometry 50%:50% test.avi



Ok so lets get started.

1. in your favorite editor, vim in my case

sudo vi /etc/default/grub


2. Localize the line that says


and change it to the resolution you want. (see 3. to detect supported modes)  Add another line for a new variable called


with the same resolution. It should look similar to this:

GRUB_GFXMODE=1440x900x32 GRUB_GFXPAYLOAD=1440x900x32

Save and exit. Then edit

sudo vi /etc/grub.d/00_header

3. To see the supported modes and resolution you can run.

sudo sudo apt-get install hwinfo
sudo hwinfo --framebuffer | grep Mode


4. Localize the line that says

if [ x${GRUB_GFXMODE} = x ] ; then GRUB_GFXMODE=...

As before, change the resolution there to the one you want and add another line for payload:

if [ x${GRUB_GFXMODE} = x ] ; then GRUB_GFXMODE=1440x900x32 ; fi if [ "x${GRUB_GFXPAYLOAD}" = "x" ] ; then GRUB_GFXPAYLOAD=1440x900x32 ; fi

Finally, locate the line that says set


and add a line for payload below it. It should look like this:

set gfxmode=${GRUB_GFXMODE}
set gfxpayload=${GRUB_GFXPAYLOAD}

Now save and exit.

Now enable and install the framebuffer:

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo apt-get install v86d
sudo vi /etc/initramfs-tools/modules

add a line like:

uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap

5. Update grub and initrd

sudo update-grub2</pre>
<pre>sudo update-initramfs -u

Reboot, and both the grub menu and the console should have nicer and higher resolutions.
If it fails check  step 7 and on.

6. now setup the console font

sudo apt-get install console-common; sudo dpkg-reconfigure console-setup
You will see this: consolesetup-set-encoding Press “Enter” to select the default.
6.2 Next, it will ask you for the character set the console should support. Similarly, press “Enter” to select the default.


6.3 The next screen is the one that is most important to you – changing the font used in the console. There are only a few choices: VGA, Fixed, Terminus, TerminusBold and TerminusBoldVGA. Fixed seems to have the best coverage for international scripts while Terminus is the most pleasing to the eyes. Make your choice with the arrow up/down key and press Enter.


6.4 Lastly, you can set the font size used in the console. The default is 16, but you can change it to a bigger or smaller font size.



The font will be changed directly so try some different settings until you are satisfied.

7. if things go wrong:


Does this file exist? if not run:

sudo apt-get install v86d

In order to make this work you need framebuffer support in your kernel. Most kernels have it by default. Check it by running: ( replace config-3.16.0-4-amd64  with the one for your kernel)

cat /boot/config-3.16.0-4-amd64 | grep FRAMEBUFFER

For more info: https://wiki.archlinux.org/index.php/uvesafb or http://unix.stackexchange.com/questions/33596/no-framebuffer-device-how-to-enable-it


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s