wineHQ and dx11

It works!

After the lastest wine update (wine-3.0) and last night on SiSi, I saw the landing pad lights for the first time in a long time - dx11 was turned on with wine!

The lights in the station in 6C-Z49 looked brighter than last week, so I opened the fps monitor (CTRL+F) and low and behold it showed dx11 with Radeon RX 480 graphics!!

Everything looks beautiful but some effects like the shield hardeners bubble around a ship and the shield booster effect do not show :frowning: (yet) - if you switch to dx9 on the launcher they will show again.

Just letting you know, it will not be long now.

I am running on Linux Mint 18.3 (Ubuntu 16.4 LTS) with wineHQ staging.

2 Likes

Hereā€™s wishing we could run DX11 under OSX with Wineā€¦).

1 Like

Just FYI:

Anti-aliasing still doesnā€™t work in DX11. The last version Iā€™ve checked was WINE 3.5. In WINE 3.0 does one get a fully black screen after the character selection. With Wine 3.5 does one at least get to see the UI, but the actual 3D graphics are still being rendered completely black.

So for now do I stay with DX9. Itā€™s also a lot faster than DX11 and I can run two clients with AA enabled and both at 60 fps. Iā€™m using a Nvidia GTX 960 with the proprietary driver.

Indeed. I finally managed to run the client with DX11 and Wine 3.7 (no AA either) and, while it looks pretty, all I get is about 12-14 FPS on my GTX 1080 with all graphic settings on ā€œhighā€.

I hope the performance will improve in future Wine releases.

Not sure how youā€™ve managed to do that, but I get 40-45 fps with DX11 on a GTX 960 at 1920x1080 while orbiting a station. This is also with all set to high (and AA off).

You can try setting export WINEDEBUG=-all to turn off all debug channels in WINE. WINE usually has a few of them turned on by default. The debug messages are grouped into channels and one can turn them on and off selectively, which helps in finding issues, i.e. when an application doesnā€™t want to run under WINE. Turning all debug channels off works with all applications and can lead to a higher performance and frame rate. Still, I doubt this can explain why you are seeing such a huge drop. This is with WINE 3.6 (aka wine-development) on Debian 10 / ā€œBusterā€. OpenGL settings in the Nvidia control panel are set to Quality and my CPU is an AMD FX 8350.

Yes, Iā€™ve tried WINEDEBUG=-all and the performance improves a bit - e.g. up to 20 FPS.

Iā€™m also playing at 1920x1080 on Ubuntu 14.04.5 LTS, with NVIDIA driver 384.111 and Linux kernel 4.4.0. Iā€™m also using the latest wine-development version, which in my case -as I said- is 3.7; but I donā€™t knowā€¦ Iā€™ll continue to use DX9 for now and keep an eye on the performance with the next Wine releases.

If itā€™s not important to you then simply wait until you can update your Ubuntu.

Only because the topic includes DX11 - there is an interesting development regarding WINE and DX11. The current support for DX11 is implemented over OpenGL, but there is now also a project, which implements it over Vulkan. Itā€™s still in early stages:

But it is already working for benchmarks such as the Unigine engine, and the performance is quite remarkable:

ā€¦

Also interesting is WINE ā€œPBAā€, which is a set of patches to WINE that give a bit of extra performance:

Iā€™m actually using DXVK with EVE, works like a charm. The only glitch Iā€™ve noticed are very thin red outlines around some transparent effects, e. g. the gate energy effect or explosions. With my GTX 970 and graphics on maximum I get about 120 FPS without significant drops. And, most importantly, it is the first time ever antialiasing works with EVE in Wine!

You do not need any special Wine build, just a recent version (>=3.5 as of DXVK 0.42). Go to the DXVK releases site and download the latest binary release (the .tar.gz file). Open a console, export your desired Wine prefix to the environment and run the appropriate setup script for your Wine arch - done! Donā€™t forget to untick the ā€œRun clients with DirectX 9ā€ box in the launcher, though.

1 Like

Oh, thank you. Iā€™ll give this a try in a minute. I first want to update my driver to the latest Vulkan driver since Iā€™m only using the normal Nvidia driver.

https://developer.nvidia.com/linux-3961805-64-bit

Update:
I seem to be having some issue with it.

First of all it appears to work and I can disable the DX9 checkbox in the launcher and do get a working game as well as AA support.

BUT ā€¦ the performance went up by so much (from ~45fps to ~150fps) that Iā€™ve compared visuals and it doesnā€™t look as if it is now using DX11, but that it has fallen back to DX9 despite DX9 set to off. There is also no DXVK hud or log file to be found as described on the GitHub README.

It took a bit more than a couple of minutes for me to get DXVK to run and it still occasionally hangs for me, but if anyone wants to try, here is what I had to do to get it running on Debian 10 / ā€œBusterā€:

  • Installing a recent WINE version from WineHQ with Vulkan support enabled (i.e. 3.7. from the development branch). The WINE version that comes with Debian does not have Vulkan support compiled in yet (likely for a good reason).
wget https://dl.winehq.org/wine-builds/debian/pool/main/wine-devel-amd64_3.7.0~buster_amd64.deb
wget https://dl.winehq.org/wine-builds/debian/pool/main/wine-devel-i386_3.7.0~buster_i386.deb
wget https://dl.winehq.org/wine-builds/debian/pool/main/wine-devel_3.7.0~buster_amd64.deb

Followed by (as root or with sudo):

dpkg -i wine-devel-amd64_3.7.0~buster_amd64.deb 
dpkg -i wine-devel-i386_3.7.0~buster_i386.deb 
dpkg -i wine-devel_3.7.0~buster_amd64.deb 
  • Installing the 32-bit libraries of MESA for Vulkan support.
    apt-get install mesa-vulkan-drivers:i386

  • Reinstalling the Nvidia driver 396.18.05 to provide the 32-bit Vulkan library now that MESA support has been installed.

  • Downloading and installing the VulkanSDK for Windows under WINE.
    https://vulkan.lunarg.com/sdk/home#windows
    wine VulkanSDK-1.1.73.0-Installer.exe

  • Creating the file winevulkan.json and registry keys for 32- and 64-bit as describe here:
    https://github.com/roderickc/wine-vulkan

  • At this point can one try to run the cube.exe demo in the VulkanSDK directory, to see if itā€™s all working. One should see a rotating 3D cube:

cd $WINEPREFIX/drive_c/VulkanSDK/1.1.73.0/Bin
wine cube.exe

One can now start EVE the usual way. When the variable DXVK_HUD=1 is set does one get a small overlay with the Vulkan version and the frame rate.

So now I can fly around a little, but eventually it hangs. Iā€™ve disabled the new Vulkan compiler, but it makes no difference. So Iā€™m going to stop testing at this point and only keep following the development on this.

Hope someone finds this useful and has got more luck with it.

2 Likes

Hmm, thats weird. Have wine-devel 3.7 from winehq on buster running, nvidia-driver 390.48
with vulkandrivers for amd64 and i386. I have EVE running with DXVK but it is unplayable because DXVK or wine spams the logfiles full so that it is stoked the whole time. But it works, maybe would it run better with the next version. I have it testet with DXVK 0.42.

Oh, the only thing wat i have made was the json file in windows directory and the registry entries ofc so that the vulkan driver knows, wich driver he must use. the Khronos SDK are not needet.

I havenā€™t tried it without the SDK yet, but only noticed that it installs not only the SDK but also a run-time environment. I donā€™t know if itā€™s needed or if one can leave it out. However, it helps to see if basic Vulkan support is working and one can test Vulkan itself before one tests DX11 over Vulkan.

Sure thats right. With the SDK you can test before, if the driver works or not and with the cubedemo you have an optical test.

Iā€™m going to assume that none of the steps will be necessary eventually, but that Vulkan as well as DX11 over Vulkan will work out of the box, and we donā€™t need to mess around with anything.

Next thing I want to try is this PBA thing. Not sure if I find the time for it though.

What me at the time troubled is the fact, that dxvk replaces two dllā€™s in the windows system directory. What is PBA?

See above. Iā€™ve mentioned it at the bottom of:

What amuses me a little is the fact that this guy is a World of Warcraft fan, who according to his own information, didnā€™t have much knowledge of DirectX nor WINE, and went into his project like Leeroy Jenkins.
https://comminos.com/posts/2018-02-21-wined3d-profiling.html

Sounds interesting but when it is usefull it will surely be merged in wine stage i think

Today i have it tested again. I have only the two dllā€™s copied into windows/system32, with winecfg the overrides for both set to native, nothing else and it works. Outside of the hangar
60fps inside 50fps, with dx11 i have outside/inside 30fps with vsync off/on. Antialiasing works too. I must csmt disable, because my cpu is without csmt 10 degrees cooler and run stable as with csmt enabled. Screenshot are uploaded to my website.