Originally posted by airlied
View Post
Heh. First of all, i listed the dri driver above. Secondly, a version bump of (the whole of) libdrm not only brings in bugfixes, it always brings in new features, which include new bugs and regressions.
In general, no effort is being made to backport bugfixes to older drm versions, and no effort is being made to keep any form of backwards compatibility. That being said, this is the general case, you are _now_ doing things slightly differently because the ghost of radeonhd is still there. As a great for instance, if radeonhd wasn't there, you would've dropped UMS months ago. But now, with radeonhd still around (despite your best efforts), you cannot force people to switch to KMS, as they still have an alternative to fall back to.
Now, you should not be forcing users to update. Ideally, you should give users working code to begin with. (Naturally) Failing that (as that's how graphics drivers are almost per definition), you should give them an easy route to get them a working graphics driver stack. You should not, under any circumstances, force your users to update most of their installation. Users will pick up new features as they upgrade their installation as part of natural maintenance. And then, as soon as debian stable and enterprise versions get upgraded, you should drop backwards compatibility. If you want to provide anything less, then that's up to you, but your users will rate you accordingly, and you will see drivers picked up, tested and debugged, less frequently.
This brings us to the core of the issue here: Most of the bugfixes go into the driver specific parts, not into the infrastructure parts. Libdrm is the key example there. Having one big libdrm with a single version, including all driver specific bits, is madness, and this has to be changed. Once this is done, you can then notice how stable the non-driver specific parts are, and that it is trivial to build the driver specific bits without having to update anything else. This gives you the freedom to tell users to update their driver specific libdrm part as needed. You _can_ force users to update that.
I handed the solution to that on a platter a few months ago: namely, create graphics driver stacks by cutting driver specific parts loose from the infrastructure. But, as fully expected, you just had to shoot that down.
As far as the libs go, this is just pure logic. The protocol headers are the API between the xserver and the client libraries. Dropping existing granularity is just stupid. And not rebuilding either xserver or relevant libraries/clients when changing the protocol headers is just asking for trouble. You might get away with it, but there be dragons.
I can only see two reasons as to why people are backing this. It is either stupidity, or it is bigger "goal", a certain direction that some people steer towards. For most people who tag along, it is some value of stupidity, but for those driving this, they should know better, which leaves just one other explanation.
So about "talking as a paranoid lunatic", i have been around people like you for far too long, and i have seen people like you at work far too often. As far as Keithp goes, I only recently came across David Wexelblat his email to [email protected], and it explained a lot of things, including several things which affected me directly. Most of all, it showed that this game has been going on for a looong time.
A nice case of people accusing me of "talking as a paranoid lunatic" is the following: Somewhere late oktober or early november 2007 Egbert asked me whether my "paranoia" surrounding a competing driver (to radeonhd) by the usual suspects wasn't completely off. I conceded, said that we might have just gotten away with it by the unholy amount of work we invested in radeonhd. Now, what did the usual suspects do a short while later?
Comment