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?
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.
That's probably because you've never tried to get the accelerated features of the videocard, you know, the parts that made it so expensive.
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.
"You and your third dimension."
Sure, maybe so -- but why does it have to be so difficult to get just basic raw audio support?
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?
It isn't like audio cards are solving quantum cryptography or pushing the envelope of technology or something. They're playing audio! With ALSA linux finally has a lovely audio architecture, but it doesn't count for much since the drivers to make it work are such a fucking pain.
The nature of audio cards and what they do hasn't really changed in 10 years. Why is it that the software support for these things is so immature even when compared to crap like video cards that are bleeding-edge marvels of technology?
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.
You still have to be competitive. My point is that having a 3D card that can't even keep up with a three year old Elite3D is not competitive. If they can get within reasonable percentages (both in performance and features) of existing cards, then these cards would be viable.
Javascript + Nintendo DSi = DSiCade
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.
hell, add special features for X11 Acceleration and the deal gets sweeter.
Snowden and Manning are heroes.
The PC speaker is like the CGA of music. Both of which should have been left in the dust of time, but IBM cut corners on the first PC, and the PC speaker is still with us.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
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.
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.
Please come up with something original not "FreeGeForce" or "OpenRadeon."
This guy is way out there
"Seriously. nVidia already has kick-ass hardware and the best drivers available under Linux..."
Look through the Linux Nvidia forums, then tell me they're the best.
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.
I agree the IBM-compatible speaker isn't good for much. But it isn't totally worthless either. You have to have some way for the system to make basic noises even when the sound-card driver isn't loaded. Or, in the case of most servers, when there isn't a sound card at all.
I suppose the "VGA of music" was the old SoundBlaster16 standard. Too bad it was basically tied to ISA because it would still work well enough.
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.
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
Linux and FreeBSD, both i386 only is not good enough. What if I am running NetBSD on a Mac? Open source drivers are the only option, plain and simple. And nvidia and ati don't have to write them, they just have to give up the specs to let other people write drivers. This wouldn't even comprimise their precious IP either.
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.
I think a cheaper alternative would just be to get an NVIDIA card and use the open source "nv" driver.
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.
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
6800 > X800 *PERIOD*
IIRC the X800 only requires a single slot and doesn't need a nuclear reactor to power it, unlike the 6800 Ultra
Snowden and Manning are heroes.
The reason video cards are so expensive is because they contain massively complex graphics processing units to do 3D calculations.
PCI modem, video tuner and sound cards on the other hand can be bought for a tiny fraction of the price, even ones produced by backroom outfits.
If this video card was high quality but 2D & DVI only, then it could be produced fairly cheaply, and would suit environments which want a cheap 2D video card that is assured a smooth ride with Linux desktops.
Companies rolling out thousands of Linux desktops would be friendly to it. Businesses would buy it.
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.
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.