Bug 80878

Summary: Metro: Last Light freezes when trying to kill stealthily (RV770)
Product: Mesa Reporter: yashax
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: CLOSED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: b.bellec
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description yashax 2014-07-03 23:18:46 UTC
With a recent mesa git (fcac702, oibaf PPA on Ubuntu), when trying to stealthily kill an enemy, the game freezes. The sound still works and I can access the menu, but can't do any action inside the game.
A week ago, the game worked fine.

Tested with Linux 3.15.0 and 3.16-rc3 (the game worked with 3.15.0, so it's not a kernel bug).

GPU: Radeon HD 4850 (RV770)
Comment 1 yashax 2014-07-03 23:30:54 UTC
Just to clarify: When I wrote "the game worked with 3.15.0", I meant that a week ago, when the game worked fine, it was on Linux 3.15.0.
Comment 2 Michel Dänzer 2014-07-04 00:49:56 UTC
Can you bisect?
Comment 3 yashax 2014-07-04 14:58:44 UTC
(In reply to comment #2)
> Can you bisect?

I managed to build x86_64 mesa, but it broke steam and Metro:LL which are 32-bit apps.
Is there any guide for building i386 mesa? I get the following error:

/usr/bin/ld: cannot find -ldrm_intel
/usr/bin/ld: cannot find -ldrm_nouveau
/usr/bin/ld: cannot find -ldrm_radeon
/usr/bin/ld: cannot find -ldrm
/usr/bin/ld: cannot find -lexpat
collect2: error: ld returned 1 exit status
Comment 4 Michel Dänzer 2014-07-09 03:20:16 UTC
(In reply to comment #3)
> I managed to build x86_64 mesa, but it broke steam and Metro:LL which are
> 32-bit apps.

Weird, the 64 bit binaries normally shouldn't have any effect on 32 bit apps. What's the breakage?


> Is there any guide for building i386 mesa? I get the following error:
> 
> /usr/bin/ld: cannot find -ldrm_intel
> [...]

Looks like the lib*.so symlinks are missing for the 32 bit libraries (located probably in /usr/lib/i386-linux-gnu/). If you can't install the corresponding 32 bit development packages, you can create the symlinks manually.
Comment 5 Benjamin Bellec 2014-09-02 18:27:23 UTC
Could you provides more information to reproduce this bug ?
I tried to reproduce without success, with mesa-10.3-rc2 and with the commit fcac702, on RV770 too.

I played the level where you have been captured by the Reich (at the beginning of the game), I'm escaping from the jail with a friend. In this stage there is an enemy to kill stealthily. But everything works fine here in my case.
Comment 6 yashax 2014-09-02 23:29:22 UTC
I tested it again (now on Arch), and the bug exists with Mesa 10.2.6, 10.2.1, 10.1.0.
Also, the bug exists only in my save. In new saves the bug is gone.
This is clearly not a mesa bug/regression so I'm closing this. Sorry for the trouble.

I will attach the broken save if anyone is interested in reproducing this.
Comment 7 yashax 2014-09-02 23:57:28 UTC
The broken save:
https://drive.google.com/file/d/0B2jiKU0lRTBHd2JpQTI2RVpMQkE/edit?usp=sharing

How to apply the save:
Navigate to '~/.steam/steam/SteamApps/common/Metro Last Light'. Inside that folder, there is a folder with numbers and letter in name that contains user.cfg and save files.
Backup this folder, and replace its content with my save (Metro: Last Light doesn't support multiple saves).
Comment 8 Tapani Pälli 2014-09-03 05:22:17 UTC
FYI, there's also bug #76664 which has a Metro LL save that causes a segfault, would be interesting to get a gdb backtrace of this one if it is the same issue (?)
Comment 9 Benjamin Bellec 2014-09-03 18:31:35 UTC
I can't reproduce the bug with your save.

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.