setmclk(1)             Svgalib User Manual             setmclk(1)

       setmclk  -  adjust  the  memory  timing  of certain Cirrus


       This program sets the memory clock  of  Cirrus  5424/26/28

       The  first  three  values could be set by utility programs
       that came with my card (AVGA3), but somewhat higher values
       seem  to work (on my card at least). It may be that better
       and more recent Cirrus cards use a higher value as boot-up
       default.  It  should depend on DRAM speed, but it seems to
       be more dependant on the card logic.

       I have the impression that many Cirrus 542x  cards  suffer
       from  horrible BIOS version/DRAM timing misconfigurations.
       Perhaps even some versions of  MS-Windows  drivers  change
       the  MCLK  register. In any case, the boot-up BIOS default
       (0x1c) may be inappropriately low for  the  type  of  DRAM
       timing most cards use.

       Using  a higher memory clock gives a very significant per-
       formance improvement; with  high  dot  clock  modes  (like
       640x480x16M  or 1150x900x256) performance can be more than
       twice that of the standard 50 MHz  clock.  This  goes  for
       both  (VLB)  framebuffer  access  and accelerated features
       (bitblt). This also helps XFree86 server performance,  but
       only  if  the XFree86 Cirrus driver doesn't set the memory
       clock register (it should work for XFree86 1.3  and  2.0).
       Use at your own risk!

       Note  that  the dot clock is something entirely different.
       There does not seem to be much correlation between the two
       (i.e.  if  a high dot clock gives screen problems, using a
       high memory clock is not likely  to  fix  it,  other  than
       improving speed).

       The actual memory clock is hard compiled into the program.
       It defaults to 0x1c. You can change this  value  and  some
       suggestiong come in th source of the utility.

       This  utility  is  part of svgalib and can be found in the
       utils/ subdirectory of the original svgalib  distribution.
       However,  it  is  not  installed  by  default,  s.t. it is
       unclear where you can find it if your svgalib was  install
       linux distribution.

       In case of any such problem, simply get an svgalib distri-
       bution from the net. You don't need to  install  it.  Just
       make  in  the  utils/  subdirecty.  As  of  this  writing,
       svgalib-1.2.12.tar.gz is the latest  version  and  can  be
       retrieved     by     ftp     from    at
       /pub/Linux/libs/graphics     and     at
       /pub/linux/sources/libs  which  will most probably be mir-
       rored by a site close to you.

       svgalib(7),   vgagl(7),   libvga(5),   convfont(1),
       dumpreg(1),  restorefont(1),  restorepalette(1),  restore-
       textmode(1),   runx(1),   savetextmode(1),   fix132x43(1),

       This manual page was edited by Michael Weller <eowmob@exp->. The exact  source  of  the  referenced
       utility  as  well  as  of  the  original  documentation is

       It is very likely that both are at least  to  some  extent
       are due to Harm Hanemaayer <>.

       Occasionally  this  might  be  wrong. I hereby asked to be
       excused by the original author and will happily accept any
       additions  or  corrections  to  this  first version of the
       svgalib manual.

Svgalib (>= 1.2.11)         2 Aug 1997                          1