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