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