Created attachment 132420 [details]
Recently, several games have been lock up during loading at one point or another. You can get the game to continue loading by hitting ALT-TAB or going into something like the Activites screen in Gnome Shell. It seems that this only happens when compositing is absent or shut off. Also, as far as I have been able to tell, this only when the game is using an older version of OpenGL.
Card: RX 480
Driver: Mesa 17.1.3
I should have mentioned that this also only happens to games running in fullscreen.
Please list some examples of games / engines.
I encountered something like this with Jedi Academy. See: https://github.com/JACoders/OpenJK/issues/921
Games/engines this happens in:
Arx Fatalix running in Arx Libertatis
OpenJK (as mentioned)
Ur Quan Masters
I'm able to reproduce the problem with Warzone2100, looks like a DRI3 related issue. One of the DRI3 fixes Thomas Hellström has been working on might help. Meanwhile, you can work around that one by disabling DRI3 for the game:
AFAICT this already happened with Mesa 13 though, so you might be running into different issues with other games. When a game hangs, attach gdb to its process, run
thread apply all bt full
and attach the output here.
(In reply to Michel Dänzer from comment #4)
> I'm able to reproduce the problem with Warzone2100, looks like a DRI3
> related issue. One of the DRI3 fixes Thomas Hellström has been working on
> might help. Meanwhile, you can work around that one by disabling DRI3 for
> the game:
> LIBGL_DRI3_DISABLE=1 warzone2100
Disabling DRI3 also clears up the problem with Arx Libertatis. I'll be able to test more in depth later.
The patch I just attached to bug 97957 fixes the Warzone2100 hangs for me as well.
Thanks for the report, should be at least mostly fixed in Git. If there's still an issue with a game, please file a new report for that.
Author: Thomas Hellstrom <firstname.lastname@example.org>
Date: Tue Jul 4 12:55:15 2017 +0900
loader/dri3: Use dri3_find_back in loader_dri3_swap_buffers_msc