Dragon Saga - graphical glitches and crashing

Questions about Wine on Linux
Locked
dahanso
Level 2
Level 2
Posts: 10
Joined: Mon Oct 18, 2010 9:18 pm

Dragon Saga - graphical glitches and crashing

Post by dahanso »

Program: Dragon Saga
Wine: 1.4 and 1.6 (same results with both)
Kernel: 3.2.0-49.51-lowlatency-pae 3.2.46
Distribution: Ubuntu 12.04 (Xfce + Compiz)
CPU: AMD Phenom II X4 975 Processor
GPU: NVIDIA GeForce GTX 460

In the past, I was unable to log in to this game at all, using Wine versions as far back as 1.2. Now, using Wine 1.4 and 1.6, I can log in, but there are a ton of graphical problems and easily reproducible crashes.

The worst of the graphical glitches can be quelled by changing the game's resolution, but they reappear after a new scene/map/location is loaded. Other glitches (many models failing to load/draw) persist, despite changing resolution or any other settings. In addition to this, the graphics are slowed down significantly when the screen is heavily populated. The character selection screen is barely coherent, due to graphical glitches.

The game crashes if an enemy is engaged. If I attack an enemy, it crashes. If I am attacked, it crashes. The presence of enemies on the screen does not itself seem to affect the game; if I run past them, the game does not crash. It also crashes if I stay on the character selection screen for too long.

http://oi41.tinypic.com/5ani34.jpg - model failure
http://oi42.tinypic.com/2l9lafn.jpg - crazy, screen-blocking glitches
http://oi41.tinypic.com/dola8h.jpg - more crazy glitches

The 'crazy' glitches are difficult to describe and the pictures don't quite do them justice. They are basically rapidly fluctuating blocks of color.

I have tried several dx_levels. No changes. I have also tried adding a few library overrides. No changes. I am using PulseAudio but the sound seems to work fine.

This is the terminal output, ending with a crash:

Code: Select all

WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-9OtSe8/pkcs11: No such file or directory
fixme:win:EnumDisplayDevicesW ((null),0,0x32cc48,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32ce18,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32c708,0x00000000), stub!
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:d3d9:Direct3DShaderValidatorCreate9 stub
Type:0
Type:1
	table	0x71BFFF38
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php?t=1960599
fixme:thread:SetThreadIdealProcessor (0x2b8): stub
fixme:thread:SetThreadIdealProcessor (0x2b4): stub
fixme:thread:SetThreadIdealProcessor (0x2b0): stub
fixme:thread:SetThreadIdealProcessor (0x2ac): stub
fixme:thread:SetThreadIdealProcessor (0x2a8): stub
fixme:thread:SetThreadIdealProcessor (0x1d8): stub
fixme:thread:SetThreadIdealProcessor (0x1d4): stub
fixme:thread:SetThreadIdealProcessor (0x1d0): stub
fixme:thread:SetThreadIdealProcessor (0x1cc): stub
fixme:dinput:IDirectInput8AImpl_EnumDevicesBySemantics (this=0x657f1620,(null),0x657ff86c,0xe0aaa1,0x657ff7d8,0000): semi-stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0x2a8): stub
fixme:thread:SetThreadIdealProcessor (0x3d0): stub
fixme:thread:SetThreadIdealProcessor (0x2b8): stub
fixme:thread:SetThreadIdealProcessor (0x2b4): stub
fixme:thread:SetThreadIdealProcessor (0x2b0): stub
fixme:thread:SetThreadIdealProcessor (0x2ac): stub
fixme:thread:SetThreadIdealProcessor (0x3d4): stub
fixme:thread:SetThreadIdealProcessor (0x1d8): stub
fixme:thread:SetThreadIdealProcessor (0x1d4): stub
fixme:thread:SetThreadIdealProcessor (0x1d0): stub
fixme:thread:SetThreadIdealProcessor (0x1cc): stub
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImmReleaseContext ((nil), 0x672e2840): stub
fixme:imm:NotifyIME IMC_SETSENTENCEMODE
fixme:imm:ImeEscape (0x672e2840, 4102, 0x32d748): stub
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:imm:ImeSetCompositionString PROBLEM: This only sets the wine level string
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0x2a8): stub
fixme:thread:SetThreadIdealProcessor (0x3d0): stub
fixme:thread:SetThreadIdealProcessor (0x2b8): stub
fixme:thread:SetThreadIdealProcessor (0x2b4): stub
fixme:thread:SetThreadIdealProcessor (0x2b0): stub
fixme:thread:SetThreadIdealProcessor (0x2ac): stub
fixme:thread:SetThreadIdealProcessor (0x3d4): stub
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithDataSegs
I realize that CrossOver is not Wine and that Mac is not Linux, however I have noticed that CrossOver for Mac lists this game as playable and the screenshots look perfect.

Thanks for reading my post. I'm not very slick when it comes to troubleshooting Wine problems. :? :oops: Please let me know if I've failed to include necessary information.
User avatar
dimesio
Moderator
Moderator
Posts: 13209
Joined: Tue Mar 25, 2008 10:30 pm

Re: Dragon Saga - graphical glitches and crashing

Post by dimesio »

There is no crash in the log you posted.

You didn't mention what graphics driver you are using. It needs to be the Nvidia proprietary driver, and if it's not the latest, try upgrading. You should also disable Compiz. If you haven't tried running it in a virtual desktop, try that.
dahanso
Level 2
Level 2
Posts: 10
Joined: Mon Oct 18, 2010 9:18 pm

Re: Dragon Saga - graphical glitches and crashing

Post by dahanso »

Ah yes, thank you, sir.

I am using 310.14 and I have tried 304.88.. there were no noticeable differences between the two. It's been a long time since I've manually installed a graphics driver- have to admit that I've forgotten what to do with the .run files from NVIDIA's website. However, I see that I can get one of the 319 versions (not sure exactly which) by using the xorg-edgers PPA, which appears to be among the latest stable releases, but it wants to remove an awful lot of stuff. I'm guessing that it's conflicting with some of the low-latency-related things I have installed. I may try it tomorrow evening, when I have more time to possibly break some things ;) ..

I tried reverting from compiz to xfwm4 and disabling compositing, but there was no change. I also used a virtual desktop and got the same results.

About the log not showing a crash; the program did quit abruptly and it is easy to reproduce. Does this not actually constitute as a crash? Would we normally expect to see something in the output that specifically mentions a 'crash' or 'crashing'..?

The game has some sort of bug-detection/reporting system. I believe it's called BugTrap. I've tried following along with it to send a bug report, just for the heck of it, but it is never able to connect with the server. Could that be inhibiting proper terminal output of the apparent crash?

Potentially dumb question: Should I be using WINEDEBUG to somehow reveal more valuable info? Forgive me if this is the way I'm supposed to be doing it. :oops: All I've been doing to get that output is starting the program in a terminal, à la wine dragonsaga.exe ..

Thanks for your time.
User avatar
dimesio
Moderator
Moderator
Posts: 13209
Joined: Tue Mar 25, 2008 10:30 pm

Re: Dragon Saga - graphical glitches and crashing

Post by dimesio »

There should be a backtrace, but it sounds like the game's crash handler is intercepting it. If there's no way to disable it in the game, you should still be able to disable it in winecfg if it's a separate exe. Just add it to the Libraries tab, same as you would a dll, and set it to disabled.

Plain console output is fine for now; what we need is the backtrace.

One other thing you might try is binding the process to one core; that can solve random crashes for some games/apps.
Locked