$XFree86: xc/programs/Xserver/hw/xfree86/drivers/apm/README,v 1.5 2000/02/11 22:35:55 dawes Exp $ Note 1: This driver is work in progress. It might not work at all. Want to help? Docs are at ftp://beta.xfree86.org/pub/xf86/devel/Documentation/apm This is the Alliance Promotion driver for XFree86 4.0+. It currently only supports the AT3D, AT25 chipsets (found on various Voodoo-Rush cards) and AT24. There is incomplete support for the 6422. The 6422 chips are supported in the XFree86 3.3.x series. What has worked on my computer : - XAA for 8/16/24/32 bpp - DGA and DGA2 - DPMS - glide2x - using as a module - shadow framebuffer - AT3D - AT24 - AP6422 (although with problems, including locks) - multi card setup (with and without Xinerama) - Xv images, even with (slightly modified) glide2x ; note that there is still a little problem with vertical offset. There is some support for PC-98 with the help of Isao Ohishi (ohishi@aero.rim.or.jp). It's still under development. I hope that 8bpp works correctly. What has not worked : - I2C (I'm not sure my card, Hercules 128/3D, has proper cabling) What is untested : What should be done : - overlays (with the video engine, everything should be overlayable with everything) - (why not) 3210 support Loïc Grenié Authors: ----------------------------------------------------------------------- Kent Hamilton Initial creation. Henrik Harmsen Lots of additions and fixes. Loic Grenie Conversion to 4.0. Additions and fixes. History: ----------------------------------------------------------------------- Created by Kent Hamilton for Xfree86 from source from Alliance Modified 1997-06 by Henrik Harmsen - Added support for AT3D - Acceleration added for 8,16,32bpp: (for AT3D and AT24) - Filled rectangles - Screen-screen bitblts - Host-screen color expansion bitblts for text - DPMS support - Enabled hardware cursor code (also in 8bpp) - Set to programmable VCLK clock - Set MCLK to 57.3 MHz on AT3D. - Various bugfixes and cleanups Modified 1997-07-06 by Henrik Harmsen - Fixed bug that made the HW cursor screw up on VT switches - Probably fixed bug that screwed up the screen when using screen-screen bitblts. This forced me to put an ApmSync() at the end of ApmSubsequentScreenToScreenCopy() which makes me unhappy... But: Better it works than not... Modified 1997-10-19 by Henrik Harmsen - HW line drawing. - HW clipping. - Added support for ROP's. - Text acceleration now lots faster and support for accelerated proportional text. (Uses SCANLINE_PAD_DWORD + clipping). - Combined write for many register writes gives good general speedup. (write x+y as a single 32 bit entity, rather obvious, really...:-) - Now waits for correct number of free slots in FIFO before issuing writes to the card. This seems to have eliminated the last instances of dropped interrupts from serial IO and no more lost packets in PPP :-) - Converted cursor support to use XAA interface. - Fixed ApmSync(). Finally removed call to ApmSync at end of ApmSubsequentScreenToScreenCopy() :-) Modified 1998-03-29 by Henrik Harmsen - Added DGA support. - Added accel support for AP6422. Fixed AT24 accel support. - Fixed clock register calculation for AP6422 and AT24. - DPMS support for AT24 & AP6422. - 2% faster text accel for AT24/AT3D :-) Modified 1998-12-18 by Loic Grenie - Converted to Xfree86 4.0 driver interface. (Only support for AT25/AT3D chips). Modified 1999-03-14 by Henrik Harmsen - Various fixes to bring it up to 3.9Pd. - Added preliminary (completely untested) support for dynamic loading. Modified 1999-07-07 by Loïc Grenié - Converted to new RAC. Support for DGA and DGA2, I2C, Rush extension. Modified 2000-02-10 by Loïc Grenié - Bug fixes - AP6422 (bugged !) - Xv driver