Linux: Free Software Friendly Graphics Card

Submitted by Jeremy
on October 21, 2004 - 7:30am

Timothy Miller started a discussion on the lkml regarding whether or not it would be viable for a company to release a completely open video card. He explains, "in short, what I have been proposing to my superiors is the development of a graphics card specifically for open source systems. This means full disclosure on all register interfaces so that no one has to deal with anything closed source (BIOS included). The goal here is to produce a graphics card which is a Free Software geek's dream in terms of openness". He goes on to add:

"The reason this idea came up is because I, as a user of Linux, am often frustrated by the lack of open-source support for graphics cards which are not 'pre-owned'. Sure, SOME companies release specs so that we can develop open source drivers, but those cards tend to be prohibitively expensive, slower than their cheaper counterparts from ATI or nVidia, and they STILL don't document the internals of the BIOS so that the card can be ported to a non-x86 system. Furthermore, since all these vendors focus exclusively on Windows, they don't give much help to open source developers who may produce drivers which work but which are sub-optimal in performance or stability."

Timothy explained that Tech Source, the company that he works for, would need better understanding of the viability of this proposition. To start collecting data, he asked lkml readers for their opinions: "(1) Would the sales volumes of this product be enough to make it worth producing (ie. profitable)? (2) How much would you be willing to pay for it? (3) How do you feel about the choice of neglecting 3D performance as a priority? How important is 3D performance? In what cases is it not? (4) How much extra would you be willing to pay for excellent 3D performance? (5) What's most important to you, performance, price, or stability?" Much of the resulting discussion follows. The general feeling seemed to be that while people liked the idea, the chances of actually making a profit seemed slim. Timothy summarized his viewpoint saying, "the whole issue comes down to this: This is technically feasible. Should we do it?"


From: Timothy Miller [email blocked]
To: Linux Kernel Mailing List [email blocked]
Subject: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
Date: 	Wed, 20 Oct 2004 18:02:51 -0400

I've brought this up the following subject before on LKML, but it wasn't 
really resolved, and also, management at my company (Tech Source) has 
only now started to warm up to my idea.

To begin with, I'm an ASIC/FPGA designer, as well as software developer. 
  My own projects here include X11 drivers (DDX modules) for OpenWindows 
and XFree86, as well as the bulk of a graphics ASIC which we use in our 
air traffic control systems.  The point:  we have a lot of experience 
with graphics hardware and system software.

In short, what I have been proposing to my superiors is the development 
of a graphics card specifically for open source systems.  This means 
full disclosure on all register interfaces so that no one has to deal 
with anything closed source (BIOS included).  The goal here is to 
produce a graphics card which is a Free Software geek's dream in terms 
of openness.  If Tech Source (me being its avatar) can develop a 
relationship with the Linux (and BSD) community, users and developers 
can get a product that they want without being locked out by hardware 
vendors that feel they have to protect every last little bit of IP 
relating to their products.  The EXPRESS PURPOSE of this product is to 
be free-software-friendly.

I can produce more detail later, but first, some characteristics and 
advantages of what I'm proposing:

- x86 BIOS/OpenBoot/OpenFirmware code under BSD and GPL license
- kernel drivers under BSD and GPL license
- X11 module under MIT license
- flashable PROM so that boot code can be added for more platforms
- usable as the console on any platform that can take a PCI, AGP, or 
PCI-Express card
- downloadable schematic for the circuit board
- FPGA-based graphics engine so it's reprogrammable
- instructions on how to reprogram the FPGA, so it's hackable
- if we discontinue a product, we may release the Verilog code for the FPGA
- Since this is designed to be open-source-friendly, we want to play by 
the rules of the open-source community.
- Tech Source would actively participate in the development and 
maintenance of our own drivers.
- We will actually pay attention to problems and concerns raised by 
users and developers.
- We won't be control-freaks.

The desired effects, for developers, of these characteristics would include:

- The card "just works" with Linux because, maybe, the drivers would go 
into main-line
- The drivers are not a debugging/tainting nightmare, since they are 
open source
- The drivers are easy to work on, since you don't ever have to guess 
about anything.
- The drivers are easy to debug because
     (a) we document everything, and
     (b) we'll talk to you.
- People will think it's cool and want to hack it.

The desired effect for end users:

- It just works.
- It's not a liability for system stability.


The reason this idea came up is because I, as a user of Linux, am often 
frustrated by the lack of open-source support for graphics cards which 
are not "pre-owned".  Sure, SOME companies release specs so that we can 
develop open source drivers, but those cards tend to be prohibitively 
expensive, slower than their cheaper counterparts from ATI or nVidia, 
and they STILL don't document the internals of the BIOS so that the card 
can be ported to a non-x86 system.  Furthermore, since all these vendors 
focus exclusively on Windows, they don't give much help to open source 
developers who may produce drivers which work but which are sub-optimal 
in performance or stability.  (Here, I have to make the obligatory CYA 
statement that there is nothing wrong with their business models -- it's 
just unfortunate for Linux users.)

By contrast, what _I_ want to produce would be supportable by both Tech 
Source (mostly me), and also by anyone else who wants to hack it.  I 
would be one of the primary designers of the chip, so I would know it 
inside and out.  I would also be the primary driver developer, with the 
help of others on LKML.  So, I would be here to help, but hopefully, the 
documentation would be clear enough (and the drivers I write, complete 
enough) so that no one gets stuck having to guess or reverse-engineer 
anything.

There are, however, some caveats.  Tech Source is not willing to foot a 
lot of development capital for this project.  That means we can't spend 
an excessive amount of time on developing a fully virtex shading 
programmable 3D engine, and my superiors are not willing, as yet, to 
give me sufficient funding to produce an ASIC.  What this means is that 
the design has to be small and simple and focus primarily on 2D 
performance so that it can fit into an FPGA.

A 2D rendering engine is easy to parallelize, so although we can't clock 
the FPGA design as fast as an ASIC design, we can easily saturate a 
128-bit DDR memory bus at, say, 200Mhz.  A 3D rendering engine, on the 
other hand, is a beast, and our performance will be less than stellar 
(although certainly better than doing it all with the host CPU).  (If 
there IS sufficient demand, we would LOVE to produce a 
performance-competitive 3D chip, but keep in mind that that would be a 
huge and expensive development effort, and would result in an expensive 
product.)

The advantage of having this in an FPGA is that we can add features and 
fix bugs as necessary, and provide a flash utility for everyone to use 
to upgrade.  You run the utility, cycle power, and you're set.  This 
way, if some kernel developer who is concerned about latency decides 
that having an interrupt signal occur on some event that we don't 
already cover, we can add the feature and supply a new bitfile in 
relatively short order.  You wouldn't have to buy a new card to upgrade.

All of this, however, is a pipe-dream if it's not cost effective for 
Tech Source.  I have to make a very strong case to the CEO.  I think 
everyone at this company is excited about the IDEA of developing this 
product.  But we have no clue what the market is like.  It's not worth 
it to us to develop this if only a handful of kernel hackers are going 
to buy it.  We're guessing that some workstation and server vendors who 
deal in Linux would like to resell this sort of product, because if our 
drivers are in the mainline Linux kernel, it'll "just work".  On the 
other hand, maybe they're all perfectly happy with the graphics 
controllers that come built into many Intel motherboards and have "good 
enough" support.

The very fact that no other company has openly considered going to the 
level of openness that I'm proposing might suggest that what I'm 
proposing is completely out of touch with reality, because it just can't 
be profitable.

So, here are some questions to answer:

(1) Would the sales volumes of this product be enough to make it worth 
producing (ie. profitable)?
(2) How much would you be willing to pay for it?
(3) How do you feel about the choice of neglecting 3D performance as a 
priority?  How important is 3D performance?  In what cases is it not?
(4) How much extra would you be willing to pay for excellent 3D performance?
(5) What's most important to you, performance, price, or stability?

Feel free to insert your own questions and answers here.  Remember, I'm 
an engineer.  My understanding of business is dilettantish at best.

I haven't worked out a complete design spec for this product.  The 
reason is that what we think people want and what people REALLY want may 
not be congruent.  If you have a good idea for a piece of graphics 
hardware which you think would be beneficial to the free software 
community (and worth it for a company to produce), then Tech Source, as 
a graphics company, might be willing to sell it.


Oh, and before you flame me, YES, I AM doing market research for Tech 
Source here, but NO, I am not doing it at THEIR request.  They told me 
that if I wanted to do this, I would have to make a case for it, and 
that's what I'm trying to do.  This is MY idea, and I would personally 
love to have a product like what I'm describing.  I would also 
personally very much enjoy WORKING on such a project, because then I 
wouldn't have to do more boring stuff.  There's a lot of selfishness 
here on my part.  But it's selfishess that I hope everyone else will 
benefit from.


From: Alan Cox [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Thu, 21 Oct 2004 00:10:26 +0100 On Mer, 2004-10-20 at 23:02, Timothy Miller wrote: > - The card "just works" with Linux because, maybe, the drivers would go > into main-line That bit ought to "just work" 8) > - The drivers are easy to work on, since you don't ever have to guess > about anything. > - The drivers are easy to debug because > (a) we document everything, and > (b) we'll talk to you. Some other vendors pretty much did this but the takeup isn't that vast because writing 3D drivers is not trivial (we have docs for about 5 cards and no drivers, some are pretty old some are fairly passable cards) > and they STILL don't document the internals of the BIOS so that the card > can be ported to a non-x86 system. Furthermore, since all these vendors Talking to one very large motherboard video company they actually can't because the analogue side is done by the board vendor as is things like the RAM choice. > give me sufficient funding to produce an ASIC. What this means is that > the design has to be small and simple and focus primarily on 2D > performance so that it can fit into an FPGA. X actually needs very little functionality nowdays, although some of it does not map well onto a generic 2D rendering card. Notably most 2D engines lack alpha blend. Essentially if you can do alpha, bitblit, blit from main memory and a couple of fills and colour-expands X is happy. > (1) Would the sales volumes of this product be enough to make it worth > producing (ie. profitable)? I'm very dubious I must admit. I've actually always wondered what a hybrid video device would look like for 3D. Doing the alpha blend and very basic operations only in the hardware that are expensive in software - alpha and perhaps some of the texture scaling, but walking textures in software, doing shaders in software and so on. Alan
From: Andre Eisenbach [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 15:17:05 -0700 On Wed, 20 Oct 2004 18:02:51 -0400, Timothy Miller <Timothy Miller> wrote: > In short, what I have been proposing to my superiors is the development > of a graphics card specifically for open source systems. That sounds truly great! However... If the graphics card mostly supports 2D initially, it's really not much better then just about any off the shelf graphics card with VESA drivers. As in, the hardware doesn't need to be open for just that. Most (all?) the frustration in Linux graphics card land comes from unsupported/closed 3D drivers. I obviously understand that it would be very costly to try to catch up with ATI/NVidia in 3D land, but if you manage to get an open platform out there which has great 3D potential (hardware wise) and is easily programmable, I am sure the open source community would _love_ to try to jointly develop fast 3D firmware (and drivers). That way Techsource won't have to front the cost (other than for hardware). So a open, programmable 3D hardware platform would open the door for open source 3D engine innovation. If you get this off the road, that would be very impressive and most exciting to watch. However, if you're only going to focus on 2D, I don't see the excitement. 2D works pretty much for everyone, no? Cheers, Andre
From: Timothy Miller [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 16:48:19 -0700 (PDT) I'm posting from home, so this won't look right. Sorry. Anyhow, Andre Eisenbach said this: >>> If the graphics card mostly supports 2D initially, it's really not much better then just about any off the shelf graphics card with VESA drivers. As in, the hardware doesn't need to be open for just that. Most (all?) the frustration in Linux graphics card land comes from unsupported/closed 3D drivers. <<< I have tried using cards with VESA drivers before, and I found it to be very painful. Certainly, you can turn off certain features and get a reasonably useful UI experience, but dragging windows around with "show window contents while moving" enabled is painfully slow, even with AGP 4x. Just imagine doing it over PCI. When it comes to desktop applications, the FIRST thing you need is good 2D acceleration. In fact, that's really the ONLY thing. OpenOffice does not need to use OpenGL. GNOME doesn't need to use OpenGL. In fact, for the most part, they don't bother. There are some instances where they use OpenGL, but most of what a workstation user does fits squarely within all the functionality supplied by Xlib, which is entirely 2D. Ok, so with limited 3D support, it's almost not worth trying to play Doom II (let alone III), but that's never affected me. On Linux, I use nedit, Mozilla, GNOME, KDE... ALL 2D apps. I use Linux as a development platform for chip logic, X server modules, and web sites. I also do a fair amount of tinkering with CPU-intensive things like genetic algorithms. In fact, the ONLY time I have EVER played with 3D on Linux was when I fiddled with some of the screensavers. Ok, so I'm really limited in my use. But what about what a secretary would use? GNOME, OpenOffice, Evolution, Mozilla. All 100% 2D apps. How about a sysadmin? Well, he wants something simple in his server that lets him run his Red Hat configuration tools. What's a system integrator want? Something that won't result in any tech-support calls. Nevertheless, I do think 3D is very important. MacOS has moved to pure 3D, and Longhorn's Aero Glass thingy is all 3D too. Plus there's that Sun thing. With Linux, we're kinda constrained by the fact that core X11 protocol is strictly 2D, but soon, GNOME and KDE will surely find a way around that too. I know we could not sell a graphics device which did not have ANY 3D support. But keep in mind that the more sophistocated the 3D support, the larger an FPGA you'll need. The prices of FPGA's go up exponentially with die area. I've been given a very limited budget here for development. (Well, I haven't been given a budget yet--I've just been told that we're not going to spend $100K to do an ASIC for something this speculative.) I'm further constrained by the impact of FPGA chip cost on the end product. 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 $?? The parts alone are $75, and I've left plenty out. If the board is profitable at $100... who will buy it? I'll do whatever anyone wants, as long as it fits into these constraints!! One idea I have is to merge the 2D and 3D pipelines into one. This way, we can get better 3D functionality, and 2D comes in for free. The problem is that 2D performance would be a LOT slower in this case. But forget I said that, because it's absolutely pointless to talk implementation details at this point. The whole issue comes down to this: This is technically feasible. Should we do it? The open source community often complains about hardware vendors being too tight-lipped with their IP. Here, we have a golden opportunity to get what we want, both in terms of features and disclosure. How do we figure out how to not miss that opportunity? In case you're wondering why I'm writing so much about this... it's because I REALLY REALLY REALLY want to do this. As a geek who enjoys designing stuff, this is an exciting idea to me. I'm also a free software zealot, but I often feel like a leech because I haven't given anything back (well, there's GTerm, but who cares.). I just don't know how to justify the cost of this project to my employer.
From: J.A. Magallon [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Thu, 21 Oct 2004 00:30:40 +0000 On 2004.10.21, Timothy Miller wrote: ... > > When it comes to desktop applications, the FIRST thing you need is good > 2D acceleration. In fact, that's really the ONLY thing. OpenOffice > does not need to use OpenGL. GNOME doesn't need to use OpenGL. In > fact, for the most part, they don't bother. There are some instances > where they use OpenGL, but most of what a workstation user does fits > squarely within all the functionality supplied by Xlib, which is > entirely 2D. > Have you looked at xorg-x11 recently ? IE, the Composite, Damage and Render extensions ? OSX uses OpenGL because it is the API they have to access things like alpha blending, image scaling, and so on, so they can do those nice effects of transparencies, shadows, genie's and so on. At least until Panther. For me, it looks like the new Tiger implementation (CoreImage) is their own implementation of the OpenGL pixel pipeline, talking directly to drivers instead of using OpenGL as intermediary. Probably desktop systems would not need the T&L part of 3D, but be sure they will need at least managing windows at different depths, blending them, anti-aliasing them an so on. So, as I see it, for an appealing 2D card, you need to program a 2 1/2 graphics engine, with really _fast_ alpha blending and antialiasing. You can only kill the matrix part. I do not know if you will be able to get rid completely of floating point, for those alpha mixes and assorted candy... -- [email blocked] \ Software is like sex: werewolf!able!es \ It's better when it's free Mandrakelinux release 10.1 (Community) for i586 Linux 2.6.9-rc4-mm1 (gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)) #4
From: Timothy Miller [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 17:47:21 -0700 (PDT) --- "J.A. Magallon" [email blocked] wrote: > > Have you looked at xorg-x11 recently ? IE, the Composite, Damage and > Render extensions ? > > OSX uses OpenGL because it is the API they have to access things like > alpha blending, image scaling, and so on, so they can do those nice > effects of transparencies, shadows, genie's and so on. At least until > Panther. For me, it looks like the new Tiger implementation > (CoreImage) is > their own implementation of the OpenGL pixel pipeline, talking > directly > to drivers instead of using OpenGL as intermediary. > > Probably desktop systems would not need the T&L part of 3D, but be > sure > they will need at least managing windows at different depths, > blending them, > anti-aliasing them an so on. > > So, as I see it, for an appealing 2D card, you need to program a 2 > 1/2 > graphics engine, with really _fast_ alpha blending and antialiasing. > You can only kill the matrix part. I do not know if you will be able > to > get rid completely of floating point, for those alpha mixes and > assorted > candy... Alright. Excellent points. If I don't have to do any scaling or rotation, alpha-blending won't be that big of a deal. I already would have to read the destination of applying a raster-op or a planemask, so alpha-blend would become just another part of the merge at the end of the pipeline. Of course, with only 8 significant bits, you could get noticable cumulative round-off error. As you start to add 3D features to the 2D pipeline, the point in keeping them separate diminishes. Oh, and there's antialiasing... now, sometimes, it just LOOKS like antialiasing, like with the font server used by X11. When it renders characters, it produces an 8-bit grayscale bitmap which is pre-antialiased, which you then have to color while rendering. If you want to do other things, then you get back into scaling, which is just a special case of texture-mapping.
From: David Lang [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 15:26:08 -0700 (PDT) On Wed, 20 Oct 2004, Timothy Miller wrote: > Sure, SOME companies release specs so that we can develop > open source drivers, but those cards tend to be prohibitively expensive, > slower than their cheaper counterparts from ATI or nVidia... Tim, I think this is the key problem. with the current ATI/nVidia cards beign in the $50 range (with other cards on the market for as low as $30) are you really going to be able to come up with a card that's price competitive? (completely ignoring the performance question) as for your other question of if an open approach could be viable (after all nobody does it today so doesn't that proove it isn't) this is where there is a significant disagreement. the Linux folks think that such openess would be very viable and the companies are just pursuing a legacy approach, but the companies are scared to open things up becouse they don't believe that they would remain viable. since nobody has done this yet (for video cards anyeay) there is no proof one way or the other. David Lang -- There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. -- C.A.R. Hoare
From: Martin Schlemmer [email blocked] To: Timothy Miller [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? [u] Date: Thu, 21 Oct 2004 00:19:07 +0200 On Wed, 2004-10-20 at 18:02 -0400, Timothy Miller wrote: Hi, > So, here are some questions to answer: > > (1) Would the sales volumes of this product be enough to make it worth > producing (ie. profitable)? No idea - I for one would think that most gamer Linux users will buy it if its got the performance 3D wise - many others that only want 2D, or at least accelerated render support in X, as well as XV, etc. > (2) How much would you be willing to pay for it? I am not that a big a gamer, so my Geforce 5700 ultra is fine for my needs. If the card have relative performance to that, and drivers is the same quality as nvidia's (but hopefully better, and really not ati's crappy standard), then I would fork the same amount as you would for an 5700, or slightly more if not that much. Not sure what that amounts to. > (3) How do you feel about the choice of neglecting 3D performance as a > priority? How important is 3D performance? In what cases is it not? Yeah, I think it is important - just for decent performance in gnome/kde, you need a card with accel RENDER support, as well as XV/GL for video. Not to talk about those of us that are heavy gamers, or like me who like my ut2004/quake3/nvn once or twice a week. > (4) How much extra would you be willing to pay for excellent 3D performance? Well, above price was for performance on par or just below a 5700. I know it will be more expensive to develop, so if it was a bit more expensive than the same class nvidia/ati, but with better drivers, I would be sold. The reality of the issue is just while I love my linux, I rather taint my kernel than crappy X performance or no gaming now and then. > (5) What's most important to you, performance, price, or stability? > Performance and stability, but it being 3 times more expensive than on par nvidia/ati cards wont cut it. Hope that is not too vague to help a bit. Regards, -- Martin Schlemmer
From: Kurt Wall [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 22:29:57 -0400 On Wed, Oct 20, 2004 at 06:02:51PM -0400, Timothy Miller took 163 lines to write: > I've brought this up the following subject before on LKML, but it wasn't > really resolved, and also, management at my company (Tech Source) has > only now started to warm up to my idea. [long snip] > So, here are some questions to answer: > > (1) Would the sales volumes of this product be enough to make it worth > producing (ie. profitable)? Hard to say. My crystal ball doesn't work any better than yours. > (2) How much would you be willing to pay for it? It depends. I'd probably be willing to drop $100 USD on such a card simply to vote with my wallet what my priorities and values are. > (3) How do you feel about the choice of neglecting 3D performance as a > priority? How important is 3D performance? In what cases is it not? For most of what I do, 3-D is irrelevant. It makes nice eye candy, but that's about it. For games, hardware-accelerated 3-D is more or less required. > (4) How much extra would you be willing to pay for excellent 3D performance? An extra $100 USD. For superior 3-D performance (and a buttload of RAM on the card), I'd go an extra $200. > (5) What's most important to you, performance, price, or stability? Stability, followed by performance. I'm less price sensitive than I used to be. Regards, Kurt
From: Zan Lynx [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: Wed, 20 Oct 2004 19:25:21 -0600 On Wed, 2004-10-20 at 16:48 -0700, Timothy Miller wrote: > I'm posting from home, so this won't look right. Sorry. > > Anyhow, Andre Eisenbach said this: > > >>> > If the graphics card mostly supports 2D initially, it's really not > much better then just about any off the shelf graphics card with VESA > drivers. As in, the hardware doesn't need to be open for just that. > Most (all?) the frustration in Linux graphics card land comes from > unsupported/closed 3D drivers. > <<< > > I have tried using cards with VESA drivers before, and I found it to be > very painful. Certainly, you can turn off certain features and get a > reasonably useful UI experience, but dragging windows around with "show > window contents while moving" enabled is painfully slow, even with AGP > 4x. Just imagine doing it over PCI. > > When it comes to desktop applications, the FIRST thing you need is good > 2D acceleration. In fact, that's really the ONLY thing. OpenOffice > does not need to use OpenGL. GNOME doesn't need to use OpenGL. In > fact, for the most part, they don't bother. There are some instances > where they use OpenGL, but most of what a workstation user does fits > squarely within all the functionality supplied by Xlib, which is > entirely 2D. [snip] My opinion, for what its worth: Do 3D first and only. 2D is a subset of 3D. Implement as much of OpenGL as you can in hardware and software can emulate any 2D interface desired. I agree that existing graphics cards do 2D just fine. I can get a ATI card for $20 that does all the 2D I need. But 2D isn't enough for me. I spend $400 on one Nvidia card. Maybe I'm not the average, common user, but users like me have the highest profit margin. :-) I'm a pragmatic user. I'd like full-featured Open Source drivers for my Nvidia card but I use the binary because they work really well and for me, (excellent_performance - closed_drivers) > (crappy_performance + open_drivers). If it can be done well enough to run Doom 3 in 640x480 at 20 fps for less than $500, I'll buy one. That's the performance level where I'd consider sacrificing 60 fps for the open drivers. Of course, in 5 years I'll expect 120 fps so its definitely a moving target. -- Zan Lynx [email blocked]
From: Albert Cahalan [email blocked] Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Date: 21 Oct 2004 00:48:18 -0400 Timothy Miller writes: > (2) How much would you be willing to pay for it? > > (3) How do you feel about the choice of neglecting > 3D performance as a priority? How important is 3D > performance? In what cases is it not? > > (4) How much extra would you be willing to pay for > excellent 3D performance? > > (5) What's most important to you, performance, price, > or stability? Stability with a kernel of my choice on possibly non-x86 hardware matters most. Digital DVI, fanless operation, and DVD scaling are next. After that, 3D. I'm not so sure you have to give up 3D. You can put at least 4 AltiVec-capable "G4" CPUs on a PCI board without having horrible power and temperature issues. (Perhaps an AGP board can safely support even more.) Each will do 4 32-bit floating-point fused-multiply-add operations per cycle. That's got to be good for something. I think the latest chips have built-in memory interfaces. They have RapidIO interfaces. So you make your FPGA speak RapidIO protocol (easy) and have each CPU render every fourth frame. One could even put the X server on the card. Ultimately, this is a huge risk, with potentially great reward. One must take some risks to succeed, and this one is a whopper.

Related Links:

Dual boot

Anonymous
on
October 21, 2004 - 8:26am

Dual boot (Linux|BSD/Win32) raises even more troubles. If I got a recent card in order to enjoy good performance in gaming on Windows, I lost all access to X11 on others. This is what append to me with a ATI X800.

Today things are a bit better on Linux side with ATI closed drivers. I can a least have X11. Unfortunately, some well known programs like xawdecode crash the whole computer, making the X800 useless. I do not care about 3D with Linux or BSD but I would to have the 2D and video core to be stable. Is it too much to ask ?

For now I swap gfx cards in order to choose witch OS I would like to run for the week.

I own responsability for choosing a Not-Win32 incompatible gfx card, but the list of cards not running (at all or stable enough) with any Linux or BSD OS is growing.

Don't use the ATI driver, then

Anonymous
on
October 21, 2004 - 8:53am

I do not care about 3D with Linux or BSD but I would to have the 2D and video core to be stable. Is it too much to ask ?

If you don't care about 3D acceleration there's no reason to use the proprietary ATI driver. Use the very stable open source "radeon" driver for 2D-only acceleration.

that doesn't work with new cards

Anonymous
on
October 22, 2004 - 6:26am

If you don't care about 3D acceleration there's no reason to use the proprietary ATI driver. Use the very stable open source "radeon" driver for 2D-only acceleration.

The open source drivers does sadly not work with newer ATI cards, Radeon 9800 or higher IIRC.

The open source drivers doe

on
October 22, 2004 - 6:53am


The open source drivers does sadly not work with newer ATI cards, Radeon 9800 or higher IIRC.

Depends on what version you are using. XFree 4.3 doesn't, but xorg x11 does support the radeon 9800 (have it running at home with an 9800Pro). Don't know if XFree 4.4 supports it.

At least one customer

on
October 21, 2004 - 9:43am

Here is one Linux user who would *definately* buy one of these cards if it ships for around $100.

Tip: if at all possible I think it should have DVI out. I still hope that

* rack mounted servers one day will usually have DVI out

* someone will bring a DVI-based KVM switch to market (currently most KVM switches are a pain in the #ss to use because of having to convert the analog signal to some digital format to transmit over TCP/IP networks) so remote console operations becomes faster and easier to work with.

A card like this one would then be the obvious choice to integrate for manufacturers who sell servers aimed at open source platforms. For me that would be a big plus when deciding on new servers for our company.

Great route to commercial suicide

Anonymous
on
October 22, 2004 - 1:07am

I am sorry to micturate on your parade but your company will lose a
bundle on this.

Doing market research among the converted is a very bad idea. This is
the sort of thinking that led Borland to produce the spectacular failure, Kylix.

Nvidia produce 3 D cards with passable performance for around US 50 $
and cards with excellent performance for around 100 $.

You may get a few opensource fanatics talking about how they would spend up to 500 $ for a 2 D card because it has the magical OS aura.

However, the vast majority of Linux users seem to be pimply unwashed
17 year olds who seem to care only about the FPS in < insert stupid, violent game of choice>

When it comes to the crunch , you will get almost nobody willing to pay for the card.

Commercial Suicide ?

Anonymous
on
October 22, 2004 - 1:10am

But it will be Open Sauce !

People will spend hundreds of dollars for Open Sauce cards.

NOT !

In a bizare twist...

on
October 22, 2004 - 6:40pm

I could see that happening, if Heinz started selling Open Sauce products.

Partnerships

Anonymous
on
October 22, 2004 - 4:12am

Well, I cannot specificially comment on the actual costs of said parts for this product (call X-Card). You must get the price/performance issue setteled and have a plan of action with respect to getting this card out in potential quanity. If you do decide to proceed with this venture, it need to get out to various companies for distribution.

1) Hitting up HP for their Linux Laptop line up or their low-cost solutions side of the house.
2) There are a few vendors that do only Linux based PC's. Now getting into one of these low cost shops that sell to IE: BestBuy or Target, increases you numbers.

Here are some thoughts off the top of my head.
1) Decide on features for said card(s), potential target market.
2) Estimate costs
3) Can you get into partnerships with some major players. Cost will go down if you can buy in quanity. Now, having major sales channels can take you back to step 2.

Ofcourse this is over simplified; however, it is a start with respect to getting this prospective venture underway. It boils down to:
1) Cost
2) Features
3) Getting the card out to the mass'. You can a great/adequate card, however; if no one knows that it exists, no one will buy it. Get your card into some standard PC' retail line-ups.

Sorry about the meandering, its 3 am here.

"Vast majority"

Anonymous
on
October 22, 2004 - 8:47am

That's funny, because at my company, the vast majority of the "linux" users are the several million hits we get on the websites we host for our customers. The actual desktop linux users are the programming department, or the networking department. The youngest person on our staff uses a mac.

You should be careful about making overly broad generalizations, without founding them on any facts. I find it rather amusing that while you claim that the "vast majority" of linux users are pimply faced 17 year olds, you yourself are acting like an elementary school bully, and calling people names.

Great Route To Commercial Suicide.

Anonymous
on
October 23, 2004 - 6:38am

Obviously not a business person.

There is much more than a bunch of pimply faced kids to appeal to here.
The potential workstation graphics/architectural/modelling market are looking for any way to escape from corporate price per seat extortion.
Get them away from that, and a $U.S.200.00 price tag on an efficient 3D graphics card won't bother them at all.
For just one example.

A separate 2D version is a must have, for desktops that are only ever going to see a word processor.

The market to look at here is the potential one, it's much more broad spectrum than what is realised at present, and that requires initial investment to be realised.

DVI-KVM

Anonymous
on
October 22, 2004 - 4:44am

not even, fit the card with an ethernet, and have hardware-assisted VNC or NX...

Excellent idea!

Anonymous
on
October 22, 2004 - 9:41am

That is absolutely brilliant! By having an ethernet-capable remote display feature built into the card you would have a built-in niche. My employer would like nothing better than to locate everyone's PCs in the server room and run keyboard, mouse, and video out to people's desks via ethernet.

You would have a server niche, as well as a unique product with unique features that would appeal to some (perhaps many) corporate IT departments.

Some key features required for success I think:

1. Provide decent 3d performance (low to midrange nvidia quality would be fine ... enough so I can run celestia, etc.). This can be reasonably modest, but must exist in some form or people will opt for a low end 3d card over the this card with no 3-d support. Slow hardware 3-d is much faster than the fastest software emulated 3-d performance.
* Linux gamers
* Casual desktop users who want 3d for certain programs (celestia, etc.)
* Animators running Blender, etc.
* Selling point for system resellers (HP, etc.)

2. Provide enough memory on the card to run at least 1920x1200 resolution, or even better whatever the new 30" apple resolultion is. I have a Samsung 24" display (not the Apple 23"), and I would imagine other LCD vendors will mimick Apple's 30" display soon enough. Supporting high end displays is, while not the largest market, a useful selling point if it doesn't make the card's cost prohibitive. I wouldn't mess around with anything less than 128 MB of memory, and would sell an option for 256 MB as well. This opens up the high-end niche for Linux users who are doing CAD work, and competes well with current nvidia cards going for $140 or so with 256 MB memory.

3. Produce both PCI-X and AGP if possible. My next card will be PCI-X, and I am not alone in this, but a sizeable AGP market remains. If you can't do both, do some serious research into which is your best option. PCI-X is the future, but AGP has a current market that is much larger. When will the balance tip the other way? That is critical to know in terms of product timing and strategy.

4. Choose your price point target wisely. It is no coincidence that nvidia cards range in price from the low tens (~$30 or ~$40) up to around $150 or so, then jump to $400. I always buy at the $150 price point or so, others I know buy at the $60 price point. I only know one gamer junkie who buys at the $400 or greater high end. I am of course biased toward the $150 mark, as the current NVidia card I bought ($140) for my Athlon64 meets my main criteria (great support for 1920x1200 resolution, in 24-bit color mode with full 3d acceleration). But it requires binary-only nvidia drivers, which has issues as we all know. I'd pay a little extra for openness, but I am a Linux enthusiast. There are a lot of people who would not pay extra, and my "extra" would be limited to a few tens of dollars (maybe $30.00 or so). The ethernet feature however is worth something extra (a modest extra, not $100 or more).

I hope this project takes off, and I think your suggestion to support remote video via ethernet on the card is excellent. I would certainly pay $200-$230 for a video card with all of these features (remote ethernet video support, decent 3d support, 256MB memory, etc.)

That's happened before...

Anonymous
on
October 22, 2004 - 9:49am

Wasn't this called something like the "Sun Ray One"?

WHAT?

Anonymous
on
October 22, 2004 - 7:47am

There's a certain type of person that would put a $100 graphics card in a server accessed by way of a KVM switch; I'm not quite sure what type of person, but they must exist.

I don't see DVI as being relevant to KVM's either, if you must have a desktop then you can tunnel X far more cheaply. Our KVM's are used for installs and base confg, for everything else ssh is way more versatile.

I'd use a card like this on my home systems if it had average OpenGL performance and maybee accelerated X a little. I may even fit them to workstations at work, I would never put a dedicated graphics card (or even install X) on a server.

Hmm...

Anonymous
on
October 22, 2004 - 10:19am

I have an nVidia FX5200 in my linux box at work which attached to a digital KVM switch and it works just fine. I even get acceptable performance in ut2004. I do this so that I can easily access the VSS app on my windows box. (Yes, it runs under wine, but poorly.) I would pay up to 300 dollars for a good 3D card with functional open source drivers.

I don't know why anybody would put an expensive video card in a server though unless, perhaps, it were a video game server. Even then, I'm not convinced there would be much benifit, since you wouldn't be running a client on the server.

Rendering on the GPU

Anonymous
on
October 25, 2004 - 10:38am

I would put $150-$400 3d accelerated boards in my servers, if I were using them to build a rendering cluster for distributed povray or blender jobs, and the software could use the card's GPU for rendering.

This isn't as unlikely as it sounds ... I already cluster my computers for blender jobs, and when I get serious with my animation projects, my demands will go up accordingly. And certainly the animation studios in Hollywood probably make use of such approaches. As the software and computing power to make high quality CGI movies reaches the home PC level (blender, povray, etc.), and more private people and small groups begin to make their own movies, the demand for this sort of thing will likely grow.

The key of course is the ability to use the GPU as an optimized processor for generating movie frames. Blender already does this, and IIRC so do a number of other rendering engines.

X inside

Anonymous
on
October 21, 2004 - 10:20am

That could be funny to have X on board. Maybe keyboard and mouse could be connected to it. I don't know how many cpu cycle that could save.

If FPGA is used, it could be configured to be used with current app. Imagine a firmeware for DVD playback, one firmeware for 3D gaming, one firmeware for X...

Already done...

Anonymous
on
October 21, 2004 - 11:31am

A lot of the unix workstation cards from IBM (and others) are just x-windows on a card.

I have a better questions:

How much more would it cost to place a computer on the card?
a) 200MHz PPC (G4 class)
b) 2-USB ports (Keyboard & Mouse)
c) Speaker Ouput Jack (maybe input also)
d) Flash-able Firmware (to store Linux & X11 Server)
e) Flash-able BIOs (the basic video commands need to translated into X11 and forwared to the G4 for processing; basically just to allow the host computer to use the card as the system console)

The graphics engine would only really need to supply basic operations. Most of the 3D work could be done in software on the G4. The drivers on the Linux side would just need to support the OpenGL and X11 api's.

Basically what I'm looking at is moving the X11 Server off to the card. I have a 300MHz G3 and a 400MHz G4 Apple Mac at the house. Both of these systems are exceptable day to day computers; so the performance of the 200MHz G4 would be enough to drive the video only.

As far software development is concerned, most of it is already done. Take the stock Linux kernel and strip it down to just the drivers needed to support hardware on the card. The only program running on the card would be the X11 server; so strip the server down and optimize it to work with the on card video.

Later card generations could move more of the 3D excelation off to the on card hardware. Also note that the G4 runs at 2x bus speed, so we may want to use a faster CPU. A 800MHz PPC 750FX uses a max of about 9Ws of powers so it should only need a simple heat since.

return to the earth ...

Anonymous
on
October 21, 2004 - 1:27pm

First look at the nvidia/ati patent-folio and then realize who now owns many of SGIs OpenGl patents.
Look at the video chip on some recent video card - Macrovision is probably not some cool clear-see video enhancement of your card or player.
Do you like see any DVD, streaming video from the net or listen to any music in near future? I'm then apprehensive of the fact, that you must drop your wild dreams about any open hardware ...

Rendition cards used differen

Anonymous
on
October 21, 2004 - 12:53pm

Rendition cards used different microcodes depending on the task. Chromatic Mpact did this too. Reconfiguring the FPGA is a step above having an internal programmable processor in a fixed core.

Why not add an x86 socket on

Anonymous
on
October 21, 2004 - 11:44pm

Why not add an x86 socket on the board to be used as a GPU? Reconfiguring the FPGA may be a step above but the price/performance of x86 can't be beat.

By only adding the socket (and keeping the FPGA for 2D), you can keep costs down while still allowing support for the 3D enthusiasts. I wouldn't mind having an Opteron/FPGA based card that I could write code for.

x86 is not good for graphics

Anonymous
on
October 22, 2004 - 6:43am

The entire reason you have modern graphics cards with special hardware for processing graphics is because x86 isn't good for 3D graphics. While new stuff like SSE provide some form of SIMD architecture it is not even close to what a low tech 3D "GPU" can do.

You'd be better off if you just put a large amount of arithmetic units on there with an as easy as possible way of feeding them data.

Some random thoughts

Anonymous
on
October 21, 2004 - 12:38pm

Couple random thoughts:

1: Why spend the development time when you could purchase the tech. Rendition sold out to Micron, who has basically sat on the tech for a few years now. This could reduce dev costs, speed up time to market, etc... There are others besides micron (Bitboys, Cirrus Logic, Trident, NEC, and Toshiba), that would possibly provide an unencumbered hardware license.

2: In the linux 3d world, some of the tech is encumbered by patents. Lets take S3TC as an example. This is something that you will have to license, and unless you can do so without any restrictions, it will present a problem to the "open" aspect of your problem. Perhaps you can talk game makers into using the old 3DFX (FTX1?) texture compression?

3: Cover your butt. There are companies out there that would sue you for drawing on a whiteboard with a colored marker because it "Violates their IP" This makes random thought #1 look pretty nice.

Thank you for your time,
Frank Russo

Contribution Fund

Anonymous
on
October 22, 2004 - 12:18am

And you could have a fund for people to contribute to like with blender to buy that technology.

S3TC

Anonymous
on
October 22, 2004 - 4:49am

S3TC is just a hack that will go away as available badwidth comes in.
and, furthermore, it's not that hard to come up with free software compression techniques that will work just as well as s3tc...

No.

on
October 22, 2004 - 7:09am

> S3TC is just a hack that will go away as available bandwidth comes in.
(sarcasm)
Yeah sure, I'm convinced that tomorrow we'll have enough bandwith to render 'real like' images, without hack like S3TC.
(/sarcasm)
You'll always need hacks to improve bandwith usage for a long time..
Even if you had a gazillion of bandwith why waste it without compressing the data to render better image?

> furthermore, it's not that hard to come up with free software compression techniques that will work just as well as s3tc...

Except that if you use different compression technique, the existing software won't take advantage of it..
And who will modify its software to take advantage of features of a videocard with so few users?
You're dreaming I'd say..

Some random thoughts

Anonymous
on
October 22, 2004 - 11:44am

similarly OpenGL2.0 is littered with patented methods.
SGI sold off chunks of ARB code to M$ also. there is little way around all this.

otherwise i agree with you, licensing out the hw as opposed to riding the manufacturer market is better. with the spec already on paper the community can get down to work within a known development context.

as a FOSS game developer what i would like to (need to) see is support for OpenGL2.0 shaders before i would be tempted to switch from a recent ATI. shaders performance/scope defines the consumer 3D card market these days, this is equally true for developers.

Hmm

Anonymous
on
October 21, 2004 - 12:55pm

Where have I heard this idea before?

excellent

Anonymous
on
October 21, 2004 - 2:05pm

Having 100% open and "just works" video cards would be excellent. For years I've heard people gripping about how ATi "just sucks" under any *nix. Also while nvidia has a very nice card with excellent driver support they are usually always weeks behind the latest kernel release. The argument I hear from my Windows using friends are that video cards must keep every thing secret to maintain a competitive edge. Yet this was the same argument made for closed source software. I think we should all take a serious look at applying the open source arguments to the firmware of video cards as well so all may enjoy it.

Wrong Place for Such Questions

on
October 21, 2004 - 2:43pm

This sounds like a question for distributors of Linux-based hardware platforms. Asking kernel hackers and developers about the added value of open source drivers preaches to the converted. You are much more likely to gain quantitative support by contacting companies in the business of bundling Linux - who deploys Linspire machines en masse? SuSE? The value to a disparate group of developers cannot nearly match the interest of a major corporation who can promise customers greater speed, stability and interoperability with open source drivers. LKML is, perhaps, a good avenue to management teams at distributing firms who can give you much greater demonstrable support. I suggest using these boards & lists as a source of technical advise and information - but your managers are likely more interested on ROI and value. Getting your company to support an effort (even in name) and contacting WallMart, BestBuy etc will probably give you significantly more credibility and fact.

open video card

Anonymous
on
October 21, 2004 - 4:31pm

The Matrox G450 is a great 2D card which does some 3D with open source drivers, 2D in linux isn't the problem, 3D is, I really doubt anyone could develop a card as good in 3D as the X800 without having worked for ATI or maybe licensing ATI's or Nvidia's core. If a company with the resouces to fab and assemble a part does comes out with a card and asks the communites help, I'm sure they won't be dissappointed. I'd be more than willing to pay $100 for the new video card if it has the equivalent performance of a 8500 or 9200, which is about 1 Billion Texels/sec. After that, it seems like adding more pixel pipelines in parallel seems to add exponential performance to the video cards.

Performance vs. Price Point

Anonymous
on
October 21, 2004 - 4:38pm

If performance was equal to its nVidia or ATI counterpart an open video card would probably sell at any price point. If it's a lower end card it could go for 70~100. Higher end cards where the performance money is would easily sell for 400$ to the gamer or CAD market providing it has excellent 3D support.

Unlikely to succeed :(

on
October 21, 2004 - 5:16pm

I think that at one time ATI boards had free documentation but the free 3D driver sucked, so having access to the board spec doesn't imply "automagically" having a good free OpenGL driver..

Why? Because this thing is *very* complicated!

Also, this OpenSource videocard would also have to to be better than older cards from Matrox and ATI where the spec are also available..
I wonder how a FPGA would stack against a Radeon7200 or a MatroxG400? Last boards with free spec if memory serves, I'm not sure it'll be very good..

Now I'd like very much to have free 3D videodrivers for Linux because if X11 starts using 3D acceleration, this will create difficulties for people to report an "oops": kernel hackers won't analyze tainted kernel (for good reason), people won't run their desktop without the proprietary driver otherwise it'll run dirt slow --> fewer reports --> lower stability --> not good!

I would buy it in a flash

Anonymous
on
October 21, 2004 - 10:19pm

after having to deal with ati's drivers I have recently been wondering about this as well. I know I would buy 1 or 2, for $70-100 US. I have a feeling it would be taken up slowly, but in the end (think like 5 years ahead) I think ATI and NVIDIA might have a little something to worry about.

I'm using the FOSS Radeon drivers on a 9200SE

Anonymous
on
October 23, 2004 - 7:30am

Gears at full screen (1600x1200) is 34FPS. That's good enough for Yes We Have No Tomatoes, TuxRacer or NeverBall but I can't imagine Quake3 being inspirational at that rate. Mandrake 10.1 Xorg 6.7.0 Kernel 2.6.8.1. Part of that's the cheap SE card, of course, but still...

More because the card was inadequate or the info was so...

Anonymous
on
October 22, 2004 - 12:15am

The Utah-GLX drivers for the Mach64/RagePRO series were some of the more robust drivers available for Linux for a time- problem was that the card was woefully underpowered and they didn't release anything USEFUL for the Rage128 series or the early Radeons until the cards were no longer a going concern.

In the case of the RagePRO, it was the chip's fault.
In the case of the other chipsets, it was more ATI's doing as they wouldn't release enough info for the 3D support- the info was really only useful for the 2D support, which is pretty good in the Open Source world, actually.

Wow

on
October 21, 2004 - 10:36pm

The people who think it would be economically pheasible to get such a card at $100 are living in a pipe dream. Is no one here a businessman? At least some people noticed how limited the card would have to be because of patents, that's a start. I wish the best of luck to anyone who wants to pursue this, you're gonna need it.

Open Video Card: Yes Please

Anonymous
on
October 22, 2004 - 4:40am

I want stability and compatibility over price and performance... and that aligns with open design hardware... so work with the Xorg folks to begin implementing as much as you can in hardware of what the latest Xorg X-11 windowing system does. It needs to support video display (ala Xine or Mplayer) as well as X-11.

incentives for open systems

Anonymous
on
October 21, 2004 - 11:08pm

hi there. as a student, i just made a presentation this week at berkeley about incentives for releasing open systems. in case it helps your argument, i found the following:

* Earn trust of user base, get feedback & QA (Mozilla has a huge amount of QA done by the public)
* Gain prestige as an unselfish organization (Nothing stops advertisement or boasting about contributions)
* Standardizing is a means of intentional commoditization (enabling coopetition)
* Network effects can be accelerated by increased value to users (potentially capture first-mover advantage)

best,
aaron brick.

snowball effect

Anonymous
on
October 22, 2004 - 7:54am

There's a similar thing which happened without the intention of going all the way of the open idea: Linksys made their DSL-Wlan router, people started to work on alternative firmwares (ie openwrt), and now several hundred people are developing / working with other firmware than intended.

this is because they had a chance to work with at all, and the projects they are going to use the hardware for results in recommendations to later users. if someone nowadays asks about a dsl router, we recommend the linksys stating, "it works well, you can do with it whatever you want, and it is one of our favourite platforms. if you want to become part of the mesh network, just get one of these, we'll flash it for you."

in the three cities we (the people who know themselves directly) live are about 50 developers with an estimated future userbase of thousands of clients.

It's all in the implementation

Anonymous
on
October 21, 2004 - 11:15pm

It would be very easy to produce a high-performance graphics card that was "Open Source Ready", so to speak. Aside from telling people what the interface is, and not assuming that half the card is going to be stuck inside the OS (a-la "winmodems"), I really don't see anything obvious that would limit how friendly any hardware would be with Open Source software.

Now, of course, you can reverse the whole "winmodem" approach. Instead of exporting hardware into the software, you could always put some of the software in the hardware.

By this, I'm thinking in terms of looking at popular software ways of doing graphics. There's OpenGL, for example. A lot of anti-aliasing is also done in software. Virtual window managers (desktop size exceeds screen size) are also generally software. I'm sure there are plenty of other common software implementations that would also be worthy of investigation.

Ok, so what? Well, None of these actually have to be done in software. Indeed, there would be a lot that could be said of hardware implementations. Some cards already do this, for some of the things I've listed.

Still, so what? To be confident of making a profitable product, you need differentiation. Differentiation can be measured in many different ways, but whatever way you do measure it, you need it. A graphics card that runs faster is generally going to do pretty well. A card that runs faster under FOSS is going to do well and be very popular at the same time. A card that runs faster and lighter on a FOSS system because Free/Open Source software can be adapted to suit it (rather than the other way round) than it could under a closed environment where changes are dictated, not imposed... Now, that is going to get some serious attention and gain some serious credibility.

If it was a decent 3D card, I

Anonymous
on
October 21, 2004 - 11:26pm

If it was a decent 3D card, I'd go as high as 300 USD. The video card drivers are the last weak link in my linux system. I currently have an Nvidia 5900FX. I constantly have driver issues and hiccups between kernel revisions. It would be worth it's money in gold if a video card just worked with 3D acceleration out of the box(aka in the kernel).

That's my vote.

I'd buy one!!!

Anonymous
on
October 21, 2004 - 11:32pm

Working in the tech field myself, I've always gotten my graphics cards for free or extremely cheap. But if an OSS-friendly card came along, it wouldn't need to be a 3D champion for me to pay actual money for it.

The fact that all the registers would be documented could create a grassroots phenomenon similar to what we saw in the Amiga and even the Commodore 64 years ago, with people all over the world finding unbelievable new ways to use the hardware.

There is a way to make it profitable

Anonymous
on
October 21, 2004 - 11:35pm

Thin-Clients is the name of the game - perticulary
linux-based thin clients (terminal clients).
Those are usually bought by big companies that use MS-TerminalServer
or Citrix. So the graphic cards inside those are purchused
by the thousands.

Means that if you manufacture a good(stable) and cheap 2D card
and sell it to the thin client manufacturer - you make lots of money.

The fact that the card is "OpenSource friendly" will be liked by
all office PC and terminal client manufacturers.
Usually they don't get this level of technical data from
card makers.

regards, Boris Ratner.
bratner at ratner dt mine dt nu

FPGA based "Open Video Card"

Anonymous
on
October 21, 2004 - 11:48pm

There are a few problems with the proposed card. I work for Xilinx. I know how much FPGA you can get for $30. It's a lot more than you could get a couple of years ago, but it's not nearly enough to implement a 3D graphics engine. There's also a problem with the interface. 32 bit PCI at 33 MHz is easy, but AGP4X and AGP8X are a real bear. PCI-64 is not so bad, but how many people running linux have 64 bit PCI slots? Or PCI-X slots? These are server type motherboards, which cost a fortune. This leaves PCI-Express.... which uses 16 lane interfaces for graphics cards. No 16 lane PCI-Express core exists in an FPGA... anywhere. And if it did, it would take an FPGA which costs upward of $1K.

But Still.... I like the concept A LOT. I use older ATI cards in my linux boxen, and I'd love to play UT2004 with decent performance under Linux. At this point in FPGA technology, for a card that cost in the $100 to $200 range, we could do a PCI-32 interface with a Spartan3 device, like a 3S1500, with 32 or 64 Mbytes of RAM, and a DVI output, maybe even a video input too, for hooking up a camera. 2D functions, with Alpha blending is doable. Serious 3D rendering would be tough, without resorting to an FPGA that costs in the $200 to $300 dollar range. And it would definitely underperform what you could get from ATI or Nvidia.

The amusing thing about this is you would have enough resources to load uCLinux into the FPGA, using a MicroBlaze processor, so you could actually run the Xserver on the card! But I digress... In another couple years, a $30 FPGA will be twice as powerful as what you get today. And by then, we'll probably see FPGA's that have hard-core PCI-Express interfaces, which ought to solve the interface problem. But even in 2 years, it will still take a $150 FPGA to duplicate what a graphics ASIC can do today for $30.

There exists a counterexample to these claims. Celoxica created a video demo board based on an old, slow, cheap FPGA that costs about $20. It had a camera input and a VGA output, some RAM and flash, and a PS2 mouse port. I think the total cost of the whole system is around $200. This junky old board is capable of amazing realtime 3D video image rendering, with the canonical demonstration of realtime 30 frame/sec generation of a mirror finish image of the Venus de Milo with the real-time camera image mapped as a reflection on the shiny surface of the statue, which rotates in a virtual space. This tour-de-force of FPGA image processing was created by a custom Handel C program, compiled with the excruciatingly expensive Celoxica C compiler. In effect, it created a parallelized processor to create the image from the modified C code. Of course, the resolution was junk, at 640x480, and the color depth was also limited, but it very effectively made the point that massive parallelism can beat high clock speed.

Final point... It doesn't take much to generate a VGA signal with limited color depth. On the Xilinx website, the $99 Spartan3 starter kit generates a VGA video signal using an interface consisting of 3 resistors and a connector! You get a grand total of 8 colors :-) Using this as a model, and assuming the video board is manufactured in China, $199 would be a reasonable target price for a PCI card that implemented a reasonable 2D graphics engine. With some cleverness, I bet that some 3D rendering algorithms could be slipped in as well, but with extremely modest levels of performance.

medium-grained FPGA

Anonymous
on
October 22, 2004 - 4:00am

What do you think of technology like those from :
http://www.mathstar.com/

It's seems to be well suited for data path. Maybe it could cost less than FPGA for the same power ? (because of the more gate density and less routing ressource)

ASIC when 3D

on
October 22, 2004 - 7:18am

When it's a 3D card it will be done with an asic, not a fpga:



That means we can't spend
an excessive amount of time on developing a fully virtex shading
programmable 3D engine, and my superiors are not willing, as yet, to
give me sufficient funding to produce an ASIC. What this means is that
the design has to be small and simple and focus primarily on 2D
performance so that it can fit into an FPGA.

FPGA Video Cards

Anonymous (not verified)
on
October 5, 2006 - 8:43am

Some things to consider as possibilities, how many FPGA's on one
PCI card with the optimum gate count, etc.

if it were available here today i would buy this many right now.

Anonymous
on
October 22, 2004 - 12:00am

personal/business (consulting):

- for a 2d only card - $100 us approximately, 3 right away

- for a 3d card - $250 to $600 us approximately, depending on performance and spec, i would buy 3 right now. It would be primarily used for games and running 3d apps like Alias Maya. I pay that much right now for nvidia cards, although I support Nvidia exclusively over Ati because of their great job on Linux support, I would switch immediately to your brand for obvious reasons.

- i would also carry along a few spare cards for repairing machines when on the road.

- hopefully as open source cards they would have windows and mac drivers as well. this would mean i could use the cards to repair those os's as well

- i would also recommend the card to everyone i talk to

for business:

- i run 175 workstation network in real life, we are switching over to debian over the next few years. each one of them would be sporting a 2d card, so that would be 175 more units for the company, over the next 2 to 4 years (we are still in the planning stages hard to give an estimate right now).

- as the business expands, any new machines added would also get the card

- we would also consider your card the 'company standard' provided there was a windows driver because there will be a prolonged transition period as we phase out MS.

- we would also recommend your card to all vendors, oem ressellers, stores and distributors as well as associate companie.

the standard

- don't forget that being first out, you would be the standard bearer. look at the publicity you are already getting now, imagine how much buzz you will create by being the first one out? the open source community is very loyal for the most part.

- remember, open source isn't simply about greed, it's also an ideology, and one worth fighting for. what you are offering here is 'freedom', and once you give us that freedom, you can be sure it will never be relinquished, and will be fought for. this is mind share you cannot buy. this is one thing microsoft will never understand, they can bribe their populus temporarily, but they cannot buy their heart. get our hearts, you get our wallets.

- also consider this from a bigger strategic picture. freedom is something one must fight for, freedom is something that takes time to understand and value. once you understand what freedom truly means, you start to realize the value of so called 'nuts' like RMS and the GPL. RMS has single handedly, waaaaaaaay ahead of his time, created a beachead against corporate greed and pillaging. the GPL with whatever criticisms one might have against it, GUARANTEES that by virtue of laws that exist today the hard work does not get usurped by corporations without reciprocating in kind. that ideological beachead has allowed things like linux to flourish by protecting the good intentions of the developers from the bad intentions of the greedy. think of your freedom card like a beachhead. it's a beachead product that has implication far greater than any profit driven industrialst can possibly imagine.

how much of a market is there for such a product?

let me answer that this way, how much of a market is there for a free operating system? i don't know but you can surely ask ibm, their linux business seems to be in the billions of revenues yearly?

how much do you think your company would make if you got the community to push behind you and guard you as zealously as they do their favourite distro?

you got my vote and you got my dollars, right here right now.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.