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