AMD Promises Open Source Graphics Drivers
MoxFulder writes "Henri Richard, AMD's VP of sales, has promised to deliver open-source drivers for ATI graphics cards (recently acquired by AMD) at the recent Red Hat Summit. A series of good news for proponents of open-source device drivers. In the last year, Intel, the leading provider of integrated graphics cards, has opened their drivers as well. But ATI and NVidia, the only two players in the market for high-performance discrete graphics cards, have so far released only closed-source drivers for their cards. This has created numerous compatibility, stability, and ethical problems for users of Linux and other open source OSes, and prompted projects like Nouveau to try and reverse-engineer NVidia drivers. Hopefully AMD's decision will put pressure on NVidia to release open-source drivers as well!"
Last time I looked at the Intel driver source, there were a ton of calls into the video BIOS. Not something I would call an "Open Source" driver. This may have changed since then,- I really hope so.
Why is it important to have more source you might ask. Well, for one thing it would be really nice if we can get rid of the video BIOS altogether. A full source driver which shows how to switch video modes is a very good start to accomplish this (although not necessarily enough).
And then you might ask, why do we need to get rid of the video BIOS? Well, when evaluating graphics chips for an embedded systems, I found out that the video BIOS can spend an insanely long time initializing stuff and displaying stuff that we don't want/need (some like several seconds). In general, video BIOSs are over-engineered and do waaaay more than needed.
If you are aiming to build a near-instant-on system, and/or something that doesn't look like a PC, you want this sort of flexibility. If AMD steps up to the plate, that would be awesome.
IMO, using binary blobs that run in the card, not in the kernel (i.e. downloadable firmware), are a reasonable way for vendors to hide trade secrets while keeping the card updateable and the kernel driver open source. As long as shared memory between the graphics card and main system is restricted to a window, bugs in the firmware shouldn't cause security holes in the kernel. In fact, one benefit of micro-kernel architecture is that isolated drivers that run in their own process and address space, can run in an intelligent I/O card instead.
The IBM Series/1 was built on the principle. All I/O was done by intelligent cards with a common API: submit Device Control Block with command, memory block, and parameters to start an operation. Receive vectored interrupt and find results in updated DCB and memory block. Interrupt included address of DCB, so interrupts were trivially "object oriented".
there are a number of reasons why this would be in ati's interest:
- the cards cost up to 4000 euros a shot, so it's a lucrative market
- they could advertise with "we make the cards they used for harry potter 14"
opening up the drivers ensures that every linux kernel within a short time will come with a version of these drivers and there will be a good chance that the cards will just work and work well.