[Mesa-dev] Four questions about DRI1 drivers

Connor Behan connor.behan at gmail.com
Wed Feb 29 23:36:44 PST 2012

I am a first time mailing list joiner, long time user of exclusively 
free video drivers. I was very upset to see the DRI1 drivers removed 
from the codebase in August and I waited until now to complain because I 
wanted to see if the good changes like OpenGL3 would at least make it 
into the 8.0 release. My questions (mainly about r128) are the following:

1. If someone learns how to port a DRI1 driver to DRI2 and does this 
(which in my case would take years), will it be accepted back into mesa? 
Or would this person have to personally maintain r128_dri2.so forever 
after with no help from other mesa developers?

2. Is there any realistic hope that a current mesa developer will 
undertake this task? MostAwesomeDude spoke about looking into this one 
day but says he does not have the time right now. Has this changed yet? 
I should add that if your full time employer doesn't pay you to work on 
mesa I'd be willing to pay you to work on this aspect of it.

3. Would hacking r128 into compatibility with DRI2 only require changes 
to the mesa code or would one need to hack the kernel and the DDX as well?

4. In all honesty, are the 2D X drivers and DRM kernel modules 
corresponding to the DRI1 drivers that got axed slated for removal as well?


Please don't think that I feel entitled to the fruits of your labour. 
I'm sure many of you develop mesa on a volunteer basis and choose the 
parts of the code that are interesting to you. I'm not saying that you 
should work on something less enjoyable because the free software 
community depends on you (even though it does) and I'm not asking you to 
make regular updates to r128 or anything else. I just think that the 
reasons for removing these drivers are based on enduring myths.

Myth: "The drivers never worked to begin with." I haven't tried all of 
them but I know r128, mga and i810 did. While my r128 driver was clearly 
not perfect, it led to a dramatic performance increase with 3D 
screensavers and video playback. Unlike radeon drivers that were being 
worked on heavily, the r128 driver did not break for me with any mesa 

Myth: "Nobody uses this hardware anymore." I'm not the only example of 
someone who still uses an r128 card (in a laptop where it cannot be 
upgraded). When phoronix covered this story some people who posted in 
those forums had complaints that were similar to my own. Every time I 
see the death sentence discussed in distro forums, there is at least one 
person upset about support for one of their old cards being dropped. I 
know this is a sampling bias because people happy with the changes tend 
not to post but one of the triumphs of free software is that it can free 
people from the endless cycle of having to upgrade hardware. Is it so 
hard to believe that people save money because of this and want such 
freedom to stay around?

Myth: "People who use this hardware already have a system frozen in the 
past." I use kernel 3.2.7, gcc 4.6.2, a 2012 ffmpeg build from git and a 
2012 mplayer build from svn. If I have to freeze my mesa package at 
7.11, it will become one of the first programs that I have to freeze.

Myth: "Freezing mesa at 7.11 does no harm to users of legacy hardware." 
I may be a special case here but I use r128 AND radeon hardware in the 
same machine. When my laptop is docked I use an r500 card in the docking 
station which would still benefit from updates to radeon. When my laptop 
is not docked I need the r128 card to be functional.

Myth: "Anyone who wants an old driver can maintain it." Sure I've told 
people to patch their own programs before. When I suggest doing this on 
a mailing list it's common to hear the groan "but I don't {want, know 
how} to." In the case of mesa though, I think it is justified as it's 
hard enough for people with a decade of experience to maintain. Here's 
an idea. If you want to drop r128 and never have to add a line of code 
to it again and never have to worry about whether a diff to the mesa 
core is going to break it, take the one time effort of making mesa 
modular! Then I'll be able to download r128_dri.so source from another 
site and neatly add it to a three-driver-mesa that is already installed. 
Then when updates to mesa make this impossible, it will be my 
responsibility to fix the source in this external tree. And in all 
honesty, doing this on a case by case basis is the best way to make me 
learn an unfamiliar API.

Okay, maybe the subject should've been "four questions and five myths / 
rants" but when it comes to the myth arguments I have heard it all 
before. Please try to answer my questions.

More information about the mesa-dev mailing list