~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/fb/intel810.txt

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 Intel 810/815 Framebuffer driver
  2         Tony Daplas <adaplas@pol.net>
  3         http://i810fb.sourceforge.net
  4 
  5         March 17, 2002
  6 
  7         First Released: July 2001
  8         Last Update:    September 12, 2005
  9 ================================================================
 10 
 11 A. Introduction
 12         This is a framebuffer driver for various Intel 810/815 compatible
 13 graphics devices.  These would include:
 14 
 15         Intel 810
 16         Intel 810E
 17         Intel 810-DC100
 18         Intel 815 Internal graphics only, 100Mhz FSB
 19         Intel 815 Internal graphics only
 20         Intel 815 Internal graphics and AGP
 21 
 22 B.  Features
 23 
 24         - Choice of using Discrete Video Timings, VESA Generalized Timing
 25           Formula, or a framebuffer specific database to set the video mode
 26 
 27         - Supports a variable range of horizontal and vertical resolution, and
 28           vertical refresh rates if the VESA Generalized Timing Formula is 
 29           enabled.
 30 
 31         - Supports color depths of 8, 16, 24 and 32 bits per pixel
 32 
 33         - Supports pseudocolor, directcolor, or truecolor visuals
 34 
 35         - Full and optimized hardware acceleration at 8, 16 and 24 bpp
 36 
 37         - Robust video state save and restore
 38 
 39         - MTRR support 
 40 
 41         - Utilizes user-entered monitor specifications to automatically
 42           calculate required video mode parameters.
 43 
 44         - Can concurrently run with xfree86 running with native i810 drivers 
 45 
 46         - Hardware Cursor Support
 47  
 48         - Supports EDID probing either by DDC/I2C or through the BIOS
 49 
 50 C.  List of available options
 51         
 52    a. "video=i810fb"  
 53         enables the i810 driver
 54 
 55         Recommendation: required
 56  
 57    b. "xres:<value>"  
 58         select horizontal resolution in pixels. (This parameter will be
 59         ignored if 'mode_option' is specified.  See 'o' below).
 60 
 61         Recommendation: user preference 
 62         (default = 640)
 63 
 64    c. "yres:<value>"
 65         select vertical resolution in scanlines. If Discrete Video Timings
 66         is enabled, this will be ignored and computed as 3*xres/4.  (This
 67         parameter will be ignored if 'mode_option' is specified.  See 'o'
 68         below)  
 69 
 70         Recommendation: user preference
 71         (default = 480)
 72                 
 73    d. "vyres:<value>" 
 74         select virtual vertical resolution in scanlines. If (0) or none
 75         is specified, this will be computed against maximum available memory. 
 76 
 77         Recommendation: do not set
 78         (default = 480)
 79 
 80    e. "vram:<value>"
 81         select amount of system RAM in MB to allocate for the video memory 
 82 
 83         Recommendation: 1 - 4 MB.
 84         (default = 4)
 85 
 86    f. "bpp:<value>"   
 87         select desired pixel depth 
 88 
 89         Recommendation: 8
 90         (default = 8)
 91 
 92    g. "hsync1/hsync2:<value>" 
 93         select the minimum and maximum Horizontal Sync Frequency of the 
 94         monitor in KHz.  If a using a fixed frequency monitor, hsync1 must 
 95         be equal to hsync2. If EDID probing is successful, these will be
 96         ignored and values will be taken from the EDID block.
 97 
 98         Recommendation: check monitor manual for correct values
 99         default (29/30)
100 
101    h. "vsync1/vsync2:<value>" 
102         select the minimum and maximum Vertical Sync Frequency of the monitor
103         in Hz. You can also use this option to lock your monitor's refresh 
104         rate. If EDID probing is successful, these will be ignored and values
105         will be taken from the EDID block.
106 
107         Recommendation: check monitor manual for correct values
108         (default = 60/60)
109 
110         IMPORTANT:  If you need to clamp your timings, try to give some 
111         leeway for computational errors (over/underflows).  Example: if 
112         using vsync1/vsync2 = 60/60, make sure hsync1/hsync2 has at least
113         a 1 unit difference, and vice versa.
114 
115    i. "voffset:<value>" 
116         select at what offset in MB of the logical memory to allocate the 
117         framebuffer memory.  The intent is to avoid the memory blocks
118         used by standard graphics applications (XFree86).  The default
119         offset (16 MB for a 64MB aperture, 8 MB for a 32MB aperture) will
120         avoid XFree86's usage and allows up to 7MB/15MB of framebuffer
121         memory.  Depending on your usage, adjust the value up or down, 
122         (0 for maximum usage, 31/63 MB for the least amount).  Note, an 
123         arbitrary setting may conflict with XFree86.
124 
125         Recommendation: do not set
126         (default = 8 or 16 MB)
127       
128    j. "accel" 
129         enable text acceleration.  This can be enabled/reenabled anytime 
130         by using 'fbset -accel true/false'. 
131 
132         Recommendation: enable
133         (default = not set) 
134 
135    k. "mtrr" 
136         enable MTRR.  This allows data transfers to the framebuffer memory
137         to occur in bursts which can significantly increase performance.
138         Not very helpful with the i810/i815 because of 'shared memory'. 
139 
140         Recommendation: do not set
141         (default = not set) 
142 
143    l. "extvga"
144         if specified, secondary/external VGA output will always be enabled.
145         Useful if the BIOS turns off the VGA port when no monitor is attached.
146         The external VGA monitor can then be attached without rebooting. 
147 
148         Recommendation: do not set
149         (default = not set)
150         
151    m. "sync" 
152         Forces the hardware engine to do a "sync" or wait for the hardware
153         to finish before starting another instruction. This will produce a 
154         more stable setup, but will be slower.
155 
156         Recommendation: do not set
157         (default = not set)
158 
159    n. "dcolor"
160         Use directcolor visual instead of truecolor for pixel depths greater
161         than 8 bpp.  Useful for color tuning, such as gamma control.
162 
163         Recommendation: do not set
164         (default = not set)
165    o. <xres>x<yres>[-<bpp>][@<refresh>]
166         The driver will now accept specification of boot mode option.  If this
167         is specified, the options 'xres' and 'yres' will be ignored. See
168         Documentation/fb/modedb.txt for usage.
169 
170 D. Kernel booting
171 
172 Separate each option/option-pair by commas (,) and the option from its value
173 with a colon (:) as in the following:
174 
175 video=i810fb:option1,option2:value2
176 
177 Sample Usage
178 ------------
179 
180 In /etc/lilo.conf, add the line:
181 
182 append="video=i810fb:vram:2,xres:1024,yres:768,bpp:8,hsync1:30,hsync2:55, \
183         vsync1:50,vsync2:85,accel,mtrr"
184 
185 This will initialize the framebuffer to 1024x768 at 8bpp.  The framebuffer
186 will use 2 MB of System RAM. MTRR support will be enabled. The refresh rate 
187 will be computed based on the hsync1/hsync2 and vsync1/vsync2 values.  
188 
189 IMPORTANT:
190 You must include hsync1, hsync2, vsync1 and vsync2 to enable video modes
191 better than 640x480 at 60Hz. HOWEVER, if your chipset/display combination
192 supports I2C and has an EDID block, you can safely exclude hsync1, hsync2,
193 vsync1 and vsync2 parameters.  These parameters will be taken from the EDID
194 block.
195 
196 E.  Module options
197         
198         The module parameters are essentially similar to the kernel 
199 parameters. The main difference is that you need to include a Boolean value 
200 (1 for TRUE, and 0 for FALSE) for those options which don't need a value. 
201 
202 Example, to enable MTRR, include "mtrr=1".
203 
204 Sample Usage
205 ------------
206 
207 Using the same setup as described above, load the module like this:
208 
209         modprobe i810fb vram=2 xres=1024 bpp=8 hsync1=30 hsync2=55 vsync1=50 \
210                  vsync2=85 accel=1 mtrr=1
211 
212 Or just add the following to /etc/modprobe.conf
213 
214         options i810fb vram=2 xres=1024 bpp=16 hsync1=30 hsync2=55 vsync1=50 \
215         vsync2=85 accel=1 mtrr=1
216 
217 and just do a 
218 
219         modprobe i810fb
220 
221 
222 F.  Setup
223 
224         a. Do your usual method of configuring the kernel. 
225         
226         make menuconfig/xconfig/config
227 
228         b. Under "Code Maturity Options", enable "Prompt for experimental/
229            incomplete code/drivers".
230 
231         c. Enable agpgart support for the Intel 810/815 on-board graphics.
232            This is required.  The option is under "Character Devices"
233 
234         d. Under "Graphics Support", select "Intel 810/815" either statically
235            or as a module.  Choose "use VESA Generalized Timing Formula" if
236            you need to maximize the capability of your display.  To be on the 
237            safe side, you can leave this unselected.  
238   
239         e. If you want support for DDC/I2C probing (Plug and Play Displays),
240            set 'Enable DDC Support' to 'y'. To make this option appear, set
241            'use VESA Generalized Timing Formula' to 'y'.
242 
243         f. If you want a framebuffer console, enable it under "Console 
244            Drivers"
245 
246         g. Compile your kernel. 
247                 
248         h. Load the driver as described in section D and E.
249         
250         i.  Try the DirectFB (http://www.directfb.org) + the i810 gfxdriver
251             patch to see the chipset in action (or inaction :-).
252 
253 G.  Acknowledgment:
254         
255         1.  Geert Uytterhoeven - his excellent howto and the virtual
256                                  framebuffer driver code made this possible.
257 
258         2.  Jeff Hartmann for his agpgart code.  
259 
260         3.  The X developers.  Insights were provided just by reading the
261             XFree86 source code.
262 
263         4.  Intel(c).  For this value-oriented chipset driver and for
264             providing documentation.
265 
266         5. Matt Sottek.  His inputs and ideas  helped in making some
267         optimizations possible.
268 
269 H.  Home Page:
270 
271         A more complete, and probably updated information is provided at
272 http://i810fb.sourceforge.net.
273 
274 ###########################
275 Tony
276 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.