[H-GEN] Direct Rendering

Paul Gearon pag at PISoftware.com
Sun May 19 06:36:55 EDT 2002

[ Humbug *General* list - semi-serious discussions about Humbug and     ]
[ Unix-related topics. Posts from non-subscribed addresses will vanish. ]

On 19 May 2002, rodney wrote:

> Hello,
> How do I change my direct rendering to yes, when I run glxinfo it says
> no.

Now I haven't done this in months, so you'll have to bear with me...

Since direct rendering means that X gets to have almost direct access to
the hardware, you'll need a kernel module to allow you to do direct
rendering.  You'll find these at the bottom of the "Character devices"
section in the kernel configuration.

If you're running RedHat then Rob Kearey keeps pointing out interesting
new utilities that do all sorts of things for users these days.  There may
be one to make sure that your kernel has this required functionality.

Anyway, turn on the feature:
  Direct Rendering Manager (XFree86 DRI support)
That opens up a list of drivers for various cards.  You'll need to select
the appropriate card for your system.  The current list is:
- 3dfx Banshee/Voodoo3+
- ATI Rage 128
- ATI Radeon
- Intel I810
- Matrox g200/g400
- SiS

NVidia provide their own driver.  You'll need to pick it up from their
site if you have one of these cards.  If you need to do this, then while
you're downloading the file, email a complaint that their software isn't
open source.  :-)

If you're running a Matrox card you'll also need AGP support (which
appears in the same menu, just above DRM.  I *think* some of the other
cards also need AGP GART support, so you might need it regardless of your

Compile, install, reboot.  :-)

Now you'll need the appropriate module installed.  On Debian with a Matrox
card, that means I added "agpgart" and "mga" into the /etc/modules file.
(All modules in this file are installed on boot).

OK, that's all the driver stuff done.

Now in your /etc/X11/XF86Config file (or maybe /etc/X11/XF86Config-4) look
for a section named "Module".  In it you'll see the list of X modules to
be loaded.

You need the following two lines:
    Load        "glx"
    Load        "dri"

You probably already have the first line.  The second line is the "Direct
Rendering Infrastructure" module.

Once you have these, start X.  Hopefully it's all going now.  If not,
check the output of /var/log/XFree86.0.log.  Go looking for something like

(II) LoadModule: "dri"
(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a
(II) Module dri: vendor="The XFree86 Project"
        compiled for, module version = 1.0.0
        ABI class: XFree86 Server Extension, version 0.1
(II) Loading sub module "drm"
(II) LoadModule: "drm"
(II) Loading /usr/X11R6/lib/modules/linux/libdrm.a
(II) Module drm: vendor="The XFree86 Project"
        compiled for, module version = 1.0.0
        ABI class: XFree86 Server Extension, version 0.1
(II) Loading extension XFree86-DRI

If you see lines that start with (WW) or (EE) then they may help you find
your problem.

I hope this helps.  As I said, it's been a little while.  But I can assure
you that QuakeIII plays really nicely when you have it all going.  Even on
NVidia.  ;-)

Paul Gearon

Software Engineer                Telephone:   +61 7 3876 2188
Plugged In Software              Fax:         +61 7 3876 4899
http://www.PIsoftware.com        PGP Key available via finger

Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum
immane mittam.
(Translation from latin: "I have a catapult. Give me all the money,
or I will fling an enormous rock at your head.")

* This is list (humbug) general handled by majordomo at lists.humbug.org.au .
* Postings to this list are only accepted from subscribed addresses of
* lists 'general' or 'general-post'.  See http://www.humbug.org.au/

More information about the General mailing list