We're nearing the end here. First off, here's a link to the latest set of slides:
http://www.traversaltech.com/files/speech4.odp Lourens, Luc, and I are working on the title slide. Almost done with that. As for the rest of the slides, I have a few concerns. Slide 2: Clearly, I am no good with GIMP. The image is ALMOST there, but the lines and text are ugly because I don't know how to select regions with antialised edges. I need someone with more skill to fix that up for me. Slide 3: I think this is okay. Comments? Slide 4: Ditto. Tell me if you think this goes well with the words. Slide 5: There is dysonance between this and the speech. Suggestions? Slide 6: Not a lot to do here. Slide 7: Ok? Slide 8: Ok? Slide 9: Dysonance worse than slide 5. Ideas? Slide 10: Ok? Slide 11: Ok? Below is the plaintext of the speech. Ignore the # marks. They're rough guides to myself about pauses. Some are unnecessary, while others are important to correct intonantion and emphasis mistakes I was making before. Here you go: [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 that raises questions or needs clarification, please feel free to ask. I'll also take longer questions at the end. ## Anyhow, I have been using Linux since 1995, and I've been an avid fan and user of Free Software ever since. # Historically, 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 it a potentially serious legal issue as well. Some Linux distros, for ethical reasons, simply don't come with these binary-only drivers. A particularly prominent one is Fedora. ## Well, my background is in graphics hardware design, and I thought it would be interesting to try to do something about this. So my associates 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'd 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 a basic framebuffer for the OS with a simple x.org driver. And as a matter of fact, that's what is displaying the presentation right now. An OGD1 board is here in this PC next to me. As proof, I can give you a little demo that shows why you don't usually want to go without hardware acceleration. [do some dragging and stuff] [while demoing] Some people have told me that they're willing to put up with this. They actually prefer to use the unaccelerated fb driver over using a proprietary one, because they don't trust the proprietary drivers. Also, for a lot of common UI stuff, it's hard to tell the difference. [minimize a window, open a menu] So for an early prototype, it's really quite usable. [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 functions 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 (two pairs of dual-link DVI, which is actually pretty high-end), digital to analog 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. It's all copylefted, so modifications and derivative works are allowed. And the software driver is free software too, of course. # And soon you'll be able to buy one and use it to make other hardware designs. ## Of course, there are actually other FPGA prototyping boards available on the market, but we believe ours is a better bargain. It has open source origins, which made the development less expensive. And for our purposes, we've 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 an environment for developing a full-featured open graphics card. # A lot of community discussion went into this. Debate went on for months, and the spec that came out of it, we think will satisfy 90% of the users of free software desktops. # We've cherry-picked the most important features from the OpenGL specs from versions 1.3 through 2.0. The result is a fixed-function 3D rasterizer and fragment shader. And then we included some additional features that weren't specified by OpenGL. [Contributors slide] # I just 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 also mentioned earlier that I'd say something about the challenges with making hardware. # Many software techniques for design, development, debugging, and testing have an analogue in hardware design, at least when it comes to logic in an FPGA. Circuit boards and integrated circuits impose a whole other level of challenges. The main thing is that hardware is expensive to make. But we believe we've developed a 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. # And the Open Hardware Foundation is a non-profit corporation. They handle donations and function as a democratic body to represent community interests. # These two entities will be able to generate revenue streams in their respective ways and use that money to fund the development of open hardware. [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 the abstract architecture, 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. In order to to 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. [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 where there are some clever and talented people working away. We want to form an organization which will advocate and advance the interests of this community. We want to build an environment where enthusiasts can take their designs and turn them into real hardware. The OHF even plans to fund development work. Initially, the OHF is offering discounts on OGD1 boards to open graphics developers, and as donations come in, they'll direct that money to help more and more hardware projects go form clever designs to clever open hardware. [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 too. # If you would like to help out financially, you can donate to the OHF. # If you are interested in hardware development, you can assist with our design work. Hardware design can be very different from software development, but for those who are interested, we're developing tools and learning aids that should make things easier. # If you have software talent, you can assist with CAD tools, device drivers, and other useful applications. # And of course, if you're interested in using any of the hardware we're developing, we'd be happy to discuss it with you. [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, who's 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 fabricating the OGA1 logic into TRV10. That's a big open question. One factor 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 we need to find partners who are interested in the technology. The next issue 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. ["a good spec doesn't suffice instead of creating hardware?"] There seems to be an increasing trend where hardware vendors are choosing to support Linux but also choosing to provide only binary drivers. The result is an ever-increasing amount of proprietary software that users of Free Software have to put up with. This isn't the direction we want to go. With Open Hardware, we want to reverse this trend, and the approach that we prefer is to develop our own hardware when the vendors aren't willing play by our rules. No matter how well-documented something is, it's hard to work around an undocumented bug when you have no way of finding out what's really going on inside of the hardware. Not only that, but the general idea of open hardware puts freedom and knowledge back into the hands of the users. Open Hardware isn't just about tinkering; it's about information and communication. [If some other vendor were to release specs on their hardware, what do you do?] I'm not sure that would change much. Just because they release specs one day doesn't mean they won't take then down another day or refuse to publish specs on future designs. You're always subject to the whim of the hardware vendor. In the early to mid 90's, a number of graphics vendors were willing to publish specs. Some went out of business, while others were gobbled up by bigger companies. Now we don't have very many major graphics chip vendors, and they're fighting each other over the Windows gamer market, with only passing interest in free software platforms. With open hardware, you never have to worry about this. So what the proprietary vendors do may have some effect on the open hardware market, but only until they change their minds again. Besides, open hardware is its own interesting thing, so if a graphics vendor decides to get a piece of our pie by releasing specs, it may affect our graphics market share, but it won't affect other open hardware projects. The thing that's a double-edged sword for us is that we're not interested in market share as much as we are in freedom, which gives us different priorities. If and when some other hardware vendor decides to compete with us on our terms, we'll just have to see what happens. Special features we have that other cards don't Some things that OGD1 would be useful for (PCI sniffing) [Mention specifically PCI controller, memory, video?] -- Timothy Normand Miller http://www.cse.ohio-state.edu/~millerti Open Graphics Project _______________________________________________ Open-graphics mailing list Open-graphics@duskglow.com http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)