Timothy Miller, Michael Dexter: OGD1s Almost Here

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.”

20 Comments

  1. 2010-06-23 9:13 pm
    • 2010-06-24 11:16 am
  2. 2010-06-23 9:18 pm
    • 2010-06-24 2:11 am
  3. 2010-06-24 8:19 am
    • 2010-06-24 10:47 am
    • 2010-06-24 3:21 pm
  4. 2010-06-24 10:56 am
    • 2010-06-24 12:47 pm
      • 2010-06-24 2:42 pm
        • 2010-06-25 3:11 pm
  5. 2010-06-24 12:59 pm
    • 2010-06-24 2:57 pm
  6. 2010-06-24 1:15 pm
    • 2010-06-24 2:02 pm
      • 2010-06-24 4:58 pm
        • 2010-06-25 2:50 am
  7. 2010-06-24 5:36 pm
  8. 2010-06-24 9:48 pm
    • 2010-06-25 2:59 am