Bug 97428 - Specific OpenGL applications deadlock on AMD GPU drivers
Summary: Specific OpenGL applications deadlock on AMD GPU drivers
Status: RESOLVED DUPLICATE of bug 97174
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-21 08:33 UTC by Vitaly Ostrosablin
Modified: 2016-08-23 07:23 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Vitaly Ostrosablin 2016-08-21 08:33:47 UTC
I've been experiencing problems with open-source AMD GPU driver and specific OpenGL applications. Particularly, Tabletop Simulator and Left 4 Dead 2 exhibit this behavior. After a few minutes since game launches, it (apparently randomly) deadlocks, screen stops to refresh. If game is minimized and maximized again, it will show black screen. From this state, it could only be closed with SIGINT in terminal or SIGKILL. Left 4 Dead 2 has similar issue, but unlike Tabletop Simulator, it doesn't seem to deadlock in main menu.

My configuration:

Gentoo Linux
Dual AMD Radeon RX 480 (Polaris 10).
4.7.0 kernel with AMD GPU built as module (PowerPlay component enabled).
mesa git (9999).
xf86-video-amdgpu git (9999).
XOrg 1.17.4

Direct Rendering works, GPU is detected according to glxinfo:

direct rendering: Yes

OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.2.0 / 4.7.1-gentoo, LLVM 3.7.1)

XOrg log shows GPUs are initialized:

[    30.903] (II) AMDGPU(G0): [DRI2] Setup complete 
[    30.903] (II) AMDGPU(G0): [DRI2]   DRI driver: radeonsi 
[    30.903] (II) AMDGPU(G0): [DRI2]   VDPAU driver: radeonsi 
[    30.905] (**) AMDGPU(G0): DRI3 enabled 
[    30.963] (II) AMDGPU(0): [DRI2] Setup complete 
[    30.963] (II) AMDGPU(0): [DRI2]   DRI driver: radeonsi 
[    30.963] (II) AMDGPU(0): [DRI2]   VDPAU driver: radeonsi 
[    30.964] (**) AMDGPU(0): DRI3 enabled 
[    31.036] (II) GLX: Initialized DRI2 GL provider for screen 0

DRI3 is enabled (though GLX uses DRI2 for some reason).

Here's my device configuration:

Section "Device" 
    Identifier  "AMD Radeon RX 480 (POLARIS10)" 
    Driver      "amdgpu" 
    BusID       "PCI:1:0:0" 
    Option      "DRI"         "3" 
    Option      "AccelMethod" "glamor" 
EndSection
Comment 1 Vitaly Ostrosablin 2016-08-21 08:50:15 UTC
Before deadlock, nothing is printed to terminal. I've also attempted using GALLIUM_HUD environment variable to display various information. There's nothing unusual right before deadlock (no VRAM usage spike, no high GPU load, etc). Deadlocks seem to be completely random (I see no relation between scene complexity, CPU load, etc). I.e. it may deadlock both on idle scene and during active physics simulation (in case of Tabletop Simulator). Looks like an AMD GPU issue.

If additional info is needed, let me know.
Comment 2 Michel Dänzer 2016-08-22 02:21:00 UTC
This could be a duplicate of bug 97174, try the LD_PRELOAD / LIBGL_DRI3_DISABLE workarounds described there.
Comment 3 Vitaly Ostrosablin 2016-08-23 07:23:15 UTC
Yes, that worked, many thanks! Looks like this was Steam's bug rather than driver's failure.

*** This bug has been marked as a duplicate of bug 97174 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.