Joined: July 2005
||Posted: Oct. 06 2005,02:39
Here's how to get Xfbdev working on the Libretto 800x480 screen.
I had got Xfree.dsl up & running, but on the 64Mb libretto this was using 92% of the ramdisk!!! Time to see what else could be done. Xfbdev kept setting an 800x600 resolution so the bottom of the display wasn't visible & nothing seemed to change that. The neofb.o module is supposed to have an option that will force the 800x480 mode, but the version of this module in DSL may not have the necessary patch as it keeps setting an 800x600 mode (again from much googling).
After much googling I found the following site:
This explains where the numbers come from for the Linux VGA modes used in the 'vga=' boot option, or when asked for the vga mode during the boot process.
To summarise the linux modes are equal to the vesa modes plus 0x200. The vesa modes are not the ones given as choices when you are asked for a vga mode when booting. The vesa modes can be found in DSL by issuing the command 'Xvesa -listmodes'. This will return a list of the available modes & their hex codes. For the Libretto (100/110) the 800x480 modes are 0x126(8 colour), 0x127 (16 colour), & 0x128 (24 colour). Now add 0x200 to these numbers to get the linux vga mode. The 800x480x24 mode then becomes 0x328 (or 808 in decimal). If you put 'vga=ask' as a boot option type 0128 when asked, or put 'vga=808' as a boot option in grub/lilo. Run xsetup.sh, select xfbdev & all will be well when X is run
Unfortunatly some of the default window sizes for the installed applications place the title bar off the top of the screen. So far (sylpheed, firefox, beavel, emelfm) I have been able to grab & drag the tab on the left of the window to access the title bar to maximise the window & then resize it.
Presumably this fix should work for many other systems - all you need to do is boot with option 'dsl 2' find the vesa modes, convert to linux vga modes & put the appropriate 'vga=' option in the boot command.
I'm not sure if using the neofb module improves performance. It is reported that using 'modprobe neofb libretto=1' (may be 'modprobe neofb libretto') will force the 800x600 mode - maybe using this module will perform better than the default vesafb that seems to be loaded during booting.