linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RE: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-11-17 14:35 Sid Boyce
  2004-11-17 14:46 ` Chris Wedgwood
                   ` (2 more replies)
  0 siblings, 3 replies; 160+ messages in thread
From: Sid Boyce @ 2004-11-17 14:35 UTC (permalink / raw)
  To: linux-kernel

Looks like the prject suffered instant death by the responses. Apart 
from Tech Source, perhaps other companies such as IBM, HP, OSDL, RedHat, 
Novell, etc. could be tapped for funding the 3D side of the development, 
just an idea.
Regards
Sid.
-- 
Sid Boyce .... Hamradio G3VBV and keen Flyer
=====LINUX ONLY USED HERE=====

^ permalink raw reply	[flat|nested] 160+ messages in thread
[parent not found: <6.1.2.0.1.20041026082223.0231edd8@mail.javagear.com>]
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-23 19:06 Bodo Eggert
  2004-10-25  1:44 ` Stephen Wille Padnos
  0 siblings, 1 reply; 160+ messages in thread
From: Bodo Eggert @ 2004-10-23 19:06 UTC (permalink / raw)
  To: linux-kernel, geert

Geert Uytterhoeven wrote:
> On Wed, 20 Oct 2004, Jon Smirl wrote:

>> If you implement VGA you will be able to boot and work in any x86
>> system without writing any code other than the BIOS.
> 
> Ugh... I prefer _not_ to have VGA compatibility.

If you want to be able to see the BIOS, you'll need some legacy emulation,
but it should be enough to implement MDA output.

Since some VGA cards used to depend on the MDA/CGA BIOS routines, most
(all?) BIOS variants will implement all nescensary IO functions. You'll
need some MDA registers for the cursor position (that don't even clash with
EGA/VGA/CGA), 4K mapped memory at B000:0000 and a loop translating the text.
-- 
Top 100 things you don't want the sysadmin to say:
21. where did you say those backup tapes were kept?

^ permalink raw reply	[flat|nested] 160+ messages in thread
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-22 17:15 Stephen Lewis
  2004-10-23  4:45 ` Gene Heskett
  0 siblings, 1 reply; 160+ messages in thread
From: Stephen Lewis @ 2004-10-22 17:15 UTC (permalink / raw)
  To: linux-kernel

Timothy Miller wrote:

> 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.

What has this to do with the kernel? More relevant on X server, OpenGL or GPGPU lists?

Baseline - I can get accelerated 3D graphics and video overlay
and YV12 and VGA registers with open source driver that compiles
for PowerPC and DEC Alpha today for $85 - Radeon 7500 PCI. 
X.org 'ati' driver at http://x.org
http://freedesktop.org/cgi-bin/viewcvs.cgi/xc/programs/Xserver/hw/xfree86/drivers/ati/?root=xorg
If you can improve on that then I will buy one for each of my Alpha and PowerPC systems.

http://www.gpgpu.org/ are programming multivendor graphics cards for
general purpose computing BUT the toolchain involves a proprietary
compiler which is single platform.
What good is a card with open source hardware and open source
driver that is programmable BUT the toolchain is proprietary?

Stephen Lewis

^ permalink raw reply	[flat|nested] 160+ messages in thread
* RE: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-22 10:31 John Ripley
  2004-10-22 12:58 ` Moritz Muehlenhoff
  2004-10-22 17:33 ` Timothy Miller
  0 siblings, 2 replies; 160+ messages in thread
From: John Ripley @ 2004-10-22 10:31 UTC (permalink / raw)
  To: 'Timothy Miller'; +Cc: 'Greg Buchholz', linux-kernel

> From: Timothy Miller [mailto:miller@techsource.com]
> Sent: 21 October 2004 19:26
> To: John Ripley
> Cc: 'Greg Buchholz'; linux-kernel@vger.kernel.org
> Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
> 
> John Ripley wrote:
> 
> > It would also really reduce the cost and effort involved in 
> > producing the
> > card. It wouldn't take much (heh) to get it up and running 
> > as a simple frame
> > buffer + blitter, but it could be scaled to do fancy 
> > multi-texture ops over
> > time - all just by reprogramming the FPGA. All the 
> > manufacturer needs to
> > provide is a "getting started" FPGA file and output to a 
> > video DAC. The
> > community would do the rest over time.
> > 
> > I think "Open" hardware is one thing, but open *and* completely
> > reprogrammable is a far greater hook, at least for me. I'd 
> > be prepared to
> > shell out a few $100 for something as hackable as that. 
> > Hey, it's an FPGA on
> > a PCI Express card at the end of the day, what can't you do with it!
> 
> 
> Ok, I'll bite.  What you're suggesting is that instead of developing 
> just a graphics card, I should develop a card populated with 
> a bunch of 
> FPGA's that's reprogrammable.  Putting aside the logic design 
> tool issue 
> (which may be difficult), what you'd get is a very expensive 
> reprogrammable card with some RAM and some video output hardware.
>
> How much would you pay for THIS card?  $2000?

Considering you can get a Spartan 2 300,000 gate chip on a board with SDRAM
etc for about $100... I'd say that's a very high estimate. Greg's pricing up
of about $300 sounds about right, and that's with 8 Spartan 3 chips on a
board.

> Now, the thing is, this card is SO generic that Tech Source 
> would have 
> very little value-add.  Say we populate it with a bunch of Spartan 3 
> 400's... well, you'd download Xilinx's WebPack, code up your 
> design in 
> Verilog (Do you want to learn chip design???  It's not like 
> programming 
> in C!!!), and then use our open source utility to upload your code.

I'm well aware that C programming doesn't translate to chip design skills.
I've been playing with Verilog on simulators for a while now and I'd love to
actually put it on some real FPGA hardware. There's plenty of people with
good chip design knowledge willing to provide Free source - just look at
opencores.org. I'm doing ALL of my Verilog toying with Free (properly)
software, and I think there's even a Free tool to interface to Xilinx FPGAs.

> GREAT... until some other company comes along and clones it, 
> which would 
> be WAY too easy to do.  Now, for the users of this sort of 
> product, it's 
> a fine thing.  But it becomes a pointless investment for Tech Source, 
> which is where I work and who pays me to work on this stuff, 
> which they wouldn't do if it's not worth it.

And what would stop them cloning a graphics card with completely Open specs?
That's always an issue no matter what you do.

- John Ripley

^ permalink raw reply	[flat|nested] 160+ messages in thread
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-22  3:47 Roy Butler
  2004-10-22 17:04 ` Timothy Miller
  0 siblings, 1 reply; 160+ messages in thread
From: Roy Butler @ 2004-10-22  3:47 UTC (permalink / raw)
  To: linux-kernel

Timothy,

I don't think you can approach the price-to-performance ratio close 
enough to get a market share to make it worthwhile.  I hope I'm wrong 
and I respect what you're trying to do.


Roy


P.S. Stability would be higher than anything else in my book.

^ permalink raw reply	[flat|nested] 160+ messages in thread
* RE: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-21 17:44 John Ripley
  2004-10-21 18:26 ` Timothy Miller
  0 siblings, 1 reply; 160+ messages in thread
From: John Ripley @ 2004-10-21 17:44 UTC (permalink / raw)
  To: 'Greg Buchholz', linux-kernel

> From: Greg Buchholz [mailto:linux@sleepingsquirrel.org]
> Sent: 21 October 2004 18:08
> To: linux-kernel@vger.kernel.org
> Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
> 
> Stephen Wille Padnos wrote:
> >I would think that a chip that has a lot of simple functions, but
> >requires the OS to put them together to actually do 
> something, would be
> >great. This would be the UNIX mentality brought to hardware: lots of
> >small components that get strung together in ways their 
> creator(s) never
> >imagined. If there can be a programmable side as well (other than
> >re-burning the FPGA), that would be great.
> >
> >I guess I would look at this as an opportunity to make a "visual
> >coprocessor", that also has the hardware necessary to output to a
> >monitor (preferably multiple monitors).
> 
>     This idea is a step in the right direction.  To make the project
> viable, you might be better off trying to court a slightly different
> audience (instead of the cost-sensitive/3D-performant 
> market).  What if
> instead, you were selling a highly parallel reprogrammable computing
> core, which also happened to do graphics?  I could see a potentially
> much bigger and higher profit margin market for a 
> standardized interface
> from Linux to an FPGA.  Image people buying them for headless 
> servers as
> crypto accellerators.  Or as DSP/FFT accellerators (for speech
> recognition , MPEG compression, or whatever).  I'm sure you'd 
> sell a few
> to grad students writing theses on data flow machines, parallel
> languages, prime factorization etc.  Heck, I'd buy one just 
> because it'd
> be cool to try and write a 1000 element merge sort in hardware that
> completed in one or two clock cycles.  It's not hard to imaging people
> using it to speed up emulators like QEMU.  Maybe the distributed
> computing folks (Folding@Home, SETI) would also be interested, since
> their work is already highly parallelizable.  You get the idea. 
>
>   In my mind, this could be a much better "hook" than the promise of
> openess alone.

It would also really reduce the cost and effort involved in producing the
card. It wouldn't take much (heh) to get it up and running as a simple frame
buffer + blitter, but it could be scaled to do fancy multi-texture ops over
time - all just by reprogramming the FPGA. All the manufacturer needs to
provide is a "getting started" FPGA file and output to a video DAC. The
community would do the rest over time.

I think "Open" hardware is one thing, but open *and* completely
reprogrammable is a far greater hook, at least for me. I'd be prepared to
shell out a few $100 for something as hackable as that. Hey, it's an FPGA on
a PCI Express card at the end of the day, what can't you do with it!

- John Ripley

^ permalink raw reply	[flat|nested] 160+ messages in thread
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-21 17:08 Greg Buchholz
  2004-10-22  2:18 ` Tim Connors
  0 siblings, 1 reply; 160+ messages in thread
From: Greg Buchholz @ 2004-10-21 17:08 UTC (permalink / raw)
  To: linux-kernel

Stephen Wille Padnos wrote:
>I would think that a chip that has a lot of simple functions, but
>requires the OS to put them together to actually do something, would be
>great. This would be the UNIX mentality brought to hardware: lots of
>small components that get strung together in ways their creator(s) never
>imagined. If there can be a programmable side as well (other than
>re-burning the FPGA), that would be great.
>
>I guess I would look at this as an opportunity to make a "visual
>coprocessor", that also has the hardware necessary to output to a
>monitor (preferably multiple monitors).

    This idea is a step in the right direction.  To make the project
viable, you might be better off trying to court a slightly different
audience (instead of the cost-sensitive/3D-performant market).  What if
instead, you were selling a highly parallel reprogrammable computing
core, which also happened to do graphics?  I could see a potentially
much bigger and higher profit margin market for a standardized interface
from Linux to an FPGA.  Image people buying them for headless servers as
crypto accellerators.  Or as DSP/FFT accellerators (for speech
recognition , MPEG compression, or whatever).  I'm sure you'd sell a few
to grad students writing theses on data flow machines, parallel
languages, prime factorization etc.  Heck, I'd buy one just because it'd
be cool to try and write a 1000 element merge sort in hardware that
completed in one or two clock cycles.  It's not hard to imaging people
using it to speed up emulators like QEMU.  Maybe the distributed
computing folks (Folding@Home, SETI) would also be interested, since
their work is already highly parallelizable.  You get the idea. 

    In my mind, this could be a much better "hook" than the promise of
openess alone.

Here's some people trying to do general purpose computing with current
graphics cards.

http://www.gpgpu.org/
http://graphics.stanford.edu/projects/brookgpu/ 

And be sure to look into existing open hardware projects to see if they
have anything to offer.

http://opencores.org/browse.cgi/by_category


Greg Buchholz


^ permalink raw reply	[flat|nested] 160+ messages in thread
* RE: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-21 15:54 John Ripley
  2004-10-21 18:09 ` Timothy Miller
  0 siblings, 1 reply; 160+ messages in thread
From: John Ripley @ 2004-10-21 15:54 UTC (permalink / raw)
  To: 'Timothy Miller', Jon Smirl, Linux Kernel Mailing List

> From: Timothy Miller [mailto:miller@techsource.com]
> Sent: 21 October 2004 16:13
> To: Jon Smirl
> Cc: Linux Kernel Mailing List
> Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
> 
> Jon Smirl wrote:
> > I have heard a lot of complaints from embedded people about 
> having few
> > choices for graphics chips. Many of the low end chips from 
> ATI/NVidia
> > are no longer in production and you are forced into buying more chip
> > than you want. You should ask about this on embedded 
> developer lists.
> > 
> > For the new X servers you have to have hardware alpha blending.
> > Another important feature is accelerated drawing to off-screen
> > buffers. Also, DMA command queues help a lot with parallelizing
> > drawing.
> 
> DMA not only allows for more parallelism, but it's also more 
> efficient 
> to transport commands and image data using DMA than with PIO, 
> particular 
> on some platforms which do not try to optimize PIOs.
> 
> > If you implement VGA you will be able to boot and work in any x86
> > system without writing any code other than the BIOS.
> 
> I don't think we can get away without supporting some minimal VGA 
> functionality.

Actually what I'd love to see is an FPGA based graphics card which is
*extremely* minimal - essentially just a integer DSP. I'd issue coprocessor
commands to it like:

QueueSpanRender(long out_address, int pixels, Texture *source_tex, TexCoords
*coords);

And that would be about the most complicated thing it would do. All
geometry, clipping, texture coordinate calculation etc done on the CPU. Even
the coefficients for traversing the texture are done by the CPU. You then
only need to implement a very small number of primitives in FPGA. You could
probably "emulate" VGA and friends using a small microcontroller on the
board monitoring frame buffer and IO access, and a ton of waitstates :) But
hey, that's just to boot the machine.

In a purely software renderer, it's the pixel pushing which (last I checked)
takes an enormous chunk of CPU time. You latest GPUs are doing something
like 4-32 texture lookups and applications per cycle these days, which a
general purpose CPU really struggles to get anywhere near. It's something a
DSP/dedicated hardware can do far better than a general purpose CPU. It'd be
interesting to try, actually: run Doom 3 on linux under Mesa (if that's at
all possible :), turn off all pixel rendering in Mesa, and see how much
faster it runs.

This would probably also make a good trade-off on an embedded platform.

- John Ripley

^ permalink raw reply	[flat|nested] 160+ messages in thread
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-21  4:48 Albert Cahalan
  2004-10-21 16:19 ` Timothy Miller
  0 siblings, 1 reply; 160+ messages in thread
From: Albert Cahalan @ 2004-10-21  4:48 UTC (permalink / raw)
  To: linux-kernel mailing list; +Cc: miller

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.



^ permalink raw reply	[flat|nested] 160+ messages in thread
* Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-20 23:48 Timothy Miller
  2004-10-21  0:30 ` J.A. Magallon
  2004-10-21  1:25 ` Zan Lynx
  0 siblings, 2 replies; 160+ messages in thread
From: Timothy Miller @ 2004-10-20 23:48 UTC (permalink / raw)
  To: linux-kernel

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.




		
__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.
http://mobile.yahoo.com/maildemo 

^ permalink raw reply	[flat|nested] 160+ messages in thread
* HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
@ 2004-10-20 22:02 Timothy Miller
  2004-10-20 22:17 ` Andre Eisenbach
                   ` (16 more replies)
  0 siblings, 17 replies; 160+ messages in thread
From: Timothy Miller @ 2004-10-20 22:02 UTC (permalink / raw)
  To: Linux Kernel Mailing List

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.


^ permalink raw reply	[flat|nested] 160+ messages in thread

end of thread, other threads:[~2004-11-24  1:25 UTC | newest]

Thread overview: 160+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-17 14:35 HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Sid Boyce
2004-11-17 14:46 ` Chris Wedgwood
2004-11-23 13:47 ` Karel Kulhavy
2004-11-23 22:48 ` Timothy Miller
2004-11-24  1:22   ` Sid Boyce
     [not found] <6.1.2.0.1.20041026082223.0231edd8@mail.javagear.com>
2004-10-26 15:44 ` Timothy Miller
2004-10-26 16:35   ` Jesper Juhl
2004-10-26 16:57     ` Jeff Garzik
2004-10-26 21:14   ` Helge Hafting
2004-10-26 21:41     ` Timothy Miller
  -- strict thread matches above, loose matches on Subject: below --
2004-10-23 19:06 Bodo Eggert
2004-10-25  1:44 ` Stephen Wille Padnos
2004-10-25  8:23   ` Vojtech Pavlik
2004-10-22 17:15 Stephen Lewis
2004-10-23  4:45 ` Gene Heskett
2004-10-23  7:06   ` Stephen Lewis
2004-10-22 10:31 John Ripley
2004-10-22 12:58 ` Moritz Muehlenhoff
2004-10-22 17:33 ` Timothy Miller
2004-10-22  3:47 Roy Butler
2004-10-22 17:04 ` Timothy Miller
2004-10-24 18:17   ` Mail Lists
2004-10-25 12:17     ` Bernd Eckenfels
2004-10-21 17:44 John Ripley
2004-10-21 18:26 ` Timothy Miller
2004-10-21 21:36   ` Greg Buchholz
2004-10-21 22:40     ` Timothy Miller
2004-10-21 23:25       ` Jon Smirl
2004-10-21 23:40       ` Greg Buchholz
2004-10-22 16:48         ` Timothy Miller
2004-10-22 16:50           ` Chris Friesen
2004-10-22 17:41             ` Timothy Miller
2004-10-25 23:10             ` Tonnerre
2004-10-26  0:32     ` Werner Almesberger
2004-10-22 15:59   ` Troy Benjegerdes
2004-10-21 17:08 Greg Buchholz
2004-10-22  2:18 ` Tim Connors
2004-10-21 15:54 John Ripley
2004-10-21 18:09 ` Timothy Miller
2004-10-21 21:32   ` Baruch Even
2004-10-25 23:30     ` Werner Almesberger
2004-10-21  4:48 Albert Cahalan
2004-10-21 16:19 ` Timothy Miller
2004-10-20 23:48 Timothy Miller
2004-10-21  0:30 ` J.A. Magallon
2004-10-21  0:47   ` Timothy Miller
2004-10-22 20:09   ` Geert Uytterhoeven
2004-10-21  1:25 ` Zan Lynx
2004-10-21 15:52   ` Timothy Miller
2004-10-20 22:02 Timothy Miller
2004-10-20 22:17 ` Andre Eisenbach
2004-10-21  1:31   ` Jon Valvatne
2004-10-21 16:09     ` Timothy Miller
2004-10-24 19:47     ` Pavel Machek
2004-10-20 22:26 ` David Lang
2004-10-21 14:46   ` Timothy Miller
2004-10-21 17:25     ` David Lang
2004-10-21 18:15       ` Timothy Miller
2004-10-21 18:32         ` Antonio Vargas
2004-10-22  9:53       ` Raphael Jacquot
2004-10-24  9:03       ` Tonnerre
2004-10-25  1:33         ` Stephen Wille Padnos
2004-10-25  1:48           ` Stephen Wille Padnos
2004-10-25  2:29           ` Gene Heskett
2004-10-22 10:16     ` Christian Leber
2004-10-22 17:31       ` Timothy Miller
2004-10-21 19:30   ` Kendall Bennett
2004-10-22 17:05     ` Tobias Diedrich
2004-10-22 17:12     ` Timothy Miller
2004-10-26  2:36     ` Dave Airlie
2004-10-26  3:55       ` Jon Smirl
2004-10-20 22:28 ` Jim Nelson
2004-10-21 14:51   ` Timothy Miller
2004-10-21 22:03     ` Jim Nelson
2004-10-20 22:29 ` Kasper Sandberg
2004-10-21 14:53   ` Timothy Miller
2004-10-21 15:06     ` Simon Braunschmidt
2004-10-21 18:00       ` Timothy Miller
2004-10-20 23:10 ` Alan Cox
2004-10-21 15:10   ` Timothy Miller
2004-10-21 15:25     ` Jon Smirl
2004-10-21 18:03       ` Timothy Miller
2004-10-21 15:32     ` Alan Cox
2004-10-21 19:30   ` Kendall Bennett
2004-10-22 17:15     ` Timothy Miller
2004-10-21  1:08 ` Jon Smirl
2004-10-21  1:11   ` Jon Smirl
2004-10-21  2:00     ` Stephen Wille Padnos
2004-10-21 16:08       ` Timothy Miller
2004-10-21 16:34         ` Stephen Wille Padnos
2004-10-21 23:38           ` Jan Knutar
2004-10-22  4:30             ` Jan Rychter
2004-10-22 17:00             ` Timothy Miller
2004-10-22 17:00               ` Chris Friesen
2004-10-22 18:47               ` Jeff Garzik
2004-10-22 19:22                 ` Timothy Miller
2004-10-22 19:33                   ` Jeff Garzik
2004-10-22 19:56                     ` Timothy Miller
2004-10-22 20:43                       ` Jeff Garzik
2004-10-22 20:27                         ` Alan Cox
2004-10-23 17:20                           ` Francois Romieu
2004-10-23 21:17                             ` Alan Cox
2004-10-24  0:06                               ` Francois Romieu
2004-10-22 20:51                       ` Jeff Garzik
2004-10-22 19:32                 ` Roland Dreier
2004-10-24 10:40               ` Helge Hafting
2004-10-25 15:39                 ` Timothy Miller
2004-10-21 21:57         ` J.A. Magallon
2004-10-22  9:48         ` Raphael Jacquot
2004-10-21 20:23       ` "Fernando O. Korndörfer"
2004-10-22  9:02       ` Raphael Jacquot
2004-10-21 15:13   ` Timothy Miller
2004-10-21 15:36     ` Shaun Kruger
2004-10-21 18:05       ` Timothy Miller
2004-10-21 19:30   ` Kendall Bennett
2004-10-22  8:49     ` Adrian Cox
2004-10-22 20:10       ` Geert Uytterhoeven
2004-10-23 13:17         ` Adrian Cox
2004-10-22 20:10   ` Geert Uytterhoeven
2004-10-22 22:07     ` Timothy Miller
2004-10-24 10:45       ` Helge Hafting
2004-10-25 15:47         ` Timothy Miller
2004-10-28  9:07           ` Helge Hafting
2004-10-29 16:00             ` Timothy Miller
2004-10-21  2:29 ` Kurt Wall
2004-10-21 16:10   ` Timothy Miller
2004-10-21 16:22     ` Pascal Patry
2004-10-21 12:20 ` Adrian Bunk
2004-10-21 13:14   ` Simon Braunschmidt
2004-10-21 17:34     ` Jurriaan
2004-10-21 16:26   ` Timothy Miller
2004-10-21 17:42     ` Alan Cox
2004-10-21 19:09       ` Timothy Miller
2004-10-21 17:53 ` Tobias Diedrich
2004-10-21 23:02 ` Florian Schmidt
2004-10-24  1:04   ` Lee Revell
2004-10-22  1:08 ` Rene Herman
2004-10-23  5:40   ` Kevin Puetz
2004-10-23 17:02     ` Rene Herman
2004-10-23 22:19       ` Lee Revell
2004-10-24 11:10         ` Rene Herman
2004-10-22 10:57 ` Helge Hafting
2004-10-22 19:47   ` Giuseppe Bilotta
2004-10-22 20:15     ` Giuseppe Bilotta
2004-10-25 15:29   ` Tonnerre
2004-10-25 15:53     ` Timothy Miller
2004-10-25 16:32       ` Giuliano Pochini
2004-10-28  9:37         ` Helge Hafting
2004-10-28 11:40           ` Geert Uytterhoeven
2004-10-28 12:21           ` David Greaves
2004-10-29 16:04           ` Timothy Miller
2004-10-22 22:27 ` Clemens Schwaighofer
2004-10-23 14:36 ` Markus   Törnqvist
2004-10-24  8:18 ` Tonnerre
2004-10-25 11:54 ` Stuart Longland
2004-10-25 16:38 ` Lars Roland
2004-10-25 17:08   ` Timothy Miller
2004-10-26 21:02     ` Helge Hafting
2004-10-26 21:38       ` Timothy Miller
2004-10-25 22:52   ` Tonnerre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).