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