R500 initial driver release announcement

Jerome Glisse j.glisse at gmail.com
Tue Jun 12 11:55:38 PDT 2007


Over the past couple of months, a small group of people has been working
on reverse engineering the r500-based AMD video cards.  Everyone involved
worked on this in whatever free time they had, which is why this has
taken so long.

The code released today is able to initialise and set video modes on
rv515 and rv530 (X1300 up to X1600); we still lack proper initialisation
for r520 & r580 (X1800 and above, some X1600) because of lack of time
and hardware.

The Xorg driver was put together by Daniel Stone who also did a lot
of the initial reverse engineering, Matthew Garrett who provided
helpful assistance on the driver and feedback, Kyle McMartin who
cheered us up and provided insightful comments, Oliver McFadden
who also helped in testing the driver, and Jérôme Glisse who did
the rest of the reverse engineering and driver work.  We are
also, of course, very thankful to the X.Org, DRI and Mesa communities
(which in fact is the same community with different names), who
provided help to the few of us who did not have a whole good
understanding of everything involved in mode setting.

The knowledge for good randr 1.2 support is already gathered and
available in the register descriptions.  We might add this in coming
days as time permit.  This effort has been done in order to provide the
best support to AMD graphics card consumers, without any help of any
kind from AMD.  We believe that a good driver supporting this
cards can only be an open source driver where everyone with enough
skills or time to acquire needed skills can fix things.

The current roadmap is:
- Find out missing bits for r520 and r580 hardware initialisation,
- RandR 1.2 support with a dumb memory allocator,
- Simple 2D acceleration (we will put more focus on 3D acceleration
 as now Xorg provides infrastructure to best utilise 3D drivers
 to display the desktop, thanks to the Glucose interface),
- 3D reverse engineering: We believe that this engine is very similar
 to the r300 3D engine which has already mostly been reverse
 engineered,
- TTM DRM driver for proper memory management,
- and likely port the driver to new DRM modesetting work.

Help is, obviously, welcome for any of these.

We are lacking people with time and interest for working on
reverse-engineering r5xx.  Don't believe anyone who tells you that only
rocket scientists can properly write a graphics driver: you mostly just
need to understand how a GPU works (not much more complex than a CPU's
vector unit), and know how to code in C.

Of course  here is the URL to grab source code:
git clone git://anongit.freedesktop.org/git/avivo/xf86-video-avivo

Please note that this is intended only for people interested in working
on this and normal users should not try it yet as it actually needs you to
add your graphic card pci id in order for it to work.

Jérôme Glisse
on behalf on the r500 crew:
Daniel Stone
Matthew Garrett
Oliver McFadden
Kyle McMartin


Here is a personal view on the matter:

I would like to take advantage of this announcement to stress that
AMD hurt its consumers by not providing specifications of their
hardware to the open source community  which end up in providing
a bad experience to them.

I also believe they are no sensible technical informations in this
specifications as proven by others graphics manufacturer who give
out specifications: XGI; or good driver source code well documented
almost as good as specifications: Intel.

So, AMD, please be respectful of the community and at least give a
detailed motivations and reasons for not providing your graphics
hardware specifications. I look forward to the day when the
open source community will be able to work with AMD for providing
to AMD's consumers the best experiences with their hardware on
any open source operating systems.

Jérôme Glisse



More information about the xorg mailing list