Confused on Steam Play and Proton? Be sure to check out our guide.
The Witcher 3 in Wine
Page: «86/178»
  Go to:
Shmerl Mar 16, 2018
Quoting: maspeberok what git do you exactly clone?

Regular Wine master. Then dxvk (branch direct-image-mapping): https://github.com/doitsujin/dxvk/tree/direct-image-mapping

Wine master became usable this morning, so I doubt that would change the result.

Also, use Mesa master. And I saw you are building something for 32-bit. Skip all that. TW3 doesn't need it.
hilpara Mar 16, 2018
Quoting: Shmerl
Quoting: hilparaWhy should it even matter which version you have?

Because it can set wine version incorrectly, and subsequent run doesn't always detect it. So essentially the key part is to have correct wine version set in the prefix (which also creates all the needed dlls there).

What do you mean set wine version incorrectly? Where is this information saved? By looking the script, if I don't define my own wine with env it will use the system one to find the correct path to 'C:\windows\system32' and set the register, but that's it. It should not have anything to do with the dlls.
maspeber Mar 16, 2018
Can you please give me the git clone ...?

I used all time

git clone https://github.com/roderickc/wine-vulkan.git
hilpara Mar 16, 2018
Here is my build script

#!/bin/bash

# Builds wine-vulkan
# Notes:
#


base=${HOME}/Sources/wine-stuff
wine_branch=${wine_branch:-"master"}
wine_src=${base}/wine-vulkan/source
wine_build=${base}/wine-vulkan/build
arch=${arch:-"native"}

dest_dir="/opt/wine-vulkan/${wine_branch}"

export CXXFLAGS="-O3 -march=${arch}"
export CFLAGS="$CXXFLAGS"

function prepare() {
   mkdir -p "$wine_build"
}

function update_wine_sources() {
   cd $(dirname "$wine_src")
   git clone https://github.com/roderickc/wine-vulkan.git $(basename "$wine_src")
   cd "$wine_src"
   git reset --hard HEAD
   git clean -df
   git checkout master
   git pull
   git checkout ${wine_branch}
   if (($? != 0)); then
      echo "Invalid branch or tag ${wine_branch}! Aborting"
      exit 2
   fi
}

function configure() {
   rm -rfv ${wine_build}/*
   cd $wine_src
   autoconf # to make sure configure is up to date with the vulkan patches
   cd $wine_build
   ${wine_src}/configure --enable-win64 --disable-tests --prefix=
}

function build() {
   cd $wine_build
   make -j$(nproc)
   if (($? != 0)); then
      echo "Build failed!"
      exit 2
   fi
}

function publish() {
   cd $wine_build
   mkdir -p ${dest_dir}
   rm -rfv ${dest_dir}/*
   DESTDIR=${dest_dir} make -j$(nproc) install
}

############################################

prepare
update_wine_sources
configure
build
publish
Shmerl Mar 16, 2018
Quoting: hilparaWhat do you mean set wine version incorrectly? Where is this information saved? By looking the script, if I don't define my own wine with env it will use the system one to find the correct path to 'C:\windows\system32' and set the register, but that's it. It should not have anything to do with the dlls.

When wine runs against certain prefix, it should detect if prefix was used before with other wine version. If so, it should reconfigure the prefix (you sometimes see that small window popping up in such cases), and during that it creates various dll files inside the prefix, which map to the wine version that's running. If that step happens with wrong wine version, and then next step somehow will fail to detect the change, you'll have a mess with those dlls.

At least that's what I think happened to me, when I had a bunch of similar problems to the above. See https://www.gamingonlinux.com/forum/topic/2753/post_id=1477
Shmerl Mar 16, 2018
Quoting: maspeberCan you please give me the git clone ...?

I used all time

git clone https://github.com/roderickc/wine-vulkan.git

Regular wine master. See my build script: https://gist.github.com/shmerl/bbd448bc2b579831a82df7bae3de8dc5

Actual clone part:

git clone git://source.winehq.org/git/wine.git

wine-vulkan is not needed anymore.
Shmerl Mar 16, 2018
I also put all my wine settings scripts there. Try using them if you want:

https://gist.github.com/shmerl/a2867c5a675ed1795f03326b32b47fe7
https://gist.github.com/shmerl/edf230db5d4a24fd92aea16c31393d89
https://gist.github.com/shmerl/611b5b1670eb5963d0d99a4512ed8674

For setting up dxvk, I use:

tw3_dxvk_enable.sh
#!/bin/bash

export WINEPREFIX=/opt/games/wine/prefixes/witcher3
export wine_dir=wine-master
source $HOME/bin/wine_env.sh

/opt/games/wine/dxvk/bin/setup_dxvk.sh


tw3_dxvk_disable.sh
#!/bin/bash

export WINEPREFIX=/opt/games/wine/prefixes/witcher3
export wine_dir=wine-master
source $HOME/bin/wine_env.sh

/opt/games/wine/dxvk/bin/setup_dxvk.sh reset
Shmerl Mar 16, 2018
Since Wine 3.4, vulkan support should already work with dxvk.
malek69 Mar 16, 2018
Quoting: ShmerlSince Wine 3.4, vulkan support should already work with dxvk.
The Wine development release 3.4 is now available.
https://www.winehq.org/announce/3.4

Btw
View video on youtube.com
Shmerl Mar 16, 2018
Quoting: malek69Btw

How much VRAM do you have? It seems dxvk benefits greatly from more VRAM. And also, which branch of dxvk are you using?
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


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.