Free Software Friendly Graphics Card?
An anonymous reader writes "There's an interesting discussion on KernelTrap with a hardware company that is talking about developing a 'free software friendly' graphics card. The idea is to fully disclose and document all register interfaces including the BIOS, providing Linux and BSD users with a fully supported video card. The hardware engineer proposing the idea summarizes his viewpoint saying, 'the whole issue comes down to this: This is technically feasible. Should we do it?'"
How about a Free Software Friendly Audio Card to go along with it?
I don't know about others, but I've had *way* more trouble getting audio to work on my linux boxes than I've ever had configuring video.
They may have the best drivers for their card in two years, but I don't see how they can compete with Nvidia/ATI even with opensource drivers
open hardware? free [as in free speech not as in free beer] hardware?
SHOULD we do it?
/etc. ,BR>
Yes.
WILL they do it?
No.
~~~~~~
It's a "trade secret thing. nVidia doesn't want ATI to know what they are planing / doing so they can make their buck...
I'm not a prophet or a stone-age man,
I'm just a mortal with potential of a super man.
I think it's very unlikely that anyone starting from scratch will be able to compete with nVidia or ATi on performance, and there aren't all that many geeks who care about hardware openness enough to give up the value.
So, I predict that it will be expensive and low-volume, and (sadly) will eventually fail.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
both for the company that does it and the linux community. The company that does it will immediately have all the people building linux boxes flocking to them-- the people building games machines will still go with whatever's fastest, but people who just want everything to work will be happy to know that at least with this one card, they'll never have to wait for drivers when the kernel changes, never have to worry about a buggy video driver, their system will just be that much more solid. So that's a nice little boost in sales. Maybe not a huge boost, but compared to the amount of work involved in opening the specs up, it's a great cost/benefit sort of thing.
It would also be fantastic for the linux community because the existence of such a card-- and the preferential treatment the card would receive-- would put pressure on all the other cardmakers to follow suit, or at least tighten up their linux support.
I'd be willing to pre-order a graphics card that fully documented it's specs and cooperated with the Linux community for my desktop. The problem is that many companies aren't prepared for such a thing, and don't have a way to take your money. So, helps us out... Where do we pre-buy one?
Sean
"Until now, open source software has proven to be able to scare M$. Why can't open source hardware scare competitors of it's field?"
Let's see- the high cost of capital required to produce hardware, the non-existant cost of duplication and distribution for software, the difference between expertise of the average geek in programming and hardware/electronics engineering... shall i go on?
-FerretallicA
In such cases I hate speculation. If it *can* be done and a person/company/organisation wants to put up the initial capital to get it going then it should be done.
If it isn't done then there will always be the painful 'what if' forever after.
Personally I'd pay up to $250USD for the type of card they're suggesting if it had fast (ie: usable with UT2004) 3D OpenGL acceleration.
Ripping an new rectum in the fabric of spacetime.
What are Matrox and VIA doing these days?
Help fight continental drift.
If there is a market for such a card, it should be low end, as cheap as possible.
You will never compete with ATI/nVidia, and they are ignoring the low-end ($40) market. Other low-end manufacturers (S3, I'm looking at you) have absymal Linux support.
Forget about 3D. The number of people who 1. use 3D on Linux, and 2. don't buy the latest ATI/nVidia, is too small.
Cater to large-scale specialty installs, multi-head installs in schools, etc.
"I assumed blithely that there were no elves out there in the darkness"
That would rock the house considurably.
GRAPHIC MANUFACTURERS SELL GRAPHICS CARDS, NOT DRIVERS.
Open source drivers are a great inducement to purchase a card.
Even if the card is slower then others and slightly more expensive, I would still buy it. If it's very much slower and very much more expensive then it would be a issue.
Ok what I am about to say will only make sense is you understand what ISA's are.
Get out of your mind the ISA slot and the x86 ISA is teh suck. PowerPC has a ISA, for example.
It's a standard way on which software is ment to interact with hardware in your computer.
For example you first created the 386. Most of what the software ran on was raw hardware. However the modern pentium4's and Althons are VERY much DRASTICLY different from the original 386 cpu.
Lots more REAL registers. Lots of extensions, SSE, MMX, so on and so forth.
Why then are they able to run programs and even DOS OSes designed from the i386?
BECAUSE THE ABSTRACTION NEEDED TO FIT INTO THE ISA STANDARDS IS BUILT INTO THE HARDWARE.
So what we need for video cards is a ISA for them. Like the VESA standards, but for hardware 3d acceleration.
Something built around OpenGL, because it's open standards and universally accepted, unlike DirectX which is NOT just for 3-d but for input, sound and all sorts of other stuff and is only specific to one vendor operating on only one platform.
Think about it.
Video cards are mini miniture computers.
They have a micro proccessor.
They have RAM.
They have a BIOS.
So on and so forth.
So why not build the drivers for the video cards like you build a OS?
And why not build a opensource OS for it built around a Open ISA standard for OpenGL capable video cards?
Maybe a GDOS? Graphical Driver OS?
That way you have a choice. You have a generic OpenGL capable drivers that will run only any compatable video card irregardless of make or model. The GDOS would be something exceedingly simple. It only has one purpose, take care of OpenGL instructions from software running on it's Parent OS and transform it into instructions to be ran on the hardware itself.
Then people like Nvidia and ATI could take that Free G-DOS and add extensions to it for their own private optimized rendering stuff that sits outside the normal OpenGL standards. Propriatory ways of rendering Anti-Aliased text for example.
If they don't want to release their secrets to propriatory bits of software they dont' have to.
But if you don't want to run the propriatory software you still have full standards-compliant OpenGL drivers. If they are a bit slower, then so what? I'd rather have slightly slower Open source, open standards, drivers then slightly faster closed source drivers anyday.
I care more about the stability of my system then anything else.
Then when the OpenGL standards are upgraded, or you need a new generation of ISA to get rid of the cruft it would be simple, since you only dealing with a single-tasking, single-purpose, specialized peice of hardware. Backware compatability would be taken care of by allowing older cards to render in Software (Mesa) the bits that they can't render in hardware due to their oldness.
The OS would be kept independant of it. The kernel would be kept out of it. The G-DOS could be in it's own memory space or even in userspace (since with displays your only dealing with one user at a time)
G-DOS 1.0 cards
G-DOS 2.0 cards
So on and so forth. With in this framework their would be very much room for performance growth. It would reduce User's suffering, increase stability, and increase ease of debugging and testing.
And if some companies don't want to join in with the standards, along with everybody else. Then dinosaurs realy do go instinct, you know. But I don't see that happening. After all companies like ATI and Nvidia already do belong to open standards groups like OpenGL.
And here we see our problem.
Users complain about how having "free as in speech" products should be worth enough to developers to have them forgo making as much money from their work (money I would argue that us programmers/engineers very work hard to earn).
But when it comes down to it these users aren't willing to make the same monetary sacrifices themselves. That is, pay more money for open source products. $50 dollars for a video card? Try 10x that. For a card that will not be as nearly as fast as it's closed sources alternatives.
Designing a modern video card is a monumental amount of work. The complexity of a video card is so monumental I doubt most people outside the computer field realize it.
And a disclaimer: I'm not anti-open source, I prefer the model which will give consumers the best product for the least amount of money. In some markets that is an open sourced product (for example: I could not live without perl), in some it might be a closed source solution (video cards?).
Here I am certain that it would produce an inferiour product at a higher pricer. Here is my honest question (I'm seriously want to know, I'm not trying to troll here): How many people really would prefer an inferiour product at a higher price if it is free? (If you don't think this could happen please treat it as a hypothetical).
-paridel
An open, documented piece of graphics hardware has tremendous commercial potential, and would see considerable use in price-sensitive markets. Such a design would succeed not because geeks buy FPGAs and burn the design onto it, but rather because chipset vendors and embedded systems designers could simply use the "open, standard" video card implementation and avoid reinventing the wheel.
Once the 2D core has been proven commercially, the companies that use it will be interested in adding features such as 3D acceleration. Then we'll see the combination of volunteer and professional collaboration we're so familiar with in the F/OSS world.
It really should be something that laptop vendors can use.
What I would rather see, instead of a card, particularly, would be a design for a generic register interface that any vendor can implement. Each vendor can provide as much optimization as their market will bear. The creator of the spec would have first-mover advantage, but eventually everybody would have to support it (in addition to whatever else they had). Then, any new laptop would work with at least the generic driver. I know VESA was an attempt at something similar, but it was at the wrong level and too weenie.
Maybe there is already an interface in use in some "obsolete" card that could be lifted wholesale, and then cleaned up and modernized. It seems a suitable subject for an ECMA standard.
While we're at it, they could throw in decent tvout to this card. Just a simple framebuffer with ability to sync to vert refresh, double/triple buffering. And independent from main display. It doesn't even has to have backend scaller, processors are fast enough to scale DivX to 720x576 in real time.
Hell, I would pay up to $50 for a simple PCI card with low resolution (enough for PAL/NTSC), tvout, vert sync, double/triple buffering and good support in mplayer (so it means completelly open specs).
Robert
PS No, there are no cards on the market in the price range of up to $200 that match all those specs.
PPS No, dxr3 doesn't count, one has to compress video to mpeg1/mpeg2 in order to play it on this card, which results in lower quality. And because of this it eats too much cpu, as well as there are constant problems with a/v sync.
Bastard Operator From 193.219.28.162
Because back in Mesa 3.1 beta 2, the developers are dumb enough to turn the LGPL licence into XFree to appeal to the then-incompetent XFree developers. As a result, no video hardware makers want to pitch in, fearing that competitors have edge over them by not releasing improvements. This decision cost everyone dearly. They should have told XFree developers to get lost, and stick to the LGPL, then we won't have to pay $50 for a 'decent' driver that should have been there at the first place!!!
This is doable, if you're willing to compromise on not being a "complete" graphics solution, IE, not trying to implement hardware accelerated everything.
I'd suggest simply a dumb frame buffer, and doing everything in software. Then your solution is simply a memory controller, plus a CRT controller and an output graphics DAC. Really, if you implemented a VGA controller from the early 90s sans the backware compatible bits for MDA,CGA, EGA, etc, and opened up the line/pixel resolution you'd be there.
If you make the goals modest enough, this could probably be done with a field-programmable gate array, an external graphics DAC, and some RAM. The only tricky part is external DACs are hard to come by these days and aren't cheap. (Prior to their integration in current-era parts, they were down in the $1 range, but since they're integrated now, the only stuff that's commonly available are insanely high end workstation DACs.)
Back in the mid-late 90s, right as 2D acceleration was hitting its peak and 3D acceleration was emerging, there were netlists of VGA designs for sale for as little as $500. So designs of this level aren't hard.
If you're thinking even full 2D acceleration, it gets much harder. and if you're thinking 3D acceleration in an "open" project that would be competitive with even the slowest Nvidia/ATI parts... you're on drugs.
One alternative would be to approach an existing vendor about opening up an "old" product. However, getting a fresh production run of an old product wouldn't be cheap -- you're basically talking a million to get masks made, initial wafer lots, etc. Hence the FPGA suggestion, since that's commonly available hardware that doesn't require any manufacturing specific to the design.
However, some manufacturers may still be in low volume production with a suitable product. Someone who used to be small player in the PC graphics market years ago but isn't now would be a candidate -- perhaps a Silicon Motion or an Avance Logic (part of Realtek now, I think, though I doubt the video products are still active, tho the audio parts are) could be persuaded to open up a part that's in sustained low-volume production.
Seriously, though, if you can't offer significant volumes -- the minimum probably being on the order of 10-20K/quarter, and that's VERY small in this business -- don't expect to get much help from existing vendors.
I don't do games, and I have no use for 3D. A nice 2D card that was endorsed by the kernel and X gurus (something like ``this company is doing everything we ask to make sure we can use their hardware'') would be an easy sale to me, as long as it didn't cost much more than the low-end NVidia.
If it would do dual-head, and drive a couple of 21 inch monitors at 1600 x 1200 with 32bit color, it could cost way more than the low-end Nvidia and be a great deal.
I'll be in the market for some new hardware about the time they could get this out, too. I'll be keeping my eyes open.
See what I've been reading.
Is actually an existing company with previous experience with graphics hardware and systems software. Developing a graphics card is something they are fully capable of doing. The question is whether or not they are going to make a card that targets the open source OS market.
ATi and nVidia are doing so well converting lumps of silicon into gold because their chips are fastFor people who want to run Doom3. I for one would like to give someone my money for a card with nice solid vendor supported 3D accel on Linx/Xorg without spending a hefty bundle. Or recompiling between reboots (I run multiple kernels).
Not saying that this is a viable plan, but your analysis is off
Just use this instead of giving away proprietary info: http://www.opencores.org/projects.cgi/web/vga_lcd/ overview
Matrox isn't really in the market anymore. Their latest (as far as I can tell) card was constantly at the bottom of the performance heap on TomsHardware's last year's VGA Charts, and this year it didn't have a card on there at all.
You can mod your friends, you can mod your nose, but you can't mod your friend's nose.
You won't compete performance-wise with high-end consumer 3D cards. You won't compete budget-wise with low-end consumer 3D cards. You're going to have crappy Windows drivers unless you wave money in front of your developers to work on that uninteresting part and _maintain_ it, _and_ shell out for the Microsoft developer packages for this sort of thing.
Your revenue? Linux geeks who are patriotic enough to pay for a product with less bang for the buck than a standard commercial card, and who will take the promise of eventually-less-buggy drivers some time in the future as being more valuable than a buggy but adequate and fast 3D driver now.
The thread makes mention of hardware cost control, though they're having serious trouble making that competitive (hard to beat quantity-millions for bulk rates). However, Alan Cox's message highlights a serious problem - you have a lack of programmers for cards that specs are already known for.
The only realistic solution I can think of is to pay coders to produce a minimum adequate driver implementation for the new card (or heck, even one of the old ones). Making a decent accelerated 2D driverfor an experimental card is a few person-months of work, if memory serves. Making a decent accelerated 3D driver is a few person-years of work. The budget for this is within reason, but still has to come from somewhere. As there isn't a deeply pressing need for this being felt by most people (see previous point), the pace of volunteer development will be slow (as is shown by Alan Cox's comments about current driver projects).
I'm not suggesting taking this outside the open source community. I'm suggesting paying open source people enough that they can do this as their day job, and have _incentive_ to do this as opposed to some other interesting project.
This is the Big Problem. I can't stress it enough. Any easy way of implementing _anything_ to do with 2D graphics cards was patented a decade ago or more. Any easy way of implementing any basic 3D was patented more recently, but is still patented. Even crawling through the patent database to look for implementations that were missed will take a lot of time, and cost a significant amount of money (you need experts on graphics algorithms and VLSI design to do this, and patent lawyers to back them up; see previous point about volunteer time vs. needed schedule).
Big graphics companies solve this by doing the requisite grunt work, and aggressively patenting everything they can think of as a defensive measure. The standard way of solving patent conflicts is bitter litigation followed by cross-licensing relevant patent portfolios from each other (we've seen this in other parts of the hardware world often enough too). A low-budget open source card project won't be able to afford either of these, and both will eventually become necesary (someone will claim you're infringing no matter how clear it is you aren't, because it's in their best interests to make the claim).
In summary, the only way that I can see an open source graphics architecture being developed is if the community and donors scrape together several hundred thousand to a few million in startup capital to fund hardware and software development, and to deploy lawyers. A side benefit is that you might even be able to afford chip spins if you're on the high side of the funding scale, though it'd probably be more wise to divert the funds to multi-platform driver support and patent portfolio instead.
Variant options that come to mind:
The catch is th
Sigmentation fault - core dumped
What about patents? I can't find where the legal aspect has been discussed. While technically feasible it doesn't mean jack if it's not legally feasible.
Anyone got any info regarding what would be possible without any patent licensing?
Here's an off-the-cuff guess as to the parts cost for one board (I'm sure I have most of the prices wrong):
- FPGA $30
- PCB $5
- DAC $10
- DVI transmitter $10
- RAM $20
- Assembly $??
- Development cost $??
- Profit $??
That should actually read:Like one of the posters on the list said, if you can come out with an open and really good 3D implementation and platform, then people would probably flock to you. Sure, dirty dealing is part of business, but the momentum of a good product is hard to kill.
I bootleg Fizzy Lifting Drinks.
If you just need the 80x25 text display it is very easy to implement in hardware. I did one recently using about 1% of the resources of the FPGA. And this is something with colored text and everything. I even borrowed the font bitmap used under Linux console mode so you can't even tell the difference.
My long term goal is it use the remaining 99% of FPGA resource to build a custom cpu and port uclinux onto it. Then add a keyboard and you have a computer on one chip.
I know a compiler guy working at nvidia (In Santa Clara on San Thomas Expressway right down the road from me) and an ASIC design guy (who worked for HP and for Qualcomm before) who works at ATI in Marlborough Massachusetts.
Both enjoy work. So the employees, as far as I can tell, don't get "screwed." Tele-commuting, flex, high pay, great benefits. Yeah, that sounds "screwed."
And I have several Unixen running quite well with ATI cards, so I don't see any screwed customers. Linux, Mac, Windows and FreeBSD seems to have quite adequate support for both company's cards.
I remember the "old days" when special proprietary Unixes had to run on very rare, non commodity overpriced Unix workstation hardware with wildly expensive graphics cards running obscure 3D software that only domain experts could afford. Heck, I own an SGI box and an Ultra 80.
Whining is not becoming - these companies have given the public now/today what was seen as an impossibility, let alone the common man having these technologies, not so long ago.
Legalize the constitution. Think for yourself question authority.
I have a few Linux boxes in my house, and I can sympathize with the limitations of the current crop of GPUs on Linux. But, the way I see it, there are only a few possibilities here:
1) A company that is not Intel, nVidia or ATI designs this chip. Modern graphics chips are VERY complex, and VERY difficult to design. The industry went from 30+ companies less than 10 years ago, to only 3 today**. Most of the architects ended up at the 3 remaining companies. So, there's problem 1: lack of unemployed graphics chip designers.
Assuming problem 1 can't be solved, that doesn't mean that a GPU can't be designed. A simple chip can be designed, but it would have trouble even keeping up with Intel's integrated chipsets. So there's problem 2: not powerful enough to do much of anything.
If the chip were to ever turn a profit, lawsuits would be flying from Intel, ATI, nVidia, and probably anyone else with any graphics IP (Creative anyone?). The point being that it would be virtually impossible to create a chip that doesn't infringe on existing patents. Say what you will about patent law, but that's the way it is. There's problem 3: lawyers.
2) nVidia or ATI designs this chip. It would be considered only if there were a large enough market. Unfortunately, even if every Linux user were to buy one, the market there is extremely small. Here's the overly simplified equation to determine the minimum price of the chip on store shelves:
And it's a moving target, in that the more it costs, the fewer potential customers.For argument's sake, lets say that it were profitable to do this. Since both nVidia and ATI have an interest in not letting the other know of any hardware tricks, the cards would be slow and crippled. Just like option 1, this chip would not be powerful enough to do much (probably along the lines of a GeForce 256, or Radeon 7200).
3) Intel designs the chip. Don't laugh. This is the most plausable solution so far, but still just as unlikely. Intel only makes integrated GPUs, and they have the largest market share in that segment. They compete with nVidia and ATI by pricing their chips extremely low, not on performance. Their graphics chips are treated like swag just thrown in to sell their chipsets. If it looked like Intel could sell a good amount of chipsets by doing this, I think they'd consider it. But it comes down to market share again.
In any case, just like option 1, this chip would not be powerful enough to do much of anything (see the pattern yet?)
4) A group of independent engineers/academics/hobbyists create the chip. Only possible if some philanthropist donates a ton of money to the cause. Assuming everyone works for free, the necessary tools alone will cost close to $1M, and the cost to create the actual ASIC is insane. And don't think that you'll get it right on the first try...or the second...or the third...
Or you could just put it on a really big FPGA. See option 1 for extremely optimistic performance characteristics.
I apologize for raining on /.'s parade. The real--not living in a fantasy world--solution to the GPU problem on Linux is not getting open-source hardware/drivers. It is to keep increasing Linux's non-server market share. It's a cliche, but money talks, and the IHVs are more than willing to listen.
**yes, S3, Matrox, et al are alive, but control only a very small sliver of the market.
I get a deep gut rage when my Linux box that used to run for hundreds of days at a time freezes in the %$##@! Nvidia driver because a screensaver came on.
Not knee-jerk activism. The article was a person that claimed to be from a bussiness, asking a bussiness question, and that's the kind of answer I gave. Sorry, but it's the truth. If you think that there will be serious sales of a 2d graphics card that costs more than many 3d cards, you are kidding yourself. As a project for fun, this would be really cool and I'd say good idea. As an actual idea to make money, it's crap because it won't.
It's like say you came and told me you wanted to design a web browser, but only one that did HTML 3, no CSS or JavaScript or layers and so on, just simple HTML, as a personal project. I'd say cool, and great luck, sounds like a great way to learn, and might develop to something cool. If a company asked me should they spend money to develop that becasue they'd like to sell it, I'd say never, because there are better browsers out there for free.
Also hardware isn't like software on this level. You don't just go throw a graphics card together from parts at RadioShack. Even if you have the full specs, you need a company to produce it and that is expensive. It's not like precision chip fabs are easy to build or cheap to operate.
Oh and yes, ATi and nVidia WILL survive, so long as they make money. If they don't, it'll be because someone else is. They also aren't teh only two, S3 and Matrox are two other major players, and there's probably a few more I forgot about.
Your legacy architectore argument is stupid too. If you build something on cheap, commodity hardware with no support contract, you've no right to bitch when it fails. YOu replace it with more cheap hardware. If the system must be kept running for decades on end on the orignal platform, you pay for a system that does that. At work we have an IBM 390 mainframe that is about 15 years old. IBM still supports it and maintains it, and we pay them for a yearly contract to do so.
Get off it, an open graphics card of this nature solves nothing worth solving. It's not a serious competitor so they aren't going to sell or force a change. It's a neat idea, but only if implemented on hardware with an actual chance of having a market.
...free!
Concider the pocket calculator. Every low end pocket calculator is now made in China and the wholesale cost must be $5 or less each; yet these calculators have all the functions that a $100 calculator had just 10 years ago.
The same process will happen to graphics and video cards. The chinese will license and tweek older card designs and flood the market with $10 cards that are "good enough" As they will be running very low cost operations there will be no desire to spend money developing and supporting in-house drivers.
If the Open Source community wants to lobby any company, start with these chinese companies. They will be open to any method of reducing costs.
Instead of having OTHERS making an open-spec graphic cards for the opensource community, let me throw couple of questions to all:
Knowing what we know now about nvidia and ati graphic cards, what they do and how fast they do their stuffs, is it possible to somehow invent a decent graphic card from scratch ?
If the above question is yes, then, how much you think it would cost ? Including R&D, finding ways around patents, prototying, taping, manufacturing, and so on, until the thing is on the store shelf ?
Community-force have done miracles, Linux is just one of them. But so far, this happen in the software arena, not hardware. I do understand that it's a totally different arena altogether, that's why I throw out the feasibility question and the cost question.
Someone did some calculation and figured out that Linux worth 500 Million or so. Now, let us figure out the rough worth of an open-source/spec piece of essential hardware.
Thanks !
Muchas Gracias, Señor Edward Snowden !
I have implemented a video card in FPGA using a sim. I've done extensive testing and come to several conclusions.
1) You can't (even with EXPENSIVE) FPGA chips build a graphics pipeline that performs more than just moderately well.
2) FPGA chips lack the performance to make good use of high end RAM products
3) Simple VGA compatibility is not a major issue, can be done in very few gates (mouse cursor acceleration is the exception). Higher resolutions with a VESA interface are even easier since VESA typically is operated as just a frame buffer device. Also, VESA generally runs without palette mapping. 15-bit per pixel minimum can be forced
4) Acceleration becomes an issue, rectangle clipping is easy, region clipping is not (lots more gates and registers required). Alpha blending is not too hard on a range, but intelligent alpha blending is more problematic. YUV support is sort of easy, but still, in combination with region clipping becomes much more complex.
I can go on for a while, but I believe that my point is being made. You can't make a competative video card in a FPGA chip.
That being said, I've also investigated using large scale DSP chips in combination with FPGA and the performance gain was substantial. Still roughly 50% of a comparibly clocked card from ATI or NVidia, but much better.
I think that for the purely acedemic value, this is a great project. I also think this guy could sell at least a few thousand of them to hobbiest.
Now if you want to make something really cool, get a Motorola G4 CPU (heard they're cheap these days), mount them on a PCI or PCI Express card, then provide a HIGH SPEED bridge between the host machine and the card. Do this for a low cost and I think you'll have the entire "Brew your own supercomputer" community as well as the "I want to run Mac OS X on my PC" community banging at your door. I've seen another card that does this but comes with 4 CPUs and costs over $10000. Do it with one CPU and leave that board open.
Okay, Free Software community aside (we already know our answers and reasons) - why should a hardware manufacturer hire a team of experienced coders to write drivers for every platform out there? They can save quite a lot on just releasing a "bare bones" driver i.e. for Windows and providing only some Q/A and help (AND full documentation) and have Linux, BSD etc drivers written for free? :) They make their sales from hardware anyway, drivers are and always (or at least for a very long time) have been available for free and as long as new features in drivers are coming, they just boost card sales.
So... why pay when you can have the same thing for free?
And as to "opening up the design" - add some fast layer of indirection or something alike, just obscure the hardware a -tiny- bit and you're safe - competition won't steal your hardware design - hackers need the API hooks and specs, not internal plans.
Anagram("United States of America") == "Dine out, taste a Mac, fries"
Graphics cards have become the single greatest hassle when installing Linux. Many of them don't even work correctly in frame buffer or VESA mode anymore, and if they do, they are slow.
I think that we are in for a major change in graphics hardware, going from more proprietary, special-purpose hardware to basically vectorized general-purpose hardware. If you keep the card more general purpose, you will probably at least get lots of orders from universities and research labs working on new ways of doing 3D graphics and using 3D graphics cards for compute-intensive applications.
On the other hand, Linux hardware vendors and users would probably also like to have a cheap, low-end card that just works with every OSS and supports commonly used functions. So, something with good 2D acceleration (both bitblit and Postscript models) and some cheap 3D support would serve those needs. And such a card could also become popular for Windows if it accelerates Windows desktop functions well and (in contrast to all the proprietary trash that's out for Windows) has a simple, clean, and hence reliable, driver.
A couple of points, though. First, it's probably the high-end open 3D card that would pay the bills, at least initially, and it would be sold to a niche market. But a high degree of programmability and flexibility would be its selling point. Second, sadly, decent Windows support would probably also be important for it to sell well because many people still want to have the option of booting into Windows.
I think this could be a good way for a smaller graphics card company to get a steady revenue stream because, while the market is small in relative terms, it is probably a decent size in absolute terms and you'd have it largely to yourself.
Oh, another thing that would be important would be good marketing: banner ads on OSS sites, getting the drivers into X implementations, making sure the major distributions include suport, etc.
I know nothing about how much money, time and resources are required to design a graphics card or layout an FPGA. However, my uneducated initial reaction is that this would be very tough to pull off financially. I'm afraid that most of the posts on /. and KernelTrap aren't particularly enlightening either. The variations on "if it's cheap and plays Doom III", and "I'll buy one, maybe two, then another one in 3 years" really aren't helping to make a business decision.
My view, is if there were ways to play off the FPGA and the openness angles to find some niche markets that could foot the development bill and provide some manufacturing volume, there might be a way to pull this off. Later, as the design improves, the bill of materials goes down with volume, and Moore's Law helps performance, the design will make more sense for more and more mainstream markets.
What niches? Well, I don't know. A semi-cheap, semi-standard way to get an FPGA must be useful for someone. Maybe include special video processing functions that enable dirt cheap embedded CPU's to do motion detection? Maybe an all purpose, programable co-processor for HPC apps that happens to render a GUI as well?
Where does the cross platformness that a fully open source driver and known design have the most benefit? Heavy industrial tools? Science? Interactive TV? Security? My bet is on some sort of embedded market.
Then there are creative financing options that might be useful, things like preorders, sponsorships, bounties. Maybe not starting with a fully open license, i.e. split out the driver core like nVidia, but have a contract with someone like the FSF to open source the complete driver when a certain volume has been achieved.
Anyway, I've probably done enough uneducated rambling...
Matrox is kinda a non-option to me (I like my games), but this sounds out-right silly.
a) Matrox don't have any major-league proprietary drivers. Their strength is 2D, which isn't exactly rocket science.
b) Most people (at least not on slashdot) don't see Linux as a gaming OS. A "serious" desktop? Certainly way more likely than as a gaming PC.
In short, Matrox seems to be alienating a group that seems well aligned with their overall strategy (the 2D market). A strange move, if you ask me.
Kjella
Live today, because you never know what tomorrow brings
Your choices affect to the future of Free Software. They may support GNU/Linux, but not Free Software with their drivers. If we want to have a completely free system, not one which is a mosaic of free and non-free parts, then we have to buy hardware whose makers value our freedom.
quoting rms:
I believe that capital is the difference between software and hardware development. For those interested in writing software, a computer is probably available and thanks to GNU and others, no more money needs to be spent. Find a good tutorial and get coding.
However, there's a little more to hardware development. You may be able to perform the design stage without spending any more money, but when you actually need to start making silicon... where's the money going to come from? Unlike compiling code, making chips and PCBs costs money. By the standards of most individuals, a lot of money. As much as I like the sound of this idea, I don't think anybody will be willing to risk their money on this.
Of course, some generous donor could come along and help, but I think that's somewhat doubtful.
-ReK
md5sum -c reality.md5
reality: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
All performance issues asside, but I don't think that such a card, even if fully open sourced could really work better than the a regular nVidia one with closed sourced drivers, which is really extremly easy to install compared to a lot of Open Source stuff out there. After all I went for a Geforce card instead of a ATI 9200 (for which the specs are available to the DRI developers) because of exactly this issue. I don't care to much about OpenSource if that still makes it a hell to get it working.
That said, I don't think the advantage for other architectures would be that huge, ie. in Macs one doesn't have much of a choice for a graphic card, but simply gets what is inside and who in their right mind would replace some ATI 9700 or whatever against a slower, probally not by MacOSX supported 'OpenSource' graphic card?
Overall, yes, having a graphic card with fully OpenSource drivers would be nice to have, however nvidias Linux support so far is great and I don't think that an inverior OpenSource card would really help all that much. Its probally easy to just ask ATI or nVidia how much money they want to open the specs and then just start a little 'call for donations', however even then people would need to develop an open source driver themself, which will probally never get better then the default ones supplied by the manufactors.
It has no branches. No loops.
Matrox is kicking ATI's and Nvidia's butt in professional cards.
Matrox is the only vendor with the 4 head cards for CAD, ATC, GIS, Military and other professional workstations. they have the absolute smallest dual head cards on the planet.
and Matrox capture/editing cards kick the ever living crap out if the utter junk that ATI and Nvidia offer.
Also, a friend of mine in the Airforce, they use matrox exclusively in all important computers.
Over in the NOC every workstation has matrox cards in them along with 4 monitors.. something that is impossible with ATI and Nvidia.
Do not look at laser with remaining good eye.
Yeah, but no docs. Matrox used to have a great Developer Relations site which was easy to register with (Unlike say, ATi) and had complete and useful register-level documentation for all of their chips, and useful resources for third party components (E.g. links to the RAMDAC docs). Then, when they released the Parhalia, Matrox underwent some corporate metamorphosis into a bunch of bastards and pulled the Dev Rel site, pulled all the docs and clamed up. No docs, no support, and only unsupported Beta drivers for anything newer than a G450.
It was nice while it lasted.
This is *not* a Video card with an FPGA, this is an FPGA-card with Video-out capabilities; that is: a customary programmable FPGA board at the price of a mid-range Graphic card. The VGA-core (2D or 3D doesn't matter a bit) is really nothing more than a demo application and probably the first thing which gets replaced when this baby is put to the use it is meant for: video- and signal processing, I/O+control applications and custom hardware acceleration (crypto, compression, ECC/FEC, you name it ...).
See that I can plug in a camera and those video pattern-recognition tasks which now require custom built DSP- or FPGA-boards can suddenly be run on commodity hardware. Attach a micropohone, and we're talking about next generation PC speech recognition. Add some spare I/O-pins and get 1us response times for your hard-realtime applications by "hard-wiring" critical IRQ-handlers on the FPGA.
The potential for bringing FPGAs to the PC mass market is HUGE and even more so in the context of OpenSource. Once supported by the OS, resource demanding programs might ship with their own FPGA acceleration modules. This product might have the potential of becoming the standard for this new technology.
IMO, the key is to not focus on leading benchmarks but making the card feature-complete and easy to integrate into X Windows. Raw performance usually just isn't that big of a deal (any decent 3D card made in the last five to seven years is adequate for many people's work).
This means:
- a genuine and complete OpenGL implementation (most but not all needs to be in hardware)
- tested and easily installed drivers for the newest and previous major release of X Windows for Linux and at least one of the BSDs.
- an ability to drive respectably high resolutions at faster than 60Hz.
- focusing on visual quality over speed (antialiasing that doesn't suck would be nice)
Make a usably fast card that produces a very nice display output that also works nicely with X Windows, and you can have a very nice slice of the market. Give it basic modes for dealing with Windows' default drivers, and you could probably make a profit just off of the Linux/BSD crowd who are happy to finally have a company that cares. Get it packaged in those Wal-Mart/Linspire/Xandros/JDS PCs, too.
-- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak