Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
The Witcher 3 in Wine
Page: «18/88»
  Go to:
beko 20 Oct 2017
The i7-2600K does the job just fine. It hasn't been the bottleneck in any game for me yet, possibly because my GPU isn't anywhere near as powerful as yours.
Good to know :) I never run any benchmarks so that's just based on a feeling. I usually just fiddle as long with the settings until I find a nice set that works and looks good enough for me.
andda715 23 Oct 2017
Hi,

First of I am so happy with seeing the progress being made on having Witcher 3 running on Linux. :-)

I've browsed this thread for awhile but can't really understand what is the "expected" state you can get with respect to "average fps".

My system specs are:

Ryzen 7 1700 @ 3.8GHz with a MSI Geforce GTX 1080 and I generally run Witcher 3 in Windows (dual-boot) with everything on Ultra or max settings and it never goes below 60fps (in game-play, videos at 32fps).
I capped it at 60 as I only have a 60Hz Monitor. :-)

Now, on Ubuntu it is quite a different story where the fps I get is roughly 18-20 fps with huge input lag. Infrequent dips down to 10 and up to 22 happens.
Most recently tested on wine-staging 2.19.

From what I can tell using glxosd and htop etc the game use ~40-45% GPU and roughly 1 core or average load at ~2(?).

Reducing graphics does nothing for fps. I.e. running at 1080p or 720p gives identical fps. :-(

Is this the "best I can expect" as of now or are there some settings I can tweak? :-)
I am in no rush and if I can help out in some way I am happy to do so. :-)
Shmerl 23 Oct 2017
I've browsed this thread for awhile but can't really understand what is the "expected" state you can get with respect to "average fps".

With Nvidia blob, framerate currently is much lower than on Windows. With AMD / Mesa, it's just slightly lower than on Windows. I suppose with Nvidia, it's either an issue with the driver, of with the way Wine is doing something. In short, to play TW3 on Linux, AMD is the best option today. I'm still waiting for anyone with Vega GPU to post some TW3 benchmarks in Wine.
Avehicle7887 23 Oct 2017
I've browsed this thread for awhile but can't really understand what is the "expected" state you can get with respect to "average fps".

With Nvidia blob, framerate currently is much lower than on Windows. With AMD / Mesa, it's just slightly lower than on Windows. I suppose with Nvidia, it's either an issue with the driver, of with the way Wine is doing something. In short, to play TW3 on Linux, AMD is the best option today. I'm still waiting for anyone with Vega GPU to post some TW3 benchmarks in Wine.


Seems like Wine gaming in general is better with AMD. Wine-Nine has proved to be quite better than CSMT in many games and with W3 performing better, I think it's a clear answer where we're heading at this rate.

Judging by the benchmarks at Phoronix, it seems it won't be too long before AMD catches up to Nvidia with OpenGL performance, while at the same time retaining all the other advantages.

@ andda715: I run the game with a mix of medium/low settings 1080p with a similar setup as you - 1700X/GTX 1060. FPS in White Orchard is between 28-40 most of the time.

If it's any help this is what I'm running in my regedit:

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"CSMT"="enabled"
"MaxVersionGL"=dword:00045000
"UseGLSL"="enabled"
"VideoMemorySize"="6144"
beko 31 Oct 2017
What's the status of the patchsets you're playing with?

I'm on wine-2.19 (Staging) (winehq-staging) and wonder whether I'm missing some important performance patch.

I noticed that the game starts to slow down _a lot_ during playing and won't recover until restarted.

And the environment effect "rain" is a real killer to the performance.
Shmerl 31 Oct 2017
Nothing new so far. There is no improvement for Nvidia. The only practical advice now if you want to play the game - get recent high end AMD card.

And these bugs are one biggest remaining annoyances:

https://bugs.winehq.org/show_bug.cgi?id=43828
https://bugs.winehq.org/show_bug.cgi?id=43872
https://bugs.winehq.org/show_bug.cgi?id=43131
https://bugs.winehq.org/show_bug.cgi?id=43158

I suppose some of them are related to missing multisample textures support:
https://bugs.winehq.org/show_bug.cgi?id=42820
beko 31 Oct 2017
Well tweaking any GPU settings doesn't seem to impact my issues at all. It looks like the GPU is starving. It doesn't even heat up. It's playable. Invisible enemies are annoying, yes, but as long as I see them on the minimap I can locate them by their health bars. Works somehow. Also I know whenever I encounter a pitch black spot it's some sort of invisible entrace. I'm now somewhere in Verden and no single crash so far. Just the slow down is annoying since it degrades especially _some_ fights to a slideshow.
Shmerl 31 Oct 2017
I don't think performance will improve, unless Nvidia driver will be changed (unlikely) or Wine developers will investigate it deeply, find the bottleneck, and then rewrite what Wine is doing without hurting current performance in Mesa. I'd say, if you can - just get a Vega card.
beko 31 Oct 2017
Too bad. I won't buy another GPU in that price class for sure :-/ Well I knew what I was bargain for. It's amazing how good it runs considering the circumstances.
Shmerl 31 Oct 2017
Consider buying AMD for your next upgrade.
beko 1 Nov 2017
I fiddled now _a lot_ with this. Tried various nvidia-settings. Run it's own X without any windowmanager. Fullscreen or window mode. Various STAGING or __GL env variables. CPU governor to GPU PowerMizer. Almost nothing squeezed much more FPS out. Even changing the display resolution way down does not help much.

It looks like the FPS are all in the bushes. No really. What helps the most is setting GrassDistanceScale, FoliageDistanceScale and FoliageShadowDistanceScale in my user.settings to almost not existing. Everything else - like setting shadows to minimum, or textures to very low, squeezes mayhap 1 or 2 fps out of it.

GrassDistanceScale=0.01
FoliageDistanceScale=0.01
FoliageShadowDistanceScale=0.1


A real goldmine is https://www.geforce.com/whats-new/guides/the-witcher-3-wild-hunt-graphics-performance-and-tweaking-guide#config-file-tweaks for this. It helps understanding most of the options.

So I guess I finally found my settings that give me ~15 to 18 fps in a crowded place while it's raining and ~25 to 30 fps (max, locked) on a sunny day in the 'woods'. Trees and grass looks like shit but almost everything else can be amped while the game stays responsive to user input :) I guess a faster CPU would help me a lot more.

[users-only]
![](http://beko.maxr.org/screenshot-2017-11-01_010456_496044244.png)
![](http://beko.maxr.org/screenshot-2017-11-01_012129_103248691.png)

I made a short video doodle to demonstrate. Please notice that I had to lower the resolution from 1920x1200 to 1024x768 to record with OBS Studio without to many frame drops. OBS is heavy on the CPU, like Wine, and that kills pretty much any FPS gain again :( It's also responsible for the regular stutter you'll see. These do not happen when OBS is not recording.

View video on youtube.com
(Low grass starts at 1:55)
[/users-only]
Shmerl 1 Nov 2017
I guess a faster CPU would help me a lot more.

How many cores do you have?

UPDATE: Ah, I checked your profile - it is Sandy Bridge. That can be indeed a problem.
Ehvis 1 Nov 2017
I guess a faster CPU would help me a lot more.

How many cores do you have?

UPDATE: Ah, I checked your profile - it is Sandy Bridge. That can be indeed a problem.

A faster CPU always helps, but I doubt it solves the problem. I don't expect TW3 to use more than 4 cores and for single core performance a 2600K is still pretty good as well. Has anybody given results with hybrid setups (Ryzen + GTX or i7 + RX)? Anyway, there does appear to be a big bottle neck somewhere. Figuring out what's going on should make for an interesting bit of research.
beko 1 Nov 2017
Hej, me again.
While looking for a bottle neck I moved the game to my SSD just to make sure. Turns out this helped wonders for the crackling sound during the loading screens (the parallax effect animations). Why this affects cracking audio in some loading sequences is beyond me though.

I read a lot today again and learned that my black floor texture is already fixed. I just had to remove the DWORD Direct3D/MaxVersionGL from Wine registry. Sweet. Looks so much better but my FPS dropped again due to new textures o0

Next I used the tool nvidia-smi to check on my GPU Utilisation. It's between 40-50% when TW3 is running. Plents of mem free. So as I guessed: GPU starvation.

[users-only]
So next I did something I dislike due to lack of real knowhow. I've a CPU with unlocked multiplier. Means I can basically choose it's clock signal at will. Also my board features this. I virtually never needed this but it seemed important to me during purchase back then that I'd have the possibility to burn it to crisp as it pleases me.

My CPU is usually really cool at ~40°C. Raising it to 4.2G (just clock multipler, no voltage manipulation) makes it scratch at 64°C which I still consider fine (Tcase is 72.6°C for this model).

Well FPS are still ~20 in crowded areas but this looks _way more nice_ compared to yesterday and it 'feels' better. The keyboard input sure improved a lot and the FPS don't break down that heavy any more.

![](http://beko.maxr.org/Bildschirmfoto%20vom%202017-11-01%2022-21-42.png)
[/users-only]
Shmerl 2 Nov 2017
Has anybody given results with hybrid setups (Ryzen + GTX or i7 + RX)?

Yes, I tested it with same RX 480 and i7 (4 core / 8 threads, Haswell generation). Still around same 40 fps, except CPU is obviously more used than on 8 core / 16 threads Ryzen.
mrdeathjr 2 Nov 2017
Hej, me again.

While looking for a bottle neck I moved the game to my SSD just to make sure. Turns out this helped wonders for the crackling sound during the loading screens (the parallax effect animations).

Why this affects cracking audio in some loading sequences is beyond me though.

I read a lot today again and learned that my black floor texture is already fixed. I just had to remove the DWORD Direct3D/MaxVersionGL from Wine registry.

Sweet. Looks so much better but my FPS dropped again due to new textures o0

Next I used the tool nvidia-smi to check on my GPU Utilisation. It's between 40-50% when TW3 is running.

Plents of mem free. So as I guessed: GPU starvation.

[users-only]
So next I did something I dislike due to lack of real knowhow.

I've a CPU with unlocked multiplier.

Means I can basically choose it's clock signal at will.

Also my board features this.

I virtually never needed this but it seemed important to me during purchase back then that I'd have the possibility to burn it to crisp as it pleases me.

My CPU is usually really cool at ~40°C.

Raising it to 4.2G (just clock multipler, no voltage manipulation) makes it scratch at 64°C which I still consider fine (Tcase is 72.6°C for this model).

Well FPS are still ~20 in crowded areas but this looks _way more nice_ compared to yesterday and it 'feels' better.

The keyboard input sure improved a lot and the FPS don't break down that heavy any more.

![](http://beko.maxr.org/Bildschirmfoto%20vom%202017-11-01%2022-21-42.png)
[/users-only]

Very detailed you information however needs more powerfull single thread cpu (ryzen have too low single thread*)

*Ryzen overclocked have similar single thread (around 160 points) than my pentium G3258 (since 2014) at 4.1Ghz: 152 points in cinebench R15 single thread

For disgrace wine use higher frecuency and especially high use of first cores: 0-1 (is recommended when use wine send all tasks to other cores: taskset c 1 for example)

However appears some exceptions case truck racer, far cry 3, far cry 3 blood dragon: this titles use core 1 with high demand

As your said higher frecuency when higher ipc can be help in your case, core i7 8600K at 5.0ghz or more** will be usefull in wine dont for core quantity but more for frecuency and high ipc

**This will be stay around 30 to 40% more single performance than ryzen overclocked

Without forget use 720p resolution and lower more powerfull cpu is needed (ryzen fall too much in 720p resolution and lower)

This is some examples at 720p:

![](https://i.imgur.com/OTv44Sb.png)

![](https://i.imgur.com/mMpoAqm.png)

![](https://i.imgur.com/pWEb2AF.png)

Remember this i7 8600K stay at 4.8ghz if you have delid can pass easily 5.0ghz

^_^
Shmerl 3 Nov 2017
Very detailed you information however needs more powerfull single thread cpu (ryzen have too low single thread*)

*Ryzen overclocked have similar single thread (around 160 points) than my pentium G3258 (since 2014) at 4.1Ghz: 152 points in cinebench R15 single thread

I think @beko has Sandy Bridge, not Ryzen.
mrdeathjr 3 Nov 2017
Very detailed you information however needs more powerfull single thread cpu (ryzen have too low single thread*)

*Ryzen overclocked have similar single thread (around 160 points) than my pentium G3258 (since 2014) at 4.1Ghz: 152 points in cinebench R15 single thread

I think @beko has Sandy Bridge, not Ryzen.

Ryzen is for give a idea about single thread wine issue* but 2600K is more slow than ryzen

*Hopefully some day wine use more cores than frecuency but in close future frecuency and higher ipc still needed :(

^_^
andda715 3 Nov 2017
Hi,

I posted a bit back, but to refresh I have a Ryzen 7 @3.8GHz and yes it is slower than a stock 8600K/8700K in single core performance.

The weird thing though is that I get consistent ~18-20fps on a GTX 1080 without even having a single CPU core at 100% utilization consistently. It jumps around a lot, looking like stuff is being rescheduled somehow? This is the same with 720p or 1080p, fps not affected at all.
I.e. the game is trying to use more than one thread but something is blocking it on a global level.
To me it doesn't make sense any other way why the scheduler would reschedule a task that is running 100% all the time?

Just feels like, my noob gut feeling, there are some global locks/semaphores somewhere in the wine/nvidia code path somehow? I.e. lots of threads waiting/spin-locking somewhere doing nothing productive (neither CPU nor GPU)?

Again, just a pure guess without having any information on the code in question. :)

I am happy to help out when time permits if you want me to run tests etc?
(away next week though, so after that)

EDIT: using wine-stagin 2.19, console spammed with "fixme:d3d:wined3d_buffer_create Ignoring access flags (pool)."

Thanks,
Anders

More logs:
Spoiler, click me
ixme:d3d_shader:shader_glsl_handle_instruction Backend can't handle opcode dcl_input_ps_siv.
fixme:d3d_shader:shader_glsl_handle_instruction Backend can't handle opcode dcl_input_ps_sgv.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x80000202.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.
fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #944:
fixme:d3d_shader:print_glsl_info_log Vertex info
fixme:d3d_shader:print_glsl_info_log -----------
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[5].w" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[6].w" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[8]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[9]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[10]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[11]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[12]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[13]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[14]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[15]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[16]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[17]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[18]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[19]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[20]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[21]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[22]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[23]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[24]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[25]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[26]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[27]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[28]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[29]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[30]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(23) : warning C7050: "vs_out[31]" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log
fixme:d3d_shader:print_glsl_info_log Fragment info
fixme:d3d_shader:print_glsl_info_log -------------
fixme:d3d_shader:print_glsl_info_log 0(87) : warning C7050: "ps_in[8].yzw" might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(41) : warning C7050: "R0.w" might be used before being initialized
<snip>
fixme:module:load_dll Loader redirect from L"wined3d.dll" to L"wined3d-csmt.dll"
err:winediag:wined3d_dll_init Setting maximum allowed wined3d GL version to 4.24576.

beko 4 Nov 2017
Remember this i7 8600K stay at 4.8ghz if you have delid can pass easily 5.0ghz
^_^
What's delid? :)

Fun story. I bagged a i5-8600K / ASUS PRIME Z370-P yesterday :-) Fingers crossed that it'll ship. Couldn't find a single offer for a "in stock" at my place but I found an offer as upgrade kit together with the Z370-P that I was going to buy anyway with this CPU and the kit was marked as "in stock".
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register



Buy Games
Buy games with our affiliate / partner links: