Network Computing Group

http://www.advantech.com/support

Application Note

XFree86 for ATI Rage 128 Pro 4XL (for Device ID: 5052) under RedHat 7.2

This document is not for ATI Rage 128 Pro 4XL-Device ID: 5452 because X server under the Linux RedHat 7.2 can support this video card automatically.

- Running X on top of a VESA Frame Buffer device -

Purpose:

This document shows how to solve the problem that the X server does not support some new or special video cards under the Linux RedHat 7.2 environments. As you may be aware, recent Linux development kernels (2.1.x series) have included graphical framebuffer support for Intel x86-compatible machines that have VESA 2.0-compatible video cards. This can be used to create very large text-mode consoles (144 columns by 54 rows at 1152x864!) and can be used in conjunction with the XF68_FBDev X server to provide X support for some video cards that do not yet have X servers of their own available.

Please make sure the kernel is Linux Kernel 2.2.x series and then follow the steps below.

Step 1: Check if the system support frame buffer device

The direct way to see if the system provides the frame buffer is to find “fb*” device under the /dev

directory. After the # prompt, please input the “ls –l /dev/fb*”

For example:

# ls –l /dev/fb*

I crw------1 root root 29, 0 Apr 12 1999 fb0 (note: expected output)

If the screen shows the above line (italic), the kernel has supported the frame buffer. Please go to

step 2 directly.

Otherwise, please execute “mknod” command to make the frame buffer device.

For example:

# mknod /dev/fb0 c 29 0

# ln –s /dev/fb0/dev/fb

Step 2: Install frame buffer X server

Please install the frame buffer X server RPM package (File name: XFree86-Xvfb-4.x.x-x.i386.rpm)

under the RedHat/RPMS directory on RedHat 7.2 Installation Disc 2

For example:

# rpm –ivh XFree86-Xvfb-4.x.x-x.i386.rpm

(Note: x means the version of frame buffer)

After the installation, please check there is one file called “XF86-FBDev” under /usr/X11R6/bin directory.

Step 3: Setup the resolution of frame buffer console

Please edit the file /etc/lilo.conf for VGA mode selection.

For example:

# vi /etc/lilo.conf

Please add one line inside that file.

For example:

image=/boot/vmlinuz-2.4.16

label=Linux

root=/dev/hda1

VGA=791 #add this line

read-only

VGA=791 means the monitor’s resolution is 1024x768x16 bits that corresponds to the hexadecimal mode number 791. The available VESA modes depend from your video card; however, this is a list of the "main" modes, in decimal (suitable for lilo.conf):

Colors / 640x480 / 800x600 / 1024x768 / 1280x1024 / 600x1200
256(8 bits) / 769 / 771 / 773 / 775 / 796
32768(15 bits) / 784 / 787 / 790 / 793 / 797
65,536(16 bits) / 785 / 788 / 791 / 794 / 798
16.8M(24 bits) / 786 / 789 / 792 / 795 / 799

Step 4: Write the updates of “lilo.conf” into the MBR

After setting up the lilo.conf, please execute the following command.

For example:

# /sbin/lilo –v –v -v

Step 5: Reboot the system

Please reboot your system. After the Linux starts, you will see the Linux logo on the left hand

side of your screen. That means you has activated the VESA graphics frame buffer console

successfully.

Step 6: Edit /etc/X11/XF86Config

For example:

# vi /etc/X11/XF86Config

Please add the following lines to the end of that file.

Section “Screen”

Driver “FBDev”

Device “Card”

Monitor “Monitor”

SubSection “Display”

Depth 16

Modes “default”

EndSubSection

EndSection

Step 7: Link X server

# rm /etc/X11/X

# ln –s /usr/X11R6/bin/XF86_FBDev /etc/X11/X

Step 8: Start X window system

That's all. Now you should be able to fire up “startx” and enjoy !

# startx

1