It’s been a while since any of us have seen head or tail of the Open Graphics Project, but they haven’t been just sitting around twiddling thumbs. Enjoy an in-depth interview between OSAlert and Timothy Miller, the founder of the Open Graphics Project and the main man behind the drive that keeps it going, and Michael Dexter, Program Director at Linux Fund and a key player in Linux Fund’s partnership with the OGP. Though it’s been some time since there has been much public action, much of the work that the OGP has been putting into the OGD1 is finally coming to fruition.
Linux Fund has raised money to build an initial ten OGD1s for open
source developers. Their fund-raising has exceeded the initial
fundraising goal of $5000; does this mean that additional cards will be
produced?
Our initial estimate of $5000 was based on a combination of hope and
assumptions. Our original estimates were based on a 100-board production run. However, there are costs that remain
fixed when you scale down the quantities, more than we had anticipated.
Fortunately, the nearly $8,500 we have raised has allowed us to go
ahead with a production run of 25 boards and Linux Fund has loaned the
effort the additional funds needed to complete it. We are counting on
selling at least 10 boards to break even and will have them available
for purchase when the first boards are available to volunteer
developers.
Can you please give us an estimate of your progress thus far?
Besides the physical hardware, being build and undergoing testing and
flashing, we have a sizable library of logic
blocks (hardware vendors sometimes call these “IP blocks”) that we’ve
developed. This includes things like controllers for PCI, DDR memory,
SPI PROMs, video, and even a simple MIPS-like microcontroller.
Using those, we’ve developed working VGA emulation for OGD1. VGA isn’t
trivial since it requires a text mode where characters are rendered
into pixels on the fly as they’re being scanned out to the monitor.
Instead of implementing that directly, we use our microcontroller
(named HQ) to convert VGA text into pixels in the background,
continuously scanning and reconverting the text buffer. This approach
was much less invasive than hacking our video controller, and we were
going to require a microcontroller anyhow to support DMA (at a future
date). This also required a VGA BIOS. All of this can be found in the
Open Graphics Subversion repository.
The svn head of the firmware needs some additional work to make it
ready for release, and we could use some help with that. Meanwhile, we
have a slightly older release that
does work, which we will be programming into the shipping boards.
It is important these cards get
into the hands of active developers.
What will happen to a card if its developer withdraws from the project?
Linux Fund owns these boards. Although OGP and Traversal Technology
people are involved in the work, the financial and legal situation is
that Linux Fund licensed the designs under the GPL and paid for the
production. For developers who are given a board for
free, the boards are technically on loan. If a developer decides to no longer be
involved, they can either buy the board or they can help us to pass it
on to another developer. Moreover, Linux Fund should be able to recall
a board at any time if they determine that it is not being used for the
intended purpose.
What is the target price you would
like to sell the consumer version of
your card at?
Originally, OGD1 was a fund raiser, and we were going to sell them at
$1500 apiece. Even today, $1500 is a competitive price for a board of
this complexity, but we will be selling it at half that with the goal of
breaking even.
I just want to make it clear that our goal here is not necessarily to
make a profit. What we want is to build “open” (Free-Design) hardware
products. One way to do it is to create a self-sustaining business.
Linux Fund came along with an alternative. Nobody is making any profit
from this now, but if we’re successful with getting developers on board
to make interesting stuff using OGD1 boards, this may attract more
donations in the future that we can use to create hardware products
that Free Software users can really take advantage of.
To Free Software users, the biggest challenge is hardware whose vendors
won’t release docs on their products. Without them, we can’t make free
drivers that allow us to use the hardware we paid for. For some people,
the answer is to pressure the hardware vendors into releasing docs. For
us, the answer is to create our own hardware with designs that are free
to begin with.
Going forward, we hope for opportunity for commercial development
because quite a large number of us would love to design hackable and
Free-Software-friendly hardware as our day jobs.
Companies that are
enthusiastic about supporting Free Software are something our community
really needs.
Are there plans to develop a PCI express version of the open graphics
card? If so, what time frame will this be in?
This all depends on the community. Before OGD1, we didn’t have any real
hardware to show people, so we weren’t taken seriously. With OGD1,
perhaps now people will feel we’ve proven ourselves and decide to get
involved. To make a PCIe version of OGD1 will require community
expertise and community funding.
Please note that OGD1 isn’t strictly a graphics card. It’s an
FPGA-based prototyping platform that can be made into a graphics card.
But it can also be made into innumerable other things. I’m interested
in doing things ranging from recording-studio quality audio processing
to wireless networking.
You said that you’ve got 25 graphics
boards produced and
they’re ready for programming. What’s the process that needs to be done
for said programming?
All of the 25 boards we produced need to be tested for manufacturing
defects and overall serviceability. Once they pass this testing, FPGA
and BIOS PROMs will be flashed with with the latest working firmware. We hope to have the first few boards tested and ready for delivery by OSCON.
You’ve put out a call for developers,
but do you have a date that
you’re looking at for an official launch of sorts? Any shindigs planned
(virtual or real)? How soon will the developers and the purchasers have
their boards?
We don’t have any firm dates yet and we are patiently waiting for the
first batch of tested and flashed boards. This whole project has been
an exercise in patience given the nature of hardware. Unlike software,
you can’t just tar it up and e-mail to the team. If we have boards by
OSCON, we will definitely raise a toast to the project!
Are you hoping to build more OGD1
boards after these initial 25? How
soon do you think this could be accomplished– or what needs to happen
before this can be accomplished?
We would love to build more boards if the academic or private demand
exists. A second run certainly wouldn’t take as long as this first and
it is largely a question of money. No one wanted to take any risks with
this first run and we are fortunate that Linux Fund was willing to
front the extra money we needed.
It sounds like it’s been a rough road
for the Open Graphics Project to
accomplish its goals; has it been harder than initially expected? What
were/are some of the major roadblocks throughout the project?
Given that the to-do list was always clear, it was more a question of
frustration than difficulty. Speaking from Linux Fund’s perspective,
the first challenge was raising enough money to comfortably begin the
manufacturing process and then minor component-availability issues.
For one of the chips, the price in the US had gone from $5 to over $15 was officially unavailable during the fundraising process. We
found ourselves nervously buying from an overseas vendor using a combination of Skype and PayPal. Luckily, we
didn’t end up with a box of expensive chopsticks. Aside from those
challenges, our general dependence on volunteer help has led to a few
delays given that we’re competing with personal lives. We’d like to
congratulate one project member on the birth of their daughter during
the project!
That said, everything they say about the challenges of hardware are
true: it is a moving target thanks to component pricing and
availability and the countless physical variables. We’re still not out
of the woods until we’re sure that every surface-mounted pad is
correctly soldered in place and that no other defects have emerged.
In the big picture, while the OGD1 has relatively good longevity, any
volunteer-driven open hardware project runs the risk of being obsolete
before ever reaching production.
In addition to Linux Fund and the
selling of some of the OGD1 boards to
create sources for funding, have you considered other community-funding
routes such as Kickstarter.com?
While we admire the PR that Kickstarter.com is receiving, we are
concerned that they are neither a 501(c)(3) tax-deductible nonprofit
nor rely on actual funds received. Linux Fund has operated its capital
projects since 2008 and feels it has a better, albeit lesser-known
model.
How many people have really been at
the core of the Open Graphics
Project? Are there any people who especially stand out for their work
and contribution?
Howard Parkin and Andy Fong get most of the credit for the printed
circuit board, with some help from various others along the way.
Timothy Miller developed most of the FPGA logic. Petter Urkedal is
primarily responsible for the HQ microcontroller, along with a lot of
its programming. Mark Marshall is primarily responsible for the VGA
BIOS code. Mark Marshall is the official maintainer of the FPGA code
for the Lattice XP10. Patrick McNamara is the official maintainer of
the FPGA code for the Xilinx Spartan III 4000. Howard Parkin, Mark
Marshall, and Petter Urkedal did a vast amount of simulation and
hardware testing and debugging all of the FPGA and BIOS code to get it
to work to the point you see in this
video.
Is there any room for a newbie to
contribute to this project? What
would he/she have to learn to work on drivers or firmware? Is there an
ODG1 101 to help people interested in the project but with a limited
skill set?
On the Open Graphics Project wiki, there are some Verilog tutorials
we’ve written for people who would like to get started on learning how
to design chips. Even for those who don’t have hardware in their
hands, a lot of FPGA work can be done just in simulation, and there is
Free Verilog simulation software (e.g. Icarus Verilog). Plus there is
a ton of software work to be done. Right now, we have a working BIOS
and microcode for VGA text mode, but we’d like to improve it, adding
things like VGA graphics mode.
Finally, one of my dreams is to make the hardware equivalent of GCC. We
really need a fully free chip design toolchain. Such a thing would
lower the barrier to entry for those who want to design hardware, and
it would also be a huge benefit to hardware vendors. FPGA vendors sink
a lot of money into their synthesis tools. Most are pretty good, but
they can also be very expensive. Developing a free toolchain would
allow the hardware vendors to focus on hardware and give everyone Free
and potentially better tools. I’d say that the cost of proprietary FPGA
synthesis tools is the biggest barrier to entry for someone wanting to
get into FPGA hacking. I have the background in both chip design and AI
necessary to help design these tools, but we’d need a team of
developers to complete the project.
Developers Interested In Obtaining an OGD1
As stated at LinuxFund.org, “the goal of this developer program is two-fold: To guarantee solid open source operating system driver support and to stimulate innovative uses of this unique computing platform. Interested developers are invited to write [email protected] with a description of their background, technical qualifications and how they would use an OGD1.
OGD1 boards must legally remain Linux Fund property to satisfy IRS requirements and developers must agree to return their board should they discontinue their work for whatever reason, allowing another developer to use the board. Both short-term and long-term projects are encouraged.”
Interesting, thanks for doing this interview. I wouldn’t take the lack of comments so far as a sign of anything but a good and thoroughly done interview.
This is really interesting, I have been following the project on OSAlert since its inception.
What struck me as pretty cool was the idea the board could also be used for audio etc. Neat!
I guess most of us take for granted that video hardware is a problem that has been “solved”.
I guess the knowledge to do advanced video, 3d etc is concentrated in the few companies that do this stuff like ATI, via, nvidia.
Although today it might look like we have plenty of options regarding hardware with open drivers, just a few short years ago basically none of the big players supported FLOSS community.
They should have a team writing patches for QEMU and Bochs in order to make them emulate their hardware, if it’s not already the case.
Otherwise, I don’t see people coding drivers for $800 hardware that probably has about the same performance as a Radeon 9600, twice its power consumption, and less than a thousandth of its user base. Nice project, though.
Otherwise, I don’t see people coding drivers for $800 hardware that probably has about the same performance as a Radeon 9600, twice its power consumption, and less than a thousandth of its user base. Nice project, though.
It’s not too powerful, indeed, but it was never even meant to be. The whole point of OGD1 is that you can customize ANY part of it as you see fit with detailed instructions as to how to do it and all, and as such it’s an absolutely fantastic piece of hardware for anyone who is genuinely interested in hardware development as opposed to software development, and it could f.ex. be hugely useful to engineering students et al.
I personally wouldn’t know what to do with OGD1, but hey, I don’t belong in the target audience anyway. And from what I’ve seen at offer elsewhere it seems very competitive compared to other similar products, both performance- and pricewise, not to mention it being completely open and as such allowing for larger amount of cooperation and experimentation between the developers.
I agree, emulator support would be nice. I also think Radeon 9600 performance is a pipe dream.
However, it still has a lot of value for people, like me. It was really frustrating writing embedded software that controlled everything at a low level, but I couldn’t touch the code that ran on the FPGA out of verilog ignorance. I did identify a couple of bugs in the FPGA implementation, but we had to contract out that work to the author of the original code and convince him that the bug was real.
Thanks indeed for the article.
However, I (maybe like some other people who’ll read it) have no idea what “FPGA” stands for. Ditto for “ODG1”, although I can easily guess the “G” is for graphic(s). But guessing isn’t knowing and educating is what OSAlert is about. For me.
Edited 2010-06-24 10:57 UTC
FPGA = field programmable gate array. A special kind of chip that can be programmed. However, unlike a CPU, you don’t program a sequence of instructions, but rather a set of parallel interconnected data processing units that compute boolean logic functions. The programming model is very much like designing a custom chip, so programming these things is very much considered “hardware design” – and in fact, an FPGA configuration (i.e. the “software for it) can be turned into a real chip with a fair amount of work.
Then I was wrong for the ‘G’. That’s why I hate guessing.
Sorry, wrong again, you were on the right track the first time.
Here’s my understanding of their situation: The Open Graphics project wants to build a graphics card, but the fabrication is insanely expensive. They built a flexible board that, from the spec’s, can do graphics. (See also, “late binding” in the context of computer programming languages.)
The financial reasoning is that they can sell these boards to any tinkerer, student, or even a professional hardware engineer. Not to ignore video performance that’s now merely acceptable, it’s so much more than a video card that they will cover their costs when (I hope) people soak them up as fast as they’re made. We need more stuff like this for hobbyists to disrupt the market.
In other news Intel is about ready to do away with the PCI spec. I hope we can see PCI express versions of this card soon.
http://hardware.slashdot.org/story/10/06/23/1751244/Intel-Says-Fare…
It looks like a reproductible behavior from Intel that once a standard starts to be properly documented on the internet, it’s replaced by a new one which isn’t.
Go and figure out why hardware support is so poor in hobby OSs…
Edited 2010-06-24 14:57 UTC
Instead of this, why didn’t they design a real GPU in an open source fashion?
This thing will never reach the hands of anyone who isn’t an hardware designer, and won’t definitively be of any help to open up the hardware market. A real GPU instead could be manufactured by any silicon fab with its own customizations.
Back at school we were busy designing our own electronics circuits, drawing the schematics with OrCAD, and print to real PCBs. But we couldn’t go beyond very simple digital appliances, because of lack of time and knowledge – both limits which can be overcome with the power of open source.
I would love to go to a website, download the schematics of, say, a USB sound card, customize it, have the PCB printed by a local company for a few bucks, and solder the parts on it.
Extend this to microchips and your open hardware is served – I can’t see a local company manufacture a single microchip for me for a few bucks in the foreseeable future, but at least they could offer a large choice of them.
The main purpose behind OGD1 is to provide a platform for developing a “real GPU.”
Now, a “real GPU” contains dozens to hundreds of small parallel stream processor cores. GPUs actually have more transistors than CPUs to fit on all this hardware.
Also, we are developing a “real GPU”, and we have a spec for it. If you’re interested, join the mailing list and help us out.
Lastly, to fabricate a run of “real GPUs” would cost millions of dollars. That’s just manufacturing. Forget design, which you can’t pull out of your arse either, and for that, we need manpower.
As far as I understand OGD1 will never be for end-users. I wonder about donations.
No, OGD1 itself is not intended for most end users. Hobbyists who want to do FPGA development would find it useful for lots of things, and THEY are “end users” in that domain. But most people are not chip designers. OGD1’s purpose is to provide chip designers with a platform they can use to develop (prototype) products that can be turned into end-user products.
edit: wrong thread
Edited 2010-06-24 17:38 UTC
Servers have no need of graphics, and joe public asks if it can run Crysis.
The problem is getting specs opened up, not rolling your own sub-par hardware for $$$$’s. All that time and money would have been better spent getting vendors to open up specs for hardware, or committing to release driver source under an *open* license so all OS’s can benefit.
Now i could be wrong, since they’ve produced some other useful hardware bits, but I can’t help but feel theres more useful LGPL designs at http://opencores.org/.
Hardware vendors typically only open up specs when they’re pressured to, sometimes by market demand, and sometimes by the strong arm of people like Theo de Raadt who somehow manages to be able to influence stock prices. Personally, I have no interest in fighting with these companies. They have their business, and we FOSS enthusiasts are like a bunch of annoying flies interfering with their primary purpose, which is to make profit and lock in customers so they can make more profit.
What I really want to do is develop hardware that is friendly to free software from the outset. This way, there is no fight. Just science and engineering.
I have nothing against capitalism and business. I think good money could be made from open hardware, if we could only get enough starting capital to get the ball rolling. But I’m more motivated by solving problems than just making money for its own sake. I’m more interested in community than my own profit margin. And if I did find myself able to make an income from this, I would be happiest if a lot of other enthusiasts were making an income from it right along with me.