AMD to open-source ATI drivers?

Nick

Veteran
It could be only rumor and wishful thinking, but some people believe AMD will consider open-sourcing the ATI drivers:

AMD talks about ATI
...AMD is strongly considering open-sourcing at least a functional subset of ATI’s graphics drivers. It’s time for X Window System, OpenGL, and client virtualization for which ATI binary drivers aren’t available to escape the ghetto of the 1980s-era framebuffer. And what a boon for PR. If AMD’s graphics cards were the only ones with open device drivers, it might affect a buying decision or two.
How AMD's acquisition of ATI may help Linux
With AMD at the helm, I can envision ATI finally open-sourcing the code to its proprietary drivers. That should quickly result in much better performance for Linux users, and better performance for the Windows and Mac platforms as well.

At the same time, the other giant of graphics, NVIDA, would be forced by AMD/ATI's move to improve its drivers. The only quick, good way to do that would be to bite the bullet and open-source its drivers, as well.
 
I personally hope AMD will embrace more Linux-commitment, but open-source their drivers ? Dont think so, theres not much to be gained apart from good press from a few vocal zealots.

I could imagine they would release a simplified driver open-source, only with enough functionality for accelerating some GUIs (line-drawing, blitting, etc).
 
...and better performance for the Windows and Mac platforms as well.
I don't find this part very believable. I'm sure that ATI's driver team spends almost all its focus on Windows performance. I wouldn't expect an open source driven project to improve on that in any significant way.
 
I think it's bogus.
If AMD were to release drivers source code, the consequence would be that any competitor could *in theory* know the way ATI's hardware and software worked, and, based on that info, devise new ways to outgun them.

It would be like inviting the fox to the hen house...

Unless the release was restricted solely to integrated GPU's like Xpress 200, etc, and even then...
 
That's bullshit. You can't see "how hardware works" when viewing the external register-level interface.

Or do you know how the 8086 actually works by looking at x86? And that's just one example of many.

The only info you may get from driver code is what Op-Codes the hardware can process, but you don't know anything about timing or latency hiding.
 
Some extra notes: One thing that would be really interesting for the other IHV would be what application specific optimizations are done by the driver and I think the people at ATI would be very interested in seeing the SLI driver code (SLI is primary a software solution besides the ramdac scanout channel and data transfer bridge), because Crossfire is very very similar.

But I don't think AMD will release that parts, because the linux market is so small and gaming is so concentrated on Windows that it doesn't matter anyway.
 
That's bullshit. You can't see "how hardware works" when viewing the external register-level interface.

Of course you can. Not all implementation details of course, but enough to draw pretty darn good conclusions about it.
 
The only info you may get from driver code is what Op-Codes the hardware can process, but you don't know anything about timing or latency hiding.
It's definitely debatable how much you can dicern from registers, but it some cases you might be able to figure out the latency hiding of certain areas in the chip. For example, the depths of large fifos might be programmable. Generally these would just be programmed to their largest depth, but it can be nice to have the flexibility to test various performance aspects. Maybe open source drivers could hide the actual depths though and just say "full size", "half size", etc. This is just a simple example. I'm sure there are better ones.
 
That's bullshit. You can't see "how hardware works" when viewing the external register-level interface.
As already said above, this is completely wrong - partly because the register spec does contain such information, but mostly because the register spec isn't going to be much use without fairly detailed info about the hardware. There are thousands of registers in the chip. Even eliminating duplicates (e.g. texture units) it's well into the hundreds. You can't understand a spec of that size without a detailed description of the hardware.

There is also little chance that open-sourcing drivers would significantly improve performance without significantly damaging driver infrastructure, quality or compatibility - top-class engineers, most of whom have been in this industry ten years plus, are spending every working hour looking for better performance and all the low-hanging fruit are long gone. Nobody's going to put in that kind of effort for free, and nobody's going to pay for it except ATI.
 
There is also little chance that open-sourcing drivers would significantly improve performance without significantly damaging driver infrastructure, quality or compatibility - top-class engineers, most of whom have been in this industry ten years plus, are spending every working hour looking for better performance and all the low-hanging fruit are long gone. Nobody's going to put in that kind of effort for free, and nobody's going to pay for it except ATI.

Why is open-sourcing drivers and ATI working on mutally exclusive? If ATI don't want to accept a patch that "significantly damaging driver infrastructure, quality or compatibility".

I'd love to know what you think the linux kernel is compared to the ATI drivers is it just a unstable and uncompatible product?
 
While the 3D industry should in theory be a model of a case when open-source drivers should have all-around benefits, there is simply too much IP exposed in a register spec to make any corporate entity comfortable with it - not to mention the trade secrets embodied within the software itself. Personally, I'm in favour of open-sourcing drivers, but I would be very leary of taking a unilateral decision on the subject, and if someone forced me to make that hard choice (fortunately I do not have to) I would say no as the 'safe' option.

I'd love to know what you think the linux kernel is compared to the ATI drivers is it just a unstable and uncompatible product?
The Linux kernel is an atypical open source project. In my experience, open-source projects quickly acquire a limited set of features and then stall, usually with a reasonably low level of 'polish' (be it UI, documentation, code quality, maintenance quality, or bug fixing). It seems to me that generally only projects which attract corporate money or have some other degree of outside funding progress beyond this point (such as Linux, Apache, Samba or OpenOffice) although I'd be interested to know how much money went into something like Audacity.

This would be even more the case with a piece of software which has no reason to exist except to make a piece of hardware work. As a result, I find it hard to believe that high quality software would come out of the open source community without ATI paying the engineers doing the work (who else would?) so I'm not sure I can see much argument for opening it.

It will be interesting to see what the reaction to the open-source Intel drivers will be. If that's a generally positive experience, it will become much easier to see open-sourcing to other graphics companies, although I doubt Intel have anything like the software investment that ATI and nvidia have put in.
 
Last edited by a moderator:
Back
Top