Framebuffer resolution?


I recently upgraded my graphics card from a Geforce 7600GS to a Gefore 560Ti.
And while most things are normal, during boot up my screen isn’t “full screen” until X is started, after which everything else is fine.

Essentially, all display, the grub menu, the splash screen, console text, etc, is within a box on the screen, with 2" on the left and right, and 1" top and bottom of empty blackness.

From what I understand, this is because the framebuffer is using the wrong resolution, but the maximum resolution that hwinfo --framebuffer returns is 1280x1024 (which I am already using “0x031a”.) (My monitors is natively 1920x1080)

Is it possible to do something about this? If not increase resolution than at least stretch the screen to full screen?

sudo /usr/sbin/hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.459]
Unique ID: rdCR.GGyCBArXznD
Hardware Class: framebuffer
Model: “NVIDIA GF104B Board - 10400050”
Vendor: “NVIDIA Corporation”
Device: “GF104B Board - 10400050”
SubVendor: “NVIDIA”
Revision: “Chip Rev”
Memory Size: 14 MB
Memory Range: 0xd5000000-0xd5dfffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Mode 0x0360: 1280x800 (+1280), 8 bits
Mode 0x0361: 1280x800 (+5120), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown

I fear this may be an issue with the graphics card itself, but I thought I would ask in case I missed something.


(11.4 + TW x86-64)

try adding vga=0x031a to your boot. If that works you can modify the menu’lst to make it permanent.

So, If I run your sudo /usr/sbin/hwinfo --framebuffer, I seem to show more resolutions. I have an nVIDIA GT 560 and I am using vga=346 (Mode 0x0346: 1600x1200 (+3200), 16 bits) in my grub menu.lst file (/boot/grub/menu.lst). I am thinking this is due to the fact that the displayed resolutions are supported both by the video card and your monitor. Further, in framebuffer mode, not all resolutions that could work are usable from the text mode. Based on your list, I would give 361 a try. You can also change this to vga=ask and have grub show you the options that it is seeing to see if they are different. To edit the grub menu.lst file from KDE do a Alt-F2 or just a menu Run Command and enter:

**kdesu kwrite /boot/grub/menu.lst**

Thank You,

This is very strange, I had resigned myself to using textmode i a box… However, today I did a fresh install and I had proper resolution on both the LiveCD and following the installation, up until I installed NVIDIA drivers.

Now I am back to the having everything in a box till X starts. Is there anything I can do fix this with NVIDIA drivers?? :frowning:

This is not strange. When you do a fresh install, you get the nouveau driver and the system use KMS by default (kernel mode setting), that tries to set an appropriate resolution in console mode (although it doesn’t always work as expected). With the nvidia driver, kms is usually ignored or has to be explicitely disabled with the kernel boot option “nomodeset”. When kms is used, the resolution you set with the vga option get overwritten by the kernel mode setting a few seconds after booting. To set a framebuffer mode with the nvidia driver, you need to use the vga option as the others explained. In some cases, (some) resolutions will simply prevent X from starting, but it mostly affects old nvidia chipsets using the legacy driver.

As I said in the first post, the highest option for vga I get is 1280x1024 - which is the issue.

The vesa framebuffer doesn’t provide higher resolutions for your hardware. I get similar output from hwinfo --framebuffer on one machine, that has a GeForce 8400 GS and a 1920x1080 monitor too - and so I use vga mode 0x031a (1280x2024) on that machine. On another machine with the same graphic card (!) and another 1920x1080 monitor (with significantly smaller pixels), the vesa framebuffer could do 1600x1200. The machine which has the smaller resolution is directly connected to the monitor with a dvi cable, while the one capable of a higher resolution is actually using vga cable and kvm switch - doesn’t seem very logical either. If you have a vga cable, you could try with a dvi one … or vice versa.