Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
svgalib.chips(7)	      Svgalib User Manual	      svgalib.chips(7)

NAME
       svgalib.chips - Information for Chips and Technologies Users

TABLE OF CONTENTS
       Information for Chips and Technologies Users
       David Bateman <dbateman@eng.uts.edu.au>
       23nd May	1997

       0. Introduction
       1. "libvga.config" options
       2. Unsupported Chips and	Technologies chipsets
       3. Known	bugs

0. INTRODUCTION
       This  is	 the  really only my first attempt to get a working fully fea-
       tured driver for	the Chips and Technologies chipset to  work  with  sv-
       galib(7).   As  such the	only machine that I know it will work on is my
       own. If you use this software then at this point	I'm still very	inter-
       ested  in  hearing  from	 you  by  e-mail. Include full details of your
       chipset,	amount of videoram and whether you have	a VL-Bus  or  PCI  bus
       machine.

       This  server was	written	using the svgalib(7) patch from	Sergio and An-
       gelo Masci as a starting	point. This version of the code	resembled  the
       XFree server code that was used up to XFree 3.1.2. As such it was inca-
       pable  of  programming  the  clocks, using linear addressing, Hi-Color,
       True-Color modes	or the hardware	acceleration. All  of  these  features
       have  since  been added to the code. In addition	support	for the	65525,
       65535, 65546, 65548, 65550 and 65554 have been included.	The 64200  and
       64300  chips  are  unsupported, however these chips are very similar to
       the 6554x chips which are supported.

       At this point this code is only confirmed to work correctly on a	 65545
       VL-Bus  machine.	However	as much	of the code was	stolen from my experi-
       ences with writing code for XFree I hope	not to have too	many  problems
       with other machines. However if you run this code on a 65545/48 PCI ma-
       chine  or a 65550/54 machine then I am particularly interested in hear-
       ing of any success or failure stories.

1. "libvga.config" OPTIONS
       The first thing to note is that the option parser for svgalib(7)	is not
       very robust. Hence if you make some typing mistakes, you	can have  some
       very  strange  effects. I've set	out below the libvga.config(5) options
       that are	of particular interest to Chips	and Technologies  users.  Nor-
       mally this configuration	file can be found at /etc/vga/libvga.config.

       HorizSync MIN MAX
	      Often LCD	panels has very	different specifications for the hori-
	      zontal  sync than	CRT's do. Hence	often you'll 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	CRT's 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 CRT's.  Hence  this
	      option allows you	to specify these. Note that the	LCD panel tim-
	      ings  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 be-
	      low 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
	      chipsets are

			   0	65520
			   1	65525
			   2	65530
			   3	65535
			   4	65540
			   5	65545
			   6	65546
			   7	65548
			   8	65550
			   9	65554

       TextClockFreq 25.175
	      One major	difference between this	code and the previously	avail-
	      able 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	regis-
	      ters,  there is no way to	be sure	to recover the previously pro-
	      grammed clock value.  Hence the driver assumes that the  console
	      clock  is	 25.175MHz. This will be wrong for many	machines. How-
	      ever I have supplied this	option to use a	different  value  that
	      might be more suitable for your machine.

       nolinear
	      This  option  disables  the  use of the linear framebuffer. This
	      might be useful for machines  that  have	broken	linear	frame-
	      buffers.

       linear Allow,  but  don't enforce the use of the	linear framebuffer. As
	      this is the default anyway, I don't see that this	option is much
	      use.

       setuplinear 0xC0000000
	      For VL-Bus machines I expect that	the linear framebuffer	start-
	      ing 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 doesn't currently ex-
	      ist with svgalib(7), and so I've 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 doesn't 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.

       UseModeline
	      The flat panel timings are related to the	panel size and not the
	      size  of	the mode specified. For	this reason the	default	behav-
	      iour of the svgalib(7) is	to use the panel timings  already  in-
	      stalled  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.

       NoBitBlt
	      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 away.

       Use18BitBus
	      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 svgalib(7) is to	leave  the  stretching
	      and  centring  registers	completely alone. However for some ma-
	      chines this might	result in poorly placed	modes, or  modes  that
	      don't  fill  the	whole screen. These two	options	can be used to
	      centre and stretch the mode on the screen.  Note	that  for  in-
	      stance a Center DISABLE might follow a Center ENABLE in the con-
	      fig file.	Only the last option takes effect.

2. UNSUPPORTED CHIPS AND TECHNOLOGIES CHIPSETS
       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.

3. KNOWN BUGS
       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 re-
       stored and what is being	done with the synchronous reset	while the reg-
       isters are restored. As I don't 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.

       David.

FILES
       /etc/vga/libvga.config

SEE ALSO
       svgalib(7), libvga.config(5).

AUTHOR
       of   the	 driver	 and  this  documentation  is  David  Bateman  <dbate-
       man@eng.uts.edu.au>.  However, it was slightly reformatted  by  Michael
       Weller <eowmob@exp-math.uni-essen.de>.

Svgalib	(>= 1.2.11)		 31 July 1997		      svgalib.chips(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=svgalib.chips&sektion=7&manpath=FreeBSD+Ports+14.3.quarterly>

home | help