Purpose:

This blog entry will explain:

1. How to enable 3D acceleration under Debian Linux and may be perhaps under any other Linux distribution.

2. How to test if 3D acceleration is actually working or not.

Step 1: Find out if 3D acceleration is already enabled or not?

Give the following command:
# glxinfo | less
or
# glxinfo | less | grep Yes

If you see a line like:

“direct rendering: Yes”

in the following output:

then 3D acceleration is already enabled and you don’t need to do anything else.

However, if you see a line like:

“direct rendering: No”

then follow the steps to enable the 3D acceleration.

If you don’t have glxinfo installed, you can install it by:

# apt-get install mesa-utils

Step 2: Find out the Graphics chipset name

In order to recognize the proper driver for your Graphics chipset we need to find out it’s name/model by giving the following command:

# lspci
00:00.0 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge
........
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. S3 Unichrome Pro VGA Adapter (rev 01)
#

The line in bold above shows the name/model of my graphic card (VGA controller). Note this down.

Step 3: XOrg Configuration

Also make sure that your Xorg server is using the correct driver for your graphic card. You can check this by the following command:

# cat /var/log/Xorg.0.log | grep driver

You should see the name of your driver in the output as shown below:
X.Org XInput driver : 0.6
(II) Loading /usr/lib/xorg/modules/drivers/via_drv.so
ABI class: X.Org XInput driver, version 0.6
ABI class: X.Org XInput driver, version 0.6
(II) VIA: driver for VIA chipsets: CLE266, KM400/KN400, K8M800,
(!!) VIA Technologies does not support or endorse this driver in any way.
(!!) For support please contact the driver maintainer or your X vendor.
(II) VIA(0): [drm] loaded kernel module for "via" driver
(II) VIA(0): [drm] created "via" driver at busid "PCI:1:0:0"

If you have the correct driver installed and still you are not able to get 3D acceleration, then try the following additional steps below.

Step 4: Configure the Kernel to include the support for your Graphics Card

Give the following commands:
# cd /usr/src/linux
# make xconfig (or whatever you use)

and configure the following highlighted options :

screenshot-21

screenshot-121

In short you need to configure AGP Support and DRI/DRM (Direct Rendering Manager) support under Character Devices in the Kernel configuration menu.

You should do the above for your own Graphic Card make/model like Intel 855GM (i810) etc.

Now compile your kernel and install it. In case if you don’t know how to do it, then here is good link which explains the process.

Step 5: Install the DRI package (optional but may be required)

I have found this to be “required” for my configuration. Generally your 3D acceleration should be enabled at this point of time. You can check it as shown in Step1 above. In case if it is still not enabled then try to install the xlib mesa dri package by giving the following command:
# apt-get install xlibmesa-dri

Now check your 3D acceleration again by giving “glxinfo” command.

If you are still not able to get 3D acceleration then chances are that your card and/or your driver does not support it. Check the documentation of your card and driver and try searching on the Internet.

Other tools to check/measure 3D acceleration performance

Once you get your 3D acceleration going, you can use some of the X based tools to measure the performance.

1. GLXGEARS
# apt-get install mesa-utils
# glxgears

You should see 3 colored rotating gears as your output like this:

GLXGEARS

2. XENGINE
# apt-get install xengine
# xengine

This utility will show you the RPM count. You can compare the RPM count with and w/o 3D accelerations to see the effect of 3D acceleration. The piston will rotate much more faster with 3D acceleration (a visual cue).

You should see something like this:

screenshot-4

3. Check AGP Support

You can also check if Linux detected your AGP or not by giving the following command:
# dmesg | grep agpgart
You should be able to see some text which talks about agpgart like this:
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected AGP bridge 0
agpgart: AGP aperture is 64M @ 0xe0000000
agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
agpgart: Xorg tried to set rate=x12. Setting to AGP3 x8 mode.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x mode

As usual, please leave a comment/feedback if you have any. Comments encourages bloggers to post more and keep their spirits high.

Be Sociable, Share!