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?'"
Does your company have to divulge any proprietary secrets in order to leave everything open for this card? If so, is that okay or does that do them harm?
http://www.busyweather.com/
Can it be cool and still be royalty-free? Or are you going to get shut down by the big boys for stepping in their patents?
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.
What? Create a functional and supportable video card that is platform agnostic and will just work? The problem is, it is too logical. Unfortunately, it won't work in todays economic environment. Unless you are screwing over your competitors, your customers, or your employees, you can't make a buck.
I like the idea. My only thought is, are they going to have enough pull to make this happen? Graphics cards are much more than just throwing a few hundred million transistors on a chip. You have to worry about pipeline architecture, parallel texturing units, and (most importantly) well optimized driver software.
Can this company create a card that's competitive? And if they can, will they get pushed out of business through patent litigation?
Javascript + Nintendo DSi = DSiCade
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'm in!
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.
It's serving a small market(right now), requires thousands of man hours of design and testing, requires expensive fabrication equipment(too expensive for this company probably), and is unnecessary because current video cards work fine under Linux. At least well enough that spending $500 to buy a mediocre card by a small company is out of the question. And yes, it would most likely cost that much. With little demand, high development costs and high fabrication costs, it will be that expensive.
Hurricane Ivan: A 17th century prison collapsed. All of the inmates escaped.
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? Obviously it's not the same but hopefully, if they all planned it well, and by the article it shows that they got a nice idea, I'm sure a project such as this would get sufficent support to progress.
For those who didn't RTFA, the guy is talking about an FPGA, not an ASIC. Reasonable 3D is a pipe dream. OTOH, everything would be open spec: BIOS, card layout, and everything. As an FPGA it would be completely reprogramable.
I think it'd be great to hack around on, but considering the price of perhaps $100 I don't see this selling in quantity.
Seriously. nVidia already has kick-ass hardware and the best drivers available under Linux, plus one of the best, if not the best, installer for Linux that I've ever used. It would probably take less effort to convince them to open up completely than to create a new card.
Do you have ESP?
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
Nvidia are extremely open-OS friendly. Their driver itself may not be opensource but they have excellent driver and developer support under Linux and BSD, and the graphics card market is so cutthroat that if they were to divulge driver secrets, it would be suicide. Keep in mind that one of Nvidia's huge strengths has always been their driver technology, which is miles beyond ATI.
I have always been extremely happy with Nvidia and at this point I see no reason to buy any other make of card.
Yes, it would be nice if they could opensource more of their technology but I can't see that happening. I think they've bent over backwards to provide support to Linux, more than any other competitive graphics card company.
Intolerance for ambiguity is the mark of the authoritarian personality.
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.
So please do it. I know some Linux users take pride in their amazing ability to get some piece of not-really-supported hardware to function, and in fact there are whole companies which provide installation of Linux on unsupported laptops as their business, but this is not fun and is a waste of time.
When can I buy it?
Seems that most people here didn't bother to read the article. (Big surprise.)
This is a 2D only card. He would not try to compete with BigBadVideoCardVendor. He knows that development of a competitive 3D card is out of the question for now. But you have to start somewhere.
Unlike an opensource software project, an "opensource" hardware project can't "show me the code" in order to gain legitimacy and gather developer attention. He's looking to see if there is real interest so that he can make a case to his boss. He seems to understand the risks involved, and I hope he can make it work.
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.
for those of us that read the article, we see that the entire nVidia/ATi argument is practically moot. the developer explicity says that the card will be primarily 2D because his employer won't give enough funding to produce an ASIC. Thus, they're using an FPGA and will only really be able to implement a 2D core.
[move
A nice useful mid range card at a competitive price. I'll take 2, To start with and more later. We are starting to sell dual boot systems at the white box store where I'm a tech and sales type. We have sold a few in the last 2 months, some Fedora, some Suse, and one Mandrake. A nice mid-range card supported on Linux and Win XP would be perfect. Just make it a bit cheaper than the Radeon 9600, with similar performance and I'll be able to sell the hell out of them. One of the biggest complaints amongst Linux users is support for video and audio.
Professional Politicians are not the solution, they ARE the problem.
Just a reminder, drivers are a cost for video card manufacturers. They sell a card and have to bury the cost of driver development and maintenance into the cost of the card. Open sourcing driver development lets a card manufacturer profit from the hardware while the community develops drivers for them and they get good karma to boot. This would be a fairly inexpensive/low risk way for a low-end (PCI only it appears at the moment) card manufacturer to get their "foot in the door".
Only the "big boys" (Nvidia and ATI) have anything to lose by open sourcing their cards. People would actually see to what extent they fudge their cards and drivers for benchmarks.
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
It may be technically feasible, but what about financially? The interesting thing about open-source consumers is that they're mostly talk, but when it comes down to actually buying all of they stuff that they claim to want for Linux, they don't vote with their dollars. Just look at the failure of Lokigames to make a profit, not to mention id's big profile attempt to push Linux by doing a simultaneous Linux/Mac/Windows release of Quake III - sales of Linux Quake III were abysmal.
Expecting geeks to pony up a few hundred bucks for an open-source video card that has little if any chance of competing with ATI/Nvidia on speed seems pretty unlikely.
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.
Please come up with something original not "FreeGeForce" or "OpenRadeon."
This guy is way out there
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
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.
Yes it definitely makes sense to develop such an FPGA-based board and letting FOSS crowd to hack the FPGA code similary to the software. FPGA are really powerful toys these days and can easily compete with ASIC devices. Total reconfigurability extends it's lifetime a lot - I know that the cameras http://developers.slashdot.org/article.pl?sid=02/1 2/04/1526226&tid=8&tid=106 are shipped now with much improved "hardware" without any actual changes on the boards.
Are there any graphic cards that natively support rendering of Ogg Theora? What about wavelet BBC Dirac that is still in alpha stage and many specs are not finalized? Can _any_ of the high end cards do that?
The FPGA-based with the open HDL code can. And will support bleeding-edge just emerging tasks, formats designed after the hardware is manufactured.
Concerns about the licensing and patents? Yes those are nasty things. But have you ever downloaded any applications or drivers to your Linux box separately from the distro you've got? Because of the "licensing issues"?
That can work for reconfigurable FPGA too. Still I prefer to avoid those - our next cameras (FPGA code is under development) will support Ogg Theora, not MPEG*
And we will be happy to buy such cards and ship them with every our camera.
Why do the current video card vendors feel the need to have their own custom hardware interface anyway? They all have to ultimately provide OpenGL or DirectX drivers anyway, why not just implement OpenGL or DirectX on the video card's BIOS?
Remember back in the day when the VGA cards first came out and how you had to custom program for each video card? Then the VESA standard came out and made things much simpler. I ask again, why not do the same thing for hardware accelerated 2d and 3d cards using existing standards like OpenGL or DirectX?
The would still protect their proprietary GPU design, while making video drivers trivially simple at the OS level as well as platform independent. Need to update the "drivers"? BIOS flash...
Or is there some compelling reason AGAINST doing that that I'm missing?
I currently own a couple of nvidia cards. I enjoy that NVIDIA is providing 3d accelleration for my installed software. What this Free Software Friendly board is capable of is minimal. It's essentially an ancient 2d acceleration. 3d support is off the table. I can find that elsewhere; I think there's a few OSS drivers that do that with proprietary cards. Perhaps they can't work on obscure platforms. I don't work with obscure platforms regularly, thats why they're obscure!
From a ROI perspective, you have to convince me there's some improvement over the status quo. I couldn't care less about the source. I know that 3d graphics are among the most alien software topics to developers. Its difficult, especially when you're mixing it with low level programming in a performance sensative environment. Not providing 3d means I'll look for a second card. More likely, I'll be looking at a different card that offers more functionality, even on Linux, at 50 dollars, than this can offer at 100.
Simply put, an free-software friendly board lacks a community to push it forward, and I don't see it treading water among the highly competitive graphics card market. If you want this to sell, you need to identify and explicitly cater to your niche market. Promote it as a learning tool, and grease the community wheels. Just putting it out there and expecting the world to recognize its value won't net you much.
I Browse at +4 Flamebait
Open Source Sysadmin
My answer is an unqualified "No, do not go forward, there is no market." The market for 2d cards is totally dead not because people don't use systems just for 2d work, but because there are so many that can be gotten very cheaply, and driver support for all platforms is great. I can easily get a 2d card that is fully supported under Windows, Linux, BSD, BeOS, etc, etc. It's getting a 3d card that is likewise supported.
So I don't see any gain here, espically since it's likely to be more expensive. You aren't going to see many people except hard core OSS zealots use a 2d only card simply because the architecture is open.
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
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?
Closed-source drivers may be good enough for ordinary users, but for a hobbyist doing much low-level development work, a piece of mysterious code (especially in the kernel) can become a significant hurdle. It also means that I can't have my kernel too different from a Nvidia-tested one (their current wrappers can accommodate ), which is sometimes needed for some advanced bleeding-edge feature. Sure, they kept up with the 2.6 release relatively well, but who knows about future releases? Or what if I used a patch from IBM to have some feature not normally needed by gamers? With source at least I can do something, which is a warm fuzzy feeling even if I may not have the time for it.
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.
Damn, there isn't a single good comment in this whole discussion... Does anyone here realize what a huge difference a fully-open videocard would make?
Yes, you'd have working drivers, which is valuable, but barely worth noting. The big deal will be the more advanced features.
HDTV is developing pretty well, and even if you can't get HDTV broadcasts, there's plenty of HD material on the internet. Unfortunately, most computers aren't fast enough to play 1080 material in any format, and I'd bet there's a few that can't handle 720 video encoded with MPEG-4, WMV, etc. The real answer is to have hardware decoding... MPEG-1/2 are all that we see now, and even that is pretty rare under Linux. I happen to be lucky on that front, but xvmc doesn't allow you to deinterlace before it's displayed, so it's fairly useless at this point.
When you have all the specs for the FPGA, you can just download the latest upgrade, and have full-fledged MPEG4/Theora/WMV decoding on the same videocard, meaning a 100MHz PC could playback HD-DVDs perfectly. No doubt Tivo would be equally as interested in the features of this card.
Even if you don't have a videocard powerful enough to decode your favorite codec, you'll still get serious gains from it being open. If you check-out mplayer's vidix drivers, you'll see that you can get serious performance improvements if the developers have the docs for the card. It's hard to explain what a HUGE performance boost you would get from having a fully-open card.
Plus, FPGA programming is getting a bit of attention lately. It wouldn't be hard to imagine companies setting up clusters of computers, and filling every available PCI slot with this graphics card, and using the cards to do most of the calculations. Remember the PS2 cluster? Imagine the processing power of that, but on steroids.
In addition, think of all the groups trying to setup display-walls, with multiple monitors. Being able to do that much easier with this card could make it a big seller, if nothing else...
As someone who has setup several Unix machines for multimedia, I think there would be a big market for this, even if it costs, say, $60, and has no 3D support. If you think you need 3D support everywhere, you're probably mistaken. If you're running anything other than x86 (or maybe MacOS on PPC) you've got practically no options for hardware-accelerated 3D anyhow. So, putting a 2D card in there, instead of wasting money on a new Radeon, makes everything work better, and you loose nothing.
Personally, I have only 2 suggestions.
1. Make it as cheap as possible, while still being fully functional. If it sells for $30 (maybe after a few months) I'll buy dozens of them myself!
2. Include as many output options as you can. I use S-Video a lot, but very few have interlaced TV-output support. DVI is important for those with LCDs. Composite looks like the next standard for HDTV output, and that could turn into lots of sales (especially if your card costs less than ATI's Radeon/HDTV adapter!). I've heard lots of cards don't work with HDTV well because they can't output an interlaced signal at HDTV resolutions.
Dual-head support would be very nice, at least if you can include dual overlay support with it. Then you only need 2 cards for a 4-head Linux system.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
A path that could be very fruitful is to design a video card to be used in a TiVo-like device. In particular, in addition to the good suggestions involving the Render and Damage extensions, a 2D-only card should do some hardware accelerating of IDCT and motion compensation, so that i.e. DVD's and MPEG-4 files can be played with a very minimal CPU. Work with systems integrators that are willing to put MythTV on a silent fanless system with a pcHDTV card and your video card/chip. This could be a good way to go for smaller but demonstrated market, where the part is easier to design than a 3D-nvidia-ati competing beast. Actually doing the video and TV on the same part is a good idea, if it can be done, since these machines are usually space and PCI-slot constrained.
I do not think, out of the gate on a small budget is reasonable or feasable to get a 3D part. It would be better to start small, and plan some features for the second generation. For funding, take pre-orders. Oh and hype the shit out of it, on slashdot.
Secondly, how feasable is it to put a cheap off-the-shelf CPU on the part to handle the 3D workload. Certainly that's faster and cheaper than a FPGA. CPU's with MMX or Altivec instructions can be had in the 1-2 GHz range for < $50.
-- Bob
1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
To those who find binary drivers too distasteful, but still want to find the best card for their needs: the DRI project has a very useful catalogue of supported cards to aid you in your selection.
For example, there documentation on ATi's cards: http://dri.sourceforge.net/cgi-bin/moin.cgi/ATI
I recently picked up a ATi FireGL 8800 because of information on dri.sf.net and have never been happier with a card. It doesn't perform as well as the FireGL X1-128 that has now moved to my secondary workstation, but not having to deal with ATi's drivers and having the 8800 work equally well in FreeBSD and Linux is more than enough of a reward.
I have also used nVidia's binary drivers (with a card that has moved to a media box), but they are not ideal either. I will say performance is remarkable however.
I suppose my graphics needs have become more modest, however, and others may have more pragmatic concerns.
Matrox? Don't count on it. They've just "recently" gone from being one of the best supported video card makers, both 2D and 3D, in linux, to one of the absolut worst after they switched to a closed source model of providing their own drivers.
"Worst?", I hear you say, "How can that be? My ATI doesn't work great either!". Well, consider this; It's been almost a year since their last driver was released. It doesn't support Linux 2.6 yet. People are trying to patch things up, but it's a losing battle. It doesn't support SMP either, which means that any P4/HT users are out of luck. And I'm not just talking about not actively enhancing the drivers for SMP, no, it will outright crash and bring the the whole computer down with it if you som much as think of starting an OpenGL application. Oh, and while we're at it, there is of course no support at all for AMD64.
Quite frankly, Matrox has remained so apathetic to the Linux crowd that I'm now convinced that they tricked us all just to get our money, and deep down inside they just hate us.
Slagborr
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 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.
It might be more worthwhile to work on better relationships between Linux developers and Via. Via sells a large fraction of the motherboard chipsets (if it's not Intel, it's probably Via) and, as a commodity part manufacturer, doesn't have a strong business interest in a proprietary interface.
If Via can be brought on board (assuming it isn't already) that provides more leverage for dealing with other vendors, like nVidia.
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.
Make an X.org accelerator - There are a lot of people who dont care much for pushing polygons, but would love to have a fast, high quality grahics card that intergrates with X.org or XFree86 and works without hassle.
Support multi-head operation with robust Xinerama support, good colour calibration etc. and provide hardware acceleration for compositing, video4linux overlays, SDL hardware blitting, X primitives, Freetype font renderers, DirectFB acceleration - this card could form the heart of every low-cost or embedded linux system sold in existing or emerging markets round the world, and provide significantly better 2D desktop acceleration than ATI or NVidia, who seem to put 100% of their efforts into appeasing the Doom3 players.
Even if its not a match 3D-wise to a Geforce FX6800, it wouldn't be hard to do a better job of supporting Linux APIs than 90% of the manufacturers out there.
I gots ta ding a ding dang my dang a long ling long
From the web page:
...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.
Hmmm. When I wrote the parent post, it hadn't registered that 3D was off the table. So I guess the question is more like this: a sorta cute goth girl walks up to her geek friend and says "Technically, I'm a sure thing. Should we do it?"
Sure, she may not be a blonde cheerleader who shaves her pubes and has bisexual hot tub parties with her girlfriends, but still, the goth girl might be worth considering.
My Greasemonkey scripts for Digg &
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 !
You'd be surprised how much of a market does exist for computers which aren't a l33t 3D gaming machine. Think: corporate market.
For example, there are more servers sold with an ancient 2D ATI Rage graphics chip on-board, than gaming machines with a GeForce 6800 Ultra. Or, heck, until very recently Sun still sold workstations with a renamed ATI Rage PCI card in them.
The problem however is that
1. that's a bulk low-profit margin market. It's not about selling marked up boxed graphics card, it's about selling bulk chips at mere cents above the manufacturing cost.
2. it's already being savaged by integrated graphics. OEMs already operate on single digit profit margins. It's increasingly hard to justify even the extra traces or mobo space for an extra graphics chip, when for 2D any integrated graphics are already good enough.
3. Competing for merits -- _any_ merits, including OSS drivers -- in the 2D market it's gonna be a major feat. For 2D _all_ current chips are supported well enough by F/OSS drivers.
A polar bear is a cartesian bear after a coordinate transform.
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...
The idea is that there would be an "operating system" in firmware on the video card--or perhaps a beefed-up BIOS. Video card makers would handle the differing raw hardware interface with this "GDOS"and from the PCs perspetive the interface would be the same..so the main computer OS could use one driver for whatever GPU is used.
cool idea...might be a good compromise for ATI and nVIDIA. They should agree on a standard "GDOS" specification and write implementations for their cards firmware, which would replace the pre-compiled, closed-source driver. They could then leave it up to Microsoft, Linux developers, etc. to write a single, standard, OpenGL-capable driver--basically a 3D version of a standard VESA driver.
Putting the "secret sauce" in the firmware means they really don't have to talk X86 if they don't want to-it could be a lot of special, proprietary microcode if need be. It also wouldn't be platform-specific so they could concentrate on making great video cards instead of writing drivers (which most often they are crap at doing anyways).
It is well known that various drivers and OSes with the same card result in significantly different performace. If a driver is buggy or slow, then they can yell at Microsoft or Linux developers or whatever to fix it...right now they have to shoulder the responsibility.
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.
The Tao of math: The numbers you can count are not the real numbers.
It has no branches. No loops.
The linux/*BSD community is always more than happy to pay about half what it costs to make something. So unless you're cranking out tens of thousands of these things a month, you may as well not bother. The linux/*BSD community isn't big enough to support a flow of tens of thousands a month without the windows market there to help.
I wish these guys well; but don't predict much happiness.
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.
The other thing is that Matrox is boring. It may not do Doom 3, but is is really, really stable. ATI and Nvidia don't offer crap, but state of the art complex 3D drivers are not what you want to draw some graphs and reliably show tables.
See my journal, I write things there
Thanks for thinking of us, whatever the outcome!
As to the "should we do it" question: assuming that one is not legally restrained (by third-party licensors, etc.) from Revealing All, I'd say it boils down to this: how much money do you make selling graphics card drivers? I thought so.
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