|HorizSync MIN MAX|
Often LCD panels has very different specifications for the
horizontal sync than CRTs do. Hence often youll need this option,
particularly if you are using the XFree like modelines described
below. The two floating point numbers specified will set the minimum
and maximum allowed horizontal sync in kHz.
|VertRefresh MIN MAX|
Similar to the above, but this sets the LCD or CRTs vertical refresh
rate in Hz.
|modeline 640x480 20.00 640 688 704 776 480 480 481 486|
This option allows you to specify XFree like modelines to use
in preference to the in built modelines. Often LCD panels will
need very different pixel clocks and timings than CRTs. Hence
this option allows you to specify these. Note that the LCD panel
timings are related to the panel size and not the mode size.
Therefore by default the BIOS setting already uploaded into the
registers are used by default. See the "UseModeline" option
below if you wish to override these.
|chipset C&T 5 1024|
These option allows the user to specify the chipset to use and
the amount of installed memory in kBytes. Currently supported
One major difference between this code and the previously available
support for the Chips and Technologies chipsets is that it supports
the use of programmable clocks. Because of the way that the Chips
and Technologies chips program the VCO from the registers, there is
no way to be sure to recover the previously programmed clock value.
Hence the driver assumes that the console clock is 25.175MHz. This
will be wrong for many machines. However I have supplied this option
to use a different value that might be more suitable for your machine.
This option disables the use of the linear framebuffer. This might
be useful for machines that have broken linear framebuffers.
Allow, but dont enforce the use of the linear framebuffer. As this
is the default anyway, I dont see that this option is much use.
For VL-Bus machines I expect that the linear framebuffer starting
address will be setup correctly. However to get the starting address
for PCI machines requires access to the MEMBASE register in the PCI
address space. Code to do this doesnt currently exist with
and so Ive taken the easy option of just testing a few known PCI
starting addresses. For now these are just 0xFE000000, 0xFD000000,
0x41000000 and 0xC0000000. If you have a different starting address
then the linear framebuffer will be unusable. You might like to report
your starting address to me so that I can include it in the probing
code, but till then this option can be used to set up the correct
address. This option just forces the given address to be the only one
probed. It doesnt force the linear framebuffer to be used.
|LCDPanelSize 800 600|
For some machines the LCD panel size is incorrectly probed from
the registers. This option forces the LCD panel size to be
as specified. If you have a black band down one side of your
LCD display you might very well need this option. Also if you
are using the option "fix_panel_size" in XFree then this option
has a similar effect. This option can be used in conjunction with
the option "UseModeline" to program all the panel timings using
the modeline values. Two machines that are known to need this
option are the HP Omnibook 5000CTS and the NEC Versa 4080
800x600 TFT machines.
The flat panel timings are related to the panel size and not the
size of the mode specified. For this reason the default behaviour
is to use the panel timings already installed in the
chip. The user can force the panel timings to be recalculated from
the modeline with this option. However the panel size will still be
probed. Two machines that are known to need this option are the
HP Omnibook 5000CTS and the Prostar 8200. You are advised to check
the README.chips that come with XFree for more details.
This option disables the use of H/W acceleration. As far as I know
the only thing that currently uses the H/W acceleration is libvgagl,
so this might not be a problem anyway. However if you see corruption
of the graphics on the screen try this option and see if it goes
For 24bpp on TFT screens, the server assumes that a 24bit bus is
being used. This can result in a reddish tint to 24bpp mode for
machines that actually have a 18 bit bus. This option, selects an
18 bit TFT bus. Note that using this option with a 24 bit bus machine
will similarly discolour the screen. For other depths this option
has no effect.
|Center ENABLE/DISABLE or Stretch ENABLE/DISABLE|
The default behaviour of
is to leave the stretching and
centring registers completely alone. However for some machines
this might result in poorly placed modes, or modes that dont
fill the whole screen. These two options can be used to centre
and stretch the mode on the screen. Note that for instance a
Center DISABLE might follow a
Center ENABLE in the config file. Only the last option takes effect.
The 64200 and 64300 chips are unsupported. However by specifying the chipset in your libvga.config as either a
chipset C&T 3 2048 Use 65535 for a 64200 assuming 2M of video ram, or chipset C&T 7 2048 Use 65548 for a 64300 assuming 2Mb of video ram
then svgalib can be made to give limited support to these chipsets. Note that the paged addressing mode of the 65548 chip and earlier can only address upto 1Mb of video ram. If the additional memory is needed then linear addressing must be used!! Note that support of the 64xxx chips has not been tested at all, and the above is just a suggestion that I believe will work.
One persistent and annoying bug is that the text mode stretching on LCD displays is not always restored correctly for 65550 and 65554 machines. This is to do with the manner in which the extended registers are restored and what is being done with the synchronous reset while the registers are restored. As I dont have a 65550 or 65554 machine of my own on which to test this code, I have been unable to fix this problem. In most circumstances an LCD-CRT switch will restore the LCD stretching to the desired state.
of the driver and this documentation is David Bateman <firstname.lastname@example.org>. However, it was slightly reformatted by Michael Weller <email@example.com>.
|Svgalib (>= 1.2.11)||SVGALIB.CHIPS (7)||31 July 1997|