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