nvidia driver crashes, Xid errors #237

Closed
rockorequin opened this Issue Aug 20, 2012 · 11 comments

Comments

Projects
None yet
3 participants

The nvidia driver has been crashing for me when playing games under wine (all versions have been doing so for more than a year now), but it has got much worse with the 304.37 driver. There are at least the following threads about it on the nvidia forums, and syslogs and stack traces showing the Xid errors, "GPU has fallen off the bus", and hung nvidia processes are included in some posts, in case they are of interest:

http://www.nvnews.net/vbulletin/showthread.php?t=167848
http://www.nvnews.net/vbulletin/showthread.php?t=177732

I appreciate that this is very likely not a bumblebee issue, but given issue #201 (Busy socket polling in optirun/socketRead causes GPU falling off the bus), does anyone have any ideas what might help mitigate the crashes? Since they tend to kill the application and usually X, they make playing games under wine pretty much impossible, and that's pretty much my only reason for using the nvidia card in the first place.

Owner

Lekensteyn commented Aug 20, 2012

To eliminate Bumblebee as issue, could you try running the wine application on DISPLAY=:8 (don't forget to set LD_LIBRARY_PATH accordingly)?

Forgive my ignorance, but how do I do that? I tried running "optirun nvidia-settings -c :8" to get a working Xserver on :8, then as an experiment I tried "DISPLAY=:8 LD_LIBRARY_PATH=/usr/lib/nvidia-current:$LD_LIBRARY_PATH glxspheres", which ran successfully, but I got no visual output other than the frames per second output in the console. How do I run the wine application and interact with it?

Contributor

amonakov commented Aug 20, 2012

You will not be able to interact with the application. Please find out if your games allow to run demos from command line (games with quake-derived engines usually do), and then run demos on the invisible X server.

I can't find a demo mode for Crysis2. Is there anything else that might be worth trying?

Contributor

amonakov commented Aug 20, 2012

My quick google lookup suggests that Crysis 2 has decent support for demo playback. Have a look at "Crysis 2 Benchmark Tool", google queries like "crysis 2 timedemo" and "crysis 2 console".

Thanks, I did find a crysis2 benchmark.bat program to try. But a) it doesn't run, complaining of a missing DLL (and I have supposedly installed the vcrun2008 environment that contains this DLL), and b) it always shows a messagebox at startup asking if I want to continue with my graphics card (an nvidia 540m), so if I am unable to click OK the demo isn't going to run anyhow.

Contributor

amonakov commented Aug 21, 2012

You should be able to make the game automatically play a demo on startup without using that launcher by adding commands to the game's autoexec.cfg file. The list of commands is here. You probably only need demo_file and demo commands.

Yes, I tried that first - putting demo and demo_file=timedemo in autoexec.cfg - but it doesn't work. (The other settings I put in the file do work, eg g_skipIntro=1, so I know I've got the right file.)

In any case, it doesn't solve the problem of clicking OK on the first message box that always appears before the game starts.

I suppose I could set up a second X server and tell it to output to the HDMI port (ie because the nvidia card is directly attached to that port) and then try running the game in the second X server, assuming I can redirect the keyboard and mouse to it. But I don't know how to do that.

OK, I finally got this working via the HDMI port, and the nvidia driver still crashed with a Xid 13 error.

For the record, I did it this way:

    # Enable nvidia card
    sudo -s
    echo ON > /proc/acpi/bbswitch
    modprobe nvidia-current
    # Start X server
    LD_LIBRARY_PATH=/usr/lib/nvidia-current X :8 -config /etc/bumblebee/xorg.conf.nvidia -sharevts -nolisten tcp -noreset -verbose 3 -isolateDevice PCI:01:00:00 -modulepath /usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules

[I specified DFP-0 as the connected monitor in /etc/bumblebee/xorg.org.nvidia as this is the HDMI port.]

And then in another console, I ran a sample wine app:

    export LD_LIBRARY_PATH=/usr/lib32/nvidia-current
    DISPLAY=:8 wine iw5sp.exe

and the nvidia driver crashed shortly after the level started.

With this setup, I was able to use the mouse and keyboard in the HDMI screen (they get sent to both screens) - might that have affected the outcome, or is this conclusive that the problem is in the nvidia driver and not bumblebee?

Contributor

amonakov commented Sep 10, 2012

I'd say yes, it strongly suggests that bumblebee is not what is causing the problems.

nvidia 304.51 has pretty much fixed this for me now - I've only had it crash occasionally, whereas 304.48 would crash almost invariably within ten seconds of CoDMW3 starting a level.

However, when I first tried it, nvidia 304.51 still crashed when I ran the game from a btrfs partition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment