Visit Jeremy's Blog.
Go Back > Blogs > ReaperX7
User Name


Rate this Entry

Enabling Hardware Acceleration with X11 and the DRI.

Posted 06-19-2012 at 11:41 PM by ReaperX7
Updated 07-25-2012 at 11:27 PM by ReaperX7

Getting video hardware to work on Linux is far from painful, especially on Slackware.

Note: A steps taken are done as admin "root".

Step 1: Configuring the X-Server.

Setting up the X-Server is fairly simple. Run command:
at a command prompt and it takes care of most of the basics for you, and usually handles all the defaults fairly well, but there are some exceptions.

Step 2: Confirm your driver is setup correctly.

Navigate your command prompt to the /etc/X11 folder
cd /etc/X11
and run command
vi xorg.conf
to open the xorg.conf file in the Vi text editor. Scroll down to the section for the driver configuration and check and see what is listed. To enter Vi as Input Mode, tap the Insert key.

The configuration should be something like:
Section "Device"
Driver "vesa"
This is a list of currently supported drivers and hardware in Slackware:

Note: Drivers marked in BOLD will enable Gallium3D support on video cards supported through the Gallium API and Mesa. All other drivers and non-Gallium supported devices are supported through the Legacy DRI/Mesa API.

"ark" - Ark Logic
"ast" - ASPEED Technology
"cirrus" - Cirrus Logic
"dummy" - Virtual/Offscreen Framebuffer
"fbdev" - Linux FrameBuffer Device
"glint" - 3DLabs
"i128" - Number Nine
"i740" - Intel 740
"intel" - Intel Integrated Graphics Processor
"mach64" - ATI Mach64
"mga" - Matrox
"modesetting" - Modesetting VESA driver
"neomagic" - NeoMagic
"nouveau" - Nvidia open-source 2D/3D driver*
"nv" - Old Nvidia VESA 2D driver
"openchrome" - VIA/S3 Chrome Graphics
"r128" - ATI Rage 128
"radeon" - ATi/AMD Radeon/FireGL*
"s3virge" - S3 Virge
"savage" - S3 Savage
"siliconmotion" - Silicon Motion
"sis" - SiS
"tdfx" - 3Dfx Voodoo Banshee/3/4/5
"tga" - DEC TGA
"trident" - Trident
"v4l" - Video 4 Linux
"vesa" - VESA
"vmware" - VMware Guest OS
"voodoo" - 3Dfx Voodoo 1/2/Rush

*Note- Radeon and Nouveau driver compatible hardware will load a kernel module on boot automatically. You can not use any other driver as long as the module is loaded at boot time and X11 will crash if you attempt to do so. If you wish to not load the module, you will be required to edit your Blacklist as needed:

Edit /etc/modprobe.d/blacklist.conf with an text editor to include:
blacklist nouveau
blacklist radeon
and reboot the machine.

If you're driver is listed correctly for your hardware you're all good to go, if not you may need to edit the text to reflect the correct driver from the list.

Now to exit Vi editor Tap the Esc to enter command mode and type :x to exit.

Step 3: Starting X11 for the first time

If all goes well run command
and the X11 server should load. If it doesn't you may be required to try another driver and try again. If all else fails, the VESA driver will work in most situations, but it will not have hardware acceleration.

Step 4: Checking Mesa/DRI acceleration

Run the command from a terminal
And check to see if it says
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
If it says yes, then all is well. Do note that some drivers for some cards do not support 3D acceleration of Mesa (OpenGL) through the DRI and will be 2D drivers only.

Nouveau driver will have two separate support systems for older Nvidia cards without modern shader support. Nouveau_videx is a classic DRI driver that does not use the modern Gallium3D API for Mesa and will be used if proper support on the card is not found.

Gallium3D support requires packages LLVM and libdrm are installed.

3Dfx cards no longer require the usage of the Glide API for hardware acceleration. Glide is no longer supported or distributed for modern Linux distributions.
Posted in Uncategorized
Views 8226 Comments 1
« Prev     Main     Next »
Total Comments 1


  1. Old Comment
    xorgsetup isn't much use nowadays, it just doesn't do anything useful. Instead just create a minimal xorg.conf only if auto-detection doesn't work.

    Using nouveau for example is the default, you would have to blacklist nouveau if you don't want it.
    Posted 06-22-2012 at 06:31 AM by H_TeXMeX_H H_TeXMeX_H is offline


All times are GMT -5. The time now is 05:20 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration