brintos

brintos / linux-shallow public Read only

0
0
Text · 8.4 KiB · eb86098 Raw
288 lines · plain
1================================2Intel 810/815 Framebuffer driver3================================4 5Tony Daplas <adaplas@pol.net>6 7http://i810fb.sourceforge.net8 9March 17, 200210 11First Released: July 200112Last Update:    September 12, 200513 14A. Introduction15===============16 17	This is a framebuffer driver for various Intel 810/815 compatible18	graphics devices.  These include:19 20	- Intel 81021	- Intel 810E22	- Intel 810-DC10023	- Intel 815 Internal graphics only, 100Mhz FSB24	- Intel 815 Internal graphics only25	- Intel 815 Internal graphics and AGP26 27B.  Features28============29 30	- Choice of using Discrete Video Timings, VESA Generalized Timing31	  Formula, or a framebuffer specific database to set the video mode32 33	- Supports a variable range of horizontal and vertical resolution and34	  vertical refresh rates if the VESA Generalized Timing Formula is35	  enabled.36 37	- Supports color depths of 8, 16, 24 and 32 bits per pixel38 39	- Supports pseudocolor, directcolor, or truecolor visuals40 41	- Full and optimized hardware acceleration at 8, 16 and 24 bpp42 43	- Robust video state save and restore44 45	- MTRR support46 47	- Utilizes user-entered monitor specifications to automatically48	  calculate required video mode parameters.49 50	- Can concurrently run with xfree86 running with native i810 drivers51 52	- Hardware Cursor Support53 54	- Supports EDID probing either by DDC/I2C or through the BIOS55 56C.  List of available options57=============================58 59   a. "video=i810fb"60	enables the i810 driver61 62	Recommendation: required63 64   b. "xres:<value>"65	select horizontal resolution in pixels. (This parameter will be66	ignored if 'mode_option' is specified.  See 'o' below).67 68	Recommendation: user preference69	(default = 640)70 71   c. "yres:<value>"72	select vertical resolution in scanlines. If Discrete Video Timings73	is enabled, this will be ignored and computed as 3*xres/4.  (This74	parameter will be ignored if 'mode_option' is specified.  See 'o'75	below)76 77	Recommendation: user preference78	(default = 480)79 80   d. "vyres:<value>"81	select virtual vertical resolution in scanlines. If (0) or none82	is specified, this will be computed against maximum available memory.83 84	Recommendation: do not set85	(default = 480)86 87   e. "vram:<value>"88	select amount of system RAM in MB to allocate for the video memory89 90	Recommendation: 1 - 4 MB.91	(default = 4)92 93   f. "bpp:<value>"94	select desired pixel depth95 96	Recommendation: 897	(default = 8)98 99   g. "hsync1/hsync2:<value>"100	select the minimum and maximum Horizontal Sync Frequency of the101	monitor in kHz.  If using a fixed frequency monitor, hsync1 must102	be equal to hsync2. If EDID probing is successful, these will be103	ignored and values will be taken from the EDID block.104 105	Recommendation: check monitor manual for correct values106	(default = 29/30)107 108   h. "vsync1/vsync2:<value>"109	select the minimum and maximum Vertical Sync Frequency of the monitor110	in Hz. You can also use this option to lock your monitor's refresh111	rate. If EDID probing is successful, these will be ignored and values112	will be taken from the EDID block.113 114	Recommendation: check monitor manual for correct values115	(default = 60/60)116 117	IMPORTANT:  If you need to clamp your timings, try to give some118	leeway for computational errors (over/underflows).  Example: if119	using vsync1/vsync2 = 60/60, make sure hsync1/hsync2 has at least120	a 1 unit difference, and vice versa.121 122   i. "voffset:<value>"123	select at what offset in MB of the logical memory to allocate the124	framebuffer memory.  The intent is to avoid the memory blocks125	used by standard graphics applications (XFree86).  The default126	offset (16 MB for a 64 MB aperture, 8 MB for a 32 MB aperture) will127	avoid XFree86's usage and allows up to 7 MB/15 MB of framebuffer128	memory.  Depending on your usage, adjust the value up or down129	(0 for maximum usage, 31/63 MB for the least amount).  Note, an130	arbitrary setting may conflict with XFree86.131 132	Recommendation: do not set133	(default = 8 or 16 MB)134 135   j. "accel"136	enable text acceleration.  This can be enabled/reenabled anytime137	by using 'fbset -accel true/false'.138 139	Recommendation: enable140	(default = not set)141 142   k. "mtrr"143	enable MTRR.  This allows data transfers to the framebuffer memory144	to occur in bursts which can significantly increase performance.145	Not very helpful with the i810/i815 because of 'shared memory'.146 147	Recommendation: do not set148	(default = not set)149 150   l. "extvga"151	if specified, secondary/external VGA output will always be enabled.152	Useful if the BIOS turns off the VGA port when no monitor is attached.153	The external VGA monitor can then be attached without rebooting.154 155	Recommendation: do not set156	(default = not set)157 158   m. "sync"159	Forces the hardware engine to do a "sync" or wait for the hardware160	to finish before starting another instruction. This will produce a161	more stable setup, but will be slower.162 163	Recommendation: do not set164	(default = not set)165 166   n. "dcolor"167	Use directcolor visual instead of truecolor for pixel depths greater168	than 8 bpp.  Useful for color tuning, such as gamma control.169 170	Recommendation: do not set171	(default = not set)172 173   o. <xres>x<yres>[-<bpp>][@<refresh>]174	The driver will now accept specification of boot mode option.  If this175	is specified, the options 'xres' and 'yres' will be ignored. See176	Documentation/fb/modedb.rst for usage.177 178D. Kernel booting179=================180 181Separate each option/option-pair by commas (,) and the option from its value182with a colon (:) as in the following::183 184	video=i810fb:option1,option2:value2185 186Sample Usage187------------188 189In /etc/lilo.conf, add the line::190 191  append="video=i810fb:vram:2,xres:1024,yres:768,bpp:8,hsync1:30,hsync2:55, \192	  vsync1:50,vsync2:85,accel,mtrr"193 194This will initialize the framebuffer to 1024x768 at 8bpp.  The framebuffer195will use 2 MB of System RAM. MTRR support will be enabled. The refresh rate196will be computed based on the hsync1/hsync2 and vsync1/vsync2 values.197 198IMPORTANT:199  You must include hsync1, hsync2, vsync1 and vsync2 to enable video modes200  better than 640x480 at 60Hz. HOWEVER, if your chipset/display combination201  supports I2C and has an EDID block, you can safely exclude hsync1, hsync2,202  vsync1 and vsync2 parameters.  These parameters will be taken from the EDID203  block.204 205E.  Module options206==================207 208The module parameters are essentially similar to the kernel209parameters. The main difference is that you need to include a Boolean value210(1 for TRUE, and 0 for FALSE) for those options which don't need a value.211 212Example, to enable MTRR, include "mtrr=1".213 214Sample Usage215------------216 217Using the same setup as described above, load the module like this::218 219	modprobe i810fb vram=2 xres=1024 bpp=8 hsync1=30 hsync2=55 vsync1=50 \220		 vsync2=85 accel=1 mtrr=1221 222Or just add the following to a configuration file in /etc/modprobe.d/::223 224	options i810fb vram=2 xres=1024 bpp=16 hsync1=30 hsync2=55 vsync1=50 \225	vsync2=85 accel=1 mtrr=1226 227and just do a::228 229	modprobe i810fb230 231 232F.  Setup233=========234 235	a. Do your usual method of configuring the kernel236 237	   make menuconfig/xconfig/config238 239	b. Under "Code maturity level options" enable "Prompt for development240	   and/or incomplete code/drivers".241 242	c. Enable agpgart support for the Intel 810/815 on-board graphics.243	   This is required.  The option is under "Character Devices".244 245	d. Under "Graphics Support", select "Intel 810/815" either statically246	   or as a module.  Choose "use VESA Generalized Timing Formula" if247	   you need to maximize the capability of your display.  To be on the248	   safe side, you can leave this unselected.249 250	e. If you want support for DDC/I2C probing (Plug and Play Displays),251	   set 'Enable DDC Support' to 'y'. To make this option appear, set252	   'use VESA Generalized Timing Formula' to 'y'.253 254	f. If you want a framebuffer console, enable it under "Console255	   Drivers".256 257	g. Compile your kernel.258 259	h. Load the driver as described in sections D and E.260 261	i.  Try the DirectFB (http://www.directfb.org) + the i810 gfxdriver262	    patch to see the chipset in action (or inaction :-).263 264G.  Acknowledgment:265===================266 267	1.  Geert Uytterhoeven - his excellent howto and the virtual268	    framebuffer driver code made this possible.269 270	2.  Jeff Hartmann for his agpgart code.271 272	3.  The X developers.  Insights were provided just by reading the273	    XFree86 source code.274 275	4.  Intel(c).  For this value-oriented chipset driver and for276	    providing documentation.277 278	5. Matt Sottek.  His inputs and ideas  helped in making some279	   optimizations possible.280 281H.  Home Page:282==============283 284	A more complete, and probably updated information is provided at285	http://i810fb.sourceforge.net.286 287Tony288