ClockProg for SiS6326 graphics card and SVGATextMode
A program to allow the use of svgatextmode with a SiS6326-based graphics card.
The SiS6326 graphics chip is a bit outdated as a graphics chip these days but
its ability to deal with high clock rates makes it a good chip for text-mode
displays. Unfortunately svgatextmode does not work with it directly as it does not
know how to program the clock generator on a 6326. This program, kp, fills the gap.
kp is not intended to be "incorporated" into svgatextmode in the
sense of being a module or other form of extra code for svgatextmode;
it is a standalone program for programming the clocks on a SiS6326.
svgatextmode has the ability to call an external program to program
the clocks on cards it doesn't know about. This program is specified
in the config file. kp is such a program.
So the first step is to install an unmodified version of svgatextmode,
decompress kp.c.gz, then
compile kp.c, which is so
simple it's not worth writing a makefile for it:
$ gcc kp.c -o kp
This results in a binary named kp which
should be made setuid root:
# chown root kp
# chmod 4711 kp
and placed somewhere
suitable, like /usr/local/bin.
The next step is to edit /etc/TextConfig, see below:
In the Chipsets section:
Chipset "SiS"
#clocks (no example known to me ; consult the XFree86 clocks line for your card)
# SiS 6326 has programmable clock chip, so this line is just a fudge really
clocks 28.278 28.322 30 35 40 45 50 55 60 65 70 75
The "no example known" line is from the original file, the next two
are mine. svgatextmode moans if you don't supply a "clocks" line even
though the 6326 has a fully programmable clock, so I just made up a
line with some sensible-looking frequencies (the first two are for
standard 80x25 modes, the rest just made up). Really there ought to
be 16 frequencies listed but I couldn't be arsed to do that many. :-)
At the bottom of the Chipsets section is the ClockProg line:
#ClockProg "/usr/sbin/ClockProg"
ClockProg "/usr/local/bin/kp"
The first line is what you get in the standard file, the second is
what you need.
Then you need to enter the appropriate values for your monitor in the
HorizSync and VertRefresh lines, choose/calculate a suitable default
mode, and set that mode in the "DefaultMode" line.
That should be enough, I think: invoking svgatextmode with no
parameters ought to fire you up into the default mode.
Be sure to read the comments at the end of the source code file, and
the documentation for svgatextmode.
Get the source: kp.c.gz
Back to Pigeon's Nest
Be kind to pigeons