Wrong framebuffer resolution in 2.6.30
The i915 driver for the Intel GM965 is broken in kernel 2.6.30 – instead of getting 1280×800 framebuffer console you end up getting up getting 1024×768. Please note that the (overall) resolution is perfectly fine – only the text will appear to remain constrained in an imaginary 1024×768 box. This happens at least in Acer 4720z and probably in other boxes too which use the GM965 and have a TV out. What really happens is that the kernel mistakenly detects a projector connected to the TV-OUT even though there is none and sets the framebuffer resolution to 1024×768. This is evident from the output of dmesg -
...
[drm] TV-12: set mode 1024x768 18
...
This is especially annoying for people like me who
-
Like to use the console for things that do not require starting up X.org
-
Have painstakingly created a boot-logo which the wrong resolution is ruining.
-
Want every aspect of their computers to be flawless.
All the while I was trying to google with terms like “wrong resolution” and “changing the framebuffer resolution” only to find the forums invariably advising me to add vga=773 to the kernel boot line – something I knew would not work.
Anyways after googling with the above dmesg line I finally came across a patch which supposedly fixes the problem. When I tried to patch my kernel, however I got two failed hunks. So I tried to use my own hunking abilities and fired up my trusted vim.
To cut a long story short, the culprit is drivers/gpu/drm/i915/intel_display.c and you can download an edited version here. Just replace the file, re-compile and you are ready to go.
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.