Basic Linux Boot On Open Graphics Card
David Vuorio writes "The Open Graphics Project aims to develop a fully open-source graphics
card; all specs, designs, and source code are released under Free
licenses. Right now, FPGAs (large-scale reprogrammable chips) are used
to build a development platform called OGD1. They've just completed
an alpha version of legacy VGA emulation, apparently
not an easy feat.
This YouTube clip
shows Gentoo booting up in text mode, with OGD1 acting as the primary display.
The Linux Fund is receiving donations, so that
ten OGD1 boards can be bought (at cost) for developers. Also, the FSF
shows their interest by asking
volunteers to help with the OGP wiki."
When a piece of music, or a play, enters the public domain, there are effects beneficial to the public:
These have analogs here. Having a Free video card design means that low-end video cards can become that much cheaper (and that there's more room for new entrants into the very-low-end market), and that there's a common, available base on which new and innovative work can be done.
There's not that much mystery about the things. Making a VGA emulator in an FPGA is no big deal. If all you implemented was text mode and mode 13H, it would probably boot Linux. Getting to a card that runs OpenGL is a big job, but not out of reach. The pipeline is well understood, and there are software implementations to look at. As you get to later versions of Direct-X, it gets tougher, because Microsoft controls the documentation.
But the real problem is that you'll never get anything like the performance of current generation 3D boards with an FPGA. There aren't anywhere near enough gates. You need custom silicon.
Unfortunately the BIOS and boot loader will still need VGA. Maybe Linux BIOS could remove that requirement, but you can't count on that.
They seem to have implemented it in a very cool way too. Quote from a linked OSNews article:
Slashdot, RTFA, blah blah blah.
If you go to the Wiki, and read the link in the top article, there is a link to OS News. If you follow that and read down in the comments, you'll find this post by the architect of the VGA emulation.
Apparently it really is emulation. Their MCU that they use as a PCI interface has a mode that generates the raw pixels when given VGA commands. It handles the VGA interface. The graphics processor just receives (from it's perspective) pixmaps that are constantly generated by the MCU in VGA mode.
The guy says that VGA on their card is actually resolution independent (since the MCU generates what is needed) and could actually be up-sampled to show clearer fonts without the OS having any idea it was going on.
He says it's not the cleanest way of doing things (from a methodology standpoint), but it has the least impact on the design of the hardware (compared to a "real" VGA interface).
Comment forecast: Bits of genius surrounded by a sea of mediocrity.