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.
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
What are Matrox and VIA doing these days?
Help fight continental drift.
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.
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
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
> I'm currently sticking with NVidia cards simply because they support FreeBSD, Linux, and other OSes. ATI might have a slight performance lead (although things have gotten pretty blurry with the recent batch of cards), but that isn't enough for me to leave a company that I know I can trust.
As soon as you start talking Linux, the performance advantage of the Radeon 9x00 vs it's GeforceFX equivalents vanishes.
As soon as you start talking Radeon X800 vs Geforce 6800, the Geforce is clearly ahead on windows. And there are no X800 Linux drivers yet AFAIK, so that's clearly a wash. But even assuming they were availeable we can extrapolate from both companies' track record and assume the 6800 drivers will still be better.
In summary:
9x00 > a similarly priced GeforceFX *ON WINDOWS*
GeforceFX > a similarly priced 9x00 *ON LINUX*
6800 > X800 *PERIOD*
Now, it is possible to find a benchmark on Windows where the X800 outperformes the 6800, but they are few and far between. And since we're mostly interested in FOSS OS's, who the hell cares anyway?
The unofficial
I would absolutely consider buying a card like this after my experience with ATI's drivers in linux. In fact, I've often wondered why there hasn't been a company like this years ago. The user base for linux has grown substantially in the last few years, and considering the hoops you have to jump through to get 3d graphics support working in certain cases, I think there is definitely a market for such a video card. Let's remember that there are many users out there using older/legacy machines to run linux, and don't necessarily need the latest and greatest [read: 6800GT/X300] as their graphics card.
I would be THRILLED if there was a card out there for $150, where I could compile the drivers from source and run OpenGL-based games at a decent speed on this computer.
Like some others have said though, while I don't expect them to be competitive with nVidia and ATi's higher end products, I WOULD like them to provide moderate performance, perhaps on par with a lower end radeon cards. The lower end ATi Radeon 9200 provided excellent performace per dollar, and I would be willing to purchase a similar open-source'd card for well over the amount I paid for that card ($89). I realize that this would require quite of bit of investment though, since the company would probably need to use top-of-line or nearly top-of-line device process flows to achieve this type of chip.
My only fear is that if this becomes a reality and catches on, we will see ATi/nVidia step up their support for Linux JUST enough to pull away any consumer base this company might gain.
Regardless, I agree that to get from concept -> implementation requires $$$, so I would recommend that this company come to some kind of decision and allow the consumer to "prepurchase" or otherwise finance such a card.
/. sig.
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.
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.
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.