Godot: Godot makes AMD graphics drivers crash when Crossfire is enabled

Created on 15 Sep 2016  路  9Comments  路  Source: godotengine/godot

Operating system or device - Godot version:
Godot : 2.x
OS : Windows 10 pro 64 bits
CPU : AMD APU A8 7600
GPU : integrated Radeon R7 + pcie Radeon R7 240

Graphics driver version : tried with both outdated 15.xxx, and latest 16.7.3 (both WHQL).

Issue description (what happened, and what was expected):

When Crossfire is enabled, the amd graphics driver crashes when Godot is launched.
When Crossfire is disabled, Godot and AMD graphics driver are friends again.

An other user mentioned this issue on the forum :
https://godotdevelopers.org/forum/discussion/17433/godot-is-not-starting-i-have-two-video-cards-and-two-monitors-any-suggestions

It might be a bug in the AMD driver.
Will need further investigation.

Steps to reproduce:

Link to minimal example project (optional but very welcome):

archived

Most helpful comment

I've found no workaround.
Even RAGE from id Software crash the AMD driver when crossfire is on, so it's definitively on AMD side.

Godot is innocent ! Hurray !

All 9 comments

Well, it is like saying that having a car driving at full speed at a wall crashes the car... and thus we have to remove the wall :wink: .

Not sure I understand bojidar's comparison but the issue in regards to godot might either be that the editor needs to be able to launch in full screen mode or needs to somehow be rendered on single gpu only if in windows mode.

Unless exported games which launch into fullscreen mode also crash?

@quantum-entangler : yes, i forgot to mention that exported games launched in fullscreen also make the drivers crash (while godot remains waiting into the console)

so, just to see if it was Godot only, i ran a basic opengl example from NeHe Tutorials and the AMD driver crashed the same way.

However, given that Godot's context_glwin.cpp uses almost the same code than the NeHe example, they might share a common subtile bug in opengl initialization ....

So, now, we need to find an open source opengl program that does not make AMD drivers crashes and compare opengl init.
If none is found, bug will definively be on the AMD driver side.

i've sent a bug report to AMD about wglCreateContext() that crashes when crossfire is enabled.

I've found no workaround.
Even RAGE from id Software crash the AMD driver when crossfire is on, so it's definitively on AMD side.

Godot is innocent ! Hurray !

I guess this can be closed then...

yes, you can,

though i've just wrote a hack/workaround that detects when the graphics drivers has "probably" crashed (initialisation timeout after 10 seconds), and that display a warning to inform the user to disable the crossfire or update drivers or contact developper.

I think it was important, because when the crash occurs, the driver is reset, but godot never close and remains invisible into the memory.

I will publish it later.

Was this page helpful?
0 / 5 - 0 ratings