1svgalib.chips(7)              Svgalib User Manual             svgalib.chips(7)
2
3
4

NAME

6       svgalib.chips - Information for Chips and Technologies Users
7
8

TABLE OF CONTENTS

10       Information for Chips and Technologies Users
11       David Bateman <dbateman@eng.uts.edu.au>
12       23nd May 1997
13
14       0. Introduction
15       1. "libvga.config" options
16       2. Unsupported Chips and Technologies chipsets
17       3. Known bugs
18
19

0. INTRODUCTION

21       This  is  the  really only my first attempt to get a working fully fea‐
22       tured driver for the  Chips  and  Technologies  chipset  to  work  with
23       svgalib(7).  As such the only machine that I know it will work on is my
24       own. If you use this software then at this point I'm still very  inter‐
25       ested  in  hearing  from  you  by  e-mail. Include full details of your
26       chipset, amount of videoram and whether you have a VL-Bus  or  PCI  bus
27       machine.
28
29       This  server  was  written  using  the svgalib(7) patch from Sergio and
30       Angelo Masci as a starting point. This version of  the  code  resembled
31       the  XFree  server code that was used up to XFree 3.1.2. As such it was
32       incapable of programming the clocks, using linear addressing, Hi-Color,
33       True-Color  modes  or  the hardware acceleration. All of these features
34       have since been added to the code. In addition support for  the  65525,
35       65535,  65546, 65548, 65550 and 65554 have been included. The 64200 and
36       64300 chips are unsupported, however these chips are  very  similar  to
37       the 6554x chips which are supported.
38
39       At  this point this code is only confirmed to work correctly on a 65545
40       VL-Bus machine. However as much of the code was stolen from my  experi‐
41       ences  with writing code for XFree I hope not to have too many problems
42       with other machines. However if you run this code  on  a  65545/48  PCI
43       machine  or  a  65550/54  machine  then I am particularly interested in
44       hearing of any success or failure stories.
45
46

1. "libvga.config" OPTIONS

48       The first thing to note is that the option parser for svgalib(7) is not
49       very  robust. Hence if you make some typing mistakes, you can have some
50       very strange effects. I've set out below the  libvga.config(5)  options
51       that  are  of particular interest to Chips and Technologies users. Nor‐
52       mally this configuration file can be found at /etc/vga/libvga.config.
53
54
55       HorizSync MIN MAX
56              Often LCD panels has very different specifications for the hori‐
57              zontal  sync than CRT's do. Hence often you'll need this option,
58              particularly if you are using the XFree like modelines described
59              below.  The  two  floating  point numbers specified will set the
60              minimum and maximum allowed horizontal sync in kHz.
61
62
63       VertRefresh MIN MAX
64              Similar to the above, but this sets the LCD  or  CRT's  vertical
65              refresh rate in Hz.
66
67
68       modeline 640x480 20.00 640 688 704 776 480 480 481 486
69              This option allows you to specify XFree like modelines to use in
70              preference to the in built modelines. Often LCD panels will need
71              very  different  pixel clocks and timings than CRT's. Hence this
72              option allows you to specify these. Note that the LCD panel tim‐
73              ings  are  related  to  the  panel  size  and not the mode size.
74              Therefore by default the BIOS setting already uploaded into  the
75              registers  are  used  by  default.  See the "UseModeline" option
76              below if you wish to override these.
77
78
79       chipset C&T 5 1024
80              These option allows the user to specify the chipset to  use  and
81              the  amount  of  installed memory in kBytes. Currently supported
82              chipsets are
83
84                           0    65520
85                           1    65525
86                           2    65530
87                           3    65535
88                           4    65540
89                           5    65545
90                           6    65546
91                           7    65548
92                           8    65550
93                           9    65554
94
95
96       TextClockFreq 25.175
97              One major difference between this code and the previously avail‐
98              able  support for the Chips and Technologies chipsets is that it
99              supports the use of programmable clocks. Because of the way that
100              the Chips and Technologies chips program the VCO from the regis‐
101              ters, there is no way to be sure to recover the previously  pro‐
102              grammed  clock value.  Hence the driver assumes that the console
103              clock is 25.175MHz. This will be wrong for many  machines.  How‐
104              ever  I  have supplied this option to use a different value that
105              might be more suitable for your machine.
106
107
108       nolinear
109              This option disables the use of  the  linear  framebuffer.  This
110              might  be  useful  for  machines  that have broken linear frame‐
111              buffers. In lar the linear framebuffer doesn't seem to work with
112              the achines.
113
114
115       linear Allow,  but  don't enforce the use of the linear framebuffer. As
116              this is the default anyway, I don't see that this option is much
117              use.
118
119
120       setuplinear 0xC0000000
121              For  VL-Bus machines I expect that the linear framebuffer start‐
122              ing address will be setup correctly. However to get the starting
123              address for PCI machines requires access to the MEMBASE register
124              in the PCI address space. Code  to  do  this  doesn't  currently
125              exist with svgalib(7), and so I've taken the easy option of just
126              testing a few known PCI starting addresses. For  now  these  are
127              just  0xFE000000,  0xFD000000, 0x41000000 and 0xC0000000. If you
128              have a different starting address then  the  linear  framebuffer
129              will be unusable. You might like to report your starting address
130              to me so that I can include it in the  probing  code,  but  till
131              then this option can be used to set up the correct address. This
132              option just forces the given address to be the only one  probed.
133              It doesn't force the linear framebuffer to be used.
134
135
136       LCDPanelSize 800 600
137              For  some machines the LCD panel size is incorrectly probed from
138              the registers. This option forces the LCD panel size  to  be  as
139              specified.  If  you  have a black band down one side of your LCD
140              display you might very well need this option. Also  if  you  are
141              using  the option "fix_panel_size" in XFree then this option has
142              a similar effect. This option can be used  in  conjunction  with
143              the  option "UseModeline" to program all the panel timings using
144              the modeline values. Two machines that are known  to  need  this
145              option  are  the  HP  Omnibook  5000CTS  and  the NEC Versa 4080
146              800x600 TFT machines.
147
148
149       UseModeline
150              The flat panel timings are related to the panel size and not the
151              size  of  the mode specified. For this reason the default behav‐
152              iour of the svgalib(7) is  to  use  the  panel  timings  already
153              installed  in  the chip. The user can force the panel timings to
154              be recalculated from the modeline with this option. However  the
155              panel  size will still be probed. Two machines that are known to
156              need this option are the HP Omnibook  5000CTS  and  the  Prostar
157              8200.  You  are advised to check the README.chips that come with
158              XFree for more details.
159
160
161       NoBitBlt
162              This option disables the use of H/W acceleration. As  far  as  I
163              know  the only thing that currently uses the H/W acceleration is
164              libvgagl, so this might not be a problem anyway. However if  you
165              see corruption of the graphics on the screen try this option and
166              see if it goes away.
167
168
169       Use18BitBus
170              For 24bpp on TFT screens, the server assumes that a 24bit bus is
171              being  used. This can result in a reddish tint to 24bpp mode for
172              machines that actually have a 18 bit bus. This  option,  selects
173              an 18 bit TFT bus. Note that using this option with a 24 bit bus
174              machine will similarly discolour the screen.  For  other  depths
175              this option has no effect.
176
177
178       Center ENABLE/DISABLE or Stretch ENABLE/DISABLE
179              The  default  behaviour of svgalib(7) is to leave the stretching
180              and  centring  registers  completely  alone.  However  for  some
181              machines this might result in poorly placed modes, or modes that
182              don't fill the whole screen. These two options can  be  used  to
183              centre  and  stretch  the  mode  on  the  screen.  Note that for
184              instance a Center DISABLE might follow a Center  ENABLE  in  the
185              config file. Only the last option takes effect.
186
187

2. UNSUPPORTED CHIPS AND TECHNOLOGIES CHIPSETS

189       The  64200  and  64300 chips are unsupported. However by specifying the
190       chipset in your libvga.config as either a
191
192
193       chipset C&T 3 2048
194              Use 65535 for a 64200 assuming 2M of video ram, or
195
196       chipset C&T 7 2048
197              Use 65548 for a 64300 assuming 2Mb of video ram
198
199       then svgalib can be made to give limited  support  to  these  chipsets.
200       Note  that  the paged addressing mode of the 65548 chip and earlier can
201       only address upto 1Mb of video ram. If the additional memory is  needed
202       then  linear  addressing  must be used!! Note that support of the 64xxx
203       chips has not been tested at all, and the above is  just  a  suggestion
204       that I believe will work.
205
206

3. KNOWN BUGS

208       One persistent and annoying bug is that the text mode stretching on LCD
209       displays is not always restored correctly for 65550 and 65554 machines.
210       This  is  to  do  with  the  manner in which the extended registers are
211       restored and what is being done with the synchronous  reset  while  the
212       registers  are restored. As I don't have a 65550 or 65554 machine of my
213       own on which to test this code, I have been unable to fix this problem.
214       In most circumstances an LCD-CRT switch will restore the LCD stretching
215       to the desired state.
216
217       David.
218
219

FILES

221       /etc/vga/libvga.config
222
223

SEE ALSO

225       svgalib(7), libvga.config(5).
226
227

AUTHOR

229       of  the  driver  and  this  documentation  is  David  Bateman   <dbate‐
230       man@eng.uts.edu.au>.   However,  it was slightly reformatted by Michael
231       Weller <eowmob@exp-math.uni-essen.de>.
232
233
234
235Svgalib (>= 1.2.11)              31 July 1997                 svgalib.chips(7)
Impressum