Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
From: Timothy Miller
Date: Tue Oct 26 2004 - 10:35:38 EST
pbecke wrote:
As a developer, who has been struggling with displaying HDTV using off
the shelf cards, I am intrigued by an open source video card. Since my
primary goal is to display HDTV, my primary need is 2D. Support for
Nvidia and ATI exist, however I still run into problems. For example I
have been totally unable to display 1080I using a digital interface with
either vendors card. Even with an analog interface, it is next to
impossible to reliable synchronize the top and bottom display field,
with the top and bottom field of an interlace stream. I am sure the
information must exists on the card somewhere to determine the field
being displayed, but I am unable to access it because of lack of
documentation.
We'll have to be sure to include a way to access that information.
In general an open source video card is a great idea, however, I am a
bit concerned about your plans to keep the FPGA code secret. I realize
that your company wants to make a profit,
And that is the POINT here. The question isn't whether or not we can
become a charity and give away all of our IP. The question is whether
or not it's possible to sell open-source-friendly products. Designing
and manufacturing hardware is EXPENSIVE. Especially at the volumes I
expect.
but in keeping with the spirit
of open source, it seems that it would be a good idea to not only open
up the driver development, but also to open up the FPGA code. The great
power of open source is that it allows a developer to tweak the
implementation.
What you're asking for is excessive. Even Stallman agrees that people
should be able to profit from their work. Opening the source to this
chip would be good for you and for every other company that wants to
copy it, but it would not be good for Tech Source. Tech Source is a
business with a profit motive. Will will not engage in something that
costs us more money than it makes or diverts us from something more
profitable.
You're allowing your lofty free software ideals to get in the way of
what is reasonable and practical. I believe in freedom, which is why I
started this project. But make no mistake in thinking that I'm trying
to waste the time and money of my employer.
The only thing you need to make this product work is the software
information necessary to communicate with it. Hardware is not free, and
it never will be. Software, on the other hand, is trivially easy to
copy. So let's let the software be free.
Also do not make the mistake of believing that software is free to
PRODUCE. If it were, then free software fans wouldn't love the GPL
which protects their investment of time from being ripped off by greedy
companies that would like to steal their work. Tech Source would have
to factor my time to develop software for this product into the final
price that you pay for the hardware. The advantage you have is that the
software, being open source, is guaranteed to outlive you, me, and
everyone else.
Additionally for this reason, I also think it should be possible to
dynamically load the FPGA without having to power down or reset. One
could easily imagine a card where the boot loader loads a simple VGA
interface, but then upon switching to X, a more sophisticated and
powerful interface could be loaded. This takes advantage of the
reprogram ability of an FPGA, while making the device useful to both the
low end embedded needs as well as the high end gamers.
If you only have one FPGA on the board, then you have a chicken and egg
problem. It's programmed through JTAG which turns the entire chip into
a giant shift register. The moment you start programming it, all
variable logic stops working.
In fact it may make the most sense for a company like Xilinx to provide
support for such a development, since ultimately, Xilinx is the company
that will profit the most by selling more chips. Does anyone know a
contact at Xilinx who would be open to such a request?
Xilinx already supplies free tools, and they also supply instructions
for getting their tools to work with WINE.
Perhaps, rather than a single company defining the functionality with
input from the open source community, it makes more sense for the open
source community to define the standard, and then any company could work
from the standard created by the open source community.
As I've said before, if people want to give us a design, we'll
manufacture it!
The problem isn't so much that the vendors don't provide proper data
sheets, as it is that there is no open standard for extended registers
and advanced interfaces on graphics cards. Imagine if USB and IEEE 1394
and Ethernet where closed standards. We would all be trying to reverse
engineer M$ drivers, or we would have to rely on the buggy closed source
drivers that the vendors decide to throw our way, with the only
alternative of using a slow open source RS232 interface. That is
essentially what has happened in the realm of graphics cards.
Different chips do things in different ways. I guarantee you that my
video controller design will be quite alien to you. It'll also be one
of the most programmable you've ever encountered.
If the open source community leads, others will follow.
If you participate in a project that produces something that I can put
into a chip, let me know.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/