
Adrenalin driver breaks Command & Conquer games - deafcalculus
https://community.amd.com/message/2839053#comment-2839053
======
bwang29
Response doesn't make sense at all

"This title is from 2007, so we are unlikely to devote any valuable
engineering resources to this issue, which is most likely caused by outdated
API modules"

Doesn't make sense #1: Reason to not fix because it is from 2007, what about
counter strike?

Doesn't make sense #2: Fixing the issue implies devoting "valuable"
engineering resource, does it mean they don't have enough engineers or such
issue is extremely difficult?

Doesn't make sense #3: "outdated API modules" was that likely from an educated
guess and what does it mean even.

It sounds really foolish for a reply of this calibre to a community of
supporters. I love AMD for what they're doing technically but I hope someone
can at least promise to fix it soon before this hits the larger community.

~~~
hvidgaard
This is about politics and nothing else. I hope, and believe, AMD will fix
this.

The main issue is probably due to a bug in the old driver. After a while, bugs
become a feature, and it's not uncommon to implement bugs to retain backwards
compatibility. This is where the politics enter the scene. Some engineers
believe that all bugs must be squashed, while others have a more pragmatic
approach. IMO, any behavior that is a problematic deviation from the old
drivers, should be changed. Otherwise there is no backwards compatibility,
only a best effort approach, which is unacceptable for something as crucial as
a graphics card driver.

~~~
ricardobeat
When using a gl API, doesn’t code declare a version number that they could use
to selectively patch known bugs, if that’s the case?

~~~
kevingadd
There are specific version profiles like "opengl 3.3 core profile" but a lot
of older apps aren't versioned in any fashion, they just request specific
extensions. Behavior for specific extensions has varied (old drivers had major
bugs, and apps had workarounds for them). If you're on mobile you can assume
with near-100% reliability that your GLES driver has a bunch of bugs and
you'll need to ship workarounds for them. Chrome (Blink) and Firefox (Gecko)
both have huge blacklists for specific GPUs/drivers along with sets of
workarounds for issues, many of them specific to individual mobile GPU
chipsets or drivers. I shipped a game targeting GL 3.3 core a couple years ago
and we hit multiple driver-specific bugs, despite 3.3 being pretty old.

Now imagine you're a driver developer: All this software out there assumes
your driver is broken. What happens when you fix it? Well, hopefully the app's
workarounds don't actually cause it to break or produce incorrect results.
What if the workarounds make it really slow? You want it to run fast on your
hardware so people won't buy your competitor's hardware. So now you have
workarounds for their workarounds...

OpenGL shaders have (iirc) always been versioned, so that's good at least. The
introduction of profile versions also helps but at present even those tend to
have major bugs depending on OS and driver, so workarounds still end up in
games and applications.

Direct3D was historically much more explicit about versioning and feature sets
but there's a lot of variability through things like caps flags (hardware can
advertise different levels of functionality) and the app explicitly requesting
specific features like a given texture format. Shaders in Direct3D are
versioned, but it's quite possible that a driver is only built to handle
shaders generated by a given _shader compiler_ , so a new compiler targeting
the same _shader version_ will still break the driver. Some shaders probably
were generated by old broken compilers, and the driver probably has
workarounds for those.

Also, modern graphics drivers typically have a bunch of hacks they quietly
apply to big-name game titles and applications to make them run faster or
suppress crashes. This goes as far as driver developers _actually rewriting
the shaders_ that a game uses, in order to improve performance on their
hardware. An infamous old example of this is 'quack3'.
[https://techreport.com/review/3089/how-ati-drivers-
optimize-...](https://techreport.com/review/3089/how-ati-drivers-optimize-
quake-iii)

On the bright side, a lot of this madness is gone in Vulkan and Direct3D 12.
But very little software is going to end up using those APIs because they're
much, much harder to use correctly.

------
paule89
Wow. That is kind of bad. I love to play older games regularly, and had high
hopes, because amd provides more and more linux support. But this is kind of a
dealbreaker for me. Just wait what happens if reddit and the news get wind of
this. i mean it will not be EA kind of bad, but it will surely be bad.

only if the reply is and will be the official position.

~~~
likeclockwork
Given how bad AMD's Linux drivers were not too long ago. It will take years of
very high quality before I trust them again.

~~~
Asooka
I've been waiting for ATI to start having good drivers since 2003. What's
weird is that even after being bought by AMD they still haven't turned around.
That is to say, if I were you, I wouldn't hold my breath. You'd be more likely
to see the open-source drivers for AMD hardware catch up in performance to
nVidia's.

------
barrkel
This is a tough one for AMD, because while the number of gamers directly
affected is low (~1500 daily players on Steam), it hurts the brand badly -
people will think other games might lose support also. That kind of FUD is
gold for a competitor.

~~~
kitsune_
How is this a tough one? What I mean by that is that any marketing & comms
person worth their salt would have prevented this employee from ever making
this statement in the first place.

~~~
slivym
The statement is bad but the underlying choice not to fix it probably won't
change. If they do fix this it's likely because of the PR backlash rather than
because fixing compatibility with a very old API is important.

~~~
LoSboccacc
there's a good correlation between age, having disposable income and a
preference for older games.

AMD is playing with the fire here.

~~~
ForRealsies
lmao You guys are a riot.

~~~
dang
Would you please stop posting unsubstantive comments to HN? We ban accounts
that do that repeatedly.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

------
SimplyUnknown
> You can be an outdated API module

Nice.

Still though, I assume the issue is larger than "some game from over 10 years
ago is not working" and is more like "an entire API is not working"? If so,
this also has serious consequences for higher-impact applications as, for
example, in a professional setting like CAD. It would reflect badly on AMD if
they "intentionally" break things, or at least intentionally not fix them.

~~~
jhasse
No, most DirectX 9 games still work (otherwise the driver would have NEVER
passed QA). They probably removed a workaround for a buggy way some game
developers were using the API.

~~~
solarkraft
Well, shit, but that's how they used it. Even if it was never intended as a
feature developers used it like one. Here's a tip: Fix bugs when you find
them, not after decades and developers won't expect you to keep them around.

~~~
jhasse
I don't think they fixed a bug or something. A new developer probably just
stumbled upon some undocumented code he didn't know what it was used for, so
he removed it. My tip: They should improve their CI.

------
lagadu
My biggest problem with this isn't that some DX9 games (including AAA titles
like Red Alert 3 and Witcher 1) don't work on newer hardware; I can understand
some old titles having trouble running on new hardware.

What stings me is that they did work in the pre-adrenaline drivers: this was a
regression in functionality across the board on current hardware.

------
nitinreddy88
The way AMD handled this issue seems to be unacceptable. We all go through the
cyle of product future features, deprecating the older features and
maintaining the compatibility. Its our best interest not to break the
compatibility without having telemetry of how its being used.

------
Animats
"Other problems with the latest driver included glitching, flickering, screen
going blank for several seconds, radeon settings manager crashing, relive
failing to load, severe drops in fps..."

~~~
jhasse
There must be something else wrong with this user's setup, otherwise there
would be more comments about that. From what I've read the Adrenalin driver
update was received positive by most users.

~~~
digi_owl
Sadly trying to track down the root cause may require a full rebuild of the
system, something that may not be a option (never mind that things likely
worked on a previous driver version)...

~~~
jhasse
I would start with a new Windows user account and see if the problems also
appears there.

edit: What I meant was that the user could try that to see if it isn't some
software incompatibility.

------
solarkraft
_Your feedback is appreciated.

there is nothing more to add to this thread so it’s locked._

What a way to save your face.

------
barrystaes
This is why we can have nice things like openRA.

~~~
artmageddon
I really wish OpenRA 2 were further along! OpenRA is great already(though the
AI does a nice job of kicking my ass a bit), but I've given up on trying to
make regular Red Alert 2 work over multiplayer.

------
ricardobeat
That’s funny. Someone should ask why they are even working on “old” tech like
DX9 then - it was released back in 2002!

------
LoSboccacc
they worked too much on linux and forget what windows customers wants?

~~~
ahoka
Workarounds for shitty EA game engines?

~~~
kitsune_
If this is about shitty workarounds that AMD had to add to their drivers to
fix bad programming from an EA studio, well, too bad for AMD (Btw, I'm aware
that all driver developers seem to have to add shitty workarounds for AAA
games).

This is all about expectation management. The moment you implement a
workaround for a buggy game you set expectations. Now it's AMD's problem, not
EA's. If the game claims to run with DX9, and your driver claims to support
DX9, and you implemented a shitty workaround to make the game work with your
driver back in 2007, you better be prepared to support this workaround for as
long as you claim to support DX9 with your drivers. If your drivers once
worked with a game and then a new driver breaks that, it's most definitely
your problem and not EA's.

~~~
moomin
As I understand it, the entire industry is like this. The reason you're
constantly seeing drivers with performance updates and rendering fixes for
particular games is that they've put something in the driver to work around a
mistake in the original game code.

nVidia have a big developer support program, to the extent of sending their
own devs to work on big titles, which makes this easier for them than AMD.

