You can sign up to get a daily email of our articles, see the Mailing List page!
Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can support us on Paypal and Liberapay!
  Go to:
The Witcher 3 in Wine
andda715 commented on 3 December 2017 at 7:13 pm UTC

Here is operf from my account, 51.7% in wined3d-csmt and 11% in nvidia?
wine-staging 2.21

Should I post this in the bug report or some more details needed?
12803 is Witcher3.exe :-)

CPU: AMD64 generic, speed 3799.87 MHz (estimated) Counted CPU_CLK_UNHALTED events (CPU Clocks not Halted) with a unit mask of 0x00 (No unit mask) count 100000 CPU_CLK_UNHALT...| samples| %| ------------------ 3575526 100.000 wine64-preloader CPU_CLK_UNHALT...| samples| %| ------------------ 1847327 51.6659 wined3d-csmt.dll.so 912197 25.5122 anon (tgid:12803 range:0x140001000-0x141cc7fff) 411315 11.5036 libnvidia-glcore.so.387.34 147552 4.1267 kallsyms 47963 1.3414 ntdll.dll.so 45818 1.2814 libc-2.23.so 36251 1.0139 libGL.so.387.34 32411 0.9065 d3d11.dll.so 26907 0.7525 libpthread-2.23.so 9801 0.2741 libpulsecommon-8.0.so 9553 0.2672 nvidia

Shmerl commented on 3 December 2017 at 7:18 pm UTC

It wouldn't hurt to post it in the bug, but drilling down to individual functions would be more useful.

Shmerl commented on 3 December 2017 at 7:27 pm UTC

Using perf you can also build flame graphs: http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html

beko commented on 3 December 2017 at 9:34 pm UTC

Shmerl
bekoMovement lag can be prevented by running it on own X. Gnome (for me) seems to trouble Wine on Tw3. I may add a howto tomorrow if you need one.

You probably need to disable compositing when running Wine.
Will try but I doubt this is related (this time). IIRC I did try this before but it won't hurt to do so again. ty

Shmerl commented on 4 December 2017 at 9:04 pm UTC

Looks like remaining chunk of patches by Matteo Bruni for GenerateMips is coming: https://source.winehq.org/patches/

hilpara commented on 5 December 2017 at 9:01 am UTC

ShmerlI made a few helper scripts to run Wine (make sure $HOME/bin is in your path):

$HOME/bin/wine_env.sh
#!/bin/bash export wine_dir=${wine_dir:-"wine-devel"} export wine_bin=${wine_bin:-"wine"} export WINEVERPATH=${WINEVERPATH:-"/opt/${wine_dir}"} export PATH=${WINEVERPATH}/bin:$PATH export WINESERVER=${WINEVERPATH}/bin/wineserver export WINELOADER=${WINEVERPATH}/bin/${wine_bin} export WINEDLLPATH=${WINEVERPATH}/lib/wine/fakedlls export LD_LIBRARY_PATH="${WINEVERPATH}/lib:${LD_LIBRARY_PATH}"

$HOME/bin/wine_run.sh
#!/bin/bash # Overrides and settings: # # WINEVERPATH to use custom location of Wine # WINEPREFIX to set what prefix to use if [[ "$1" == 32 ]]; then wine_bin='wine' shift else wine_bin='wine64' fi source $(dirname ${BASH_SOURCE[0]})/wine_env.sh echo "Wine env:" echo "WINEPREFIX=${WINEPREFIX}" echo "WINEVERPATH=${WINEVERPATH}" echo "WINESERVER=${WINESERVER}" echo "WINELOADER=${WINELOADER}" echo "WINEDLLPATH=${WINEDLLPATH}" echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" echo "===========================================" $wine_bin $@

Now let's say your prefix for the Witcher 3 is: /opt/games/wine/prefixes/witcher3, and you installed the game in /opt/games/wine/prefixes/witcher3/drive_c/the_witcher_3

You can make a launcher script like this:

tw3_launch.sh
#!/bin/bash export wine_dir=${wine_dir:-"wine-master"} export WINEPREFIX=/opt/games/wine/prefixes/witcher3 export WINEDEBUG=-all cd $WINEPREFIX/drive_c/the_witcher_3/bin/x64 wine_run.sh witcher3.exe

It will use Wine from /opt/wine-master

Change wine_dir variable to something else to use some other Wine that you put in /opt

You don't need to split it all that way if you don't want to, but the above should give you an idea.

Thanks Shmerl! I got it working with your scripts. The only downside at the moment is, that the patches includes lot of stuff already implemented in master and requires a lot of work to get it work.

Shmerl commented on 5 December 2017 at 1:18 pm UTC

hilparaThanks Shmerl! I got it working with your scripts. The only downside at the moment is, that the patches includes lot of stuff already implemented in master and requires a lot of work to get it work.

Yeah, you'd need to skip mips patch, and surely not to apply whole staging.

Shmerl commented on 5 December 2017 at 11:49 pm UTC

The water is good using Wine master now, so you don't need mips patch from staging anymore, which makes things much simpler to apply. I updated the instructions.

Shmerl commented on 6 December 2017 at 1:21 am UTC

Looks like deferred context patch isn't really needed. So amount of staging patches basically is now reduced to one. See if removing deferred context improves performance for Nvidia.

beko commented on 6 December 2017 at 8:24 pm UTC

bekoWill try but I doubt this is related (this time). IIRC I did try this before but it won't hurt to do so again. ty
Follow up: Seems to work much better.

So I'll add gsettings set org.gnome.desktop.interface enable-animations false to my startup script.

  Go to:

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


Or login with...

Livestreams & Videos
Community Livestreams
  • RPGoodness: "Dragon Age Origins" (via Wine)
  • Date:
See more!
Popular this week
View by Category
Contact
Latest Forum Posts
Facebook