I hope somebody can help me with this... Running Ubuntu 12.10 GNOME Remix

I am trying to get Grub2 to use a resolution of 1600x900...

I have checked vbeinfo and hwinfo --framebuffer which both provide:

Mode 0x037f: 1600x900 (+6400), 24 bits

This resolution has worked on previous Ubuntu and Fedora installs.

Why is it not taking effect?? I have tried different resolutions... Backgrounds and font colours are changeable.

Thank you for your insight.

  • What is your graphics card? This sounds like a bug and maybe the Grub guys would like your bug report... gnu.org/software/grub/manual/grub.html#Reporting-bugs – fossfreedom Nov 9 '12 at 17:06
  • I was wondering if it could maybe be a hw issue but to be honest, I have no idea how to check/debug. It is a GT630M running in ahem Optimus mode... – beanaroo Nov 10 '12 at 11:21

When you set the mode, try to also include the bit depth in /etc/default/grub, e.g.:


Also add this line:


Run sudo update-grub, reboot and let us know if it worked.

  • Unfortunately that did not work. It also forced my GDM into low-graphics mode. Thank you for responding, phoibos! – beanaroo Oct 27 '12 at 11:36

I think GRUB_GFXMODE gets ignored (or at least it was at some point ago). You can always try the traditional way with vga code

  1. First you install hwinfo:

    sudo apt-get install hwinfo

  2. Then you get the vgacode with hwinfo (preferred resolution, 24 bits):

    sudo hwinfo --framebuffer

    02: None 00.0: 11001 VESA Framebuffer
    [Created at bios.464]
    Unique ID: rdCR.ku_DuSHewh1
    Hardware Class: framebuffer
    Model: "Intel(R)Sandybridge Mobile Graphics Controller"
    Vendor: "Intel Corporation"
    Device: "Intel(R)Sandybridge Mobile Graphics Controller"
    SubVendor: "Intel(R)Sandybridge Mobile Graphics Chipset Accelerated VGA BIOS"
    Revision: "Hardware Version 0.0"
    Memory Size: 63 MB + 960 kB
    Memory Range: 0xd0000000-0xd3feffff (rw)
    Mode 0x0360: 1366x768 (+1408), 8 bits
    Mode 0x0361: 1366x768 (+2752), 16 bits
    Mode 0x0362: 1366x768 (+5504), 24 bits
    Mode 0x0363: 1600x900 (+1600), 8 bits
    Mode 0x0364: 1600x900 (+3200), 16 bits
    Mode 0x0365: 1600x900 (+6400), 24 bits
    Mode 0x0366: 1920x1080 (+1920), 8 bits
    Mode 0x0367: 1920x1080 (+3840), 16 bits
    Mode 0x0368: 1920x1080 (+7680), 24 bits
    Mode 0x0307: 1280x1024 (+1280), 8 bits
    Mode 0x031a: 1280x1024 (+2560), 16 bits
    Mode 0x031b: 1280x1024 (+5120), 24 bits
    Mode 0x0305: 1024x768 (+1024), 8 bits
    Mode 0x0317: 1024x768 (+2048), 16 bits
    Mode 0x0318: 1024x768 (+4096), 24 bits
    Mode 0x0312: 640x480 (+2560), 24 bits
    Mode 0x0314: 800x600 (+1600), 16 bits
    Mode 0x0315: 800x600 (+3200), 24 bits
    Mode 0x0301: 640x480 (+640), 8 bits
    Mode 0x0303: 800x600 (+832), 8 bits
    Mode 0x0311: 640x480 (+1280), 16 bits
    Config Status: cfg=new, avail=yes, need=no, active=unknown

  3. You edit a line in your /etc/default/grub (or you just use grub-customizer) to include vga=0x0365 or vga=891 (0x365 is 869) :

    sudo gedit /etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=891"

  4. You update the grub configuration:

    sudo update-grub

  5. Reboot and let us know what happened

  • thanks for the interesting technique... unfortunately no change. Tried all possible resolutions. listed by my hwinfo – beanaroo Nov 17 '12 at 10:46

Just resolved the same issue for me. Here what I've done:

Disabled previous framebuffer (was vga16fb for me) and enabled uvesafb:

/etc/modprobe.d/blacklist-framebuffer.conf :

blacklist vga16fb

You can find what framebuffer is currently is use using lsmod | grep fb command.

/etc/modprobe.d/framebuffer.conf :

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

/etc/modules :


The next step is to put uvesafb into initrd image.

/etc/initramfs-tools/modules :

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

Re-create initrd: sudo update-initramfs -u

For now, the hi-res console should be available after boot. Next task is to turn grub2 into hi-res mode. For some reasons, several important options was missing into my grub config file, so I added them into /etc/default/grub:


I'm not sure about next section, it may be not nesessary, but here what I've done to /etc/grub.d/00_header :

Almost at the top of the file there is a number of if [ "x${GRUB_... fallback operators. I've added two more:

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1680x1050x24 ; fi
if [ "x${GRUB_GFXPAYLOAD_LINUX}" = "x" ] ; then GRUB_GFXPAYLOAD_LINUX=1680x1050x24 ; fi

Now find the text set gfxmode=${GRUB_GFXMODE} in that file, and insert the following code as the next line:

set gfxpayload=${GRUB_GFXPAYLOAD_LINUX}

Again, I'm not sure if it nesessary for the latest grub2 (I have 1.98) Now update grub config file:

sudo update-grub2

and everything should be working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.