mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
3f7a26b4b9
Add support for Intel's 945GME graphics chip to the intelfb driver. I have assumed that the 945GME is identical to the already-supported 945GM apart from its PCI IDs; this is based on a quick look at the X driver for these chips which seems to treat them identically. The 945GME is used in the ASUS Eee 901, and I coded this in the hope that I'd be able to use it to get a console at the native 1024x600 resolution which is not known to the BIOS. I realised too late that the intelfb driver does not support mode changing on laptops, so it won't be any use for me. Signed-off-by: Phil Endecott <spam_from_intelfb@chezphil.org> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
150 lines
3.6 KiB
Plaintext
150 lines
3.6 KiB
Plaintext
Intel 830M/845G/852GM/855GM/865G/915G/945G Framebuffer driver
|
|
================================================================
|
|
|
|
A. Introduction
|
|
This is a framebuffer driver for various Intel 8xx/9xx compatible
|
|
graphics devices. These would include:
|
|
|
|
Intel 830M
|
|
Intel 845G
|
|
Intel 852GM
|
|
Intel 855GM
|
|
Intel 865G
|
|
Intel 915G
|
|
Intel 915GM
|
|
Intel 945G
|
|
Intel 945GM
|
|
Intel 945GME
|
|
Intel 965G
|
|
Intel 965GM
|
|
|
|
B. List of available options
|
|
|
|
a. "video=intelfb"
|
|
enables the intelfb driver
|
|
|
|
Recommendation: required
|
|
|
|
b. "mode=<xres>x<yres>[-<bpp>][@<refresh>]"
|
|
select mode
|
|
|
|
Recommendation: user preference
|
|
(default = 1024x768-32@70)
|
|
|
|
c. "vram=<value>"
|
|
select amount of system RAM in MB to allocate for the video memory
|
|
if not enough RAM was already allocated by the BIOS.
|
|
|
|
Recommendation: 1 - 4 MB.
|
|
(default = 4 MB)
|
|
|
|
d. "voffset=<value>"
|
|
select at what offset in MB of the logical memory to allocate the
|
|
framebuffer memory. The intent is to avoid the memory blocks
|
|
used by standard graphics applications (XFree86). Depending on your
|
|
usage, adjust the value up or down, (0 for maximum usage, 63/127 MB
|
|
for the least amount). Note, an arbitrary setting may conflict
|
|
with XFree86.
|
|
|
|
Recommendation: do not set
|
|
(default = 48 MB)
|
|
|
|
e. "accel"
|
|
enable text acceleration. This can be enabled/reenabled anytime
|
|
by using 'fbset -accel true/false'.
|
|
|
|
Recommendation: enable
|
|
(default = set)
|
|
|
|
f. "hwcursor"
|
|
enable cursor acceleration.
|
|
|
|
Recommendation: enable
|
|
(default = set)
|
|
|
|
g. "mtrr"
|
|
enable MTRR. This allows data transfers to the framebuffer memory
|
|
to occur in bursts which can significantly increase performance.
|
|
Not very helpful with the intel chips because of 'shared memory'.
|
|
|
|
Recommendation: set
|
|
(default = set)
|
|
|
|
h. "fixed"
|
|
disable mode switching.
|
|
|
|
Recommendation: do not set
|
|
(default = not set)
|
|
|
|
The binary parameters can be unset with a "no" prefix, example "noaccel".
|
|
The default parameter (not named) is the mode.
|
|
|
|
C. Kernel booting
|
|
|
|
Separate each option/option-pair by commas (,) and the option from its value
|
|
with an equals sign (=) as in the following:
|
|
|
|
video=intelfb:option1,option2=value2
|
|
|
|
Sample Usage
|
|
------------
|
|
|
|
In /etc/lilo.conf, add the line:
|
|
|
|
append="video=intelfb:mode=800x600-32@75,accel,hwcursor,vram=8"
|
|
|
|
This will initialize the framebuffer to 800x600 at 32bpp and 75Hz. The
|
|
framebuffer will use 8 MB of System RAM. hw acceleration of text and cursor
|
|
will be enabled.
|
|
|
|
Remarks
|
|
-------
|
|
|
|
If setting this parameter doesn't work (you stay in a 80x25 text-mode),
|
|
you might need to set the "vga=<mode>" parameter too - see vesafb.txt
|
|
in this directory.
|
|
|
|
|
|
D. Module options
|
|
|
|
The module parameters are essentially similar to the kernel
|
|
parameters. The main difference is that you need to include a Boolean value
|
|
(1 for TRUE, and 0 for FALSE) for those options which don't need a value.
|
|
|
|
Example, to enable MTRR, include "mtrr=1".
|
|
|
|
Sample Usage
|
|
------------
|
|
|
|
Using the same setup as described above, load the module like this:
|
|
|
|
modprobe intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1
|
|
|
|
Or just add the following to /etc/modprobe.conf
|
|
|
|
options intelfb mode=800x600-32@75 vram=8 accel=1 hwcursor=1
|
|
|
|
and just do a
|
|
|
|
modprobe intelfb
|
|
|
|
|
|
E. Acknowledgment:
|
|
|
|
1. Geert Uytterhoeven - his excellent howto and the virtual
|
|
framebuffer driver code made this possible.
|
|
|
|
2. Jeff Hartmann for his agpgart code.
|
|
|
|
3. David Dawes for his original kernel 2.4 code.
|
|
|
|
4. The X developers. Insights were provided just by reading the
|
|
XFree86 source code.
|
|
|
|
5. Antonino A. Daplas for his inspiring i810fb driver.
|
|
|
|
6. Andrew Morton for his kernel patches maintenance.
|
|
|
|
###########################
|
|
Sylvain
|