svgalibrc man page on Raspbian

Man page or keyword search:  
man Server   8174 pages
apropos Keyword Search (all sections)
Output format
Raspbian logo
[printable version]

libvga.config(5)	      Svgalib User Manual	      libvga.config(5)

NAME
       libvga.config, svgalibrc - the svgalib configuration file

DESCRIPTION
       The  svgalib configuration is usually located in /etc/vga/libvga.config
       though one can reconfigure this location when recompiling svgalib.

       In the configuration file, everything between a # and the  end  of  the
       line  is	 ignored.  Empty  lines are also ignored. Since the driver you
       will use may not know all config options	 here,	unknown	 commands  are
       silently	 ignored. Please think of that when something does not work as
       you expect. I know this is a nuisance because  malformed	 configuration
       statements  do  not  cause errors. Multiple commands are allowed in one
       line, and commands can exceed lines.

       Actually, svgalib simply reads a list of	 whitespace  separated	tokens
       from  the file until it finds one it knows and it then assumes the fol‐
       lowing tokens to be arguments of that command until one is  encountered
       which may not be an argument.

       New style options are in general case insensitive whereas the old style
       options are case sensitive. The old style options are included to allow
       for  old config files still being used. For completeness they are docu‐
       mented in the OBSOLETE COMMANDS section. You should not use  them  any‐
       more.

       In  addition,  svgalib(7)  parses  the  files ~/.svgalibrc and the file
       given in the environment variable SVGALIB_CONFIG_FILE.

       Finally, the contents of the environment	 variable  SVGALIB_CONFIG  are
       parsed like the files before.

       Configuration commands which control hardware settings that might cause
       harm to your hardware are called privileged.  By default the privileged
       commands	 can only be used in the main configuration file /etc/vga/lib‐
       vga.config for safety (s.t. a non root user can not cause any  harm  to
       your hardware by misconfiguring svgalib(7)).

       Enable them in the other locations as well with the command overrideen‐
       able in the main config file.   BEWARE!	 This  allows  every  user  to
       change the monitor and clocks (and other configs) and thus damaging the
       hardware. I strongly discourage the use of  overrideenable  except  for
       debugging/testing purposes.

REQUIRED CONFIGURATION
       Please  do  not allow the vastness of options to confuse you. Generally
       svgalib uses well chosen defaults and is able to autodetect everything.
       Thus  generally you don't need to specify much. When installing svgalib
       it provides a sample /etc/vga/libvga.config file which contains most of
       the required configuration. Just edit it to your needs.

       Generally you only need to use:

       mouse  To  specify if you use anything else then a Microsoft compatible
	      mouse.

       mdev   If the mouse device file is not  /dev/input/mice	which  is  the
	      actual mouse device file. You will usually need to use this com‐
	      mand if you want to use the SpaceTec Spaceball device (which  is
	      not your usual mouse).

       setRTS, clearRTS, leaveRTS, setDTR, clearDTR, and leaveDTR
	      if your mouse needs it to enter your desired mouse protocol.

       monitor, or (better) HorizSync and VertRefresh
	      to specify the capabilities of your monitor.

   If you use the EGA chipset driver
       monotext or colortext
	      to specify if your EGA card is in monochrome or color configura‐
	      tion.

   If you use the Mach32 chipset driver
       You should consider reading svgalib.mach32(7).

       Clocks clock1 clock2 clock3 ...
	      to specify the Mach32 clocks. This is mandatory. However, if you
	      omit   it.  svgalib  will	 autodetect  clocks  and  modify  your
	      /etc/vga/libvga.config file and abort. After this, every svgalib
	      application started will find the proper Clocks command.

       mach32eeprom /etc/vga/mach32.eeprom
	      is recommended to avoid slowish reads of the Mach32 EEPROM which
	      will also cause annoying screen flickering.

   If you use the Mach64 chipset driver
       Chipset Mach64
	      if you want to use the experimental pre-alpha driver

   If you use the S3 chipset driver
       I don't have much knowledge on the S3, but it  seems  to	 me  that  you
       need:

       Clocks clock1 clock2 ...
	      to  specify  the	clocks (take them from your Xfree86 configura‐
	      tion).

       or

       ClockChip icd2061a number
	      if you have an Icd2061a clockchip.

       Ramdac chipname
	      if your Ramdac is not detected properly.

       Dacspeed speed
	      if the default chosen is not right (probably too restrictive).

       The remaining options are really only to be used in  case  of  problems
       which you'll not generally encounter.

   If you use the VESA chipset driver
       VesaText
	      forces  the  driver  to set 80x25 text mode, before any standard
	      vga mode setting. Fixes text mode restoring with many cards,  as
	      well as standard VGA modes.

       VesaSave
	      selects  the  bitmap  to save and restore, using VESA functions.
	      see VESA documentation for bits' meanings. The default  is  1110
	      (=14) which is good for most cards, but some give better results
	      with other numbers.

GENERAL OPTIONS (HANDLED BY THE MAIN MODULE)
   Mouse configuration
       mouse mousetype
	      where mousetype is one of:  Microsoft,  MouseSystems,  MMSeries,
	      Logitech,	 Busmouse, PS2, MouseMan, gpm, Spaceball, none, Intel‐
	      liMouse, or IMPS2.  mousetype can also be a number (0 -  9)  for
	      the keywords Microsoft - none.

	      gpm allows for (hopefully) peaceful interaction with gpm, Space‐
	      ball enables support for the  6-axes  Spacetec  Spaceball	 mouse
	      (well,  probably	more like a trackball), IntelliMouse and IMPS2
	      refer to the Microsoft IntelliMouse or Logitech MouseMan+, where
	      IntelliMouse  is	for  serial port and IMPS2 for such a mouse on
	      the PS/2 port.

	      Note that it is not possible to  specify	the  Microsoft	Intel‐
	      liMouse  or  Logitech MouseMan+ by a number. This is due to his‐
	      torical and compatibility reasons.

       mouse_override
	      This command is only available if ALLOW_MOUSE_OVERRIDE  was  set
	      in   Makefile.cfg	 when  svgalib	was  compiled  (which  is  the
	      default).

	      If given, svgalib ignores any mouse type the  program  specifies
	      but uses the type configured with the mouse command.

	      For  example,  DOOM does not recognize MouseMan as a valid mouse
	      type and defaults the mouse type to MouseSystems.	 This  command
	      allows  to  make	svgalib ignore whatever DOOM specifies and use
	      MouseMan anyway.

       mdev mousedevice
	      Usually /dev/input/mice (the default) will be the mouse  device.
	      However,	esp. with the Spacetec Spaceball you may want to spec‐
	      ify a different device for svgalib(7) to use:

	      mdev /dev/ttyS0 # mouse is at /dev/ttyS0

       Some multiprotocol mice use the state of RTS and DTR to find out	 which
       protocol to enable:

       setRTS set the RTS wire.

       clearRTS
	      clear the RTS wire.

       leaveRTS
	      leave the RTS wire alone (default) (Wire is usually set)

       setDTR set the DTR wire.

       clearDTR
	      clear the DTR wire.

       leaveDTR
	      leave the DTR wire alone (default) (Wire is usually set)

       For  example my mouse can emulate Microsoft and MouseSystems.  It needs
       a low RTS to go into MouseSystems mode. Thus I use:

       mouse MouseSystems clearRTS

       Still I could just use mouse Microsoft and use the mouse with that pro‐
       tocol..	But then only 2 buttons instead of 3 are supported (not that I
       know many svgalib programs that uses more than 2 buttons.)

       Other mice might need clearDTR as well or one set and clear. Try	 your‐
       self.

       Note:  Having  crtscts handshake enabled on the mouse tty may interfere
       with this option. Do not do that.

       Finally, a special goodie for wheel mice:

       mouse_fake_kbd_event upscancode downscancode
	      sends a fake keyboard event to the program when the wheel	 on  a
	      Microsoft	 IntelliMouse,	Logitech  MouseMan+,  or similar wheel
	      mouse is turned.

	      The up and down scancodes are the scancodes of the keys to simu‐
	      late when the wheel is turned up and down, respectively.

	      The following can be specified for the scancodes: letters (A-Z),
	      numbers (0-9), function keys (F1-F12), or any of the following -
	      ESCAPE,	 MINUS,	   EQUAL,    BACKSPACE,	  TAB,	 BRACKET_LEFT,
	      BRACKET_RIGHT, ENTER, LEFTCONTROL, SEMICOLON, APOSTROPHE, GRAVE,
	      LEFTSHIFT,  BACKSLASH, COMMA, PERIOD, SLASH, RIGHTSHIFT, KEYPAD‐
	      MULTIPLY, LEFTALT, SPACE, CAPSLOCK,  NUMLOCK,  SCROLLLOCK,  KEY‐
	      PAD7,  CURSORUPLEFT,  KEYPAD8, CURSORUP, KEYPAD9, CURSORUPRIGHT,
	      KEYPADMINUS, KEYPAD4, CURSORLEFT, KEYPAD5, KEYPAD6, CURSORRIGHT,
	      KEYPADPLUS,  KEYPAD1,  CURSORDOWNLEFT, KEYPAD2, CURSORDOWN, KEY‐
	      PAD3,  CURSORDOWNRIGHT,  KEYPAD0,	 KEYPADPERIOD,	 KEYPADCENTER,
	      RIGHTCONTROL,   CONTROL,	KEYPADDIVIDE,  PRINTSCREEN,  RIGHTALT,
	      BREAK, BREAK_ALTERNATIVE, HOME, CURSORBLOCKUP,  PAGEUP,  CURSOR‐
	      BLOCKLEFT,  CURSORBLOCKRIGHT,  END,  CURSORBLOCKDOWN,  PAGEDOWN,
	      INSERT.

	      Note that this option has no effect unless the  IntelliMouse  or
	      IMPS2  mouse  type is used (see above). Also note that the simu‐
	      lated keypresses are instantaneous, so they cannot be  used  for
	      functions	 that  require	a  key	to  be held down for a certain
	      length of time.

	      This example simulates a press of the left bracket ([) when  the
	      wheel is turned up and a press of the right bracket (]) when the
	      wheel is turned down (good for selecting items in Quake II):

	      mouse_fake_kbd_event BRACKET_LEFT BRACKET_RIGHT

   Mouse acceleration
       Svgalib versions 1.3.0 and later use the following commands to  control
       the logarithmic mouse acceleration:

	      mouse_force
		     If given, force use of input parameters even if they seem
		     strange.

	      mouse_maxdelta <integer>
		     Set max delta BEFORE acceleration.

	      mouse_accel_maxdelta <integer>
		     Set max delta AFTER acceleration.

	      mouse_accel_thresh <integer>
		     Set acceleration threshold.

	      mouse_accel_power <float>
		     Set input variable for power mode.

	      mouse_accel_mult <float>
		     Set acceleration factor.

	      mouse_accel_type {0|off|normal|power|linear}
		     Set the type of acceleration. The following  strings  are
		     valid values:

		     0 or off
			    No acceleration.

		     normal No	 acceleration	while	delta	is  less  than
			    mouse_accel_thresh	   but	    multiplied	    by
			    mouse_accel_mult if more.
			    Originally	 done	by  Mike  Chapman  <mike@para‐
			    noia.com>.

		     power  The acceleration factor is	a  power  function  of
			    delta until it reaches mouse_accel_mult After that
			    it's a simple multiplication. Basically it's  like
			    the	 normal mode but the acceleration factor grows
			    as you move your mouse faster and faster, not just
			    turns  in  and  out.  If  the  acceleration factor
			    reaches mouse_accel_mult it	 turns	into  a	 plain
			    multiplication.

			    Threshold  has the same meaning as in normal mode.
			    The one I use for *uaking... :)

			    It is calculated like this:

			    if (abs(dx) > 1) /* to prevent  losing  resolution
			    */
			      dx = (abs(dx) >=
				     mouse_accel_thresh ) ?
				   (float)dx *
				    mouse_accel_mult :
				   (float)dx *
				    m_accel_powertable[abs(dx)];

		     linear The	 acceleration  factor  grows  linear  with the
			    delta until it reaches mouse_accel_thresh.	 After
			    that  it is a simple multiplication.  (I know that
			    it can be done with setting	 mouse_accel_power  to
			    1,	but it was one minute to implement... and uses
			    no memory... and...)

			    It is calculated like this:

			    if (abs(dx) > 1)
			      dx = (abs(dx) >=
				     mouse_accel_thresh ) ?
				   (float)dx *
				    mouse_accel_mult :
				   (float)dx * abs(dx) *
				    mouse_accel_mult /
				    mouse_accel_thresh ;

	      The enhanced acceleration	 was  done  by	101  (Attila  Lendvai)
	      <101@kempelen.inf.bme.hu>

   Joystick configuration
       As  of now, svgalib supports up to four joystick devices. You must have
       joystick support in your kernel to support this.

       joystick0 device
	      sets the device name to use for joystick 0.  The	commands  joy‐
	      stick1,  joystick2  and joystick3 configure the other joysticks.
	      By default the names /dev/js0, /dev/js1, /dev/js2	 and  /dev/js3
	      are used.

   Keyboard configuration
       kbd_fake_mouse_event scancode [flag(s)] command [argument]
	      , as it says, sends a fake mouse event to the program.  Scancode
	      is a raw scancode as you	can  find  them	 in  <keyboard/vgakey‐
	      board.h>.

	      Supported flag(s) are:

	      down   trigger event when the key is pressed (default).

	      up     the opposite.

	      both   trigger in both case, if pressed or released.

	      repeat repeat  events  if	 the  key  is  kept  pressed  (off  by
		     default).

	      Supported commands are:

	      delta[xyz]
		     send a fake delta event as if you have moved your	mouse.
		     If	 the  parameter	 is  off or on it will turn off/on the
		     respective mouse axis (requires a parameter, of course)

	      button[123]
		     send a fake event that the mouse  button  is  pressed  or
		     released as given by the parameter (pressed or released)

	      Here are some examples:

	      This  is	one  I use in *uake: it turns around, looks down a bit
	      and when the key is released it does the opposite,  so  it  gets
	      back  to	the  starting  state.  With this one and the help of a
	      rocket you can fly though the  whole  map	 :)  (Scancode	28  is
	      <Enter>):

		  kbd_fake_mouse_event 28 both deltax 8182
					  down deltay -1500
					  up deltay 1500

	      This  one	 will switch off the y axis of the mouse while the key
	      <Right Ctrl> is kept pressed.

		  kbd_fake_mouse_event 97 down deltay off
					  up deltay on

	      This one is the same as if you were pressing the left mouse but‐
	      ton.  (But  if  you  move	 your mouse then the button state will
	      reset even if you keep <Right Ctrl> down...)

		  kbd_fake_mouse_event 97 down button1 pressed
					  up button1 released

	      NOTE: This does only work when the keyboard is in	 raw  keyboard
	      mode!

	      Yet  another  feature  brought  to  you  by 101 (Attila Lendvai)
	      <101@kempelen.inf.bme.hu>

       nosigint
	      This command disables generation of a SIGINT signal when	<Ctrl-
	      C> is pressed.

	      This  works  regardless of ordinary or raw keyboard mode (albeit
	      the hot key might be different from <Ctrl-C> in the first case).

	      Note that this is a very dangerous option. Disabling SIGINT will
	      lock  you	 in programs which can only by quit by <Ctrl-C>!  How‐
	      ever, there were request for it for Quake playing.

       sigint (default)
	      Enables generation of SIGINT.

   Monitor configuration
       HorizSync min_kHz max_kHz
       VertRefresh min_Hz max_Hz
	      specifies the range of frequencies acceptable to	your  monitor.
	      They  obsolete the monitor settings below, and this shouldn't be
	      used if HorizSync and VertRefresh are defined. Examples:

	      HorizSync 31.5 35.5
	      VertRefresh 50 70

       monitor monitor_class
	      where monitor_class is a digit 0 - 6 or the  maximal  horizontal
	      frequency in kHz. Examples:

	      monitor 0 # Max horizontal sync is 31.5 kHz
	      monitor 1 # Max horizontal sync is 35.1 kHz
	      monitor 2 # Max horizontal sync is 35.5 kHz
	      monitor 3 # Max horizontal sync is 37.9 kHz
	      monitor 4 # Max horizontal sync is 48.3 kHz
	      monitor 5 # Max horizontal sync is 56.0 kHz
	      monitor 6 # No restrictions.

	      For  your	 convenience  you  may specify the max horizontal sync
	      explicitly. The correct class will the be chosen.	 You  may  use
	      floats consisting of digits and a decimal point for this too:

	      monitor 40.0 # equivalent to monitor 3

	      This command is privileged.

   Mode timings
       It  is  now possible to define modetimings for some cards (see the info
       on your card in svgalib(7)).  The syntax is:

       modeline label pxcl HDsp HSS HSE HTot VDsp VSS VSE VTot flags

	      label  string
		     (ignored by svgalib) mainly there to be  compatible  with
		     XF86Config.    I	use  the  format  "Width  x  Height  @
		     Vert.Refresh", but that's just personal taste...

	      pxcl   float
		     the pixel clock in MHz

	      HDsp
	      VDsp   integer
		     size of the visible area (horizontal/vertical)

	      HSS
	      VSS    integer
		     Sync start (horizontal/vertical)

	      HSE
	      VSE    integer
		     Sync end (horizontal/vertical)

	      HTot
	      VTot   integer
		     Total width/height (end of back porch)

	      flags  +hsync -hsync +vsync -vsync interlace interlaced
		     doublescan Sync polarity, interlace mode

       Everything should be on one line.  The values for the  horizontal  tim‐
       ings must be multiples of eight.

       These  are  preferred  over the default timings (if monitor and chipset
       can handle them).  The format is identical to the one used by  XFree86,
       but the label following the modeline keyword is ignored by vgalib.

       Here some examples:

       modeline 640x480@100 43 640 664 824 848 480 483 490 504
       modeline 800x600@73 50 800 856 976 1024 600 637 643 666
       modeline 1024x768@75 85 1024 1048 1376 1400 768 771 780 806

       IMPORTANT!   Not	 all drivers, that is SVGA cards, use the values. Only
       drivers using timing.c. As of this writing, drivers using this  feature
       are: Ark, Cirrus, Chips & Technologies, Et6000, S3.

       The  Mach32  driver  provides a similar feature separately, you have to
       use the define command described below.

       ET4000 (and to some extent EGA) allow one to use a binary file  created
       by  some	 utility. All other chipset driver use predefined timings that
       are   hardcoded	 in   register	 dumps	 within	  the	drivers.   See
       svgalib.et4000(7) for more information.

   Chipset detection
       Usually	svgalib	 does a good job autodetecting your hardware. However,
       if auto detection fails (or you want to fall back to a simpler  driver,
       say VGA, as a bug work around), you may force detection of your chipset
       with

       chipset type
	      where type is (currently) one of:	 VGA,  ET4000,	Cirrus,	 TVGA,
	      Oak,  EGA,  S3, ET3000, Mach32, GVGA6400, ARK, ATI, ALI, Mach64,
	      C&T, APM, NV3, ET6000, VESA, MX, PARADISE, and RAGE.

	      You can also specify a number in range 1	-  22 to  specify  the
	      type-th chipset type or 0 to enforce autodetection.

	      Warning, incorrect settings may damage your hardware.  This com‐
	      mand is privileged.

       chipset type param1 param2
	      use this form if the size of memory or an additional  configura‐
	      tion option is misdetected. For example:

	      chipset Mach32 0 2048

	      Note  that  always  two  integers	 have to be specified. Usually
	      (Mach32) the second parameter is the memory amount. Look at  the
	      *_init  function of the specific device driver sources or infor‐
	      mation on that type of cards in svgalib(7).

	      Note that there is a more	 convenient  command  setuplinear  for
	      enforcing specific memory-aperture configurations for Mach32

	      This command is privileged.

   Specific options required for the EGA-driver.
       monotext
	      Card is in monochrome emulation mode

       colortext
	      Card is in color emulation mode

	      This command is privileged.

   RAMDAC configuration
       Some chipsets (e.g. S3 and ARK) allow specifying a RAMDAC type. If your
       RAMDAC is not autodetected, you can try specifying it:

       Ramdac Sierra32K
       Ramdac SC15025
       Ramdac SDAC
	      S3 SDAC
       Ramdac GenDAC
	      S3 GenDAC
       Ramdac ATT20C490
	      AT&T 20C490, 491, 492 (and compatibles)
       Ramdac ATT20C498
	      AT&T 20C498
       Ramdac IBMRGB52x
	      IBM RGB524, 526, 528 (and compatibles)

       BEWARE!	The Mach32 driver features an own  ramdac  command  (which  is
       usually not required). If you have a Mach32, see svgalib.mach32(7).

       Dacspeed speed
	      speed  is a floating point number in MHz (like in Dacspeed40.0")
	      specifying the maximal allowable pixel clock of  the  Ramdac  in
	      use.  Currently  this option is only supported by the S3 driver.
	      The Mach32 driver supports  maxclock8,  maxclock16,  maxclock24,
	      and  maxclock32  commands which have a similar effect. Neverthe‐
	      less, the Mach32 has a very good idea on the capabilities of the
	      Ramdac in use. The settings are more intended to specify the VGA
	      memory bandwidth.

   Pixel clocks
       Clocks list of clock values as floats or ints

	      Some chipsets need a list of dot clocks for  optimum  operation.
	      Some  includes  or  supports  a programmable clock chip.	You'll
	      need to specify them here.

	      Fixed clocks example: (The following is just an example, get the
	      values for your card from you X setup)

	      Clocks  25.175  28.3 40 70 50 75 36 44.9 0 118 77 31.5 110 65 72
	      93.5

	      BEWARE!  The Clocks command for the Mach32 features only integer
	      clocks.  Please  round your clocks to the next integer data. The
	      Mach32 only uses these values to check monitor requirements  and
	      to  compare  the quality of modes. The rounding errors are of no
	      importance there as the difference in the resulting monitor tim‐
	      ings is barely measurable. See the Mach32 section below.

       Clockchip ICD2061A
	      Configure	 for  a	 programmable clockchip.  ICD2061A is the only
	      one supported right now.

   Miscellaneous options
       security revoke-all-privs
	      Make  sure  it  is  impossible  to  regain  root	access	 after
	      vga_init(3) was called. (default)

       security compat
	      For  compatibility  to  pre 1.2.11, do not close a security hole
	      using saved uids.

       verbose
	      Mach32: show messages while processing all info to  build	 up  a
	      mode table.

       quiet  Turn verbose messages off (default).

       nolinear
	      Inhibit use of a linear mmaped frame buffer.

       linear Allow (not enforce!) use of a linear mmaped frame buffer.

       overrideenable
	      Allow privileged commands outside the main configuration file.

   Common options currently used by Mach32 only
       Options that may be useful for all drivers, but currently are only sup‐
       ported by Mach32 (Please read svgalib.mach32(7) if you use one):

       maxclock16 maxclk
	      The maximum pixel clock to use for 16bpp modes. This is used  by
	      Mach32  to  find out which settings may be used for 16bpp modes.
	      the Mach32 default for this is  2000,  thus  it  is  effectively
	      switched off.  maxclk must be an integer.

       maxclock24 maxclk
	      The maximum clock to use for 24bpp modes. (see above) Experience
	      showed that the Mach32 default 49 is good for my 2MB VRAM card.

       maxclock32 maxclk
	      The same for 32bpp modes (24bpp with one fill  byte  for	faster
	      memory  access  (not  fully  implemented (esp. for Mach32) yet).
	      Mach32 default (good for my VRAM card) is 39.

       maxclock8 maxclk
	      Just for completeness the same for 8bpp modes  (I	 doubt	anyone
	      needs it), default is 2000 to disable this feature.

       The maxclock commands are privileged.

       clocks list of clocks
	      Sets  the	 frequencies  of  the  clocks  the chips can generate.
	      Exactly 16 values have to be specified for  mach32.   Use	 0  to
	      disable a specific clock.

	      Note  that  the  mach32  can  divide clocks by 2. Thus there are
	      actually 32 clocks And you can also use the divided clocks in  a
	      define  command.	 On  contrary to Xfree96 or the clocks command
	      above only integers are allowed for Mach32. Simply round them to
	      the nearest integer.

	      This line is mandatory for Mach32. If it is not there it will be
	      auto detected and added at the beginning of the config file. The
	      program  will  then  exit and when you start it next, everything
	      should be ok.

	      Common clock values for Mach32:

	      Clock chip 18811-0:
		     clocks 43 49 92 36 50 56 0 45
			    30 32 110 80 40 45 75 65

	      Clock chip 18811-1:
		     due to Xfree86 info valid for: Ultra pro ISA,  Ultra  pro
		     EISA, Ultra pro VLB(68800-3)

		     clocks 100 126 92 36 50 56 0 45
			    135 32 110 80 40 45 75 65

	      Clock chip 1881 (ICS2494):
		     due to Xfree86 info valid for: Ultra pro VLB (6880006)

		     clocks 18 22 25 28 36 44 50 56
			    30 32 37 39 40 0 75 65

	      In  my  own  correspondence with ATI they say every Mach32 would
	      have a 18811-1, so it  should  be	 possible  just	 to  take  the
	      18811-1  line.   However I have now reports of third party cards
	      and motherboards with on board Mach32 chips, so be careful.

	      Please read svgalib.mach32(7) for additional info on clocks.

	      The clocks command is privileged.

       variablelinelength
	      Sometimes a mode cannot be realized with the logical  linelength
	      = pixels in a row * bytes per pixel. (definitely true for Mach32
	      800x600). The default behavior of Mach32	is  to	adjust	xbytes
	      (see vga_getmodeinfo(3)) in the info table appropriately.

	      This  command enforces this default operation and adjusts xbytes
	      appropriately, thus overriding the standard svgalib  mode.  This
	      may  yield  to  problems with ..umm.. not well designed applica‐
	      tions.

       duplicatelinelength
	      Don't touch the standard	mode  but  create  an  exact  copy,  a
	      dynamic  mode,  with the adjusted xbytes value.  Expect noise at
	      some pixels in 800x600 for more than 256 colors on  Mach32  when
	      not using the dynamic mode.

       strictlinelength
	      Same as above but delete the standard mode thus creating the non
	      conforming xbytes modes only as dynamic modes.

       To enforce the standard linelength for non-conforming  modes  use  set‐
       linelength below.

       The linelength commands are not privileged.

       In  the	following  commands a mode is specified with horzXvertXcolors.
       Valid settings for colors in the mach32 driver are: 256, 32K, 64K, 16M,
       16M4.   16M4 is for the 16M colors with 32bpp modes. These are expected
       to support slightly faster drawing.

       Examples: 640x480x256, 1024x768x64K, etc...

       inhibit mode1 [mode2 mode3...]
	      Switch the specified SVGA-Modes off. For example:

	      inhibit 800x600x32K 800x600x64K 800x600x16M

	      disallows the maybe toasted mach32 800x600 modes.

	      The inhibit command is not privileged.

       setlinelength length mode1 [mode2 mode3...]
	      Force the logical line length (xbytes) in	 the  given  modes  to
	      length pixels (not bytes!). See also variablelinelength, strict‐
	      linelength, and duplicatelinelength above. For example:

	      setlinelength 800 800x600x32K 800x600x64K 800x600x16M

	      sets the linelength, and thus xbytes, for the 800x600  modes  to
	      the  equivalent  of  800 pixels. For Mach32 this will give badly
	      designed applications an 800x600 with which they can cope.  How‐
	      ever, the Mach32 will generate a noisy video signal in some con‐
	      figurations.

	      The setlinelength command is not privileged.

       define mode1 [mode2 mode3...] clock horz_timing vert_timing flags
	      where clock is a clock in MHz (as an integer! Has to be known by
	      the driver.  (one of the set clocks, or the exact half of one)).
	      Only clocks in a clocks command issued before the define can  be
	      used.

	      You  may	use  :n	 to  specify  the  n-thclock  (n = 0 .. 31 for
	      mach32).

	      horz_timing  is  four  integers:	hdisp  h_sync_strt  h_sync_wid
	      h_total.

	      vert_timing has the same format but for vertical.

	      You  may	specify	 one  or more flags out of: Interlace, +vsync,
	      -vsync, +hsync, or -hsync to select interlace mode and  polarity
	      of sync signals. This format is almost the same Xfree uses, s.t.
	      you may use their mode table and the modegen spreadsheet package
	      for  mode	 creation.  You	 simple need to round the clock to the
	      next integer, add the resolution instead of the timing name  for
	      Xfree  and  replace the modeline keyword with define.  Here is a
	      1024x768x256 mode as example:

	      define 1024x768x256 80 1024 1024 1184 1312
		     768 768 772 791 +vsync -hsync

	      or

	      define 1024x768x256 1024x768x32K 1024x768x64K
		     :11 1024 1024 1184 1312 768 768 772 791

	      (yes any whitespace in a command is allowed, even a newline !)

	      Both commands define the same timings (if the 11-th clock is 80)
	      but  the first explicitly specifies the polarity of sync signals
	      whereas the second declares that these timings are  also	to  be
	      used for a 32K and 64K mode.

	      The define command is privileged.

       There is one really dangerous option (except faking clocks). Please use
       it only if you are sure what you are doing. Wrong setup	will  lead  to
       multiple	 components  accessing	your  bus at once and thus to probable
       hardware damage:

       setuplinear address size
	      Sets up a linear frame buffer at address of size size (both  are
	      given  in	 MB).  If  the	values make sense (for example address
	      <16MB for ISA cards) the linear aperture	is  setup.  Since  the
	      Mach32-driver auto detects configured address itself, I strongly
	      discourage use of this command. However I was asked  for	it  as
	      some  PCI	 mach32-cards  didn't  setup  the linear aperture cor‐
	      rectly.

	      Please ensure that the address range from address to  address  +
	      size  (exclusively) is not used in your system. Obey that due to
	      memory remapping for  example  16MB  Ram	may  exceed  the  16MB
	      address limit.

	      Valid Mach32 values for size are 1 and 4 (only 4 in PCI configu‐
	      rations), address + size have to be below 16MB for ISA, 4GB  for
	      multiplexed PCI, and 128MB else. Example: (my setup)

	      setuplinear 64 4

	      for a 4MB linear frame buffer at address 0x4000000.

	      It is also valid to specify setuplinear 0 0.  This will actually
	      disable/de-configure any linear frame buffer. Useful to  disable
	      mach32 aperture even if it is enabled in the EEPROM.

	      The setuplinear command is privileged.

       blit subcommand1 subcommand2 ...
	      This  is	a  command  to control the Mach32 support for oldstyle
	      accelerator functions.

	      Valid subcommands are bit, fill,	image,	and  hlinelist.	  They
	      enable  support  for  the	 corresponding blit functions. Precede
	      them with no to turn them off (no space after no	allowed).  Use
	      memimage	to  emulate  the image blit using a linearframebuffer,
	      which is usually much faster  for	 Mach32.   Use	nomemimage  to
	      never  use  this	emulation. On the Mach32 this emulation can be
	      used in more resolutions than the actual	imageblit  accelerator
	      function.	 Again order is vital! (esp. for the *image commands).

	      As  the Mach32 now has also new style vga_accel(3) support there
	      are now also the subcommands: settrans, setrop, fillbox, screen‐
	      copy,  drawline, putimage, drawhlinelist, putbitmap, screencopy‐
	      mono, setmode, polyline, polyhline, and polyfillmode.  Which are
	      also supported with a leading no.	 They allow to control support
	      for the subfunctions of  vga_accel(3).   In  addition,  memimage
	      emulation applies to putimage as well.

	      Some examples:

	      blit image nomemimage
		     Use IO-style imageblt where possible. Don't emulate it in
		     any resolution.

	      blit image memimage
		     Use emulated imageblt where possible.

	      blit memimage image
		     Use IO-style imageblt where possible, and	the  emulation
		     where possible in the remaining modes.

	      blit noimage
		     Disable support for imageblt.

	      Mach32 default is:

	      blit bit fill image hlinelist settrans setrop
		   fillbox screencopy drawline putimage
		   drawhlinelist putbitmap screencopymono
		   setmode polyline polyhline polyfillmode
		   memimage

	      The blit command is not privileged.

       The Mach32 has also a few intermediate debug options for low level tim‐
       ing adjust.  They are:

       vfifo8 number
       vfifo16 number
       vfifo24 number
       vfifo32 number
       blank number
       latch number

       There also options which are useful to support broken Mach32  cards  or
       third  party  hardware  based  on  Mach32 which does not follow the ATI
       specifications completely. For example:

       vendor ati
       misc_ctl keep-off
       svgaclocks 9
       ramdac auto

       For details about these options see svgalib.mach32(7).  All of them are
       privileged.

OBSOLETE COMMANDS
       Very  old  svgalib  versions used a different style configuration file.
       For compatibility, svgalib can still parse these old options. Generally
       the  options  consist  of  one character (case sensitive) followed by a
       number. Whitespace characters (space, tab, newline) can be  used	 after
       the characters m and M and the number.

       The  old	 svgalib  versions  actually allowed a new option character to
       follow a number immediately.  The current parser requires  white	 space
       after the numbers.

       Of course, you should not use these cryptic forms anymore. The obsolete
       commands are:

       mnumber
	      Specify the mouse type like mouse number does.

       Mclass Specify the monitor class like monitor class does.

       Cnumber
	      Force usage of the number-th chipset driver  from	 the  list  of
	      supported drivers VGA(1), ET4000(2), Cirrus(3), TVGA(4), Oak(5),
	      EGA(6),  S3(7),  ET3000(8),  Mach32(9),  GVGA6400(10),  ARK(11),
	      ATI(12),	 ALI(13),   Mach64(14),	  C&T(15),  APM(16),  NV3(17),
	      ET6000(18), VESA(19), MX(20), PARADISE(21), and RAGE(22).

	      C0 reenables auto detection of the chipset (default).

       cflag  When using the EGA chipset driver, the  card  is	in  monochrome
	      emulation mode for flag = 0 and in color emulation mode for flag
	      = 1.

FILES
       /etc/vga/libvga.config
       /etc/vga/libvga.et4000

SEE ALSO
       svgalib(7), svgalib.et4000(7), svgalib.chips(7), svgalib.mach32(7),

AUTHOR
       The newstyle configuration file was first implemented and documented by
       Michael	Weller	<eowmob@exp-math.uni-essen.de>.	 However, other people
       added new features.

       Finally this page was edited by	Michael	 Weller	 <eowmob@exp-math.uni-
       essen.de>.

Svgalib 1.3.1		       19 December 1998		      libvga.config(5)
[top]

List of man pages available for Raspbian

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net