[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dri-users
Subject:    [Dri-users] [Announcement] config-0-0-1-branch needs testers
From:       Felix =?ISO-8859-1?B?S/xobGluZw==?= <fxkuehl () gmx ! de>
Date:       2003-09-30 21:07:58
[Download RAW message or body]

Hi all,

the work on the new configuration infrastructure has come quite far in
the last months but has got very little testing so far. I attached a
short HOWTO document about how to obtain, install and test the
config-0-0-1-branch, either from CVS or binary snapshots.

The following drivers support the new configuration infrastructure: mga,
r128, r200, radeon. You may be disappointed by the little number of
options escpecially in the mga and r128 drivers. One reason is that many
old boolean options were summarized in a few enumeration options. The
number of options is expected to grow after the branch has been merged.
Also more drivers are going to adopt the new configuration system.

However, before we feel confident enough to merge the branch we need
more feedback. So please test it, your feedback is very welcome.

Best regards,
  Felix

------------    __\|/__    ___     ___       -------------------------
 Felix       ___\_e -_/___/ __\___/ __\_____   You can do anything,
   Kühling  (_____\Ä/____/ /_____/ /________)  just not everything
 fxkuehl@gmx.de       \___/   \___/   U        at the same time.

["DriConfigBranch.HOWTO" (text/plain)]

DRI config-0-0-1-branch HOWTO

Felix Kühling (fxkuehl at gmx dot de)
30 September 2003
=============================

1 Introduction

2 Obtaining and Installation
2.1 CVS
2.2 Snapshots

3 Testing and Trouble-Shooting
3.1 Testing the Installation
3.1.1 The driver supports configuration
3.1.2 xdriinfo is installed correctly and libGL.so was updated
3.2 Example Configurations

4 Graphical Configuration

Appendix

A: Example Configuration File

-----------------------------------------------------------------------

1 Introduction
--------------

On the config-0-0-1-branch the development of a new configuration
infrastructure for DRI is taking place. It introduces a consistent
mechanism for configuring all DRI drivers using a XML-based
configuration file and an interface for configuration GUIs to find out
about the configuration options of installed drivers. Option
descriptions are available in multiple languages, german and english
so far. A first graphical configuration tool written in Python and
Gtk+ is also available.

This document is a brief guide how to obtain, install and test the
config-0-0-1-branch. A technical design document can be found at
http://user.cs.tu-berlin.de/~felixyz/dri/dri_config_design_rev4.html

2 Obtaining and Installation
----------------------------

2.1 CVS

You can download the source code via anonymous CVS and compile it
yourself. Checkout the source code from the config-0-0-1-branch on
dri.freedesktop.org:

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login
cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -r config-0-0-1-branch xc

See http://dri.freedesktop.org/Software/DRIanoncvs for more details.

Compile and install the source. See
http://dri.sourceforge.net/doc/DRIcompile.html for details. If you
changed the ProjectRoot directory in xc/config/cf/host.def make sure
that $ProjectRoot/bin is in your $PATH.

2.2 Snapshots

There are now binary snapshots of the config-0-0-1-branch for linux in
http://dri.sourceforge.net/snapshots/bleeding-edge/:

mga-config-*-linux.i386.tar.bz2
r200-config-*-linux.i386.tar.bz2
radeon-config-*-linux.i386.tar.bz2
rage128-config-*-linux.i386.tar.bz2

The other drivers don't support the new configuration infrastructure
yet. To install a snapshot unpack the archive and run the contained
install.sh script as root:

tar -xjf <driver>-config-<date>-linux.i386.tar.bz2
cd dripkg
./install.sh

Follow the instructions on the screen.

You also need to install xdriinfo somewhere in your binary search
path, e.g. /usr/local/bin. It can be downloaded bzip2 compressed from
http://dri.sourceforge.net/snapshots/extras/xdriinfo.bz2.

3 Testing and Trouble-Shooting
------------------------------

3.1 Testing the Installation

3.1.1 The driver supports configuration

Run LIBGL_DEBUG=true glxinfo

Among other messages you should see error messages that /etc/drirc and
$HOME/.drirc were not found e.g.:

libGL error: 
Can't open configuration file /etc/drirc: No such file or directory.
libGL error: 
Can't open configuration file /home/felix/.drirc: No such file or directory.

These messages are harmless but they indicate that the driver actually
supports configuration.

3.1.2 xdriinfo is installed correctly and libGL.so was updated

Run xdriinfo

You should see a list of all screens on your display with their DRI
driver names e.g.:

Screen 0: radeon

Run xdriinfo options <yourdriver>

You should see a XML-document that describes the options supported by
your driver. This document is primarily intended to inform
configuration GUIs about available options.

3.2 Example Configurations

In the appendix you find an example configuration file that lists all
current options of all drivers with their default values. You can
install it in $HOME/.drirc and start changing the configuration from
there.

You can make sections in the configuration file that refer only to one
specific application. This is done by adding an "executable" attribute
to the application element. Example:

<driconf>
    <device driver="radeon" screen="0">
        <application name="all">
            <!-- This section applies to all applications. -->
        </application>
        <application name="all" executable="tuxracer">
            <!-- This section applies only to tuxracer. It overrides
                 options from earlier application sections. -->
            <option name="tcl_mode" value="0"/>
        </application>
    </device>
</driconf>

In this example tuxracer will run with software TCL. All other
applications use the default setting, full hardware TCL.

4 Graphical Configuration
-------------------------

There is also a graphical configuration tool written in Python with
the Gtk+ toolkit. You can download it from
http://fxk.de.vu/projects_cur_en.html. It contains its own
installation instructions.

Appendix A: Example Configuration File
--------------------------------------

<driconf>
    <device driver="radeon">
        <application name="all">

            <!-- Debugging -->

            <!-- Disable 3D acceleration: bool [false] -->
            <option name="no_rast" value="false"/>

            <!-- Performance -->

            <!-- TCL mode (Transformation, Clipping, Lighting): enum {0:3} [3] -->
            <!-- 0: Software -->
            <!-- 1: TCL stage in MESA pipeline -->
            <!-- 2: Bypass MESA's pipeline -->
            <!-- 3: Bypass MESA's pipeline with state-based code generation -->
            <option name="tcl_mode" value="3"/>
            <!-- Frame throttling: enum {0:2} [2] -->
            <!-- 0: Busy waiting -->
            <!-- 1: Usleeps -->
            <!-- 2: Software interrupts -->
            <option name="fthrottle_mode" value="2"/>
            <!-- Synchronization with vertical refresh (swap intervals): enum {0:3} [2] -->
            <!-- 0: Never, FPS rulez! -->
            <!-- 1: Application preference, default interval 0 -->
            <!-- 2: Application preference, default interval 1 -->
            <!-- 3: Application preference, always synchronize with refresh -->
            <option name="vblank_mode" value="2"/>
        </application>
    </device>
    <device driver="r200">
        <application name="all">

            <!-- Debugging -->

            <!-- Disable 3D acceleration: bool [false] -->
            <option name="no_rast" value="false"/>

            <!-- Performance -->

            <!-- TCL mode (Transformation, Clipping, Lighting): enum {0:3} [3] -->
            <!-- 0: Software -->
            <!-- 1: TCL stage in MESA pipeline -->
            <!-- 2: Bypass MESA's pipeline -->
            <!-- 3: Bypass MESA's pipeline with state-based code generation -->
            <option name="tcl_mode" value="3"/>
            <!-- Frame throttling: enum {0:2} [2] -->
            <!-- 0: Busy waiting -->
            <!-- 1: Usleeps -->
            <!-- 2: Software interrupts -->
            <option name="fthrottle_mode" value="2"/>
            <!-- Synchronization with vertical refresh (swap intervals): enum {0:3} [2] -->
            <!-- 0: Never, FPS rulez! -->
            <!-- 1: Application preference, default interval 0 -->
            <!-- 2: Application preference, default interval 1 -->
            <!-- 3: Application preference, always synchronize with refresh -->
            <option name="vblank_mode" value="2"/>
        </application>
    </device>
    <device driver="r128">
        <application name="all">

            <!-- Performance -->

            <!-- Synchronization with vertical refresh (swap intervals): enum {0:3} [2] -->
            <!-- 0: Never, FPS rulez! -->
            <!-- 1: Application preference, default interval 0 -->
            <!-- 2: Application preference, default interval 1 -->
            <!-- 3: Application preference, always synchronize with refresh -->
            <option name="vblank_mode" value="2"/>
        </application>
    </device>
    <device driver="mga">
        <application name="all">

            <!-- Performance -->

            <!-- Synchronization with vertical refresh (swap intervals): enum {0:3} [2] -->
            <!-- 0: Never, FPS rulez! -->
            <!-- 1: Application preference, default interval 0 -->
            <!-- 2: Application preference, default interval 1 -->
            <!-- 3: Application preference, always synchronize with refresh -->
            <option name="vblank_mode" value="2"/>
        </application>
    </device>
</driconf>

-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-users mailing list
Dri-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-users

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic