| Christian Merkle | d463d34 | 2006-08-22 10:07:01 +1000 | [diff] [blame] | 1 | Intel 830M/845G/852GM/855GM/865G/915G/945G Framebuffer driver | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 2 | ================================================================ | 
 | 3 |  | 
 | 4 | A. Introduction | 
| Christian Merkle | d463d34 | 2006-08-22 10:07:01 +1000 | [diff] [blame] | 5 | 	This is a framebuffer driver for various Intel 8xx/9xx compatible | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 6 | graphics devices.  These would include: | 
 | 7 |  | 
 | 8 | 	Intel 830M | 
| Christian Merkle | d463d34 | 2006-08-22 10:07:01 +1000 | [diff] [blame] | 9 | 	Intel 845G | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 10 | 	Intel 852GM | 
 | 11 | 	Intel 855GM | 
 | 12 | 	Intel 865G | 
 | 13 | 	Intel 915G | 
| Christian Merkle | d463d34 | 2006-08-22 10:07:01 +1000 | [diff] [blame] | 14 | 	Intel 915GM | 
 | 15 | 	Intel 945G | 
 | 16 | 	Intel 945GM | 
| Phil Endecott | 3f7a26b | 2008-10-15 22:03:35 -0700 | [diff] [blame] | 17 | 	Intel 945GME | 
| Maik Broemme | 0e170c7 | 2008-04-28 02:15:43 -0700 | [diff] [blame] | 18 | 	Intel 965G | 
 | 19 | 	Intel 965GM | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 20 |  | 
 | 21 | B.  List of available options | 
 | 22 |  | 
 | 23 |    a. "video=intelfb" | 
 | 24 | 	enables the intelfb driver | 
 | 25 |  | 
 | 26 | 	Recommendation: required | 
 | 27 |  | 
 | 28 |    b. "mode=<xres>x<yres>[-<bpp>][@<refresh>]" | 
 | 29 | 	select mode | 
 | 30 |  | 
 | 31 | 	Recommendation: user preference | 
 | 32 | 	(default = 1024x768-32@70) | 
 | 33 |  | 
 | 34 |    c. "vram=<value>" | 
 | 35 | 	select amount of system RAM in MB to allocate for the video memory | 
 | 36 | 	if not enough RAM was already allocated by the BIOS. | 
 | 37 |  | 
 | 38 | 	Recommendation: 1 - 4 MB. | 
 | 39 | 	(default = 4 MB) | 
 | 40 |  | 
 | 41 |    d. "voffset=<value>" | 
 | 42 |         select at what offset in MB of the logical memory to allocate the | 
 | 43 | 	framebuffer memory.  The intent is to avoid the memory blocks | 
 | 44 | 	used by standard graphics applications (XFree86). Depending on your | 
 | 45 |         usage, adjust the value up or down, (0 for maximum usage, 63/127 MB | 
 | 46 |         for the least amount).  Note, an arbitrary setting may conflict | 
 | 47 |         with XFree86. | 
 | 48 |  | 
 | 49 | 	Recommendation: do not set | 
 | 50 | 	(default = 48 MB) | 
 | 51 |  | 
 | 52 |    e. "accel" | 
 | 53 | 	enable text acceleration.  This can be enabled/reenabled anytime | 
 | 54 | 	by using 'fbset -accel true/false'. | 
 | 55 |  | 
 | 56 | 	Recommendation: enable | 
 | 57 | 	(default = set) | 
 | 58 |  | 
 | 59 |    f. "hwcursor" | 
 | 60 | 	enable cursor acceleration. | 
 | 61 |  | 
 | 62 | 	Recommendation: enable | 
 | 63 | 	(default = set) | 
 | 64 |  | 
 | 65 |    g. "mtrr" | 
 | 66 | 	enable MTRR.  This allows data transfers to the framebuffer memory | 
 | 67 | 	to occur in bursts which can significantly increase performance. | 
 | 68 | 	Not very helpful with the intel chips because of 'shared memory'. | 
 | 69 |  | 
 | 70 | 	Recommendation: set | 
 | 71 | 	(default = set) | 
 | 72 |  | 
 | 73 |    h. "fixed" | 
 | 74 | 	disable mode switching. | 
 | 75 |  | 
 | 76 | 	Recommendation: do not set | 
 | 77 | 	(default = not set) | 
 | 78 |  | 
 | 79 |    The binary parameters can be unset with a "no" prefix, example "noaccel". | 
 | 80 |    The default parameter (not named) is the mode. | 
 | 81 |  | 
 | 82 | C. Kernel booting | 
 | 83 |  | 
 | 84 | Separate each option/option-pair by commas (,) and the option from its value | 
 | 85 | with an equals sign (=) as in the following: | 
 | 86 |  | 
| Christian Merkle | d463d34 | 2006-08-22 10:07:01 +1000 | [diff] [blame] | 87 | video=intelfb:option1,option2=value2 | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 88 |  | 
 | 89 | Sample Usage | 
 | 90 | ------------ | 
 | 91 |  | 
 | 92 | In /etc/lilo.conf, add the line: | 
 | 93 |  | 
| Ph. Marek | 6bf1d73 | 2006-10-03 01:14:38 -0700 | [diff] [blame] | 94 | append="video=intelfb:mode=800x600-32@75,accel,hwcursor,vram=8" | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 95 |  | 
 | 96 | This will initialize the framebuffer to 800x600 at 32bpp and 75Hz. The | 
 | 97 | framebuffer will use 8 MB of System RAM. hw acceleration of text and cursor | 
 | 98 | will be enabled. | 
 | 99 |  | 
| Ph. Marek | 6bf1d73 | 2006-10-03 01:14:38 -0700 | [diff] [blame] | 100 | Remarks | 
 | 101 | ------- | 
 | 102 |  | 
 | 103 | If setting this parameter doesn't work (you stay in a 80x25 text-mode), | 
 | 104 | you might need to set the "vga=<mode>" parameter too - see vesafb.txt | 
 | 105 | in this directory. | 
 | 106 |  | 
 | 107 |  | 
| Sylvain Meyer | 4ff45f5 | 2005-06-21 17:17:03 -0700 | [diff] [blame] | 108 | D.  Module options | 
 | 109 |  | 
 | 110 | 	The module parameters are essentially similar to the kernel | 
 | 111 | parameters. The main difference is that you need to include a Boolean value | 
 | 112 | (1 for TRUE, and 0 for FALSE) for those options which don't need a value. | 
 | 113 |  | 
 | 114 | Example, to enable MTRR, include "mtrr=1". | 
 | 115 |  | 
 | 116 | Sample Usage | 
 | 117 | ------------ | 
 | 118 |  | 
 | 119 | Using the same setup as described above, load the module like this: | 
 | 120 |  | 
 | 121 | 	modprobe intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1 | 
 | 122 |  | 
 | 123 | Or just add the following to /etc/modprobe.conf | 
 | 124 |  | 
 | 125 | 	options intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1 | 
 | 126 |  | 
 | 127 | and just do a | 
 | 128 |  | 
 | 129 | 	modprobe intelfb | 
 | 130 |  | 
 | 131 |  | 
 | 132 | E.  Acknowledgment: | 
 | 133 |  | 
 | 134 | 	1.  Geert Uytterhoeven - his excellent howto and the virtual | 
 | 135 |                                  framebuffer driver code made this possible. | 
 | 136 |  | 
 | 137 | 	2.  Jeff Hartmann for his agpgart code. | 
 | 138 |  | 
 | 139 | 	3.  David Dawes for his original kernel 2.4 code. | 
 | 140 |  | 
 | 141 | 	4.  The X developers.  Insights were provided just by reading the | 
 | 142 | 	    XFree86 source code. | 
 | 143 |  | 
 | 144 | 	5.  Antonino A. Daplas for his inspiring i810fb driver. | 
 | 145 |  | 
 | 146 | 	6.  Andrew Morton for his kernel patches maintenance. | 
 | 147 |  | 
 | 148 | ########################### | 
 | 149 | Sylvain |