On 17 Jul 2003, William Suetholz wrote:

>  When are the various different patches out there for ATI cards going
>to be integrated into XFree86 and DRI?  I know of at least two different
>projects that are modifying these drivers. 

I'm not sure what specific patches you're refering to, but 
if you're refering to the DRI project and GATOS project, they're 
not "patches".  They are projects.  The DRI code gets merged into 
XFree86 2-3 times a year or more depending on various factors, 
and happens as XFree86 development proceeds.

The GATOS code is something which requires integrating both into 
the DRI project as it has DRI/DRM modifications that are required 
and which there are compatibility issues that need to be 
addressed, and it needs to be merged into XFree86 as well, and 
there are massive integration issues involved in order to do that 
as well.  I believe the GATOS maintainer would like to see this 
happen, and I believe the DRI project and XFree86 project would 
also like to see it happen.  It's not a simple 10 minute job 
however as I have investigated just how much work would need to 
be done to merge this everywhere and it is non-trivial.

The XFree86 project, the DRI project, and the GATOS project are 
ran by volunteers with limited amount of spare time to work on 
things.  The code for GATOS has largely not been merged into 
XFree86 because nobody has had the time to devote to doing it.

So the answer to your first question is essentially "This will 
get merged into XFree86 and DRI, etc. when an unpaid volunteer 
decides that it is interesting work to work on, and has time to 
devote to doing so, and other things going on at the time in 
development wont interfere."  In short "When someone has time."


>What's the deal with ATI's drivers?

The binary ones, or the open source ones?  Either way, your 
question isn't very clear.  "What's the deal" doesn't mean a lot.


>Why couldn't they just help out with the existing drivers
>instead of reinventing the wheel?

They do.  The majority of the code that is contributed to the 
XFree86 open source 2D drivers for Radeon is contributed by ATI, 
and most of it written by Hui Yu at ATI.  Other code 
contributions come from the DRI project, Michel Daenzer, myself, 
Kevin Martin, and numerous others.  ATI generally contributes the 
code to support 2D on all new chipsets that come out, as well as 
providing various bug fixes in their patch sets.  Since 4.3.0 was 
released, ATI has contributed approximately 18 major patches to 
the XFree86 project for the Radeon driver in the last 4 months 
approximately, of which support was added for 3D on Radeon 9200, 
and 2D support was added for Radeon 9200/9600/9800 and the Radeon 
IGP mobile chipsets, and others.  You may wish to check the 
XFree86 CHANGELOG document which shows when these changes were 
checked into CVS by Kevin Martin along with some patches for 
Radeon by other devleopers.

As for your statement "reinventing the wheel" and it's associated 
implication about why ATI has produced proprietary drivers and 
made them available for download, here is a clue for you.

The binary drivers which were available on ATI's website were
originally designed for high end workstation FireGL video
hardware.  These drivers have been available for a very long time
for this high end hardware.  Due to increasing demands from users
to add support to their binary drivers for Radeon 8500, since the
chip is essentially identical programmatically to the FireGL 8800
chips, ATI eventually made some changes to the driver to allow
them to be used for the Radeon 8500 as well, however the drivers
are unsupported - just like any company's drivers are unsupported
on any OS platform.  (Try calling any video hardware vendor on
the telephone for *any* operating system, including Microsoft
Windows and tell them your video card is crashing and you think
it is a driver bug.  Watch how fast every vendor out there will
tell you that they do not provide end user support.)

These drivers were provided more or less as-is to people in hopes
that people find them useful, which is the same reason any other
video hardware company who provides proprietary drivers to users 
in the community.

The drivers are an alternative provided which in the cases of ATI 
and Nvidia at least, are based on their Windows driver code.  
>From what I understand, the OpenGL code in both ATI and Nvidia's 
drivers is shared with their Windows/Mac and whatever other OS's 
they support.  It's cross platform code they maintain for all 
OS's they choose to provide drivers for.  The 2D driver is 
aparently not shared code, which makes sense as Windows and X 
driver models differ greatly.  The kernel code would be custom 
code written for the given operating systems involved, and almost 
certainly written for high end high paying customers in the 
scientific and other high end 3D customers in the marketplace.

In short, these drivers weren't written for gamers, or home 
users. They were written for high end customers out there and 
merely provided for download by mortals as a convenience in hopes 
that people find them useful and benefit from them being there.

Both ATI, Nvidia and any other company providing such drivers to 
the communtiy, could just very well stop doing it, and instead 
only include them in their high end workstation graphics hardware 
CDROMS for those scientific customers.

Why do these companies not open source their complete drivers?  
Because they have intellectual property in their drivers that 
they don't want all of their competitors to just scoop up and use 
in their own drivers for free.  They also likely have various 
pieces of code in their drivers that they did not write and do 
not own, but have licensed from a 3rd party.  In short, they most 
likely have legal agreements on parts of their code that they can 
NOT release under open source licenses.

By these companies contributing to open source drivers however 
(ATI contributes heavily to the radeon driver, and Nvidia to the 
"nv" driver), they are still contributing to the open source 
community, and they are providing users with an alternative to 
use that is outside of any legally binding agreements that code 
might contain in their own full proprietary drivers.


>After all their drivers don't support XV at all, so you can't
>use the multimedia capabilities of some of their integrated
>cards like the AIW-PRO and 8500DV.  I realize that in the past
>they have provided some information to XFree86, and eventually
>after having their multimedia stuff reverse engineered to the
>group that was working on that.  They have, however, never
>provided complete information!

They've got the right to do that if they wish.  Suffice it to say 
that ATI has provided more documentation for their video hardware 
than all other vendors combined, at least the docs that I have 
had access to from all vendors.  With people like you bitching 
about it however, I don't see how that is intended to get anyone 
to release any documentation or specifications that haven't been 
released.  They could theoretically release all documentation to 
everything, open source their proprietary drivers, sell their 
company and donate the money to the XFree86 project, and people 
would still find something to bitch thanklessly about and 
complain about some bug they find.


>  I should have learned my lesson with the problems I had with ATI and
>the AIW-Pro..

Well why don't you go learn your lesson then?  Buy a Cirrus Logic 
5446.  Simple card, driver works, not any bugs I know of.  I've 
even got the docs if you want them.


>  I really can't see the problem with these chip designers releasing
>information so there could be drivers written that can take advantage of
>ALL the features for the chips, and boards they produce!

I'd love nothing more than to see all video hardware vendors 
release the specifications to their hardware openly to the 
public, as that would allow anyone to work on the driver code.  
However, with the current trademark, patent, and copyright system 
in place, companies out there want to protect what is theirs so 
it can't be used by competitors.  They want to ensure they keep 
their technology that they've spent millions or billions of 
dollars developing in their own hands and not give it to 
competitors to use too.  It's their decision what parts of their 
technology that they consider to be their "assets" and that they 
wish to keep as trade secrets.  Again also, they license 
technology from other companies, either hardware and/or software, 
and the agreements they might possibly have with those 3rd party 
vendors very well may not legally allow them to provide 
information on how the hardware works, or to provide open source 
code to the community that allow that technology to operate.

I don't understand why people find this so difficult to 
understand?

Don't get me wrong, I would love to see all hardware out there 
have open source drivers, and see all vendors providing code and 
contributing fixes also, as well as providing complete technical 
specifications to all hardware. That would be a great utopia I 
would look forward to very much.

The reality however is that we live in a capitalist society and
have strict trademark/copyright/patent and trade secret laws
designed to allow companies to invent/create something and then 
own it, either permanently, effectively permanently, or for some 
period of time.  With this legal climate, this erects walls for 
open source, and they're not going to be easy walls to work 
around.

We get what the lawyers say we can have basically, and we should 
be glad to get that, especially if the alternative is nothing.


>It would be really nice if there could be one set of drivers for
>these cards, rather then this hodge-podge of drivers!  A driver
>set that supported all the features for the cards!

Who out there is paying for to see that happen, and how much are 
they paying for it?  When Linux/BSD/whatever is on as many 
desktops as Windows or other popular desktop operating systems 
are, then you might see the attention spent on unified drivers 
for XFree86 that are spent on Windows driver development.  To 
spend 50% of engineering on Windows development for 95%+ of 
the market, and and 50% of engineering on Linux development for 
1-2% or whatever of the market doesn't line up on financial 
executive's calculators very well.

If you want drivers for video hardware that expose all the 
features of your hardware, you're using the wrong operating 
system and graphical environment.  Come back in 2-3 years and 
perhaps Linux will own 50% of the desktop and we can expect 
driver development to then be spent by the hardware vendors as 
50% on Windows, and 50% on X11.

It's simple mathematics really.

If I sound like the devil's advocate, I assure you I'm not.  I'm 
just tired of hearing random people bitch and beak off about this 
type of crap who don't put any sort of thought whatsoever into 
the business, legal, copyright/trademark/patent, or engineering 
costs and other factors that affect these types of decisions in 
companies out there.  Try to look at things from the angle of the 
given company out there for once.  

And really, the XFree86 project has absolutely zero control over 
any of this, so why bitch about it here where NOBODY can remotely 
do anything about it?

</rant>


-- 
Mike A. Harris


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to