stupid_idiot
Group: Members
Posts: 344
Joined: Oct. 2006 |
|
Posted: July 07 2007,17:17 |
|
The commands below will only work if you use a hardware-specific framebuffer module, and NOT vesafb - vesafb is what you get by default on DSL where the choice of framebuffer resolution is fixed at boot-time by boot codes such as 'vga=791'. If you want to adjust framebuffer resolution from the text console when DSL is running, you should avoid using such a boot code. However, it is not enough to simply avoid using 'vga=7xx', because vesafb will still be loaded - only it will autodetect a suitable video mode. You MUST override the loading of vesafb by using the 'vga=normal' boot code, so that no framebuffer modules whatsoever are loaded at startup. After DSL has booted up, you can modprobe the framebuffer module that matches your hardware. The available modules are found in '/lib/modules/2.4.26/kernel/drivers/video/'. Once you have decided which module is suitable, load it with `modprobe`: e.g. `modprobe atyfb` (older ati cards up to 'rage' series) `modprobe aty128fb` (ati 'rage128' only) `modprobe radeonfb` (ati radeon series) `modprobe rivafb` (nvidia cards) etc etc.
You can adjust the framebuffer resolution from the text console using the `fbset` program. It is not very big, just a small little program. You can get the deb or the source here. Then, set the resolution: `fbset -a [mode_name]` (`-a` means to apply mode to all ttys - it's optional. The [mode_name] comes from the textfile '/etc/fb.modes'. This file comes standard with the fbset Debian package.)
'/etc/fb.modes' contains entries like this: mode "640x480-60" # D: 25.175 MHz, H: 31.469 kHz, V: 59.94 Hz geometry 640 480 640 480 8 timings 39722 48 16 33 10 96 2 endmode
mode "640x480-75" # D: 31.50 MHz, H: 37.500 kHz, V: 75.00 Hz geometry 640 480 640 480 8 timings 31747 120 16 16 1 64 3 endmode
etc etc (800x600, 1024x768, and others)
The last number in 'geometry' (8 - emphasis mine) refers to the color depth. Depths like 32, 24, and 16 can be used. After you've edited the mode to your liking, load the mode (THIS MUST BE DONE FROM THE TEXT CONSOLE!!): e.g. `fbset -a 1024x768-75` The text console should switch to the mode specified. Then start the framebuffer Xserver: 1. Select 'Xfbdev' in xsetup.sh if you have not done so. 2. `startx`
|