Bug 62721 - GPU lockup in Minecraft 1.5.1 with HyperZ
GPU lockup in Minecraft 1.5.1 with HyperZ
Status: RESOLVED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/R600
9.1
x86-64 (AMD64) Linux (All)
: medium normal
Assigned To: Default DRI bug account
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-03-25 12:25 UTC by Maarten Baert
Modified: 2013-04-26 02:21 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg output (22.24 KB, text/plain)
2013-03-25 12:25 UTC, Maarten Baert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maarten Baert 2013-03-25 12:25:24 UTC
Created attachment 76994 [details]
dmesg output

Minecraft 1.5.1 locks up the GPU when HyperZ is enabled (which seems to be the default). When it happens, the screen first freezes for a few seconds, then becomes black for a few seconds, then the backlight turns off as well, and then everything recovers. A few seconds later this usually happens again. The easiest way to get out of this loop is to kill minecraft (I used AltGr+PrintScreen+F).

I've never seen this happen with any of the older versions of minecraft, but I'm not sure whether I was using the same kernel and driver versions back then. Minecraft 1.5.1 has a very different engine than any of the previous versions (it's about 3 times faster as well), so I think that's why it never happened before.

I don't get any lockups when I run with R600_HYPERZ=0.

The lockups appear to happen more frequently when the window is larger (I haven't seen it happen with the default size of 854x480, but at 1920x1080 it happens all the time. It also happens more often when there's more activity in Minecraft (e.g. redstone updates).

My card is a Radeon HD 5650M. I'm using Arch Linux, everything is up-to-date. Kernel version 3.8.4, mesa version 9.1.1.
Comment 1 Maarten Baert 2013-03-25 12:35:25 UTC
Apitrace:
http://andere.maartenbaert.be/minecraft.trace.7z (33M, 401MB uncompressed)

The first lockup happens at frame 1333. Replaying this with qapitrace with HyperZ enabled will trigger the lockup (but it doesn't recover apparently), replaying without HyperZ works fine.
Comment 2 Jerome Glisse 2013-04-24 19:23:58 UTC
Please check if below patch fix the issue:

http://people.freedesktop.org/~glisse/0001-r600g-force-full-cache-for-hyperz.patch
Comment 3 Maarten Baert 2013-04-26 02:21:43 UTC
Some of the Arch packages were updated, so just to be sure I re-ran my old apitrace with both the original Arch Linux package 'ati-dri' and the one I modified with your patch. The old package again caused a lockup, the new one didn't, so it looks like this does indeed fix the lockup. Thanks!