Re: Is your video card Built/Powered by ATI, and why should youcare...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Well said Mike! =)

On Fri, 2002-11-29 at 21:46, Mike A. Harris wrote:
> On 28 Nov 2002, Chris Kloiber wrote:
> 
> >We all know Mike Harris knows his stuff, but here is independent 
> >confirmation about the "Built by ATI"/"Powered by ATI" controversy we
> >had on psyche-list a few days ago (prior to Mike's retreat from the
> >unneeded abuse he was subjected to). This is specifically about ATI's
> >new closed drivers for the 8x00/9x00 series cards. I personally think
> >the difference between "Built" and "Powered" is more than just a PCI
> >subsystem ID, and that is probably why the current XFree86 drivers are
> >having some issues. BTW- I don't recommend video bios flashing, don't
> >come crying to me if you fubar it.
> >
> >http://seneca.me.umn.edu/pipermail/flightgear-devel/2002-November/013461.html
> 
> Since you've forced me into this discussion now (thanks), I've 
> had to briefly resubscribe to the list to straighten out a few 
> things before the conspiracy theorists go wild.
> 
> First of all, that entire post is totally and completely
> clueless, and has no technical content worthy of any more than a
> dismissive laugh.  It rings of nothing more than a whiner who
> expects, no demands something, and doesn't at all put any thought
> into *why* what is supported is supported, and what is not
> supported is not supported.
> 
> As I've stated before, boards that are not made by ATI, very well 
> can be different than those built by ATI.  They can however, be 
> very much the same too.  ATI is in business to make money, and 
> just like Red Hat, they support the products that they produce, 
> and they do not support the products that they do not produce, or 
> if they do, they do so at their option.  This ultimately means 
> that yes, an ATI video driver produced by ATI for Built by ATI 
> hardware, *might* work on other ATI hardware that is not Built by 
> ATI.  It also means that it might *NOT* also.  ATI I presume at 
> least has no control over how 3rd party vendors produce their 
> clone boards with ATIs chips.  It makes perfect and clear sense 
> then that they do not want to get stuck supporting video boards 
> that they DID NOT PRODUCE.  ATI is not responsible for producing 
> video drivers for anything other than the video boards that THEY 
> PRODUCE, as they ultimately only can control how the boards work 
> that they produce.
> 
> By having the video driver check to see if the board it is 
> potentially going to run on is one they support or not, they are 
> checking the PCI ID of the card, as people have discovered.  This 
> is nothing new, and in fact is something I would expect of every 
> hardware vendor who wants to not get stuck supporting hardware 
> that they did not produce but which they provided the chips for.
> 
> Yes, it is possible to flash the BIOS of a video card and
> override the PCI ID.  Is it smart?  No, it is incredibly stupid,
> even if it ends up seemingly working in the end.  Why is it
> incredibly stupid?
> 
> Because you risk damaging your video card.  Duh.
> 
> XFree86 has a config file option that lets you override the PCI
> ID, although I don't recall off the top of my head or not if it
> allows overriding the subvendor/subdevice IDs.  If not (no I'm 
> not going to bother checking), it would be quite trivial to
> override the PCI ID of the video card safely, by making a few 
> slight changes to XFree86 source and recompiling. No careless 
> BIOS flashing required.
> 
> 
> >Background: ATI's business model differs from NVidia in that they
> >manufacture and market their own circuit boards, not just the graphics
> >chips.  Mostly.  They actually *do* sell the chips to OEMs, who market
> >third party Radeon-compatible boards.  In their marketing parlance,
> >their own boards are "Built by ATI", while third parties sell "Powered
> >by ATI" hardware.  Most of the low end mail order cards are of this
> >type; ATI's hardware seems to be sold mostly off of store shelves.  In
> >practice, this doesn't make much difference.  While some OEMs might
> >skimp on parts or use cheap memory, most don't, and the hardware is
> >100% software compatible.
> 
> Statements like "100% software compatible" are rather
> meaningless.  Software doesn't ultimately talk to the video card
> itself.  Software talks through several layers of abstraction,
> and eventually a video driver talks to the hardware.  It is the
> job of the video driver to make the card work properly.  Even two
> cards that are very similar may have differences, and those
> differences may even be extremely slight.  Perhaps simply
> different RAM was used, requiring different memory timings.  if 
> the driver is not aware of this specific card which requires 
> different memory timings to be programmed, and it programs it 
> with memory timings for another card, then it might completely 
> fail, or it might sortof work, or any other kind of random 
> behaviour.  In short, if the driver is not 100% aware of the 
> specific video card, then it might or might not be able to work 
> with that card.
> 
> XFree86 has a built in list of PCI IDs of supported hardware.  
> Every time a new video card comes out with a new PCI ID, even if 
> it is 150% identical programmatically, it WILL NOT WORK because 
> XFree86 is unaware of the card and so it can not autodetect it 
> and pass the ID on through the driver so that the proper 
> conditional codepaths are executed.
> 
> To add support for one of these cards that are identical 
> programmatically, it is a trivial process that takes about 30 
> minutes or so, to go through the various parts of the X source 
> code and add the PCI ID and then go and update the driver's 
> conditional codepaths with the define for that ID.  If any slight 
> changes are needed for this new chip, then the driver developer 
> can special case the chip by using its PCI ID in order to create 
> a new codepath just for this new chip.
> 
> That is basically how things work for VENDOR:DEVICE ID 
> combination, however the boards that are made by _other_ vendors 
> using the same chips, while programmed almost identically, are 
> not always 100% identical.  This isn't just an ATI thing, this is 
> for ALL video hardware.  These types of boards have the SUBVENDOR 
> ID of the vendor who made the _board_.  The SUBDEVICE ID will be 
> practically anything, and is used to identify that subvendor's 
> specific model of that board.
> 
> XFree86 for most cases ignores the subvendor and subdevice IDs.  
> It does so because most often, boards made by other vendors often 
> work ok, and if they do not, it is nice to get bug reports so 
> that perhaps they can be fixed.  What this means, is that if 
> someone purchases *any* ATI video card, wether it is a Built by 
> ATI board, or a Powered by ATI board, XFree86 doesn't 
> differentiate between them.  Powered by ATI boards, will be 
> treated as Built by ATI boards.
> 
> Since this is the case in XFree86 stock drivers, I need to note 
> that *MANY* people using Powered by ATI boards have reported that 
> they do not work or that they have one problem or another with 
> their board in XFree86.  This does not mean that all of these 
> "Powered" boards are junk, nor does it mean that they wont work 
> either.  It just means that no effort has been made to MAKE them 
> work because nobody who develops the drivers HAVE these boards, 
> nor know what particular differences they MIGHT have.  And also, 
> each of the clone board makers of course are going to be 
> different from each other.  I've had confirmation about many 
> boards that DO work, and work just like any official ATI board.  
> I plan on putting together a list of the working boards, and a 
> list of the non-working boards.  In the future, hopefully our 
> config tool will autodetect these Powered by boards, and rather 
> than showing them as "ATI Radeon foo", display them as "ATI 
> Radeon foo (Sapphire)" or whatever the actual box says on it for 
> the card.  That would allow us to have custom configuration 
> defaults for these boards that might differ from an official ATI 
> board, and possibly allow us to get more of them to work.
> 
> To do that would require getting the subvendor and subdevice IDs 
> of the boards, which can be a very tough thing to do without 
> people submitting them.
> 
> The problem then becomes "how to make the ones that do not work
> function properly".  That can be trial and error, poking in the
> driver source, or possibly talking to ATI and/or the 3rd party
> vendor for info.  Or even a driver update submission from one of
> the above.  ATI just recently made 2 patch submissions to
> XFree86.org, in which they have modified a few things in the open
> source Radeon driver to help provide better support for "Powered
> by ATI" hardware, as well as support for the new Radeon 9500, and
> various other things too.  That is not yet in CVS, nor in our
> RPMs, but Kevin plans on committing the changes soon.  So yes,
> ATI does try to support as much ATI hardware as possible.
> 
> Differences in *some* of the Powered by boards that cause XFree86 
> to not work, also cause _me_ to get bug reports.  Bug reports 
> that I for the most part can do jack squat about, as I do not 
> have the specific problem board, nor the info to make it work, 
> and I certainly can't pull it out of a hat.  Nor can any of the 
> other developers really.  It's a case of hit and miss, trial and 
> error, or some vendor submission who does know how to make things 
> work.  Ultimately it would be nice if the board vendor produced 
> patches and sent them to XFree86.org.  Ultimately, it is THEIR 
> HARDWARE, and THEIR responsibility to get it working on various 
> operating systems that they want to support.  Not doing so is 
> indicative that they do not want to support that platform.
> 
> So this guy in the email post is suggesting that people not
> purchase ATI hardware, when ATI *IS* supporting the hardware that
> they produce, and the idiots expecting the card they bought to
> work, bought one ATI did NOT produce.  Duh.  The proper vendor
> not to purchase cards from, is the one who produced the card that
> has no support.
> 
> This is NO different from Red Hat supporting Red Hat Linux, but 
> NOT supporting clone CDs of Red Hat Linux named something else 
> and sold for $5 over the net.  Why *should* we support a clone of 
> Red Hat Linux that we made $0 off of?
> 
> ATI did not sell their product (the chips) to the person who 
> bought the board.  They sold the chips to the vendor who made the 
> board.  The vendor who made that board is responsible for making 
> it work *wherever*.
> 
> 
> >ATI's windows drivers have always worked equally well for OEM
> >hardware and "Built by ATI" cards.
> 
> Windows is not a worthy comparison.  Windows has a lot of support 
> for a lot more things that are not supported in Linux, and 
> Windows is where the cash cow is.  Why do ATIs Windows drivers 
> work on most cards?  Probably because the "Powered by" vendor 
> paid ATI to put support for their boards into the ATI drivers.  
> Or perhaps some other business deal.  Do those Powered by 
> vendors also care about Linux?  Did they make arrangements 
> with ATI to support their hardware in Linux also?
> 
> 
> >Except their Linux drivers.  For reasons unknown, the recently
> >released drivers do an explicit check to see that they are
> >running on "built by" hardware, and exit if they find a "powered
> >by" card.
> 
> For reasons unknown, yes, but not reasons that are hard to guess.  
> Throwing conspiracy theories away, ATI probably has no obligation 
> to support the "Powered by" hardware.  Who knows, these drivers 
> are BRAND NEW, perhaps ATI is making arrangements TO support the 
> other hardware.  Has anyone ever even remotely entertained that 
> thought?  Considering ATI just submitted some fixes to 
> XFree86.org to support powered by ATI hardware, it seems 
> reasonable they do not have any conspiracies to screw over people 
> who have not bought from them directly.  It only makes sense that 
> they do not _currently_ support those boards for _GOOD_REASONS_.
> 
> 
> >Guess which one I bought?  Not that I could tell -- I ordered a
> >"ATI Radeon 8500LE 64MB" card from a mail order vendor.  There
> >is no information in the distribution channel to indicate what
> >you are getting.
> 
> And that is not ATIs fault.  Complain to the vendor who sold you 
> the card.  For what it is woth, all "LE" cards are Powered by 
> ATI.  ATI doesn't make any of them themselves.  If I'm not 
> mistaken, ATI even has a webpage dedicated to explaining the LE 
> boards, or they did at one point anyway.
> 
> >Nor is there any documentation on ATI's site that the linux
> >drivers only work on "pure" hardware.  So I'm SOL.  ATI clearly
> >says on their website that Radeon 8500's are supported, but in
> >reality most Radeon 8500 cards are *not* supported.  Someone
> >lied to me.
> 
> No, nobody lied to you.  At the absolute worst case,
> documentation isn't as detailed as possible.  A lie, is knowingly 
> providing false information, or knowingly trying to mislead 
> someone.  Why would ATI try to do that?  What benefit would it 
> gain them AT ALL?  It would serve NO useful benefit to them, and 
> therefore one can logically conclude that ATI has not lied to 
> anyone.  Much more of improper research, or simply someone 
> not finding out enough information on what they were 
> purchasing beforehand, and finding out later that it wont 
> work, and then being angry and frustrated, and looking for 
> a scapegoat to channel their frustration into.  Just return the 
> damn card, and replace it with an official ATI card.  ATI has 
> done nothing wrong here.  Or, POLITELY contact ATI, or the vendor 
> who made the board, and ASK them the story.  Why assume negative 
> things that are likely incredibly false, and in fact just stupid 
> and childish?
> 
> Seriously.  Does this guy think that someone at ATI is sitting in 
> a room with a pointy chair, pinky crooked to his tooth and saying 
> "I've got an evil plan! Lets make drivers for Linux and not 
> support Powered by ATI cards!  Just think at the money we'll 
> make! Muahahahaha!".
> 
> It would seem this is the thought process going on in this guys
> head anyway.
> 
> 
> >But nothing is ever unfixable.  Remember that the hardware
> >really is software compatible (the DRI drivers and Windows
> >drivers don't care what they are running on).
> 
> Again, "software compatible" is meaningless.  The DRI drivers 
> very much DO care what they are running on.  Put in a card that 
> the PCI ID is not known, and it doesn't work.  Simple as that.  
> The only difference is that XFree86 tries to enable the drivers 
> on anything that *might* work.  That does not mean that it *WILL* 
> work, and in fact, some of those "Powered by" cards do NOT work.
> 
> "software compatible" does not equal "driver compatible" and 
> anyone who thinks otherwise is simply not a driver author and not 
> clued into the concepts.  Windows drivers are subject to the 
> exact same as well.  The difference being that in Windows, the 
> market is 1000000 times the size of Linux, and so someone has 
> done the work already in Windows to make these cards supported.  
> Duh.  It just hasn't occured in Linux *yet*.  Yes, they MIGHT 
> work on SOME cards, but as I said above, not all.
> 
> 
> >It turns out that the "OEMness" of the card is stored in the PCI
> >subsystem ID, and that value is defined in the card's BIOS code.  
> >And the BIOS can be flashed.
> 
> Yes, and that is stupid, see above.
> 
> [SNIP]
> >In summary: unless you are 100% sure that your card is a "built by"
> >variant (which basically means that you have to have purchased it in a
> >dark red ATI box at a retail store), are happy with gray market stuff
> >like BIOS reflashing, or absolutely *must* have one of the
> >super-high-end super-expensive 9700 cards (for which no alternatives
> >exist), stay away from Radeon cards for Linux.
> 
> Why?  They work fantastically.  Purchase a card that is 
> supported, and it will work. Purchase a card that is not 
> supported and it will not work.  You can bitch and whine about it 
> of course, but ultimately it is your responsibility to purchase 
> hardware that is supported.
> 
> GO to the vendor who made the video board's web site, and look to 
> see if it is supported on Linux.  If not then you purchased an 
> unsupported board without doing your homework first.  Also look 
> to see if that vendor has drivers for their boards for Linux.  
> No?  Then don't buy one from them.  In contrast, ATI produces 
> video boards, and does have Linux information on their website, 
> and drivers for the boards that they produce.
> 
> 
> >The technical decision to cut off perfectly working hardware is
> >pure idiocy, and the marketing scheme that makes it impossible
> 
> No, the decision is quite sane and rational actually.  In this 
> case it is the consumer who is the idiot IMHO.
> 
> >for a consumer to tell the difference between supported and
> >unsupported products is downright dishonest.
> 
> Dishonest?  How is ATI doing anything dishonest?  They did not 
> produce the product that you bought.  They produced an ingredient 
> of that product.  If you go to the vendor who made the card, then 
> you will find the information that you seek.
> 
> 
> >It's not that the drivers themselves are poor quality, or that I
> >think ATI is actually trying to abuse its customers.
> 
> Well that is because you're frustrated because you got burned 
> from not doing your homework ahead of time, and are looking for a 
> scapegoat to remove the blame from yourself.  Conspiracy theories 
> are a good and common way to do that.
> 
> >But this driver release is just not good.
> 
> I have not personally tried the binary driver yet, and so can't 
> comment. I do however have Built by ATI hardware, so the driver 
> is at least made for the hardware I have.
> 
> >Between them, the ATI marketing, engineering and manufacturing
> >people have turned a fairly standard software release into a
> >bloody, frothing mess.  Give them another release to fix the
> >release stupidities (or at least document their hardware
> >limitations) and hopefully things will get better.
> 
> There aren't really limitations, there are board implementation 
> differences on some of the Powered by ATI boards, and those 
> differences were done by the peopple who made the board, and not 
> by ATI.
> 
> If I were ATI, I would simply not allow people to make boards 
> with my chips.  That solves this problem completely.
> 
> >And the competition isn't even close, anyway.  Except at the
> >very high end, the NVidia hardware and drivers are just as fast,
> >just as cheap, and (most importantly) just work.
> 
> Nvidia's drivers have been around in Linux for several years 
> longer also.  Did they support every 3rd party board when they 
> were new on the scene?  I'll wager to bet that they did not.  I 
> will also wager that as ATI comes out with new Linux drivers that 
> they will support more and more of the powered by ATI boards 
> also.
> 
> >I'm going to give the DRI stuff a whirl tonight.  It lacks a lot
> >of the fancier hardware features (programmable shaders), but
> >FlightGear doesn't use them anyway.  After last night's
> >experience, I'd honestly give up 10-20% in performance to not
> >have to use the ATI dreck.
> 
> If people like this put a bit more thought into things ahead of 
> time, did some research head of time, and actually contacted 
> their hardware vendors directly, then perhaps they would not have 
> so many problems, and perhaps they would even be told exactly why 
> whateverr is not supported is not supported, so they don't need 
> to come up with some off the wall idiotic conspiracy theories on 
> their own to cover up their own poor decisions.
> 
> The problem here is not ATI.
> 
> ATI is an extremely Linux/open source friendly vendor, and does a 
> LOT to support XFree86 on Linux.  Not once in the above trash 
> article did I see mention that ATI was contacted for comment 
> directly before jumping to rediculous rampant conclusions.
> 
> I will personally contact ATI tomorrow, and point them to this
> childish article.  They will most likely be quite surprised IMHO, 
> and I'm sure that they will also likely address any concerns that 
> their customers have in one way or another.  IMHO, in order to 
> help prevent rants like this guy just spewed, they could perhaps 
> mention what cards are explicitly not supported currently, and 
> also perhaps why they aren't, and possibly what if asny plans 
> they have of doing so in the future.
> 
> This flightgear guy article is nothing more than an upset 
> consumer looking for someone else to blame for his own 
> shortsightedness.
> 
> My $0.02
> 
> 
> -- 
> Mike A. Harris		ftp://people.redhat.com/mharris
> OS Systems Engineer
> XFree86 maintainer
> Red Hat Inc.
> 
> 
> 
-- 
Dan Clowater <clowater@cogeco.ca>



-- 
Psyche-list mailing list
Psyche-list@redhat.com
https://listman.redhat.com/mailman/listinfo/psyche-list

[Index of Archives]     [Fedora General Discussion]     [Red Hat General Discussion]     [Centos]     [Kernel]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat 9]     [Gimp]     [Yosemite News]

  Powered by Linux