Bug 93563

Summary: Hack'n'Slash hangs with Nouveau driver
Product: Mesa Reporter: Steven Zakulec <spzakulec>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED MOVED QA Contact: Nouveau Project <nouveau>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Dmesg from boot that includes playing Hack'n'Slash

Description Steven Zakulec 2016-01-02 18:42:40 UTC
Created attachment 120767 [details]
Dmesg from boot that includes playing Hack'n'Slash

Hack'n'Slash- (http://store.steampowered.com/app/246070/?snr=1_7_15__13) freezes up & hangs very early in the game (once you get to the main map).  This only happens with the Nouveau driver- if you install the proprietary NVidia driver (version doesn't seem to matter), the game works just fine.

Here's my system information:
HP Compaq 8510w laptop
Kubuntu 14.04
OpenGL renderer string: Gallium 0.4 on NV84
OpenGL version string: 3.0 Mesa 11.2.0-devel (git-b835255 2016-01-01 trusty-oibaf-ppa
Kernel: 3.13.0-49-generic
CPU: model name : Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz
Graphics card:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G84GLM [Quadro FX 570M] [10de:040c] (rev a1)

How to reproduce this:
Start a new game.
Finish the first room, and then go through the second room where you name your sprite.
Once you try to leave that room, you'll be taken to the world map.

If you have an existing save game, you need to rewind to BobCave (where Bob is the name of your sprite).

What happens:
The screen loads very slowly, the transition goes on for a very long time, and almost every keyboard & mouse press is swallowed up- if you're patient, you can eventually get the game menu to show up by pressing Esc enough times, and then going down to exit game.  You can also just Alt-Tab out and kill the game.
You can't really continue playing because of these issues.

What should happen:
You leave the cave, and you get a quick transition to the world map (maybe 2-3 seconds), and then you can move freely around the screen without any lag or screen corruption.
I've attached my dmesg log which does have some Nouveau error messages from when I was playing.
Comment 1 Ilia Mirkin 2016-01-02 18:50:00 UTC
The error appears to indicate that you ran out of VRAM... nouveau handles this in a less-than-graceful manner as you've observed. I would recommend trying to turn down graphics quality settings in the game if that's possible.

You might also try a more recent kernel, although it is unlikely to affect the issue.
Comment 2 Steven Zakulec 2016-01-02 23:42:01 UTC
I just tested Hack'n'Slash with the Nvidia driver to be sure I wasn't remembering the wrong thing, and that it really did work with that driver.

With Nvidia's 340.96 driver, the game runs just fine, and gets past that trouble spot without an issue.

Is there anything else I can do to help you figure out what's going on here, and hopefully end up with the same behavior for both drivers??

Thanks!
Comment 3 Ilia Mirkin 2016-01-02 23:47:10 UTC
Yeah, I'm sure it works with blob drivers... they probably move some of the resources to sysmem. Nouveau sadly doesn't support that right now. It just hopes for the best, and when a submit fails, you end up with a ton of additional errors due to things not being where they are supposed to be.

Making it more resilient to errors is on my list... better resource management is too, but even further down =/

Your best bet for now is turning down some sort of quality knob so that the game doesn't use as many resources. FWIW it does say it wants 512MB VRAM while you only have 256...
Comment 4 GitLab Migration User 2019-09-18 20:42:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1094.

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.