I got together with Ben Schroeder and Bruce Adcock and had a lengthy discussion about the speech. It was Ben's suggestion that I take a step back and see what kind of presentation I would give if I didn't have slides. How would I tell the story? What is interesting? Some of what's below is actually stuff that Ben dictated. From that, I would make slides as visual aids only for the most important things. The approach I'm taking now is to write out what I'm going to say. They say not to do that. "Memorizing a speech is bad." Reading it is even worse. *sigh* All of y'all who are better at speeches than me can do it however you like. From this, I'll extract notes that I'll use as reminders during the presentation, but the goal here is to start with a good presentation and work outwards. I'm trying to go for a conversational style here, because the idea is to have a conversation with the audience.... sounding natural. At this point, I think I have enough content, and I'm not distracting with slides. So the criticism I'm looking for has to do with making sure the content is interesting enough, correct, is conversational enough, flows well, etc. Would you want to listen to me give this speech? How does it sound to to you?
Without further ado, here is the current draft: [Root window with OGP wallpaper] Well, good afternoon, everyone. My name is Timothy Miller, and I'm the founder of the open graphics project. My usual soapbox is a keyboard, and I much prefer interacting to lecturing, so if I say something stupid or raise serious questions, things I'm likely to do, it might be a good idea to interrupt me and get me to clarify. Anyhow, I have been using Linux since 1995, and I've been an avid fan and user of Free Software ever since. Until recently, it's been hard to get graphics cards that work well with Free Software. Even now, most available graphics solutions are proprietary cards with proprietary drivers. They lack the advantages of open source, letting you make changes, fix bugs, keep up with kernel upgrades, learn from them, or whatever else you might want to do. Many people feel that proprietary drivers in Linux violate the GPL, making is a potentially serious legal issue as well. Some Linux distro, for ethical reasons, simply don't come with these binary-only drivers. Well, my background is in graphics hardware design, and I thought it would be interesting to try to do something about this. So my friends and I set out to make a truly open graphics card, and this is what I want to talk to you about. I'm going to cover our project, our plan, our achievements and some of the unique challenges involved in making hardware. [Slide with OGD1 board pic] To get things started, we decided to begin with a bootstrapping effort, which is a development platform. We needed a facility to try out and test graphics processor designs. So I would like to show you something we've built. This is the OGD1 board, the open graphics development board. At the moment, it's functioning as basic framebuffer for the OS with simple xorg driver. And as a matter of fact, that is what is displaying the presentation right now. The OGD1 board is here in this PC next to me. As proof, how about I try doing some scrolling and window dragging to demonstrate why hardware acceleration is something you usually don't want to go without. [Slide with diagram of OGD1 with some Verilog code] OGD1 is build around an FPGA. FPGA stands for Field Programmable Gate Array, with the key words being "field programmable". It's a chip that you can reprogram. We develop our logic designs in a language called Verilog and "compile" or "synthesize" it to instructions for the hardware. These aren't like instructions for a CPU but rather control bits that specify signal routing and function for logic gates. With this basic shell of a graphics card, we can program new designs into it at will. In addition to the FPGA, the OGD1 board also has memory chips, DVI transmitters, D2A converters, a TV chip, and a number of user I/O signals available for extensions. [Slide with URL for SVN repository] This board itself is a free hardware design. Schematics are available online, as is most of the Verilog code for the logic that we currently have working. Soon you'll be able to buy one and use it to make other hardware designs. There are actually other FPGA prototyping boards available on the market, but we believe ours is a better bargain due in part to its open source origins, and for our purposes, we have added additional hardware specific to graphics. [OGA Requirements and specs slide] Now what we want to do is take what we've done and use the FPGA as a environment for developing a full-featured open graphics card. A lot of community discussion has converged on a spec for a graphics rendering engine that will serve well the needs of most users of free software platforms. Our design is largely a derivative of 1990's-style fixed-function rendering pipelines. We based our design on the OpenGL 2.0 spec but restricted the features mostly to that of OpenGL 1.3. [Other pieces slide] So our plan goes as follows. First, we build the development environment, OGD1. That's done, and it works, and we can already use it as a graphics card. Then we spec out OGA1. That's done too. Now we have to do the rest of the pieces. We need to implement the OGA1 logic design and test it thoroughly on OGD1 boards. When the design is proven, we retarget it to a faster, lower-power, non-programmable chip called an Application Specific Integrated Circuit, ASIC for short. We've named this part TRV10, and it's the really expensive bit. To be sure that we keep volumes up and prices down, we'll be selling it into two markets. One is the OGC1 card for open source desktops. The other is as a bare chip for embedded systems. [Contributors slide] I mentioned a lot of community discussion. The open graphics project is a real community effort. Here are just a few of the people who have contributed something significant to the requirements, design, and many other things that keep a project focused and productive. [Organizational slide] I mentioned earlier that I would say something about the challenges with making hardware. Hardware is expensive to make. We believe that we have business model that will solve this problem. Since a lot of money has to be handled, we absolutely must form corporate entities. Traversal Technology is there to handle the commercial aspects and hardware fabrication. The Open Hardware Foundation is a non-profit corporation that handles donations and functions as a democratic body to represent community needs. [Open Hardware slide] Of course, we're not interested only in graphics. We started there, and that's where we're maintaining our focus. We need to maintain that focus in order to have an attainable goal that we can achieve in a finite amount of time. But we are interested in the bigger picture, and that's why the OHF was formed. We hope that what will come out of this project is a wider open hardware community. There are already lots of projects, such as Open Cores. But what we want to do is bring them together into a more coherent community that is an environment where enthusiasts can take their designs and turn them into real hardware. At least more easily than in the past. [Getting involved] We're excited about being able to produce hardware with all of the advantages of Free Software. And we hope that some of you are to. If you have money to burn, you can donate to the OHF. But more importantly, many of you may want to get involved in some hardware hacking yourselves. Hardware design can be very different from software development, but we're developing tools and learning aids that should make things easier. [Questions slide] I want to thank all of you for taking the time to listen to me, and I hope it was interesting. Before I take questions, here are some URLs you can write down and visit later. Okay, whose got the first question? Other stuff for anticipated questions [Programmable shaders] As it turns out, a so-called modern programmable shader design is an order of magnitude more complicated than the simple fixed-function pipeline we've decided to go with. For a given level of performance for the most basic things, a programmable shader design requires vastly more logic, a much higher clock rate, significantly more power, and for us, infinitely more development time. We just don't have the resources for it. Sure, there are things that you can't do without programmable shaders, but those are limited mostly to lighting and 3D texturing effects used by only the most aggressive games. Actually if I understand correctly, Windows Vista requires them for Aero Glass, but this is ostensibly as a way to offload some of the UI functionality form the CPU to the GPU. It's not strictly necessary, as you can observe when using MacOS 10 or Beryl on much older graphics cards. [When do you expect to release these products] OGD1 is basically done. We've identified all of the bugs. There are just some tedious steps remaining to do before we can hand it off to a board house and have them mass-produced. The other major thing is OGA1. That's a big open question. One problem is the money. Prices change, so we can't say exactly how much it would cost, but we either need to raise a lot of money, or more likely, we need to find partners with deep pockets who would like no-strings-attached rights to the techology. The next problem is fabrication. Even if we could design and finish testing OGA1 infinitely fast, it would still take 6 months to get chips in our hands. So, in short, you can get OGD1 at the end of the summer. You can get consumer graphics cards, say, one year after we have enough money. -- Timothy Normand Miller http://www.cse.ohio-state.edu/~millerti Open Graphics Project _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
