home *** CD-ROM | disk | FTP | other *** search
/ Enter 1999 April - Disc 1 / enter_04_1999_1.iso / OS2 / XFREE86 / XDOC.ZIP / XFree86 / lib / X11 / doc / README.S3V < prev    next >
Encoding:
Text File  |  1999-01-09  |  12.5 KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/VX
  11.                                      Users
  12.  
  13.                            The XFree86 Project Inc.
  14.  
  15.                                  1 March 1998
  16.  
  17.  
  18.  
  19. 1.  Supported hardware
  20.  
  21. With release 3.3.2 of XFree86, there are now two servers which support the
  22. ViRGE family of chips. The XF86_S3V server is a dedicated server which supports
  23. the S3 ViRGE (86C325), the ViRGE/DX (86C375), ViRGE/GX (86C385) and the
  24. ViRGE/VX (86C988) chips. New with this release, the above ViRGE chipsets are
  25. also supported in the XF86_SVGA server, which includes a new ViRGE driver mak-
  26. ing use of the XAA acceleration architecture and also supports ViRGE/GX2
  27. (86C357) and ViRGE/MX (86C260) chips now.
  28.  
  29. The following sections describe details of ViRGE support.  Be aware that there
  30. are two servers described.  XF86_S3V is the ViRGE specific server and was cre-
  31. ated first.  The new acceleration architecture support is found in the
  32. XF86_SVGA server using the s3_virge driver.  Each has strengths and weaknesses.
  33.  
  34.  
  35. 2.  XF86_S3V server
  36.  
  37. The S3V server has some minor fixes since 3.3.1.  You should find that the
  38. ViRGE server is stable at all depths.  The server supports 1 and 32 bpp pixmap
  39. formats.  This fixes known problems with xanim and Netscape clients in early
  40. versions of the S3V server.  It has been tested with ViRGE cards with 2 and 4MB
  41. DRAM, ViRGE/DX 4M, ViRGE/VX 8M (4M VRAM/4M DRAM), and with a 220MHz ViRGE/VX
  42. card with 2MB VRAM up to 1600x1200 with 8/15/16bpp.
  43.  
  44. NOTE: This driver is pretty new, and not everything might work like you expect
  45. it to. It shouldn't crash your machine, but you may have video artifacts or
  46. missing lines. Please report any and all problems to XFree86@Xfree86.org using
  47. the appropriate bug report sheet.
  48.  
  49. 2.1  Features:
  50.  
  51.    o Basic support for S3 ViRGE, ViRGE/DX, ViRGE/GX and ViRGE/VX video adapters
  52.  
  53.    o uses linear frame buffer
  54.  
  55.    o it should be possible to reach resolutions up to the maximum supported by
  56.      your video card memory.  (eg. 1600x1200 at 8 and 16bpp, 1280x1024 at 24/32
  57.      bpp for a 4 Meg. card)
  58.  
  59.    o it should be possible to use pixel depths of 8, 15, 16, 24, and 32 bits
  60.      per pixel.
  61.  
  62.  
  63.  
  64.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V1 Users
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V2 Users
  71.  
  72.  
  73.  
  74.    o 32 bpp is implemented as translation to 24 bpp
  75.  
  76. 2.2  Known limitations
  77.  
  78.    o No support for external RAMDACs on the ViRGE/VX.
  79.  
  80.    o No support for VLB cards.
  81.  
  82.    o No support for doublescan modes.
  83.  
  84.    o The driver only works with linear addressing.
  85.  
  86.    o For 24/32 bpp some simple dashed line acceleration is implemented, but
  87.      sloped dash/double dash are drawn as solid lines.
  88.  
  89. 2.3  Future Features (in order from highest to lowest priority)
  90.  
  91.    o there is a good chance that the SVGA ViRGE driver will replace XF86_S3V in
  92.      future releases
  93.  
  94.    o some more hardware acceleration
  95.  
  96.    o 3d acceleration (once we work out how that's done)
  97.  
  98.    o more chipsets and RAMDACs
  99.  
  100. 2.4  Configuration:
  101.  
  102. The server auto-detects RAM size, RAMDAC and ClockChip. Do not bother putting
  103. these in your "Device" section.  The "nolinear" option is unsupported.
  104.  
  105. 2.4.1  Cursor:
  106.  
  107.    o The default is hardware cursor, no option is needed.
  108.  
  109.    o "sw_cursor" switches to software cursor.
  110.  
  111.  
  112. 3.  XF86_SVGA server
  113.  
  114. The XF86_SVGA ViRGE driver supports all current flavors of the S3 ViRGE
  115. chipset.  It uses the XAA acceleration architecture for acceleration, and
  116. allows color depths of 8, 15, 16, 24 and 32 bpp. It has been tested on several
  117. 2MB and 4MB ViRGE cards, a 4MB ViRGE/DX card and a ViRGE/VX card. Resolutions
  118. of up to 1600x1200 have been achieved. This is an early release of this driver,
  119. and not everything may work as expected. Please report any problems to
  120. XFree86@Xfree86.org using the appropriate bug report sheet.
  121.  
  122. 3.1  Features
  123.  
  124.    o Supports PCI hardware, ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and
  125.      ViRGE/VX.
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V3 Users
  137.  
  138.  
  139.  
  140.    o Supports 8bpp, 15/16bpp, 24bpp and 32bpp.
  141.  
  142.    o VT switching seems to work well, no corruption reported at all color
  143.      depths.
  144.  
  145.    o Acceleration is pretty complete: Screen-to-screen copy, solid rectangle
  146.      fills, CPU-to-screen color expansion, 8x8 pattern mono and color fills.
  147.      Currently, the color expansion appears to be substantially faster than the
  148.      accel server due to the optimized XAA routines.
  149.  
  150.    o Acceleration at 32bpp is limited: only ScreenToScreen bitblit and solid
  151.      rectangles are supported. The ViRGE itself has no support for 32bpp accel-
  152.      eration, so the graphics engine is used in 16bpp mode.
  153.  
  154.    o All modes include support for a hardware cursor.
  155.  
  156. 3.2  Known limitations
  157.  
  158.    o No support for external RAMDACs on the ViRGE/VX.
  159.  
  160.    o No support for VLB cards.
  161.  
  162.    o No support for doublescan modes.
  163.  
  164.    o The driver only works with linear addressing.
  165.  
  166.    o Lines and polygons are not accelerated yet (but XAA still provides some
  167.      acceleration in this respect).
  168.  
  169. 3.3  Configuration
  170.  
  171. The ViRGE SVGA driver supports a large number of XF86Config options, which can
  172. be used to tune PCI behavior and improve performance.
  173.  
  174. Memory options:
  175.  
  176.    o "slow_edodram" will switch the ViRGE to 2-cycle edo mode. Try this if you
  177.      encounter pixel corruption on the ViRGE. Using this option will cause a
  178.      large decrease in performance.
  179.  
  180.    o "early_ras_precharge" and "late_ras_precharge" will modify the memory tim-
  181.      ings, and may fix pixel corruption on some cards. The default behavior is
  182.      set by the BIOS, and is normally "late_ras_precharge".
  183.  
  184.    o "set_mclk value" sets the video memory clock rate to 'value' (in MHz).
  185.      The performance of the card is directly proportional to the memory clock-
  186.      ing, so this may provide a performance increase. The BIOS setting for your
  187.      card is printed at server start-up. Often, "low-cost" cards use the S3
  188.      default of 50MHz. This can often be exceeded with faster memory, some
  189.      cards may function reliably at 60 or 65 MHz (even higher on some recent
  190.      /DX and /GX cards). Note that S3 only officially supports an MCLK of 50MHz
  191.      and XFree86 does not encourage exceeding those specs.  *** Note: This
  192.      option should not be preceded by the "Option" keyword!
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V4 Users
  203.  
  204.  
  205.  
  206. Acceleration and graphic engine:
  207.  
  208.    o "noaccel" turns off all acceleration
  209.  
  210.    o "fifo_aggressive", "fifo_moderate" and "fifo_conservative" alter the set-
  211.      tings for the threshold at which the pixel FIFO takes over the internal
  212.      memory bus to refill itself. The smaller this threshold, the better the
  213.      acceleration performance of the card. You may try the fastest setting
  214.      ("aggressive") and move down if you encounter pixel corruption.  The opti-
  215.      mal setting will probably depend on dot-clock and on color depth. Note
  216.      that specifying any of these options will also alter other memory settings
  217.      which should increase performance, so you should at least use "fifo_con-
  218.      servative" (this uses the chip defaults).
  219.  
  220. PCI options:
  221.  
  222.    o "pci_burst_on" will enable PCI burst mode. This should work on all but a
  223.      few "broken" PCI chipsets, and will increase performance.
  224.  
  225.    o "pci_retry" will allow the driver to rely on PCI Retry to program the
  226.      ViRGE registers. "pci_burst_on" must be enabled for this to work.  This
  227.      will increase performance, especially for small fills/blits, because the
  228.      driver does not have to poll the ViRGE before sending it commands to make
  229.      sure it is ready. It should work on most recent PCI chipsets. A possible
  230.      side-effect is that it may interfere with DMA operations on the PCI bus
  231.      (e.g. sound cards, floppy drive).
  232.  
  233. Cursor:
  234.  
  235.    o "hw_cursor" turns on the hardware cursor.
  236.  
  237. Color depth options and limitations:
  238.  
  239.    o Pixel multiplexing is used above 80MHz for 8bpp on the ViRGE.
  240.  
  241.    o 15bpp is supported, use "-bpp 15" as an option to the server.
  242.  
  243.    o 24bpp is supported using the STREAMS engine.
  244.  
  245.    o 32bpp uses STREAMS as well; however, because the ViRGE does not really
  246.      support 32 bpp "natively", acceleration is quite limited.
  247.  
  248.    o Both 24bpp and 32bpp do not support interlace modes.
  249.  
  250.    o 32bpp is limited to a width of < 1024 pixels.  (1024x768 is not possible,
  251.      even if you have the memory.)  This is a hardware limit of ViRGE chips.
  252.  
  253. 3.4  Hints for LCD configuration (S3 ViRGE/MX)
  254.  
  255. If LCD is active the CRT will always output 1024x768 (or whatever is the _phys-
  256. ical_ LCD size) and smaller modes are zoomed to fit on the LCD unless you spec-
  257. ify Option "lcd_center" in the device section.
  258.  
  259. The pixel clock for this physical size (e.g. 1024x768) mode...
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V5 Users
  269.  
  270.  
  271.  
  272.    o ...can explicitly set in the config file (device section) with  e.g.
  273.      `Set_LCDClk 70' (resulting 70 MHz pixel clock being used for all modes
  274.      when LCD is on)
  275.  
  276.    o ...is taken from the _first_ mode in the modes line iff this mode's dis-
  277.      play size is the same as the physical LCD size
  278.  
  279.    o ...the default LCD pixel clock of BIOS initialisation setup is used.  This
  280.      value is output at server startup in the line `LCD size ...' unless you're
  281.      specifying a value using `Set_LCDClk ...'
  282.  
  283. If LCD is _not_ active, the normal mode lines and pixel clocks are used for the
  284. VGA output.
  285.  
  286. Whenever you switch output sources with Fn-F5 or similar, the Xserver won't get
  287. informed and pixel clock and other settings are wrong.  Because of this you
  288. have to switch modes _after_ switch output sources!  Then the server will check
  289. which outputs are active and select the correct clocks etc.  So the recommended
  290. key sequence to switch output is
  291.  
  292. Fn-F5  Ctrl-Alt-Plus  Ctrl-Alt-Minus
  293.  
  294. and everything should be ok..
  295.  
  296. on the Toshiba keypad you can first hold down Ctrl-Alt, then press `Fn' addi-
  297. tionally before pressing Plus/Minus too to avoid to explicitly enable/disable
  298. the numeric keypad for mode switching.
  299.  
  300.  
  301. 4.  Authors
  302.  
  303. 4.1  XF86_S3V server
  304.  
  305. Harald Koenig <koenig@tat.physik.uni-tuebingen.de>
  306.  
  307. and:
  308.  
  309.    o Kevin Brosius Cobra@compuserve.com
  310.  
  311.    o Berry Dijk berry_dijk@tasking.nl
  312.  
  313.    o Dirk Hohndel hohndel@XFree86.Org
  314.  
  315.    o Huver Hu huver@amgraf.com
  316.  
  317.    o Dirk Vangestel gesteld@sh.bel.alcatel.be
  318.  
  319. 4.2  XF86_SVGA ViRGE driver
  320.  
  321. Sebastien Marineau <marineau@genie.uottawa.ca>
  322.  
  323. and:
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V6 Users
  335.  
  336.  
  337.  
  338.    o Harald Koenig <koenig@tat.physik.uni-tuebingen.de>
  339.  
  340.    o Kevin Brosius Cobra@compuserve.com
  341.  
  342.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/S3V.sgml,v 3.3.2.9 1998/12/04 01:36:48 dawes Exp $
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  Information for S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX and ViRGE/V7 Users
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.                                    CONTENTS
  471.  
  472.  
  473.  
  474. 1. Supported hardware ....................................................... 1
  475.  
  476. 2. XF86_S3V server .......................................................... 1
  477.    2.1 Features: ............................................................ 1
  478.    2.2 Known limitations .................................................... 2
  479.    2.3 Future Features (in order from highest to lowest priority) ........... 2
  480.    2.4 Configuration: ....................................................... 2
  481.  
  482. 3. XF86_SVGA server ......................................................... 2
  483.    3.1 Features ............................................................. 2
  484.    3.2 Known limitations .................................................... 3
  485.    3.3 Configuration ........................................................ 3
  486.    3.4 Hints for LCD configuration (S3 ViRGE/MX) ............................ 4
  487.  
  488. 4. Authors .................................................................. 5
  489.    4.1 XF86_S3V server ...................................................... 5
  490.    4.2 XF86_SVGA ViRGE driver ............................................... 5
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                        i
  527.  
  528.  
  529.