July 20, 2006

On the horizon: an open graphics card

Author: Joe 'Zonker' Brockmeier

Closed source drivers for video cards have been a vexing problem for free software enthusiasts for some time. Open source drivers for most video cards exist, but fail to take full advantage of the cards' ability, leaving users with a choice between free and high performance. The good news is that the Open Graphics Project (OGP) is making progress toward a completely open video card. The bad news is that it will still be a while before free software enthusiasts will be able to use a completely open video card.

The OGP begin in 2004, when Tim Miller announced the project to create an open source-friendly card on the Linux kernel mailing list (LKML). Miller was employed by Tech Source at the time, and had some backing from the company for the project.

Tech Source bowed out, but the project is still moving forward. Miller is starting Traversal Technology as the "corporate wing" of the project. "We are set up as a for-profit corporation whose job is to build hardware spec'd by the OGP and interface with other for-profit businesses. Our objective is to make enough profit from selling open architecture graphics hardware that we can sustain ourselves and continue to develop more open architecture hardware in the future."

An Open Graphics Foundation (OGF) is also in a formative stage. Miller says its function will be "to act as a centralized agent that represent the OGP in an official capacity. In addition, the OGF will take donations to be used to subsidize purchase of hardware needed by OGP developers."

The goal for the project is to create a video card at a reasonable price that is unencumbered by patents or other intellectual property, that has a fully documented programming interface, supports a full OpenGL implementation, offers good 2-D graphics performance, and supports video playback.

The project is not shooting for a 3-D card that competes with heavyweights like Nvidia and ATI, but is trying to create a card that will support 3-D to the extent that it's needed for software like Xgl and less demanding 3-D games. Don't expect to play Doom 4 on this card, but it should be fine for users who just want a known-good video card for their Linux desktop machine. Specs for the card can be found on the Open Graphics Development Web site.

The Open Graphics Development series

Miller says that by September at the latest, Traversal should be shipping the Open Graphics Development series 1 (OGD1) card -- but this is not a video card. The OGD1 is a Field-Programmable Gate Array (FPGA) based card that can be used to develop the final product. Miller also says that it may find a market for the card itself.

"Since splitting from Tech Source, we decided that we might as well sell this as a product in its own right. There's a sizable market for FPGA-based prototyping boards. And compared to those already on the market, ours has a great deal more logic area at a fraction of the price. This should get us not only a fair amount of business but also demonstrate to other interested partners that we're serious and competent."

Miller says that pricing for the card will be "at least $1,000, but with discounts for bulk orders," and that comparable products start around $1,200, "although they're not nearly as capable."

In addition, contributing developers won't have to reach as deeply into their pockets to have access to the card. Miller says that the ODG1 will be available to developers "who can demonstrate they have made at least some small contribution to the OGP" for $600 to $700, depending on the actual hardware costs.

An ETA or price for a fixed-function video card that makes use of the technology is still unavailable.

Licensing plans

The plan at this point is to release everything developed for the OGP as free software. Miller says that he considered using the GNU Lesser General Public License (LGPL), but decided on the GNU General Public License (GPL) after "members of the community explained to me the benefits of putting everything under GPL. The GPL protects the community by requiring non-paying users to contribute their entire designs back to the community."

According to Miller, releasing the entire design under the GPL "does come with some risks." He says another supplier could take the design and "put me and my partners out of business by selling at a significantly reduced price.

"This is great for the community in the sense that they have a cheaper supplier. This is awful for the community in the sense that if I cannot make money from this, then I have none to reinvest in designing more chips in the future. Many members of the community have agreed that placing some of the Hardware Description Language into escrow to be released at a later time would be a wise idea. This way, we can profit from OGC1 (our first graphics card) long enough to recoup our initial investment and fund the development of OGC2."

Miller says that they also plan to pursue a dual-licensing scheme, so that "anyone who wants to use it without releasing their entire design can pay us a royalty for the privilege. We can use revenue from that to fund further development."

The funding is a major hurdle for the project. You might think that companies with a vested interest in seeing desktop Linux succeed, such as Novell, Red Hat, and hardware vendors that cater to the Linux crowd, would be interested in backing this project. Miller says he and others have approached these companies, with no luck.

"What we have found is that open source companies tend to be very tight with their money and that most people won't take you seriously until you have a real piece of hardware in your hand to show them. People want results, not potential, and until August or September of 2006, most people are going to consider us to be nothing more than potential."

In the end, Miller says it's their loss. "While I respect them for being cautious, I'm sad for them for the massive investment opportunity they're missing out on."

The project also needs developers to help out. Miller says that several pieces need work, including the DDR memory controller, PCI host interface, and video controller. To get involved, Miller suggests joining the project's mailing list and asking what needs to be done.

Miller says that the project has gotten "sufficient interests for our needs" when it comes to cooperation with developers from other projects, such as X.org and the Linux kernel developers.

"Linux kernel developers have offered to help write drivers, and plenty of others can write X11 and Mesa drivers. For that matter, I cut my teeth on writing X11 drivers, so I can contribute heavily to that too. And my partner Andy Fong is a guru with kernel drivers. With an open architecture, writing drivers for OGA-based cards will be a snap, really."

And it's not only about Linux. The project is going after "the long tail of everyone else who could benefit from this," says Miller. "We're designing it to work well on Linux x86 PCs, but we also have plenty of experience designing graphics cards for many other platforms (Solaris, Tru64, AIX, HP-UX, etc.) and architectures (SPARC, Alpha, PowerPC, PA-RISC, etc.), and we know what's necessary to make them work."

Click Here!