Having this on 343.13+WINE(CSMT-git) too, but over the years I had it on and off without a clear pattern, sometimes I thought it’s based on VCruntimes, no idea, by pure luck it seems sometimes it just works ok.
To me it happens on single nvidia gpu, over the years, GTS250, GTX460 and now GTX660Ti.
I launched the game for about 40 times today w/o any pattern emerging.
Basically you run it and maybe you get lucky if not maybe you run it again with GLXOSD and then it works or not, oh, I have some texture replacements, maybe that is it, they’re DDS files, move them and it works, this must be it, restart the PC, start the game, oh it’s broken again, put the texture replacements back, start the game, and now it works ok, restart the PC, it does not. Rinse and repeat.
Attached 2 log files:
reboot, run the game with wine witcher.exe, game broken, generate report
read the bug report above for 5 minutes, started the game with WINEDEBUG=-all glxosd wine ./witcher.exe 2>&1 (suppress error reports, use GLXOSD for fps display), game is fixed, generate report
[This file was removed because it was flagged as potentially malicious] (204 KB) nvidia-bug-report-w1-textureissuefixed.log.gz (204 KB)
I’ve been experiencing this bug on native steam games too (not only witcher) . I’ve tested on both Nvidia driver 343.22 and 340.46 where only this regression only occurred on 343.22 drivers only. I’ve also tested this on Ubuntu 14.04 and Manjaro 0.8.10.
Linux 3.14.21-1-MANJARO (x86_64)
Intel HD 4000
Nvidia GT 730M
Sorry for the confusion. Must have bump an old thread by mistake. The game engine used in this game is completely different and its a in-house made game engine. I’ll try to get some more information about this bug and post a new topic once I’ve have confirm it with the developers
Although we have managed to reproduce the problem internally a few times, we’re still struggling to find a reliable pattern of actions/configuration options to reproduce the problem easily. If you find out new information about how to more reliably reproduce the problem, please share it.
As mentioned in the wine bug, it happens all the time to people using primus/optirun. The bug does occur when running an application directly on the nvidia card (via directly attached to the device display port) but much more rarely. It also occurs with nvidia prime setup but much more rarely.
You need a dual video card machine where the nvidia card renders through bumblebee in order to get the bug every time. Otherwise it is a hit or a miss.
we have investigated this issue and found out the cause of the problem.
An OpenGL vertex shader (generated by Wine based on a D3D shader in the Witcher) is created with the following uniform:
uniform vec4 vs_c;
The shader then dereferences vs_c, with “x” a dynamically computed value that sometimes exceeds 255. Reading outside of the bounds of a uniform array in GLSL is undefined behavior, which means that the implementation is allowed to do whatever it likes. On NVIDIA GPUs, the value returned will sometimes be 0.0, and sometimes different.
Since this value is used to warp the bones of the characters (to animate them), having an unpredictable value can result in some vertices being offscreen and even some geometry disappearing entirely.
The problem is not a NVIDIA bug, since the application is asking the GPU to do something that is undefined in the specification. We have been working with Wine on the investigation of this issue, and have also communicated our findings to the developers of the game.
A patch on the Wine bug tracker appears to work around the issue.