site  contact  subhomenews

Setting resolution of the framebuffer console

July 08, 2010 — BarryK
Slackpup 0.3 testers have reported a problem with the console having too many rows and columns, resulting in very small text. We have this situation for i915, radeon and nouveau video hardware, when the kernel module loads with Kernel Mode Setting turned on (see /etc/modprobe.d). With this hardware, when switching out of X to a console, including a complete exit from X, there is not a return to our old and familiar VGA text mode, instead it stays in framebuffer console mode, which has the small text.

On my laptop with Intel video hardware, it seems that the i915 kernel module has inbuilt console driver, whereas the nouveau kernel module doesn't and needs the 'fbcon' kernel module to be loaded.

It was jamesbond who brought to my attention that the 'fbcon' kernel module has to be loaded, otherwise when you exit from X you get a black screen.

There are various interesting links on this topic:

That second link has this statement:
The framebuffer console reserves nouveaufb and therefore you cannot directly unload the Nouveau kernel module. You have to unbind nouveaufb first. When you unbind nouveaufb, the earlier fb driver or the VGA console driver will take over. Your kernel configuration needs to have CONFIG_VT_HW_CONSOLE_BINDING enabled.

...however, I configured the kernel with:

Anyway, there is a solution for getting the framebuffer console to have 80 columns by 25 rows, same as the text-mode console. Just have this kernel boot parameter:


However, I am not at all happy about this. Is there any way that I can set this after bootup, and before the video modules get loaded? It would be sensible if there were some way to do this. I played around with 'fbset' but that doesn't seem to do it.


Username: aragon2
maybe try fbset aragon"8 Jul 2010, 18:42"01706"'fbset"ICPUG"I really know nothing about this but did a quick Google and came up with this site: It says as an example: [i]To set the used video mode for X insert the following in rc.local: fbset -fb /dev/fb0 vga and make the used frame buffer device known to X: export FRAMEBUFFER=/dev/fb0[/i] Sorry if I am stating something obvious but it is worth making sure all bases are covered."8 Jul 2010, 19:38"01706"'fbset (contd)"ICPUG"Further to the above: I think vga has to be defined in the file: /etc/fb.modes And I think I am probably teaching grandmother to suck eggs! Sorry."8 Jul 2010, 19:53"01706"'Re fbset"BarryK"Most of what you read about the framebuffer, in relation to kernel boot parameters, fbset, etc., is not very relevant for the KMS-enabled kernel. It seems that fbset is basically useless. The "video=640x480" (for example) kernel boot parameter has been especially patched to work with the KMS-enabled kernel. Other kernel framebuffer boot parameters, such as "vga=771" (for example) are no longer used. Username: 8 Jul 2010, 22:00
"01706"'Fatdog64"kirk"Barry, James and my self finally kicked fatdog64-500 out the door. "9 Jul 2010, 2:40"01706"'maybe patch the kernel"jemimah"It might be possible to make this the default behavior. I ended up patching the Puppeee kernel so that users don't need to boot with acpi_osi=linux."9 Jul 2010, 12:38"01706"'Re video boot param"BarryK"I'm not sure, but I think that I read, if you have something like "video=640x480" boot parameter, if you start X without any xorg.conf then it forces KMS not to do any automatic probing and instead use 640x480 for X ...which is not good. I might be wrong, that was my understanding from reading bits of info here and there. Username: 9 Jul 2010, 18:39

Tags: puppy