Seems that Nvidia display driver crashes when using Wine with EVE Online DX11 mode and high shaders in settings. Lowering settings to medium shaders or switching back to DX9 works well.
Arch, Nvidia 378.13, MSI 970
[ 477.675791] NVRM: GPU at PCI:0000:06:00: GPU-fe359ec7-e7f8-9fe9-e80b-41a3ef593b08
[ 477.675793] NVRM: Xid (PCI:0000:06:00): 8, Channel 0000003b
[ 479.677429] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 481.677310] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 483.677194] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 485.677079] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 487.676945] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 489.676726] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 491.676515] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 493.676311] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 495.676114] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 497.675924] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 499.675741] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 501.675563] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 503.675391] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
[ 504.933432] NMI watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [ksoftirqd/1:17]
[ 504.933434] Modules linked in: tun it87 hwmon_vid nls_iso8859_1 nls_cp437 vfat fat fuse edac_mce_amd edac_core kvm_amd kvm irqbypass crct10dif_pclmul crc32_pclmul snd_virtuoso crc32c_intel snd_oxygen_lib ghash_clmulni_intel snd_mpu401_uart snd_rawmidi eeepc_wmi asus_wmi sparse_keymap snd_seq_device aesni_intel snd_pcm nvidia_drm(PO) aes_x86_64 rfkill input_leds evdev lrw led_class mousedev joydev gf128mul snd_timer glue_helper video mxm_wmi ablk_helper mac_hid nvidia_modeset(PO) cryptd snd psmouse soundcore r8169 fam15h_power k10temp mii drm_kms_helper drm syscopyarea sysfillrect sysimgblt fb_sys_fops sp5100_tco i2c_piix4 shpchp tpm_infineon wmi fjes button acpi_cpufreq tpm_tis tpm_tis_core tpm sch_fq_codel nvidia(PO) msr cpufreq_ondemand ip_tables x_tables ext4 crc16 jbd2 fscrypto mbcache hid_generic
[ 504.933462] usbhid hid sd_mod ohci_pci serio_raw atkbd libps2 ahci xhci_pci ehci_pci libahci xhci_hcd ehci_hcd ohci_hcd libata usbcore usb_common scsi_mod i8042 serio
[ 504.933470] CPU: 1 PID: 17 Comm: ksoftirqd/1 Tainted: P O 4.9.12-1-ck-piledriver #1
[ 504.933470] Hardware name: To be filled by O.E.M. To be filled by O.E.M./SABERTOOTH 990FX R2.0, BIOS 2501 04/08/2014
[ 504.933471] task: ffff88043fae3e80 task.stack: ffffc90000120000
[ 504.933472] RIP: 0010:[<ffffffffa06acae0>] [<ffffffffa06acae0>] _nv012256rm+0x0/0x10 [nvidia]
[ 504.933619] RSP: 0018:ffffc90000123b40 EFLAGS: 00000286
[ 504.933619] RAX: 00000000fffffff1 RBX: ffff88042cbec008 RCX: 000000000000259c
[ 504.933620] RDX: 00000000ffffffff RSI: 000000000000259c RDI: ffff88042cbec008
[ 504.933620] RBP: ffff880421b3dd00 R08: ffff88042cbecd90 R09: 0000000000000000
[ 504.933621] R10: 0000000000000000 R11: ffffffffa063d200 R12: 0000000000000001
[ 504.933621] R13: 0000000000000000 R14: ffff88042cbecd90 R15: 0000000000000000
[ 504.933622] FS: 0000000000000000(0000) GS:ffff88043fc40000(0000) knlGS:0000000000000000
[ 504.933622] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 504.933623] CR2: 00007fe3c8192a98 CR3: 0000000404e0d000 CR4: 00000000000406e0
[ 504.933623] Stack:
[ 504.933624] ffffffffa063d2a5 0000000000000000 0000000000000001 ffff88042cbec008
[ 504.933626] 0000000000000000 ffff88042c0d0008 ffffffffa060c4b8 ffff88042d036008
[ 504.933627] ffff88042cbec008 0000000000000000 ffff880421e75808 ffff8803d3c93808
[ 504.933629] Call Trace:
[ 504.933725] [<ffffffffa063d2a5>] ? _nv012220rm+0xa5/0x1c0 [nvidia]
[ 504.933818] [<ffffffffa060c4b8>] ? _nv010798rm+0x98/0x160 [nvidia]
[ 504.933911] [<ffffffffa07be02c>] ? _nv019839rm+0xec/0x2a0 [nvidia]
[ 504.934004] [<ffffffffa07b8911>] ? _nv019818rm+0x1e1/0x400 [nvidia]
[ 504.934097] [<ffffffffa07b895d>] ? _nv019818rm+0x22d/0x400 [nvidia]
[ 504.934190] [<ffffffffa07b8356>] ? _nv019819rm+0x666/0x7b0 [nvidia]
[ 504.934284] [<ffffffffa07bb5c5>] ? _nv019864rm+0xd5/0xf0 [nvidia]
[ 504.934377] [<ffffffffa07bd907>] ? _nv019866rm+0x417/0x590 [nvidia]
[ 504.934470] [<ffffffffa07bb3e1>] ? _nv019865rm+0x51/0x160 [nvidia]
[ 504.934541] [<ffffffffa089f292>] ? _nv017987rm+0x192/0x1000 [nvidia]
[ 504.934601] [<ffffffffa03580a0>] ? nvidia_isr_kthread_bh+0x30/0x30 [nvidia]
[ 504.934663] [<ffffffffa091a281>] ? rm_run_rc_callback+0x91/0xf0 [nvidia]
[ 504.934723] [<ffffffffa03580fa>] ? nvidia_rc_timer+0x5a/0x90 [nvidia]
[ 504.934725] [<ffffffff810d0095>] ? call_timer_fn+0x35/0x148
[ 504.934784] [<ffffffffa03580a0>] ? nvidia_isr_kthread_bh+0x30/0x30 [nvidia]
[ 504.934785] [<ffffffff810d025b>] ? expire_timers+0xb3/0x138
[ 504.934786] [<ffffffff810d0438>] ? run_timer_softirq+0x88/0xe0
[ 504.934788] [<ffffffff815dcec9>] ? __schedule+0x6c9/0xc50
[ 504.934789] [<ffffffff815e4901>] ? __do_softirq+0x101/0x2bd
[ 504.934791] [<ffffffff81080f21>] ? run_ksoftirqd+0x29/0x38
[ 504.934792] [<ffffffff8109df50>] ? smpboot_thread_fn+0x100/0x1e0
[ 504.934793] [<ffffffff8109de50>] ? sort_range+0x30/0x30
[ 504.934794] [<ffffffff8109a499>] ? kthread+0xd9/0xf0
[ 504.934795] [<ffffffff8109a3c0>] ? kthread_park+0x60/0x60
[ 504.934796] [<ffffffff815e1fd5>] ? ret_from_fork+0x25/0x30
[ 504.934796] Code: c3 66 2e 0f 1f 84 00 00 00 00 00 b8 56 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 f3 c3 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 <31> c0 c3 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 48 83 ec 08 31
[ 505.675224] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
I’m pretty sure that wine does not fully support DX11 at this moment.
So this probably has nothing to do with your Nvidia driver.
You have to use DX9 when playing EVE Online.
I can reproduce this issue with:
Using: wine-staging 2.2-1, and EVE Online Native Linux Launcher: We were Ganked
1: Launch using the launcher.
2: In settings of the launcher disable the “Run clients with DX9”
3: Launch the game
4: When the choose character comes up press ESC
5: In video settings set shaders to High.
6: Login with one character
Result: Black screen with some icons from game visible and system is locking up. Checking dmesg you will see that stacktrace I posted (hopefully).
Using shaders at Medium instead and the game launches without issues, though with low performance but probably is Wine.
Wine recently got allot of shader model 5 implementations, so probably there that is triggering this driver crash. I cannot really tell if this is regression or not though, only that it happens with this driver atm.
If you guys don’t have access to this game, you can create a trial account on eveonline.com
This is a real thing. I haven’t played Eve Online for a couple years now and, back then, my 660 Ti was screaming. I logged in today and within 30 seconds or clicking on toggles on the left to open new windows, I experienced my screen going black and then snapping between black and white repeatedly. If I leave my PC on long enough and mess with ctrl+alt+delete and my keyboard power button, eventually the screen may come back but in a grey monochrome at low resolution and then I get a popup below saying the Nvidia driver crashed.
I spent an hour trying to figure out what the heck was causing the problem, ran across this post, switched to DX9 and voila. Problem solved. Game was completely unplayable before then.
I’m running a 660Ti on 376.53. So far so good and the game is playable. I’m afraid to upgrade my driver at this point as it sounds like this is something you’re unaware of for the most part to this point, although you’ll find people complaining about it on Eve’s forums and CCP saying they need crash reports to really address it with you guys.
Good luck figuring it out. If you need anything from me that could help, I can try and provide it as long as it’s not super intricate and technical, I get enough of that at work, I just want to play at home. ;)
This is a Wine bug. Wine doesn’t fully support Shader Model 5 yet, and some of the SM5 instructions are not translated. In consequence it may happen that a shader gets into infinite loop. In the case of Eve Online, the problem is caused mainly by missing translation for bufinfo, imm_atomic_alloc and imm_atomic_consume.
Using Wine-Staging 2.5 seems to no longer crash as fast, the game is actually playable. But last time i had to manually reboot the PC since it froze. Even if Wine does not implement the correct shaders etc it does feel like the driver should be able to handle bad code and avoid whole system crash.