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."
Cool story bro.
I can understand open sourcing the software, but can someone explain the benefits of opening the hardware as well?
Isn't VGA a very thoroughly documented and widely implemented standard?
... performance will be terrible .
Also, they can't possibly approach competing with NVidia or ATI and I doubt anyone's going to shell out a billion dollars to build a plant to make their cards. If they're just playing around with FGPAs then this isn't really a serious "Open Graphics Card"
Why not build a card that has the simplest digital output modes and focus on the frame buffer interface and rendering?
Can legacy BIOS booting (VGA, text mode) be handled through software emulation?
the project is not dead after all I remember reading about this a few years ago.
Just hope that can get enough Interest together soon so we can have a nice open Graphics Platform to work with other than boring and slow but at well supported Intel Integrated Chipsets.
R.Morton
modded quote "what's that he's talking about? Windows , Never had a problem with Windows till I tried to use it."
If I don't like my NVidia card, I can move to a competitor's chipset.
Only if the competitor is friendly to the free software community. There are plenty of hardware makers that have declined the free software community's requests for low-level specifications useful for writing free drivers.
from http://www.osnews.com/permalink?360100 As the original architect of the way VGA is done on this board, perhaps I can offer an explanation. There is perhaps a more straightforward way of implementing VGA than the way we did it. The direct route would require two components. One piece is the host interface that interprets I/O and memory accesses from PCI and manipulates graphics memory appropriate. The other piece is a specialized video controller that is able to translate text (which is encoded in two bytes as an ASCII value and color indices) in real-time into pixels as they're scanned out to the monitor. This is actually how others still do it. To us, VGA is legacy. It should be low-priority and have minimal impact on our design. We didn't want to hack up our video controller in nasty ways (or include alternate logic) for such a purpose, and we didn't want to dedicate a lot of logic to it. Doing it the usual way was going to be too invasive and wasteful. Also, we want eventually to do PCI bus-mastering, which requires some high-level control logic, typically implemented in a simple microcontroller. So we thought, if we're going to have a microcontroller anyhow, why not give it dual purpose. When in VGA mode, the uC we designed (which we call HQ) intercepts and services all PCI traffic to OGD1. Microcode we wrote interprets the accesses and stores text appropriately in graphics memory. Then, to avoid hacking up the video controller, we actually have HQ perform a translation from the text buffer to a pixel buffer over and over in the background. Its input is VGA text. Its output is pixels suitable for our video controller. Aside from the logic reduction, this has other advantages. The screen resolution as seen by the host is decoupled from the physical display resolution. So while VGA thinks it's 640x400, the monitor could be at 2560x1600, without the need for a scaler. It's easily programmable, and we have complete control over how the text is processed into pixels; for instance, we could have HQ do some scaling or use a higher-res font different from what the host thinks we're using. We call it emulation because, in a way, our VGA is implemented entirely in software, albeit microcode that's loaded into or own microcontroller.
This, running on a T1 or T2 machine, running ${FREEOSOFCHOICE}. yum.
I'm definitely the only one that read this as a Graphics card that was able to boot Linux XD
A great post about this ridiculous project was made to the Linux Hater's Blog back in 2008. Worth a read if you want to know why it's a piece of crap.
"When you see a unixer brainwashed beyond saving, kick him out of the door." - Xah Lee
unless the chips and expansion card circuit boards can be made in masses to make them more affordable. You have to make them in mass quantities in order to drive the cost of them down.
Nobody wants to buy a $300 Open Source graphic card, when a closed source graphic card costs $100 and has better graphics.
Still this is a good idea, instead of Chinese companies stealing closed source ideas and violating IP laws, they can make open source graphic cards using the open source license and be legal. I would like to see open sourced computer systems complete with monitors, keyboards, wireless network adapters, etc. That way the Asian cloners can copy an open source standard instead of pirating the IP needed to make cheap knockoff clones.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
I don't support asian cloners at all. They are just a bunch of thieves with protectionist laws and a disdain for IP on their end exploiting our own free trade and respect for IP on ours. We shouldn't be trading with these people. If we are to take up a collection for anything, it should be for u-boats to sink containerships as they sail towards America.
This is my sig.
If the answer is no, then you understand. if you don't mind being tied to a vendor and at their mercy, then i guess the answer for you is that there is no benefit
Yeah, but open vendors are vendors too. That's the thing. Basically, what you are trying to do is suppress innovation for the sake of commoditization, and that's not a proposition that people want to make.
This is my sig.
You're gonna need 16-bit D/A. And you don't do that with FPGAs. What you really need is a 48-bit RAMDAC. The rest is easy, you don't even need any GPU acceleration if it would be too difficult to work it out, just use the CPU.
I have written display drivers for several ARM embedded devices. I find it pretty easy, because when you make a system like that, you can get the entire spec for the display from the display controller vendor, something you can't get from NVidia or ATI.
http://lkml.org/lkml/2005/8/20/95
...you underestimate the capacity of volunteers, or even companies that allow their engineers to work on such products. As an example, it's been well documented that the cost to build Linux exceeds at least a billion dollars. And few took Linux seriously in the beginning except the volunteers who believed in the project.
So if companies and individuals worldwide are willing to free themselves from proprietary graphics card designs so that their software will work better, then they're probably willing to invest a billion dollars or more, for it.
You seem to think that the performance would be so terrible for an open graphics card. Don't forget that the companies that have invested in Linux now have a world class operating system for things like supercomputing, transaction processing (think NYSE) and similar pursuits. This comes complete with the GCC which is highly regarded among programmers, some might even regard it as the best compiler available. Free.
If large corporations who use Linux weren't happy with the performance there, then they might have gone back to the proprietary software they were using before. But they didn't. I'm inclined to think that a similar line of progression can be anticipated with graphics cards.
Wouldn't you agree?
The diversity and expression of human opinion is essential to human survival.
What's really needed is a Virtex 5 FX100T, FX130T or FX200T. It'd be dang pricey, but with two power PC's to handle things like the basic VGA modes, you could dedicate most of the logic to the shaders / 3d portion. I don't think a Spartan 3 has a snowball's chance in heck. You need the faster clocking ability of the V5 and a much more vast gate count.
How do you estimate 500 million? Linux has become a utility platform for computing for ventures large and small. And for a growing number, desktop computing. It could be that the value of Linux to many people is intangible. You know, freedom, transparency, that sort of thing. But that can translate into saved man-hours, which is money.
As far as risk is concerned, most companies and individuals have taken many calculated risks since there is no guarantee of profits. This is true for any venture (otherwise it's not capitalism).
I believe that the value of an open source graphics card will be worth the investment to the companies that do invest in it, in the long run.
The diversity and expression of human opinion is essential to human survival.
Copy a Linux kernel to /dev/fd0 and it will so boot without a boot loader. Doing it that way is a PITA, but that's how Linux boot floppies work.
Makes one wonder why someone would invest so much effort into denigrating the work of others... if it is truly wanted by no one then it will die a quiet death. I suspect it is because the Open Graphics guys are working to implement their (unrealistic) ideals, while the denigrators have given up on ever doing anything with their engineering skills other than what their boss wants to pay them for.
What I want to know is why we put up with proprietary in the CPU itself.
I mean, if we really want free and open, why aren't we pushing for a truly free and open (and maybe even elegant) CPU, instead of being satisfied with the pseudo-open x86 junk?
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
The tighter the NDA, the more you should suspect that the underlying tech is not rocket science.
So to speak.
In this case, graphics is not that hard. Fast graphics, even, is not all that hard.
The cruft is the thing that is hard. Mechanisms to manage (emulate) the cruft are about the only thing non-obvious enough to get a good patent on, and much of that, if shown to the light of day, will be seen to be covered by prior art.
A big part of the reason INTEL got so excited about ray-tracing was that they were/are hoping there will be something in there that will be hard enough and innovative enough to get some solid IP protection on.
False hopes. (... besides IP being an oxymoron ...)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
How long can this "modern" society continue to support this out-dated concept of "billions of dollars" having some sort of meaning?
"Billions of dollars" is basically the excuse for all the things that we think are the causes of, for example, global warming, and the current slump in the economy.
It's also the excuse for the existence of Microsoft and INTEL, and for the tons of junk they produce, most of which adds unnecessarily to the landfills every day.
No, we wouldn't have processors this fast without INTEL's contributions. No, we wouldn't really need them.
Likewise, we wouldn't have such a high penetration of PCs into our everyday lives, but we wouldn't think we needed them so much, without Microsoft.
No, money is not the root of all evil, but the love of money (along with several similar passions that are strictly equivalent in personal and social consequences) is.
Money is not value. It merely represents value, but even that only within ordinary contexts. Billions of dollars is not an ordinary context.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
huh? did I miss something?
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I don't take the optimists' point of view. I suspect shills.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
As a person who actually did proprietary BIOS development, I can tell you that:
1. It's possible to make BIOS boot without VGA.
2. It's usually a massive pain in the neck.
One of my projects involved making one of the popular proprietary BIOSes boot on custom x86 hardware that lacked VGA. On the development board (where I could attach and remove PCI VGA card) all it took was setting console redirection in CMOS setup, turning the computer off, removing VGA and booting it again. On production board (with no built-in graphics adapter and no PCI slots) I also had to modify BIOS so console redirection was on by default.
Then I had to spend weeks rewriting console redirection code to make it work properly -- I had to rely on console messages when debugging custom hardware support, and existing implementation was way too crude to actually display all messages those. Existing implementations merely allocate "VGA" buffer in memory, occasionally check it for changes and send the updates to the serial port using VT100 escape sequences. "Occasionally" is a key word here.
Contrary to the popular belief, there indeed is no God.
(Setting aside the idea that this should only be good enough for the undersirables in developing country X ...)
For now, I'm not thinking about a game video controller.
I'm thinking about an LCD video controller for a pocket calculator that costs less than JPY 5,000 and runs dc if I ask it to. And gforth and vi. Oh, and bash and gcc, of course.
And maybe I can plug in an SD with an English--Japanese--Spanish--Korean--etc. dictionary on it.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
everybody knows u need a open-source GPU if ...
u want to see the matrix code
Which means that there is an incentive for those companies to be friendly to the free software community, because the competitors that are FOSS-friendly will (hopefully) do better.
Path A: Use know-how subject to third-party patents, copyrights, and trade secrets to improve the performance of your product. Your product sells well to the mass market but poorly to free software enthusiasts.
Path B: Do not use know-how subject to third-party patents, copyrights, and trade secrets to improve the performance of your product. Your product sells well to free software enthusiasts but poorly to the mass market.
If Path B produces less profit than Path A, there is no such incentive for a company that currently practices Path A to switch to Path B.
I wasn't aware of this 'blog' until the above poster referenced it. It is curious that even 'back in 2008' at the very genesis of the OpenGraphics project we already have someone pissing all over it. This is high quality trolling, professionally written. Either that or it's satire right up there with ShellytheRepublican, it's hard to tell really. Else that blogs author is mentally challenged, after all who in his right mind would set up a blog dedicated to something he obviously has total contempt for, as well as the people working in the Open Source arena. Tell me something 'Jamie's Nightmare', are you a Linux advocate too, who just wants Linux to be better. Either way, I'd much prefer if you and your 'Linux hater' friend would piss off and stop pissing all over slashdot ..
davecb5620@gmail.com
To all of those who keep saying this project is useless because it will never compete with NVIDIA/ATI:
Although I agree with those who cite "because we can" as a perfectly valid reason, it is not the only reason. The lack of high quality open source 3D graphics drivers has long been an issue with desktop applications of Linux/*BSD, and while NVIDIA's closed drivers do fairly well they still limit the options of the open source community. If a bug in those drivers is responsible for a crash, it's up to NVIDIA to do something about it. The open source community is prohibited from fixing it. Remember the story about how Stallman reacted when he couldn't fix the code for a printer?
Plus, who knows what optimizations might be possible if the major open source toolkit devs could sit down with the X.org guys and the OpenGraphics folk and really start to optimize the whole stack on top of an open graphics card? It wouldn't be up to the standards of NVIDIA or ATI for 3D games, but in this day and age you need decent 3D graphics for a LOT more than that! Scientific apps, Graphics applications, CAD applications... even advanced desktop widget features can take advantage of those abilities if they are present. What if ALL the open source apps that need "good but not necessarily top of the line" graphics card support could suddenly get rock solid, flexible support on an open card?
The paradigm for graphics cards has been "whoever can give the most features for the newest game wins" for a long time now. But there is another scenario - what if maturity starts becoming more important for a lot of applications? For many years, people were willing to toss out their desktop computer and replace it with one that was "faster" because usability improved. Then the hardware reached a "fast enough" point and the insane replacement pace slowed. For some specialized applications, there is no such thing as a computer that is "fast enough" but for a LOT (perhaps the grand majority) of users that point is dictated by what is needed to run their preferred software well. If the open source world can get their applications running very well atop OpenGraphics, who cares what the benchmark performance is? If the user experience is top notch for everything except the "latest and greatest games" (which usually aren't open source games, bty - most of the most advanced open source games are using variations on the quake engines, which being open source could certainly be tuned for the new card) and that experience is better BECAUSE THE CARD IS OPEN AND OPEN SOURCE IS SUPPORTING IT WELL it will have a market that NVIDIA and ATI can't hope to touch. Perhaps not a huge market, but niche products do well all the time.
There is one final scenario, which is the open nature of this board's design allowing virtually all motherboard manufactures to include it as a default graphics option on their boards at very low cost. That might allow for logic that uses that card for most things and fires up the newest cards specifically for games or other "high demand" applications if someone has one installed (presumably installed because they do have a specific need for the raw power). This would mean broader GOOD support for Linux graphical capabilities across a wide span of hardware as part of the cost of the motherboard, which is a Very Good Thing.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
A simple graphic card with an Ethernet port and VNC server would be great for remote installations, especially as it seems you could see the BIOS messages displayed in VGA during system boot.
The next step might be the ability to keep a history of all the VGA pages since the last boot so you could page back through the boot screens and find the problem.
"the mindset is dangerously close to the rationalization used recently by a KDE spokesperson and lampooned by the Linux Hater Blog " Miguel de Icaza on 15 Jul 2008
"As usual, the Linux Hater Blog has some great commentary. Some of his feedback on KDE 4.0 applies to our own decision making. Worth a read " Miguel de Icaza on 14 Jul 2008
This is the kind of commentator he recommends people read:
"I was getting a little worried that I wouldn't have something appropriate to close of K-pride week with, but then sweet feces rained down from heaven"
davecb5620@gmail.com
A vector graphics, resolution independent OS with great typography, an unified and esthetically pleasing visual look
What you want is a GUI, not an OS.
Permitting modification and exploration equals supressing innovation to you?
That stuff must be good.
This is a graphics card DEVELOPMENT PLATFORM. That implies a few things:
(1) This is a proving ground for designs that could be turned into a fast ASIC.
(2) Graphics is only one of countless things you could use this for. How about using this as a basis for cryptographic offload, or high-end audio, or wifi?
Power is sort of open.
Is AMD64 open in any sense?
But, what kind of case?
Better in what sense?
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.