Open Source Graphics Card

Even though NVidia and ATI have been open-source friendly for a while now, there still isn’t a true open-source graphics card. [Anton] and [Per] are trying to fix that by building his own graphics card around an FPGA. The project is called ORSoC, and it’s available on opencores.com.

The guys are building the ORSoC graphics card around a Digilent Atlys FPGA dev board. So far, he can draw lines, textured triangles, bitmap or vector fonts, and throw a few 3D meshes up on the screen. This project isn’t intended to run advanced OpenGL or Steam on Linux, but for all the work that into this graphics accelerator, it’s an amazing piece of work.

There are a few demos after the break; a cube rotating in 3D and a demo drawing and translating polygons and a few textures. The ORSoC is a bit slow, but that’s an artifact of the build not being optimized for the FPGA the team is using. If you’d like to test this graphics card, there’s a Git available. As a bonus you don’t even need an FPGA to play around with this project. There’s also a software emulation of all the functions. Very neat.

[youtube=https://www.youtube.com/watch?v=qiielWxDH24&w=470]
[youtube=https://www.youtube.com/watch?v=_0b91_pnmSs&w=470]

31 thoughts on “Open Source Graphics Card

  1. I personally have never considered ATI or NVidia to be truly open source friendly:

    http://www.openbsd.org/i386.html#status
    … snip …
    As with other free operating systems it is highly recommended that Nvidia cards are avoided since this vendor continues to show tremendous resistance towards releasing information that would allow X.Org to support their hardware properly.
    … snip …

    Closed source proprietary drivers are available from the companies who make the hardware for a few select OS’es:
    ATI: Linux, Windows
    Nvidia: FreeBSD, Linux, Solaris, Windows

    I have always considered ATI to be a worse offender than Nvidia, but maybe this will/has change/d after the AMD merger of ATI.

    1. http://developer.amd.com/documentation/guides/Pages/default.aspx

      Look down at ‘Open GPU Documentation’.

      You pointed out EXACTLY the part that isn’t the problem – getting documentation relevant to making the cards work using open source drivers.

      The ‘problem’ is: those aren’t open source cards – as in, documentation to the hardware layout itself, etc isn’t available.

      So why don’t you go ahead and continue the work on those open source drivers that still suck hard to this day since you seem to care so much about them :)

    2. Do you really blame a company will millions upon millions of proprietary patents/IP to open source it and set a precedent so all their competition can freely use those patents?

      1. Nah, I’m pretty sure it’s as simple as (a) Intel, Nvidia, and AMD have each independently created “novel” ideas and patented them, (b) they’ve discovered one or both of the other companies using their patented idea–which really disproves the idea that it’s novel–and when they’re caught doing the same thing they end up signing cross-licensing/patenting deals, and (c) those deals were created without open source in mind so trying to navigate the point when some low-end card simply implements a patented idea in software (maybe simply uploading it in the firmware) is too much hassle to muddle with trying to renegotiate just to appease a minor market (Linux, *BSD, etc) when a good-enough driver will do. And as for AMD with their open specification efforts, while I applaud them, there clearly is enough insight held by AMD’s engineers that accounts for why the open source drivers tend to be so poor in performance comparison to the closed drivers–perhaps the specifications don’t cover potential bottlenecks explicitly or it’s just a matter of experience on how best to optimize; in any case, it still more comes down to the hardware and would even more so if the drivers were open source. I mean, look at where Intel is given their resources.

    3. AMD is much more opensource friendly.

      Nvidia has done nothing to help make open source drivers. All the information on their cards has been gathered by reverse engineering by volunteers. We used a black box technique, watch the registers and the fifo’s and feed OpenGl commands through Nvidia’s closed binary, then try to figure out what the mess of hex is. While I’m no longer active with it’s development, I have done some of the investigation several years ago. See http://nouveau.freedesktop.org/wiki/

    4. I hear ya. They (ATI & Nvidia) aren’t any worse than any other “Open Source” stuff that is peddled. So far as my open source foray has seen a lot of “be patient bro, we are working on that xoxo” when it is a 1.7 bug and you are selling 1.9 of the board to the public. Usually it is up to some guru to come in and help sort out your problems, with no input from the original devs. Outdated links are an outright nono in my book if you are releasing documentation in e format only. Pay for a redirect server or use the cdn that is used for the software or whoever paypal uses for hosting as you still get things from them somehow lol. I guess it hasn’t been all rainbow cookies and really, I don’t know why some guy who pays bills like I do would have the time to actually do it all, if operating on this quasi DIY level. It is the trade off I guess.
      I must admit I have not been a power gamer for sometime and now use my 360. Back when my shiny new geforce 4 came out, I guess tweaking mattered to me, but not so much anymore. I am still baffled by how little a multi-core processor can do on any given day of the week, despite the touting lol. I guess I am not the demographic most likely. Either way, I guess more competition on the market is good as long as there is some support network for the hardware you just invested in. It is still always neat to see what uses folks come up with for these kind of things. Thanks for getting me thinking andor ranting lol. :)

      1. The S3 ViRGE 3D is what I was thinking of too. Most of them shipped with games “optimized” for the card, but which actually had worse performance with the hardware “acceleration” enabled than with software 3D rendering with faster CPUs. “Fast” being around 100 megahertz in those days. S3 eventually produced drivers capable of squeezing more performance out of the ViRGE, but the nVidia Riva 128 easily ran rings around the ViRGE even with its initial release drivers.

        What these guys have so far is about at the level of performance video cards had circa 1990. Performance improvements should ramp up pretty quickly, given all the knowledge and R&D that’s already been done to pick over. ;)

      2. I thought the same. I also had one of those back in the day and the performance looks about the same. The beauty of the FPGA is that can be reconfigured, so I’m looking forward to what this will become in the future.

    1. LOL !! Smedia 3362 Glamo (graphics chip) in Freerunners is also capable of 3D ‘acceleration’ and could be called a graphics DECELRATOR because it hogs the memory bus of the CPU every time it is accessed (so the cpu can’t do anything for quite a while). And sometimes actually it is faster to draw to framebuffer directly, lol

  2. Just because open source is an awesome thing doesn’t mean that proprietary stuff is inherently bad.

    It is unfortunate and unfair when a company makes hardware and does not provide drivers for common operating systems like Linux. It does not help that when they do exist, some distributions won’t include them because of a free software/open source software stance.

    Open source software should be used to produce better drivers, not poor quality replacements for decent proprietary drivers.

    Without control over their IP, companies like Nvidia and AMD wouldn’t even exist. It wasn’t all that long ago that the average person would have been unable to make their own graphics card period because it would have required significant knowledge of electrical engineering and computers.
    Less still since it would done little more than dots, shapes, and lines, and to do even that would have required extensive knowledge of the hardware
    simply to be able to use it with your software.

    It is uncommon and perhaps rare that someone is willing or comfortable to make something open source that they put time and money into with the intent to sell it. It is much easier to make something open source at the outset.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.