Vga=xxx

From DSL Wiki

   This article in other languages: EspaƱol

The vga=xxx cheatcode is used from the boot: prompt on LiveCD or usb-frugal, the APPEND= section in lilo.conf with lilo, or as a kernel line arguement in grub's menu.list to force a video framebuffer mode. Further information on using the Linux framebuffer can be found in the Framebuffer HOWTO[1]

Here is the table of all standard supported video modes. See below for how to access non-standard modes (e.g. 800x480).

Supported VGA Modes
  Screen Size 640x480 800x600 1024x768 1280x1024
Colors          
256 (8 bit)   769 771 773 775
32000 (15 bit)   784 787 790 793
65000 (16 bit)   785 788 791 794
16.7M (24 bit)   786 789 792 795



Additional Modes

In some cases the modes listed in the above table are not suitable. This may be because of unusual display resolutions or just plain garbled displays (e.g. Toshiba Libretto 100CT/110CT). On these PC's there are additional modes available. These should be used get X to display correctly.


To use these 'extra' modes do the following:


1. Boot using the 'dsl 2' cheatcode (From DSL V4alpha2 the 'dsl 3' cheatcode should be used as it boots as user DSL rather than as root)

2. Issue the command 'Xvesa -listmodes' (note the capital 'X'!)

3. Make a note of the mode(s) you need & the respective hex code(s) [See example below - hex code for mode is at start of mode line]

4. Add 0x200 to the hex code of the mode you want

5. Convert to decimal

6. Boot as normal (i.e. not 'dsl 2') using this number in the 'vga=xxx' cheatcode


For example, on a Toshiba Libretto 100CT:


'Xvesa -listmodes' gives a list of modes including:

.

.

.

0x0127: 800x480x16 TrueColor [5:6:5:0]

0x0128: 800x480x24 TrueColor [8:8:8:0]

.

.

.


To use the 24 bit 800x480 mode the correct number to use in the 'vga=xxx' cheatcode is:

0x0128 + 0x0200 = 0x0328 = 808 (decimal)

So in this case the grub command line has to contain vga=808.


To set X up properly it may be necessary to also use the 'xsetup' cheatcode the first time the system is booted with the 'vga=xxx' cheatcode with the new number. This will run xsetup.sh. When xsetup.sh runs select xfbdev on the first screen & then your mouse & keyboard. Once it finishes issue the command 'startx'.

Note: It has been reported that some systems use a different offset to 0x200. This is not in compliance with the framebuffer Howto. For more details on this see the discussion on this article[2]



If X still doesn't work well the full XFree system can be loaded as an extension. See the repository for DSL [3] and UNC [4] versions.

For older hardware (e.g. WD90C24 chipsets) the xf86_svga server from XFree V3 can be used with a suitable xf86config file. See the post XF86_SVGA[5] in the forums for more details on this option. A valid xf86config file for your system will be required. Try Google to find one. Note that the XFree configuration utility in the repository is for XFree V4.

This method does not require the full XFree system, merely the xf86_svga server & a suitable xf86config file.