Intel 810/815 Framebuffer driver
 	Tony Daplas <adaplas@pol.net>
	http://i810fb.sourceforge.net

	March 17, 2002

	First Released: July 2001
	Last Update:    September 12, 2005
================================================================

A. Introduction

	This is a framebuffer driver for various Intel 810/815 compatible
	graphics devices.  These include:

	Intel 810
	Intel 810E
	Intel 810-DC100
	Intel 815 Internal graphics only, 100Mhz FSB
	Intel 815 Internal graphics only
	Intel 815 Internal graphics and AGP

B.  Features

	- Choice of using Discrete Video Timings, VESA Generalized Timing
	  Formula, or a framebuffer specific database to set the video mode

	- Supports a variable range of horizontal and vertical resolution and
	  vertical refresh rates if the VESA Generalized Timing Formula is
	  enabled.

	- Supports color depths of 8, 16, 24 and 32 bits per pixel

	- Supports pseudocolor, directcolor, or truecolor visuals

	- Full and optimized hardware acceleration at 8, 16 and 24 bpp

	- Robust video state save and restore

	- MTRR support

	- Utilizes user-entered monitor specifications to automatically
	  calculate required video mode parameters.

	- Can concurrently run with xfree86 running with native i810 drivers

	- Hardware Cursor Support
 
	- Supports EDID probing either by DDC/I2C or through the BIOS

C.  List of available options

   a. "video=i810fb"
	enables the i810 driver

	Recommendation: required

   b. "xres:<value>"
	select horizontal resolution in pixels. (This parameter will be
	ignored if 'mode_option' is specified.  See 'o' below).

	Recommendation: user preference
	(default = 640)

   c. "yres:<value>"
	select vertical resolution in scanlines. If Discrete Video Timings
	is enabled, this will be ignored and computed as 3*xres/4.  (This
	parameter will be ignored if 'mode_option' is specified.  See 'o'
	below)

	Recommendation: user preference
	(default = 480)

   d. "vyres:<value>"
	select virtual vertical resolution in scanlines. If (0) or none
	is specified, this will be computed against maximum available memory.

	Recommendation: do not set
	(default = 480)

   e. "vram:<value>"
	select amount of system RAM in MB to allocate for the video memory

	Recommendation: 1 - 4 MB.
	(default = 4)

   f. "bpp:<value>"
	select desired pixel depth

	Recommendation: 8
	(default = 8)

   g. "hsync1/hsync2:<value>"
	select the minimum and maximum Horizontal Sync Frequency of the
	monitor in kHz.  If using a fixed frequency monitor, hsync1 must
	be equal to hsync2. If EDID probing is successful, these will be
	ignored and values will be taken from the EDID block.

	Recommendation: check monitor manual for correct values
	(default = 29/30)

   h. "vsync1/vsync2:<value>"
	select the minimum and maximum Vertical Sync Frequency of the monitor
	in Hz. You can also use this option to lock your monitor's refresh
	rate. If EDID probing is successful, these will be ignored and values
	will be taken from the EDID block.

	Recommendation: check monitor manual for correct values
	(default = 60/60)

	IMPORTANT:  If you need to clamp your timings, try to give some
	leeway for computational errors (over/underflows).  Example: if
	using vsync1/vsync2 = 60/60, make sure hsync1/hsync2 has at least
	a 1 unit difference, and vice versa.

   i. "voffset:<value>"
	select at what offset in MB of the logical memory to allocate the
	framebuffer memory.  The intent is to avoid the memory blocks
	used by standard graphics applications (XFree86).  The default
	offset (16 MB for a 64 MB aperture, 8 MB for a 32 MB aperture) will
	avoid XFree86's usage and allows up to 7 MB/15 MB of framebuffer
	memory.  Depending on your usage, adjust the value up or down
	(0 for maximum usage, 31/63 MB for the least amount).  Note, an
	arbitrary setting may conflict with XFree86.

	Recommendation: do not set
	(default = 8 or 16 MB)

   j. "accel"
	enable text acceleration.  This can be enabled/reenabled anytime
	by using 'fbset -accel true/false'.

	Recommendation: enable
	(default = not set)

   k. "mtrr"
	enable MTRR.  This allows data transfers to the framebuffer memory
	to occur in bursts which can significantly increase performance.
	Not very helpful with the i810/i815 because of 'shared memory'.

	Recommendation: do not set
	(default = not set)

   l. "extvga"
	if specified, secondary/external VGA output will always be enabled.
	Useful if the BIOS turns off the VGA port when no monitor is attached.
	The external VGA monitor can then be attached without rebooting.

	Recommendation: do not set
	(default = not set)

   m. "sync"
	Forces the hardware engine to do a "sync" or wait for the hardware
	to finish before starting another instruction. This will produce a
	more stable setup, but will be slower.

	Recommendation: do not set
	(default = not set)

   n. "dcolor"
        Use directcolor visual instead of truecolor for pixel depths greater
	than 8 bpp.  Useful for color tuning, such as gamma control.

	Recommendation: do not set
	(default = not set)

   o. <xres>x<yres>[-<bpp>][@<refresh>]
	The driver will now accept specification of boot mode option.  If this
	is specified, the options 'xres' and 'yres' will be ignored. See
	Documentation/fb/modedb.txt for usage.

D. Kernel booting

Separate each option/option-pair by commas (,) and the option from its value
with a colon (:) as in the following:

video=i810fb:option1,option2:value2

Sample Usage
------------

In /etc/lilo.conf, add the line:

append="video=i810fb:vram:2,xres:1024,yres:768,bpp:8,hsync1:30,hsync2:55, \
        vsync1:50,vsync2:85,accel,mtrr"

This will initialize the framebuffer to 1024x768 at 8bpp.  The framebuffer
will use 2 MB of System RAM. MTRR support will be enabled. The refresh rate
will be computed based on the hsync1/hsync2 and vsync1/vsync2 values.

IMPORTANT:
You must include hsync1, hsync2, vsync1 and vsync2 to enable video modes
better than 640x480 at 60Hz. HOWEVER, if your chipset/display combination
supports I2C and has an EDID block, you can safely exclude hsync1, hsync2,
vsync1 and vsync2 parameters.  These parameters will be taken from the EDID
block.

E.  Module options

The module parameters are essentially similar to the kernel
parameters. The main difference is that you need to include a Boolean value
(1 for TRUE, and 0 for FALSE) for those options which don't need a value.

Example, to enable MTRR, include "mtrr=1".

Sample Usage
------------

Using the same setup as described above, load the module like this:

	modprobe i810fb vram=2 xres=1024 bpp=8 hsync1=30 hsync2=55 vsync1=50 \
	         vsync2=85 accel=1 mtrr=1

Or just add the following to a configuration file in /etc/modprobe.d/

	options i810fb vram=2 xres=1024 bpp=16 hsync1=30 hsync2=55 vsync1=50 \
	vsync2=85 accel=1 mtrr=1

and just do a

	modprobe i810fb


F.  Setup

	a. Do your usual method of configuring the kernel.

	make menuconfig/xconfig/config

	b. Under "Code maturity level options" enable "Prompt for development
	   and/or incomplete code/drivers".

 	c. Enable agpgart support for the Intel 810/815 on-board graphics.
	   This is required.  The option is under "Character Devices".

	d. Under "Graphics Support", select "Intel 810/815" either statically
	   or as a module.  Choose "use VESA Generalized Timing Formula" if
	   you need to maximize the capability of your display.  To be on the
	   safe side, you can leave this unselected.

	e. If you want support for DDC/I2C probing (Plug and Play Displays),
	   set 'Enable DDC Support' to 'y'. To make this option appear, set
	   'use VESA Generalized Timing Formula' to 'y'.

        f. If you want a framebuffer console, enable it under "Console
	   Drivers".

	g. Compile your kernel.

	h. Load the driver as described in sections D and E.

	i.  Try the DirectFB (http://www.directfb.org) + the i810 gfxdriver
	    patch to see the chipset in action (or inaction :-).

G.  Acknowledgment:

	1.  Geert Uytterhoeven - his excellent howto and the virtual
	    framebuffer driver code made this possible.

	2.  Jeff Hartmann for his agpgart code.

	3.  The X developers.  Insights were provided just by reading the
	    XFree86 source code.

	4.  Intel(c).  For this value-oriented chipset driver and for
	    providing documentation.

	5. Matt Sottek.  His inputs and ideas  helped in making some
	   optimizations possible.

H.  Home Page:

	A more complete, and probably updated information is provided at
	http://i810fb.sourceforge.net.

###########################
Tony

