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