Jump to content

ATI Driver Bugs (yes, plural) Identified


Recommended Posts

Three ATI driver bugs have been identified with the help of a bunch of guys affected. There is no easy, 100% way to work around this. However, it can be. Charles is implementing some things that should make these buggy ATI cards accept the standard API user interface calls, which all other systems handle just fine, with little to no impact.

More info when we have it.

For those of you who don't understand the problem and our frustration, let me use an analogy for you. You are told to go down to Burger King and get a Triple Whopper with Cheese, 2 pickles, and hold the mustard. You're boss is the one asking for this and he if you don't bring it back you're pretty much sure to be fired. So you go down to Burger King and sure enough Triple Whopper with Cheese is on the menu. It also states that you can have the burger done your way. Great!! You have enough money and you know exact what you want AND it is exactly what they have to offer. This should be easy.

You go up to the counter and the nice lady behind the counter asks what you would like. You tell her very clearly what you want, but instead of her punching it into the register she instead punches you in the nose and yells at you to go out into the street and then come back in again. You do that and try again, and yet another punch in the nose.

Obviously you're pissed and hurt too. You also know that your boss is waiting and you had better do something to get this resolved. You ask to see the manager. You explain what it is you want and ask if this is possible. The manager says "sure fella, what do you think this place is? Just go and place your order". So you do and guess what? You guessed it... punched in the nose! You ask the manager again if there is anything wrong with what you're doing. The manager says "no, that's what you're supposed to do. Just go and ask". You try again and... punched in the nose.

Now you try to get smart. You ask for things in a different order. Punched in the nose. You say "no yellow stuff", thinking you might get around it, but nope... punched in the nose. Now at least you know it is the mustard, but you can't think of how to ask for it differently. Each time results in another punch in the nose. Therefore, no matter how you ask you will not get what you want and you will always get punched in the nose.

That's what it is like working with drivers. The worst part is that for the past 3 days that Charles has been trying to hack around a couple of bugs that are NOT supposed to be there and are NOT on about 95% of the systems out there (including other ATI cards), he is not doing anything else. But we have no choice. We've got to prioritize and people that can't play at all, no matter what work arounds are tried, get top attention. It would be wonderful if we could bill ATI for this, but I think it is unlikely they care.

Why do other games not have this problem? They probably don't use OpenGL and if they do don't need the specific 2D to 3D input calls that we MUST use for CM to work. So the bug is there for everybody with late model ATI cards, it's just that CM's needs are different than other games.

Fun stuff :(

Steve

Link to comment
Share on other sites

Please tell the entire forum you have no idea why you picked a triple Whopper with cheese as an example.

Of course, the fact you think they use mustard as standard at Burger King may be evidence you've never been there. You have to order it special on a Whopper.

Please eat more fibre until such time as the Canadians in Northwest Europe module is out.

Actually, the fact that you would ask her to hold the mustard might just be legitimate cause for her to punch you in the face. Bad example. tongue.gif

Good news about the ATI drivers; that's a long detour to have to take. :(

Link to comment
Share on other sites

Originally posted by Battlefront.com:

You are told to go down to Burger King and get a Triple Whopper with Cheese, 2 pickles, and hold the mustard.

Aussie translation...

You are told to nick down to Hungry Jacks and get a double whopper with cheese. Hold the blood.

Link to comment
Share on other sites

Why do other games not have this problem? They probably don't use OpenGL ...

It does beg the question why you didn't use the same API the other games out there that do work use?

IE if other games don't have problems, but you chose a route that does give you problems, then ... um...

???

GaJ

[ August 04, 2007, 01:50 AM: Message edited by: GreenAsJade ]

Link to comment
Share on other sites

I've thought more about this.

It's really a bit of a double standard for BTS to be blaming someone else's software bugs for any CMSF woes.

Here we are, being told to be patient with first release of software that's full of bugs. They'll be worked out in time. OK ... so far so good. Really: many software companies do acknowledge that they need users testing to find user bugs. That's what beta test is about, right?

But then ... we're being told "Gosh, gee... ATI had ... " (how many now) "... THREE whole bugs" in their software.

Now please: is it OK to have bugs in software or not?

If it's OK, then you must have been expecting bugs in the software of your suppliers.

How did you plan ahead to deal with these certain ATI driver bugs... I mean: I read somewhere else just now that Charles only just now ... post release ... got a machine with the most common leading edge ATI card in it!!!?? Why is that? Weren't you expecting bugs in the video card drivers?

And what about the beta testers? Did they have ATI cards? If not, didn't you need some more beta testers?

And then ... let's think: how big is this API anyhow? Did you first create some tests to make sure that the calls you've told us you "have" to do actually work? Wouldn't that have been a good idea?

If we return to the burger analogy, it's like you _knew_ the boss was going to ask for this burger for _years_. Did you go down to the outlet and make sure that the order you were going to give was going to go OK? Or did you just assume that Burger King was bug free?

In which case ... is it the case that really software _should_ be bug-free? Afterall, this seems to be the expectation of ATI drivers... so why not BTS CMSF?

Hmmmm... I don't think you can have it both ways....

GaJ

BTW: API's aren't any more violent than any other software.

For example, I get punched on the nose every time I ask my tank to go in a straight line to that hill over there. No matter how politely I ask, it vectors off at 45 degrees into the line of fire... is that so different to a call to a texturing API that fails?

[ August 04, 2007, 03:17 AM: Message edited by: GreenAsJade ]

Link to comment
Share on other sites

And what about the beta testers? Did they have ATI cards? If not, didn't you need some more beta testers?

And then ... let's think: how big is this API anyhow? Did you first create some tests to make sure that the calls you've told us you "have" to do actually work? Wouldn't that have been a good idea?

This is garbage. How many beta testers do you think they could have had - 50, a 100, more - I doubt it somehow. Managing a beta program with more than 100 users would be a huge task.

Now how many possible configurations do you suppose there are - just think about it for a minute. Be realistic, you simply cannot test every combination, it is not possible. As for all those tests before they start that you say they should have done. Note the cards suffering the problems. How long ago did they start on this engine? If I recall correctly, Charles started on this engine 3 years ago. The changes to graphics cards over that time have been huge.

ATI is reknowned for buggy drivers. Maybe BFC could have just gone with DirectX which I suspect, would have lessened their problems. As most games use DirectX, the drivers have most likely been tested better. They instead decided to consider their Mac customers

Link to comment
Share on other sites

Yeah they should have had a few of the latest ATI rigs being tested. Problem is, there are plenty of people reporting no problems too. Even just with the latest graphics cards, you then have to test it on all the combinations of OS and CPU combinations (dual core, hyperthreading, single core etc). The number of potential combinations with just one of the latest cards already gets hard to test completely.

Link to comment
Share on other sites

I remember a crash (as in bluescreen) in the ATI Radeon drivers back in 2003. As it turned out the driver was too stupid to know how to make a mipmap out of a textures with a certain dimension.

So yes, driver problems can exist with 99.9% of the games running happily. Plus, OpenGL is not exactly the game industry favorite right now (what with DirectX10 being touted as the universal salvation and everything).

But fear not: Once ET:QuakeWars is released, ATI and NVidia will quickly patch up their drivers to fix all the things they've left broken because they thought everyone plays D3D-games. ;)

Link to comment
Share on other sites

And here I am having been flamed for dis-recommending ATI cards in the weeks before the CM:SF release. Oh sure they'll be fine this time around. Right.

Fanbois are quite a sad affair.

The more changes in computing, the less changes. The strengths and weaknesses of lines of OSes, CPUs, video chips and drivers never really change. Why do people think Creative still doesn't produce solid drivers after 15 years? Because people who require solid drivers are not their customers either way, so why bother? Why does ATI make drivers that only works for the top 50 current games? Because people who play older or obscure games don't buy ATI anyway, so why bother.

Link to comment
Share on other sites

How many beta testers do you think they could have had - 50, a 100, more - I doubt it somehow. Managing a beta program with more than 100 users would be a huge task.

Now how many possible configurations do you suppose there are - just think about it for a minute. Be realistic, you simply cannot test every combination, it is not possible.

This is a fair point worthy of analysis, because it's always the response to a question about "couldn't you have tested this?".

How many combinations actually would a company have to do to cover significant *new* configurations?

There are two card vendors. Each has ... what 5 or 6 significantly different *new* cards?

Then there are 2 Windows CPU vendors (AMD/Intel) and a couple of configurations of note (single CPU/dual CPU).

Can anyone enumerate better?

What does this multiply out to? About 50?

Then if you have less beta testers, obviously you have to hit really key likely points of failure. I'd say "Most recent, high end cards and drivers", wouldn't you?

You'd have to say that in this case it seems these were not covered before CMSF release. As we heard, Charles only just got an 8800 machine. Did no beta testers have one?

As for all those tests before they start that you say they should have done. Note the cards suffering the problems. How long ago did they start on this engine? If I recall correctly, Charles started on this engine 3 years ago. The changes to graphics cards over that time have been huge.

Another very fair point: it is an extremely difficult thing to be developing a leading edge piece of software using other people's leading edge pieces of software and hardware.

There are ways of coping with this. I can conceive of a regression test of the required functions of OpenGL, for a start. Run the test across new cards and drivers as they arrive... if you're resourced.

The funny thing is, BTS, of all companies out there, is one of the best resourced. They have _us_. I'd have been keen to be part of setting up a test suite like that. Or I'd have done the mod manager interface while someone else does the regression test. I'd have done it for free. But no-one asked (that I recall).

However, all this is somewhat secondary to the main point.

I got the impression, possibly mistakenly, that the post from BTS was saying "look, the reason you ATI users are having so many problems is 'cause irresponsible ole ATI has bugs in their drivers, and they don't care about us and they don't help us. Please give us some sympathy, we're getting a bloody nose here."

And I feel somewhat sympathetic, because it's a hard task that BTS has, coding to someone else's API, but I'm not sympathetic to this being presented as the reason why CMSF appears unready for release even though they released it.

The situation with ATI drivers has been known for years, and no developer using those drivers is helpless for ways to deal with it. I think it was the "(yes plural)" that got me. As if ATI dare to have plural bugs - shame shame.

GaJ

[ August 04, 2007, 05:53 PM: Message edited by: GreenAsJade ]

Link to comment
Share on other sites

Wouldn't that be a pretty sensible high criterion?

"Hey, if we don't have a single 8800 owning beta tester, maybe we better put feelers out".

If we are saying that the reason all those high-end ATI owners out there are having post-release problems is because BTS couldn't find a suitable 8800 owning beta tester ... well I'd be (momentarily ;) ) speechless if that really was what you're saying...

GaJ

Link to comment
Share on other sites

I think you are still assuming that the only purpose of having a beta tester is the hardware configuration and OS that he has. Maybe you would like to point out to a voluntary cadre of wargamers with military experience and skills at scenario making that represent all the likely hardware combinations?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...