Ok, I got some feedback from Jeremy and took his advice. One of the major changes was to change from 3rd person to 1st person, so please help me identify places where I have mixed that up. I've also added a few more sections, so please have a look and give me your criticism.
Thanks. Update on status of Open Graphics Project Background I started the Open Graphics Project in October of 2004 at Tech Source, Inc. I suggested to my employer and to the world that a worthwhile product category, which doesn't currently exist, is graphics cards that are designed specifically with Free and Open Source software (FOSS) in mind. Rather than having to beg graphics card vendors for access to their register specs, I thought it would be easier to just ask members of the FOSS community what kind of hardware they need, work with them to develop a specification, and then build that hardware. "Open Architecture" became the main idea, making it easy for FOSS developers to get the information they need to develop FOSS drivers to take full advantage of the hardware. Two things went wrong, however. One was that I was not able to convince my employer, a relatively traditional business, that the FOSS community was large enough to make OGP turn a profit. The other was that Tech Source came upon new business opportunities that required them to concentrate their engineering resources on their core products. Tech Source canceled the project. After some time and discussions with management, Howard Parkin, Andy Fong, and I, all employees of Tech Source, decided to carry on the project on our own, with Tech Source's blessing. In order to carry on and be able to form a profitable business model, we had to make some adjustments to the original plan. The new plan goes something like this: (1)Continue as planned with an FPGA-based development board, but also sell it as a product in its own right. Rather than being just a test platform for the OGP, this will also be sold as a experiment board for use by anyone, at about a quarter the cost of its nearest competitor. This will generate some revenue and demonstrate to potential investors and partners that the OGP is serious business. See "What is OGD?" below. (2)Develop a graphics ASIC according to the OGP specifications, but target it at the embedded systems market, where it would be competitive on both performance and price. Not compromising the integrity of the FOSS approach, this simply allows FOSS users to benefit from the economy of scale. (3)Release the RTL for the chip design under FOSS licenses (as well as proprietary licenses). Although RTL is analogous to source code, it isn't quite the same thing. RTL is like a schematic for the hardware, and since it's far from zero-cost to copy that hardware, it's not fair to think of RTL in the same terms as Free Software. If only we could just download hardware! Nevertheless, there are universal benefits to releasing RTL under FOSS licenses. Some of the RTL has been released already under the LGPL license. Some of it will be held in escrow to be released under GPL when our company can handle the corresponding drop (real or potential) in revenue from non-FOSS licensing of the RTL. (Such a time would be between the time we make $2 million in revenue and the time when a version 2.0 ASIC is ready for release.) Although not legally formed, we have dubbed our company "Traversal Technology." We'll formally incorporate when the prototype product is finished and we're ready to take orders. Traversal Technology is the "official corporate sponsor" of the Open Graphics Project (OGP) and will serve as the IHV that builds and sells the products that are specified by the OGP. Progress Since the last update, a number of things have been going on, some more slowly than others. Although we're not too far off the Gantt chart, it is nevertheless frustrating for Traversal and the OGP to find the time to to work on some things. As such, there are a few things that FOSS community members could help us with that would accelerate the schedule. Naming Some product naming has finally happened. See [http://wiki.duskglow.com/index.php/OpenGraphics%20videocard%20naming]. Jack Carroll, a member of the mailing list, has been invaluable in helping the OGP and Traversal name their products and work towards having a coherent inventory-naming convention that will last them indefinitely. Here's a brief summary of the more important names: (1)OGA: Open Graphics Architecture, the trade name for open graphics architectures specified by the Open Graphics Project. (2)OGP: Open Graphics Project, the group of people developing OGA, its written documentation, and its products. (3)OGD: Open Graphics Development, the initial FPGA-based experimentation board used as a test platform for TRV ASICs. (4)TRV: Prefix for Traversal Technology ASIC products, based on the OGA. (5)OGC: Open Graphics Card, graphics cards based on TRV chips. In short, the FPGA product will have OGD in its names, and the graphics cards will have OGC in their names. See the link above for examples. What is OGD? As I mention elsewhere, OGD serves two purposes: First, it's a development platform for TRV ASICs. Very early on, we decided that the best way to make sure that our graphics chip worked properly out of the gate was to first target the design to an FPGA. The FPGA will allow us to test our design in real hardware and in real-time. When we find bugs in our design, we can fix them, resynthesize (like recompiling), and reprogram the FPGA. We couldn't do this with the first ASIC I developed at Tech Source, and it cost us a lot of money, because when we found that our first chip didn't work, we couldn't get back the money we'd spent on the first set of masks. We did incredible amounts of simulation, but that didn't stop us from missing a number of very subtle problems. With today's FPGAs, they have more than enough die area to support a relatively full-featured GPU, so we don't have to skip this step. Even if the design runs at half-speed in the FPGA, compared to the ASIC, it will still allow us to put the card into real computers and test it in real-time. Second, OGD is something that can be of general use to many other people. We're not the only people who need a board like this. Lost of chip developers will find this to be a very interesting product. Those include businesses designing chips and university FPGA labs that would buy them in the hundreds. Having freely-available design documentation only adds to the value. Computer Science Masters programs that teach CPU design would find this interesting, for instance, because the FPGA is big enough to hold a reasonably powerful CPU, and the RAM and video output are built right into the board. How about FPGA-based parallel computing? Or how about the long-time software engineer who would really like to break into chip design but hasn't been able to get his or her hands on the necessary hardware. I would have bought this as an undergrad. Tech Source could have used this too. Back when we were working on the ASIC I mentioned, we had hoped that it might fit into an FPGA. It didn't, but in the mean time, we had already bought an FPGA-based prototyping board. I don't recall the name of the vendor, but it has a Xilinx Virtex II 1000, which was a massive FPGA at the time, and it cost over $2000. The last time we checked, which was in 2004, that same board was still selling for that same price. We have tentatively priced OGD, which sports, among other things, a Xilinx Spartan III 4000, 256 megabytes of RAM, and a bunch of video hardware, for somewhere around $550 +/- $50. As a graphics card, this wouldn't be a very good price, but OGD isn't a graphics card—it's something that can be turned into a graphics card... or a high-end sound card or a hardware raytracer or a high-speed video codec or a stream processor for parallel computing or... shall I go on? If things keep going as they are, an early release of the OGD card will be available this November or December (2005). This may or may not come with a fully-functional PCI controller, but anything missing will be downloadable later from our web site. (Certain kinds of reprogramming will require extra cables, but if you're a chip designer, you expect that.) What about OGC? OCG is the thing that most of you want. It's a low-end graphics card that's open architecture, comes with open source drivers, and is tuned for X.org, Mesa, accelerated alpha compositing of windows, etc. It's the card that "just works" with Linux or BSD and has drivers that are written properly so that they don't become a stability concern like some closed-source drivers are. It's the card that exposes all of its interfaces so that every feature can be supported, and every feature you want to support can be accelerated. This is the ultimate goal of the Open Graphics Project. There are a few things holding this back right now. First is that we can't develop it with out OGD being finished, and OGD has its own schedule we're trying desperately to stick to. Second is that we don't have any money; we're going to pay for OGD prototypes out of our own pockets, plus the ASIC will cost about $2 million to fabricate. Our goal at this point is to finish OGD, use that to generate some revenue, and use that business success to attract investors and partners that will help us produce the TRV ASIC and OGC graphics cards. If we can generate enough revenue from OGD, we can afford to quit our jobs and work full time on this. We are hopeful that our schedules will allow us to complete this product during the first half of 2006. It's hard to say what its performance will be like, but we'll be using more advanced fabrication technology than we can get today. We expect it to meet or exceed our original figure of 6.4 gigabytes/second memory bandwidth and 400 million pixels/second 3D rendering throughput up until memory bandwidth is saturated by turning on more 3D features. It too will have 256 megabytes of RAM. We have been estimating the retail price at no more than $120 for the board (comparable in price to the recent Matrox G550 PCIe with 32 megs of RAM, although PCIe will come after PCI and AGP for us), and we have seen no reason since then to increase that number. OGD chip development Lately, I have been working on the PCI core. Although the ASIC will have support for AGP and, indirectly PCI-Express, I am currently working on a 32-bit PCI-X controller for the OGD1P-256 board. You have to start somewhere, and PCI is probably the best thing for an experimenter board since it's the most universally available right now. The RTL for this is currently downloadable from our SVN repository (see the bottom of http://wiki.duskglow.com/index.php/FrequentlyAskedQuestions). The license is LGPL, but Traversal retains the copyright and the right to dual-license, like MySQL. Unfortunately, not too many people are members of the PCI SIG or have access to the PCI spec, so I haven't gotten much feedback on this aspect of the design. Those with PCI experience are encouraged to offer their help and criticism, and those without the PCI spec but who would like to help anyway can find out what they need from "PCI System Architecture (4th Edition)" by Tom Shanley, Don Anderson, Mindshare, Inc. Patrick McNamara contributed a huge amount of information, as well as some excellent circuit schematics, for the design of the VGA controller. Most of that can be found at "http://wiki.duskglow.com/index.php/Documentation". This has stagnated as I have focused on PCI. The VGA core is also under LGPL (dual). More eyes are welcome. OGD PCB development Andy and Howard have been working on the PCB design for OGD. It's essentially done, but there are a few time-consuming things left to be completed before that can go for fabrication. (1)Heat sink. What we would like to have is a single rectangular heat sink that will cover both the Xilinx 3S4000 (for the graphics core) and the Lattice XP10 (for PCI). Some list members believe they are generally coplanar, but there's still a lot of searching required to identify a cheap off-the-shelf solution that will fit our size constraints. Those interested in helping can contact me or the mailing list for details on the size constraints. Basically, we'd like a passive heat sink that can be removed and replaced by one that has a fan in it, without violating PCI specs. (2)Testing the XP10 PLLs. If someone has an XP10 eval board or can get one, we could use some help in determining its suitability. Specifically, we need to know how well its PLLs behave. We have a piece of code we can give you that will put a clock on an output pin so that someone can measure jitter for us. (3)Programming the Xilinx via the Lattice. PROMs for the Xilinx chips are expensive. Plus, the programming time is long enough that the device would not show up on the PCI bus early enough. We decided instead to put the PCI controller and PROM interface into the flash-based XP10. This way, the PCI controller is instant-on, and we can use a much cheaper SPI PROMs to hold both the Xilinx bitfile and the boot ROM (VGA BIOS, etc.). We're in need of someone to help us develop the code to control the PROM, read it, reprogram it, program the Xilinx, etc. (4)There are actually a number of other small tasks that would help. Some are more vital to initial product release than others, but the more that are available on initial release, the better. I will cover the cost and shipping for any parts that a contributor may need to buy to help with this. Also, the PCB schematic and artwork will be licensed under the LGPL, as well as all the Verilog code that will ultimately come standard with OGD. Web site Once we have revenue, Traversal intends to pay someone to host their web site. Before that point, we would appreciate free hosting. Any suggestions on whom to host with are welcome. However, for OGP, duskglow.com has been hosting the mailing list, gitk.com has been hosting documents and images, and suug.ch has been hosting the SVN repository. Their contributions to the project have been greatly appreciated, so one of them is probably the best choice. The next issue is designing the web site which can be a significant investment of time and/or money. If it were all open source, it would instill a greater feeling of confidence in those using it to place orders. What we need is a site that describes the product, makes it clear what you're getting (early releases of OGD may lack the PCI logic, requiring later update from files you download), explains the warranty, and is able to handle secure credit card and PayPal transactions and accurate computations of shipping/handling costs. Also, economy of scale requires that Traversal manufacture cards in batches, meaning that orders have to be stored safely for as long as it takes to get N orders. If PHP and MySQL are used in the back-end, that would be preferable so that I can maintain it in the future, as I am familiar with those. We welcome those who can help us design and code the web site and advise us on how to do it properly. Conclusion Depending on your perspective, you might think the OGP was progressing slowly or quickly. It's hard to design new hardware in your spare time, without corporate backing, but I, my partners, and my friends on the OGP mailing list are making steady progress. We can already see the light at the end of the tunnel for OGD, because although there are a number of time-consuming things left to do, there aren't very many left, and outside contributions can make it happen more quickly. Even without a complete PCI controller, OGD would be a valuable and relatively inexpensive tool for many hardware designers. The Open Graphics Project is going to take a while to realize its ultimate goal of ubiquitous Open Architecture hardware for FOSS users, but as with any well-conceived plan, things do not happen over night. OGD is the product that Traversal and the OGP need to get off the ground. With the right help, this will easily happen this year. Although the OGD isn't a graphics card, per se, it will be a revenue-generating platform for the development of a graphics card. With luck, 2006 will see the release of the first fully open-architecture graphics card, designed specifically to always "just work" universally with Free and Open Source Software. OGP Community wiki: http://wiki.duskglow.com/index.php/Open-Graphics _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
