- Frame Buffer Device -
1. Introduction
This documentation
was done with the intention to give a quick help to all Linux users which
have a graphic card not supported or still in development by Xfree86 Project.
I'll just write
what I did to get my graphic card(S3Trio3D2x AGP) to work on X.
2. What's a Frame Buffer Device ?
It's a device
which create an hardware graphic abstraction. It represents the "frame
buffer" from compatibles VESA boards so that software doesn't need to use
any low-level instructions (hardware registers).
Such devices
are on /dev/fb* .
3. It's my video card supported by XFree86 Project ?
You should check if your video card is supported by the XFree86 Project. Even if you get Frame Buffering to work it's recommended that you search always for a specific (if available) X server for your graphic card - Frame Buffering don't get acceleration capabilities.
XFree86
Video Card and X server list
4. Kernel
Frame
Buffer Device it's supported on above kernel 2.1.105 and 2.2.x series.
It's supported
by XFree86 (>=3.2.x).
4.1. Which options are needed ?
As I'd compiled with kernel 2.2.11, at the moment, Frame Buffer Device is still on development so that you should do:
Code Maturity level options -->
[Y] Prompt for development and/or incomplete code/drivers
Console Drivers -->
[Y] VGA text console
[Y] Video mode selection support
[Y] Support for frame buffer devices (EXPERIMENTAL)
[Y] Vesa VGA graphics console (NEW)
5. Devices
You should create, at least, one device to get it to work.
$ mknod /dev/fb0 c 29 0
$ mknod /dev/fb1 c 29 32
6. LILO configuration
Insert the following line to your /etc/lilo.conf :
vga = ask
All supported
modes are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This table was copied
from (Documentation/fb/vesafb.txt)
kernel sources(2.2.11)
Read also some documentation about Frame Buffer (Documentation/fb/framebuffer.txt)
Example:
If you want your text console with 800x600x256 you should have on your /etc/lilo.conf :
vga = 0x303
7. What about a X Server ?
Previous section only treats text console: give you more pleasure(pinguim logo) to work on text console and fast switching between text and X.
You should get an FBDev X server. At the moment, it's not available for any distribution so you will need to download the source code from ftp.xfree86.org .
You can download a binary FBDev X server from this site (libc6).
Don't forget to make the correct symbolic link to your /usr/X11R6/bin/X (also on /etc/X11/X for RedHat users).
Edit your X11
configuration file (XF86Config).
On "Screen"
section change it to something like:
Section "Screen"
Driver "FBDev"
Device "Primary Card"
Monitor "Primary Monitor"
SubSection "Display"
Modes "default"
EndSubSection
EndSection
At this point
you should be able to get X to work. X will use the actual text console
resolution.
The only way
I know to change resolution it's changing LILO configuration.
It seems there's
an FBSet file (contains modelines needed !?) which can change resolution
without changing LILO. Meanwhile I still didn't found any non-corrupted
file on web.
8. That's all
I hope this document
could help you on some way.