DRIconf: DRI configuration GUI

Introduction
------------

DRI is the direct rendering infrastructure in XFree86 and X.org, which
provides 3D hardware acceleration. Most 3D drivers have a number of
options for tuning the performance and visual quality. DRIconf is a
graphical tool to change these parameters.

In order to use it you need at least X.org 6.8 or XFree86 4.4. 3D
drivers in earlier X releases did not support configuration.

Installation
------------

This tool is written in Python. Before installing make sure that a
Python version (>= 2.3) and the matching packages xml.parsers.expat
and python-gtk2 are installed. The installation uses Python's
distutils package.

By default driconf will be installed into various subdirectories under
/usr/local. You can change this behaviour in setup.cfg. In that case
you may also have to adjust the driconf startup script accordingly.

To start the installation run the following command as root:

    python setup.py install

If everything goes well you should see something like this:

    running install
    running build
    running build_py
    creating build
    creating build/lib
    copying dri.py -> build/lib
    copying driconf.py -> build/lib
    running build_scripts
    creating build/scripts-2.3
    copying and adjusting driconf -> build/scripts-2.3
    changing mode of build/scripts-2.3/driconf from 644 to 755
    running install_lib
    creating /usr/local/lib/driconf
    copying build/lib/driconf.py -> /usr/local/lib/driconf
    copying build/lib/dri.py -> /usr/local/lib/driconf
    byte-compiling /usr/local/lib/driconf/driconf.py to driconf.pyc
    byte-compiling /usr/local/lib/driconf/dri.py to dri.pyc
    running install_scripts
    copying build/scripts-2.3/driconf -> /usr/local/bin
    changing mode of /usr/local/bin/driconf to 755
    running install_data
    creating /usr/local/share/driconf
    copying card.png -> /usr/local/share/driconf
    copying screen.png -> /usr/local/share/driconf
    copying screencard.png -> /usr/local/share/driconf
    copying drilogo.jpg -> /usr/local/share/driconf
    creating /usr/local/share/locale/de
    creating /usr/local/share/locale/de/LC_MESSAGES
    copying de/LC_MESSAGES/driconf.mo -> /usr/local/share/locale/de/LC_MESSAGES
    creating /usr/local/share/locale/es
    creating /usr/local/share/locale/es/LC_MESSAGES
    copying es/LC_MESSAGES/driconf.mo -> /usr/local/share/locale/es/LC_MESSAGES
    creating /usr/local/share/locale/it
    creating /usr/local/share/locale/it/LC_MESSAGES
    copying it/LC_MESSAGES/driconf.mo -> /usr/local/share/locale/it/LC_MESSAGES
    creating /usr/local/share/locale/ru
    creating /usr/local/share/locale/ru/LC_MESSAGES
    copying ru/LC_MESSAGES/driconf.mo -> /usr/local/share/locale/ru/LC_MESSAGES

After successful installation you can run driconf from the shell. I
hope you find the user interface intuitive and instructive. Feedback
is welcome on dri-users@lists.sourceforge.net. If you need help
getting started read on below.

Happy tuning ...

    Felix Kuehling



Getting Started
---------------

When you start DRIconf for the first time, it will automatically
create a configuration file for you. It is represented by a small tree
on the left hand side of the window. The tree has one node for each 3D
graphics device you may have, usually only one though. Below that node
there is an application node named "all". This node should be
selected now.

The right pane of the window shows the available options of the 3D
driver. Options are organized in several tabs of a notebook. Left of
each option there is a check box. Activating it will allow you to
change the value of that option. Only options whose check box is
active will be written to the configuration file. With the button on
the right of each option you can always restore the respective default
value for reference.

When you're done changing options, click on the "Save" button in the
button bar at the top of the DRIconf window.

Application-Specific Configuration
----------------------------------

The settings you changed above will affect all 3D applications and
games. But what if you'd like to use different settings for two of
your favourite games? No problem, you can create different settings
for as many applications as you like.

Select a device node in the configuration tree on the left hand
side. Then click on the "New" button at the top of the window. This
opens a small dialog that asks for the name of the application. This
is really only a descriptive string. After confirming with "OK" you
will have a new application node with the name you just entered.

The right pane of the window now shows the driver options with their
settings for the new application. Note the entry above the tabs
containing the actual options. If you activate it you can enter the
name of the application's executable file. This will make the settings
below apply only to that particular application. If you leave the
entry disabled, the settings will apply to all applications.

Beware that some applications and games end up running a different
executable than what you type in the shell. For example q3demo is only
a shell script that starts an executable called q3demo.x86 on my
system. In this example you need to enter "q3demo.x86", otherwise the
settings would not apply.

Advanced Features
-----------------

Some advanced features include adding more devices and changing the
order of devices and applications. The order matters only in rare
cases, when multiple application nodes apply to the same
application. If they set the same options, then only the last setting
takes effect.
