Check out our Monthly Survey Page to see what our users are running.
The Witcher 3 in Wine
Page: «49/88»
  Go to:
Shmerl 30 Apr 2018
One thing worth mentioning is that I'm using a Nvidia GTX 1060 with driver 390.48. Are there some additional environment variables that I need to set?

Nvidia introduced a new SPIR-V compiler recently, may be it's affecting it? Try disabling it with:

__GL_NextGenCompiler=0

Man I can't wait to move to Vega, I've had it with this binary driver bullshit...

I got Vega 56 recently (Sapphire Pulse) and it's a good card, but prices on it jump like crazy. Wait for a chance when it's at some normal level and buy quickly :)
Cmdr_Iras 30 Apr 2018
[quote=YoRHa-2B]
I do wonder how Feral works around stream output limitations in their ports; because Im sure some of the games they have ported with Vulkan must use that DX feature
Rise of the Tomb Raider doesn't. Not sure about F1 2017 and the earlier Vulkan ports, but it's certainly possible that they just never ran into this issue in the first place.

If the game doesn't care about the ordering guarantees that D3D11 Stream Output provides, a rather efficient workaround is trivial: Just use SSBO writes and an atomic counter. Done.

If the game does care about the ordering guarantees, things get hairy. If the game doesn't use indirect draws and if the geometry shaders unconditionally write data to their output streams and if the game doesn't rely on overflow behaviour, you can still use SSBO stores combined with some gl_PrimitiveID and gl_InstanceID magic.

Feral know what their game needs and can adjust their wrapper accordingly. DXVK can't, it needs to satisfy all possible use cases.


Wow, OK far more complicated than I imagined, and yes I can see for a general 'emulator' not knowing how each implementation of stream output in every game works you cant produce a general function to replace, you would have to create one case for every game and that would be ugly and wasteful.

Thanks for the explanation.
tuubi 30 Apr 2018
Nvidia introduced a new SPIR-V compiler recently, may be it's affecting it? Try disabling it with:

__GL_NextGenCompiler=0
The new compiler was introduced in the 396.18 beta driver, so that can't be it.
YoRHa-2B 30 Apr 2018
DXVK now support fullscreen in non native resolutions :D
It's still a bit broken and particularly for Witcher 3, transitioning back from fullscreen to windowed doesn't work properly (missing window border) - but that did never work in the first place.
rstrube 30 Apr 2018
Nvidia introduced a new SPIR-V compiler recently, may be it's affecting it? Try disabling it with:

__GL_NextGenCompiler=0
The new compiler was introduced in the 396.18 beta driver, so that can't be it.

I tried setting that environment variable, and I'm still having the same problems. At this point, I'll probably wait until after I upgrade to Fedora 28 and then give things another go. I'm wondering if perhaps the binary .dll files that I downloaded are linked in a certain way that's incompatible with Fedora? Has everyone here built their own DXVK, or are other folks also using the binary releases?

Thanks!
Shmerl 30 Apr 2018
Has everyone here built their own DXVK, or are other folks also using the binary releases?

I always build them, it's not hard - give it a try.
jens 30 Apr 2018
  • Supporter
Nvidia introduced a new SPIR-V compiler recently, may be it's affecting it? Try disabling it with:

__GL_NextGenCompiler=0
The new compiler was introduced in the 396.18 beta driver, so that can't be it.

I tried setting that environment variable, and I'm still having the same problems. At this point, I'll probably wait until after I upgrade to Fedora 28 and then give things another go. I'm wondering if perhaps the binary .dll files that I downloaded are linked in a certain way that's incompatible with Fedora? Has everyone here built their own DXVK, or are other folks also using the binary releases?

Thanks!
I've only tried the Unigine benchmarks using binaries from https://haagch.frickel.club/files/dxvk/README.txt (found the link somewhere here on GOL). They worked pretty much out of the box (very impressively) on my Fedora 27 machine with wine 3.5 (and now 3.6) from the Fedora repositories. I'm still on NVidia 390.48.
Cmdr_Iras 30 Apr 2018
Has everyone here built their own DXVK, or are other folks also using the binary releases?

Thanks!

I used the Binary when I tested; I have a few other games to go so will probably wait a while til either the OpenGL WINE implementation is providing better performance, or until Vulkan has a way to elegantly deal with Stream Output.
Shmerl 30 Apr 2018
I have a few other games to go so will probably wait a while til either the OpenGL WINE implementation is providing better performance, or until Vulkan has a way to elegantly deal with Stream Output.

Both will take a while.
Mohandevir 2 May 2018
Mohandevir:

"I've been able to install and make Steam's Witcher 3 start following cRaZy-bisCuiT's how-to, with Wine 3.7.

In fact I copied the game folder of my Windows install to my wine prefix. This said, it's really laggy and slow. Better than stock Wine but not really playable. It's far from the Windows version with the same hardware (i7-3770, GTX 960, Nvidia 396.18). Any clue what might be wrong?"


Shmerl:
"Better use this thread for it."

Thanks! Didn't tought about this one.

I'm using DXVK 0.42 with Wine 3.7. Didn't know about the regression with Nvidia driver 396.18. Will try driver 390.

Found this thread:
https://github.com/doitsujin/dxvk/issues/267

Totally noob in _GL_NextGenCompiler... Is this a xorg.conf parameter? How do you configure that?
Cmdr_Iras 2 May 2018
I have a few other games to go so will probably wait a while til either the OpenGL WINE implementation is providing better performance, or until Vulkan has a way to elegantly deal with Stream Output.

Both will take a while.

True, but I have waited this long. plus my games backlog is almost 20 games deep at this point so I feel I will have enough to fill the time. :)
Shmerl 2 May 2018
Totally noob in _GL_NextGenCompiler... Is this a xorg.conf parameter? How do you configure that?

It's an environment viariable. Set it to 0 when launching the game:

__GL_NextGenCompiler=0
Mohandevir 2 May 2018
I think I will skip the _GL_NextGenCompiler stuff... Nvidia just released 396.24 driver... Today. Nvidia are really active in the DXVK thread to support the "users & team".
Shmerl 2 May 2018
True, but I have waited this long. plus my games backlog is almost 20 games deep at this point so I feel I will have enough to fill the time. :)

Same here. I've never played the full game yet and still stuck in Velen. Avoiding spoilers is a bit hard though :)
Avehicle7887 2 May 2018
Totally noob in _GL_NextGenCompiler... Is this a xorg.conf parameter? How do you configure that?

It's an environment viariable. Set it to 0 when launching the game:

__GL_NextGenCompiler=0

Time for me to make a note of this for future driver updates ;)
Mohandevir 2 May 2018
Totally noob in _GL_NextGenCompiler... Is this a xorg.conf parameter? How do you configure that?

It's an environment viariable. Set it to 0 when launching the game:

__GL_NextGenCompiler=0

In Wine... Duh!

I'm quick on the pick-up if you tell me often enough. Lol!
Avehicle7887 2 May 2018
Totally noob in _GL_NextGenCompiler... Is this a xorg.conf parameter? How do you configure that?

It's an environment viariable. Set it to 0 when launching the game:

__GL_NextGenCompiler=0

In Wine... Duh!

I'm quick on the pick-up if you tell me often enough. Lol!

If you launch your game from a bash script (.sh file), you can add it in. An example of my launch script for Path of Exile in Wine:

#!/bin/bash
cd "`dirname "$0"`/.."
export __GL_NextGenCompiler=0
export WINEDEBUG=-all
export WINEARCH=win64
export WINEPREFIX="$PWD/data"
cd "$PWD/data/drive_c/PoE"
"../../../bin/wine64" ./PathofExile.exe & disown

This way the environment variable is applied automatically at launch.
Shmerl 2 May 2018
At last I got everthing working...

But I have to say...all those tutorial on reddit and Youtube are just horrible and confusing for newbies!

I will make a detailed one....

You mean for using Wine in general, or for configuring TW3 in it? I thought today you don't need tweaks, it pretty much works out of the box.

I maintained a howto here, but there isn't a need for it today.
Cecco_d_Ascoli 3 May 2018
[quote=Guest]
I mean tutorial of how to set up Dxvk + Wine
Lutris ones are well explained, but most Terminal tutorials are lacking a lot!

Splendid idea, I utterly concur! Speaking at least for myself, a fool-proof terminal tutorial on how to set up a running Dxvk-Wine would be most welcome. Being just a humble admirer of Shmerl's and others' prowess in magicking dlls and compiling stuff, I never really succeed in patching together the various info properly - but somehow manage to keep up my enthusiasm.

Hence a list of command lines - starting from scratch - one may only copy/paste would be great.
I.e. you have a fresh new install of Ubuntu 16.04/17.x and/or Arch-Antergos and in order to get games running with the latest stable(!) Dxvk-Wine open a terminal and enter 1... 2... 3...
Note: That such a tutorial should also include the proper functioning GPU-driver-installation both for Nvidia and AMD, since doitsujin seemingly (and from his point of view sufficiently) lists merely drivers which cause issues on github, yet a common user like me would explicitly need to be told which ones do work and which to avoid under any circumstance.

Thanks you very much! Kudos and looking forward!
Cecco
cRaZy-bisCuiT 3 May 2018
[quote=Cecco_d_Ascoli]
I mean tutorial of how to set up Dxvk + Wine
Lutris ones are well explained, but most Terminal tutorials are lacking a lot!

Splendid idea, I utterly concur! Speaking at least for myself, a fool-proof terminal tutorial on how to set up a running Dxvk-Wine would be most welcome. Being just a humble admirer of Shmerl's and others' prowess in magicking dlls and compiling stuff, I never really succeed in patching together the various info properly - but somehow manage to keep up my enthusiasm.

Hence a list of command lines - starting from scratch - one may only copy/paste would be great.
I.e. you have a fresh new install of Ubuntu 16.04/17.x and/or Arch-Antergos and in order to get games running with the latest stable(!) Dxvk-Wine open a terminal and enter 1... 2... 3...
Note: That such a tutorial should also include the proper functioning GPU-driver-installation both for Nvidia and AMD, since doitsujin seemingly (and from his point of view sufficiently) lists merely drivers which cause issues on github, yet a common user like me would explicitly need to be told which ones do work and which to avoid under any circumstance.

Thanks you very much! Kudos and looking forward!
Cecco

Let me allow to quote myself to help you with a tutorial.


There is a Lutris script, for example for Battlefield 4.


On the other hand I don't get why people claim it's hard to install DXVK. It's actually, as mentioned before, pretty easy. Create a Wine Prefix and either install DXVK via script in that or just copy over the two DLLs. Nothing hard about that.

You just can't say that's easy. For any average Windows user for whom everything has always been just a double click away this can be a show stopper. Even for me that's not easy, I consider myself an advanced user as I used to handle Windows very well and have managed to game on Linux for more than 2 years now.

But when you say "create a Wine Prefix" I know that will require me to search the Web to find out how to do it, it'll most likely take me half an hour or more to understand and do that. Then I'll have to install DXVK via script, which again is not easier than a double click, and then again copy 2 DLLs and put them in a probably hidden folder.

Maybe you're in there for so long that you don't see why people claim some things are hard to do in Linux ^_^

Oh lord, please don't get me wrong, this message is not exactly targeted at you or someone specific, but as mentioned before it's easy. It will take you less than a minute. And if you consider yourself an advanced windows user, you should have knowledge about the cmd / power shell, thus not being afraid of the terminal. Even if you google for "How to create a wine prefix." the first result will already tell you. This will take you 5 minutes of googling on how to create one and maybe 5 more on how to make use of it.

Assuming you use a debian based distro (Debian, Ubuntu, some more...) open a terminal (CRTL + T) you could do it like this:

How to deploy a wine prefix & install DXVK

1. Create Wine-Prefix (64bit / x64 in this case)
WINEPREFIX="$HOME/.dxvk" wine wineboot

Note: The prefix is named "dxvk" like this. You could name it however you so desire.

2. Download dxvk-Release (0.42 in this case)
wget https://github.com/doitsujin/dxvk/releases/download/v0.42/dxvk-0.42.tar.gz

3. Extract the archive and change into the x64 directory
tar -xvf  dxvk-0.42.tar.gz && cd dxvk-0.42/x64/

4. Install dxvk in your desired Wineprefix
WINEPREFIX="$HOME/.dxvk" ./setup_dxvk.sh

At this point you are already done. Now you can execute e.g. .exe-files in this prefix:
WINEPREFIX="$HOME/.dxvk" wine BLAHBLAH.exe

If you don't want to type the prefix in all the time, just do:
export WINEPREFIX="$HOME/.dxvk"

...and as long as the terminal is open you will always refer to this prefix.

How to deploy a wine prefix & install DXVK in one command
WINEPREFIX="$HOME/.dxvk" wine wineboot && wget https://github.com/doitsujin/dxvk/releases/download/v0.42/dxvk-0.42.tar.gz && tar -xvf  dxvk-0.42.tar.gz && cd dxvk-0.42/x64/ && WINEPREFIX="$HOME/.dxvk" ./setup_dxvk.sh

...which will only take a few seconds.
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: