You can sign up to get a daily email of our articles, see the Mailing List page!
Support me on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! We will also never show adverts to anyone who supports GamingOnLinux! Alternatively, you can support me on Paypal.
  Go to:
The Witcher 3 in Wine
Shmerl commented on 13 November 2017 at 4:14 pm UTC

maspeberOn 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.

maspeberThe 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 commented on 14 November 2017 at 7:12 am UTC

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 commented on 14 November 2017 at 4:41 pm UTC

maspeberedit: 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 commented on 14 November 2017 at 5:19 pm UTC

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

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 commented on 14 November 2017 at 7:38 pm UTC

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: 2560x1080@74.99hz
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:
image

looks like it snowed, the ground looks so metallic
image

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.

image

The GPU-Load-graph looks strange - around 70% and not higher. No obvious bottleneck, CPU isnt 100% at no core.

Shmerl commented on 14 November 2017 at 7:57 pm UTC

maspeberI 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 commented on 14 November 2017 at 8:04 pm UTC

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 commented on 14 November 2017 at 8:34 pm UTC

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 commented on 14 November 2017 at 8:49 pm UTC

maspeberNo 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 commented on 14 November 2017 at 8:49 pm UTC

maspeberIts strange. I think we will have to wait till 4.15 and all patches from amd.

Possibly. Looks like now things are still messy.

  Go to:

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Official Livestreams
  • Alien DLC - Part 1
  • Date:
Community Livestreams
See more!
Popular this week
View by Category
Contact
Latest Forum Posts
Facebook