The debate that started back up again this week at XDC2011 Chicago about merging drivers back into the X.Org Server
has now moved online. Jesse Barnes has published the pros / cons that were mentioned at the X.Org Developers' Conference this week to the X.Org development mailing list for developers to now debate the idea online. This has been a hotly disputed matter for the past two years.
Jesse Barnes, who is in support of merging the video and input drivers back into the X.Org Server, wrote the following message
to xorg-devel with the pros and cons.
At XDC this week we discussed merging drivers back into the server tree. One thing I found frustrating about the discussion was that we didn't have a whiteboard nor a list of the pros & cons of such a change. So I'd like to capture that here (from memory) to let us continue the discussion about whether it's worth it or not.
Luc, I think you're the most vocal opponent of this move, so I've cc'd you so you can enumerate any issues I've forgotten.
Anyway, as I recall, the issues are as follows:
1) easier to propagate API changes across drivers (just like Linux)
1a) thus easier to change ABI 2) developers focused on driver development now have more incentive to make sure the server works well so regular releases can still happen (i.e. more people working on blockers whether driver or not as releases approach) 3) allows removal of driver compat code for various server versions
3a) thus removes combinations of driver+server that developers have to support & test 4) increased test coverage for the server as users wanting current driver code will be building new servers too
1) more work for distros to backport just driver changes to old servers (especially if people follow through on (3) above)
1a) if backporting is harder, new hardware support will be more difficult to land in "enterprise" level distros
2) harder for users to just upgrade drivers independently, now they'll have to build the whole server
2a) thus less testing of current driver code from technical users
I've already made my views pretty clear; I'd prefer merging the drivers back in. But I don't do as much work on the DIX or DDX as I used to, and lots of others would be affected as well, so I'd like to hear what people think. Have I captured the pros & cons fully? What to distro maintainers think? And driver developers, both input & output?
Michel Dänzer, who is now at AMD but was not at XDC2011, was quick to respond saying that out-of-tree drivers would become second class citizens. He brings up that out-of-tree drivers would just not be the binary blobs (i.e. NVIDIA and AMD proprietary drivers), but also the Gallium3D Xorg state tracker. Michel also says, "Speaking as a radeon driver developer, merging the driver into the server tree would be unworkable at this point because since the "new development model" has been in effect, it's not possible to get even trivial changes into the server tree without a ridiculous amount of time/effort."
Alex Deucher also expressed he doesn't see much advantage in moving the X.Org drivers back into the server.
Plus there's several other email comments from developers, both those that were in attendance at XDC2011 and not. Continue the heated discussion thread here
. (I just landed in Munich and will have more time to go through the read later.)