Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
The Witcher 3 in Wine
Page: «21/88»
  Go to:
andda715 12 Nov 2017
Thanks, uploaded them to imgur as well.
Will reboot and snap a shot using windows on the same spot and see what fps that is.

Same position but now on Windows. Using same ultra settings as 1080p picture above but with one change, removed vsync (since my monitor is only 60Hz).

"big square in Novigorad" ~110-120fps

EDIT: First one with img-tag and other raw link:
![](https://i.imgur.com/4Hf0nLW.png)
https://imgur.com/a/R28JA

Weird, any ideas what I should check in imgur? I posted the "to the wall" or whatever that is. :-D
Needed to do some email-verification thingy that took a few minutes after I posted.

Thanks,
Anders
Shmerl 12 Nov 2017
Same story - image doesn't load. I guess forum embedding is broken. I usually just always upload to imgur, and then paste here with [img]
andda715 12 Nov 2017
My bad, used wrong links when adding them as img-tag. Should hopefully work now. :-)

EDIT:
Did a new run at the same spot using ultra 1080p version with d3d_perf enabled, referenced in a bugzilla somewhere.
Spoiler, click me

 1493 warn:d3d_perf:resource_check_usage WINED3DUSAGE_DYNAMIC used without WINED3DUSAGE_WRITEONLY.
    877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 1024 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
    877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 157 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
    877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2288 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
      6 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2621 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), and GL_ARRAY_BUFFER_ARB, usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
      6 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2756 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (3), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (4), and GL_AR"....
      1 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 3187 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to DMA CACHED memory.".
    486 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 3187 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
    877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 957 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".

If interesting I can upload the entire log, the above is the "sort | uniq -c" version.
maspeber 13 Nov 2017
@Shmerl - I will post these bugreports. But I want to wait for Kernel 4.15-rc1 because of the DC/DAL-patches for Vega. Hope this time its accepted.

I am playing on wine-staging 2.20 with good results as described in my post. On weekend I was curious with the bugfixes for wine 2.21 and tried vanila 2.21. I had to apply the reg hacks. After starting TW3 I continued my old save in Velen (little time after the hanging man tree where y meet the priest who tells y to burn the corpses). The performance was about 1/3 of staging 2.20, around 15-20 fps. As I ignited the fire over the corpses the fps dropped below 1 fps and stayed there.

The biggest problem that I have atm with 2.20 staging is that TW3 (and my whole system) freezes after a short time of playing my save in Velen. Therefore I cant do a test in Novigrad. Sorry. I have to wait for staging 2.21.
Shmerl 13 Nov 2017
On weekend I was curious with the bugfixes for wine 2.21 and tried vanila 2.21. I had to apply the reg hacks. After starting TW3 I continued my old save in Velen (little time after the hanging man tree where y meet the priest who tells y to burn the corpses). The performance was about 1/3 of staging 2.20, around 15-20 fps. As I ignited the fire over the corpses the fps dropped below 1 fps and stayed there.

The biggest problem that I have atm with 2.20 staging is that TW3 (and my whole system) freezes after a short time of playing my save in Velen. Therefore I cant do a test in Novigrad. Sorry. I have to wait for staging 2.21.

These are both expected issues with known workarounds.

For more details, see:

https://bugs.winehq.org/show_bug.cgi?id=43273
https://bugs.winehq.org/show_bug.cgi?id=42592

Also take a look at the howto, since it looks like you missed it: https://appdb.winehq.org/objectManager.php?sClass=version&iId=34698#notes

Basically, to avoid low performance, you need this staging patch:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-buffer_create

To avoid the freeze, you either need to use Wine master which already has a fix, or apply a patch and revert to 2.20. See https://bugs.winehq.org/show_bug.cgi?id=43273#c57

You don't need to use whole staging, I prefer to use regular Wine master, with a minimal set of patches. See above in the howto.
maspeber 14 Nov 2017
Thx Shmerl,

compiled wine master with wined3d-buffer_create wined3d-GenerateMips d3d11-Deferred_Context xaudio2-get_al_format. I dont get freezes anymore and the performance is ok - the fps seems to be a bit lower as with a full staging. Will post pics when I am in Novigrad.

edit: Do y use special CFLAGs (eg CFLAGS="-Ofast -march=native" ) or something like that when y compile wine? I did just a standard compile without CFLAGs. Will it make a significant difference?
Shmerl 14 Nov 2017
edit: Do y use special CFLAGs (eg CFLAGS="-Ofast -march=native" ) or something like that when y compile wine? I did just a standard compile without CFLAGs. Will it make a significant difference?

I don't think it makes a big difference. I use -O3 and -march=znver1 (not -march=native, since I compile inside a VM and KVM/Qemu and virt-manager have hard time detecting Ryzen properly). If you are compiling straight on the same OS, then -march=native should be enough.
maspeber 14 Nov 2017
thx shmerl. atm I compile wine with -O3 -march=native - same sources as yesterday with only -O2. Will be interesting to see if there is a difference. Some benches with Clear linux have big big performance plus ... hm I feel tempted to use Gentoo or do Linux from scratch :P

I installed m-bab 4.14.0-kernel with new firmware package. I will first test the new compiled wine and after I will test 4.14.0. From 4.14.0 I will post later pics with the performance
maspeber 14 Nov 2017
Some more pics: m-bab-kernel 4.14.0 with AMD-DC/DAL-patches, wine-master 2.21 with the 4 staging patches (compiled with -O3 -march=native) and from inxi-F:

CPU: Octa core AMD Ryzen 7 1700 Eight-Core (-HT-MCP-) cache: 4096 KB
clock speeds: max: 3800 MHz 1: 3800 MHz 2: 3800 MHz 3: 3800 MHz 4: 3800 MHz 5: 3800 MHz 6: 3800 MHz
7: 3800 MHz 8: 3800 MHz 9: 3800 MHz 10: 3800 MHz 11: 3800 MHz 12: 3800 MHz 13: 3800 MHz 14: 3800 MHz
15: 3800 MHz 16: 3800 MHz
Graphics: Card: Advanced Micro Devices [AMD/ATI] Vega [Radeon RX Vega]
Display Server: X.Org 1.19.5 drivers: ati,amdgpu (unloaded: modesetting,fbdev,vesa,radeon)
Resolution: [email protected]
OpenGL: renderer: AMD VEGA10 (DRM 3.23.0 / 4.14.0+, LLVM 5.0.0)
version: 4.5 Mesa 17.3.0-rc3 - padoka PPA

Game started with taskset -c 8-15 wine (to avoid inter-ccx-communication). Everything maxed out except hairworks off. Resolution 1600x900 for screenshots with watch amdgpu_pm_info

Novigrad:
![](https://i.imgur.com/nIQdKi8.jpg)

looks like it snowed, the ground looks so metallic
![](https://i.imgur.com/jtx1fYa.jpg)

I had a hard time to make the GPU to speed the clock up. Almost it stayed at 99x Mhz. I tested with Crysis 2 and Wine-Gallium-Nine 2.19. The same. Its very hard to speed the Vega up. I tested with Tomb Raider 2013 and had to max out everything to ramp the clock up to 15xx. On Win10 the Vega clocks up very very quickly and is around 14xx or 15xx MHz.

![](https://i.imgur.com/OyQsmCK.jpg)

The GPU-Load-graph looks strange - around 70% and not higher. No obvious bottleneck, CPU isnt 100% at no core.
Shmerl 14 Nov 2017
I had a hard time to make the GPU to speed the clock up. Almost it stayed at 99x Mhz.

May be your GPU is set to run in power conserving mode, instead of performance? There should be kernel variable that specifies that (I don't remember what it is, I can look it up).
Shmerl 14 Nov 2017
Try this:

sudo cat /sys/class/drm/card0/device/power_dpm_state

it can be set to balanced, performance or auto. Try setting it to auto. It will make good dynamic clocking. Or set to performance to always use max (though it will be heating up too much).
maspeber 14 Nov 2017
its set to performance and the only thing power_dpm_state can be set to.

echo auto > /sys/class/drm/card0/device/power_dpm_state -> invalid argument

echo "balanced" > /sys/class/drm/card0/device/power_dpm_state -> accepted but
cat /sys/class/drm/card0/device/power_dpm_state
performance

Its strange. I think we will have to wait till 4.15 and all patches from amd.
Ehvis 14 Nov 2017
No obvious bottleneck, CPU isnt 100% at no core.

That may not be correct. I assume your taskset disabled four cores, so you're running at 4 cores. But you're cpu display shows the 8 threads. What is unclear is how those 8 threads are loading the four cores and what exactly the meaning of the % is. But if it's written as percentage of core load, then the sum of the first picture is 367%, which is pretty close to 400%. So it's likely that at least one is maxed out.

I'm not sure why they didn't keep it the way they did in the early days of hyperthreading. Back then you only saw the load for cores you had in total and the hyperthreading stuff wasn't actually displayed separately.
Shmerl 14 Nov 2017
Its strange. I think we will have to wait till 4.15 and all patches from amd.

Possibly. Looks like now things are still messy.
andda715 14 Nov 2017
Getting closer. :-)

* Built my own from 2.20 sources
* Applied all staging patches
* Modified 0001-wined3d-Do-not-pin-large-buffers.patch to use 0x80000 instead of 0x10000
* Used -O3 and -march=native

EDIT: Results 15-20% fps improvement. :-)
So 28-32 fps while in the wilds and roughly 22-24 in Novigorad.
Massive improvement to 2.20 vanilla as with build above even fighting is now smoother (at 30fps level but still!).
Most improved in the wilds, not so much in Novigorad.

![](https://i.imgur.com/OwOExYJ.png)
![](https://i.imgur.com/EQiOjBl.png)
![](https://i.imgur.com/1ngsa0u.png)
![](https://i.imgur.com/EOlNX89.png)

Still slow when storms and in Novigorad though:
![](https://i.imgur.com/z6TY3Tv.png)
![](https://i.imgur.com/2GAmIFq.png)

Sorry if I'm spamming to many pictures, just let me know if that is the case. :-)
Shmerl 14 Nov 2017
It's better, but Nvidia blob still has some major bottleneck in comparison with Mesa. Feel free to post that info in the performance bug too: https://bugs.winehq.org/show_bug.cgi?id=42592
andda715 14 Nov 2017
I'll do that, will test a bit more first. :-)

Spoke a little too soon, was awhile since I visited hanged mans tree. Got better results with vanilla staging there as well (than I remembered). Still an improvement with custom build but not as much. :-/
Shmerl 15 Nov 2017
Looks like Sapphire Nitro models for vega have surfaced at last:

View video on youtube.com

I wonder how much they'll cost. I'm going to buy one for TW3 in Wine eventually. Though 3 power connectors and 3 fans look a bit crazy. Hopefully 56 model will be less of a beast.
maspeber 15 Nov 2017
No obvious bottleneck, CPU isnt 100% at no core.

That may not be correct. I assume your taskset disabled four cores, so you're running at 4 cores. But you're cpu display shows the 8 threads. What is unclear is how those 8 threads are loading the four cores and what exactly the meaning of the % is. But if it's written as percentage of core load, then the sum of the first picture is 367%, which is pretty close to 400%. So it's likely that at least one is maxed out.

I'm not sure why they didn't keep it the way they did in the early days of hyperthreading. Back then you only saw the load for cores you had in total and the hyperthreading stuff wasn't actually displayed separately.

Thx, that a good point. Never thought this way 4c/8t = 400% because its 100% per physical core. For me it was always 8threads = 800% and as long as one thread isnt 100% there is no bottleneck.
But make perfect sense.

Shmerl, I have bought my Vega for around 400 Euros and paid around 100 Euros for the Morpheus II and two Ncotua 120 mm fans. So in total 500 Euros. The Vega is cool and quite. This is a very good video for mounting the Morpheus:

https://www.youtube.com/watch?v=THaMlkNDzYs

If y dont wanna wait for custom solutions - funny sidenote: In this video he benches the Vega performance with TW3 :)

So sad that it seems to be in a rough state for Linux atm :(
Shmerl 15 Nov 2017
I don't want to mess with installing custom coolers on a GPU :) CPU with Noctua is more than enough for me for custom installations. Getting something like Sapphire Nitro does the job.
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: