xref: /openbmc/linux/Documentation/fb/intelfb.rst (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
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