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.
Dual boot
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
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
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
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
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
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 ?
But it will be Open Sauce !
People will spend hundreds of dollars for Open Sauce cards.
NOT !
In a bizare twist...
I could see that happening, if Heinz started selling Open Sauce products.
Partnerships
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"
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.
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
not even, fit the card with an ethernet, and have hardware-assisted VNC or NX...
Excellent idea!
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...
Wasn't this called something like the "Sun Ray One"?
WHAT?
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...
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
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
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...
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 ...
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
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
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
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
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
And you could have a fund for people to contribute to like with blender to buy that technology.
S3TC
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.
> 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
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
Where have I heard this idea before?
excellent
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
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
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
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 :(
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
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
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...
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
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
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
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
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
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
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!!!
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
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"
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
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
When it's a 3D card it will be done with an asic, not a fpga:
FPGA Video Cards
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.
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.