Looks like DirectX 12 will make it’s way to EVE. Was anyone able to try it out? I tried but could not get it to work with my GTX 1060, which has support for DirectX 12_1. Could not even check the box in the launcher
Running the native Windows launcher under Wine 7.10 on a Ubuntu 21.10 System with Vulcan drivers
OK so it’s a little more complicated this time. Your Wine doesn’t support DX12, so you have to use GloriousEggroll’s WINE fork. You may use ProtonUp to install that. Notice that this fork only works with either Steam or Lutris, so you’ll have to do a new install if you don’t use any of those.
Also, you will need Mesa 22.0 or bigger, so check your packages (mesa-vulkan-drivers).
The thing is, I haven’t tested any of this as I’m on 20.04LTS and won’t upgrade anytime soon, so good luck!
From reading around this, then as I understand it:
The Directx12 implementation library is VKD3D which is supported by Wine as an option but not built into the distributed packages. If you install the VKD3D libraries locally, then recompile Wine then it should recognise the existence of those libraries during the build and bring them in giving Directx12 support - or support for those elements that VKD3D has implemented.
I’ve not done a VKD3D enabled re-build of Wine - basically time and a wish not to break the only thing I use Wine for: playing Eve. So tackle this at your own risk. Directx11 support isn’t going away soon so it’s not a pressing issue.
Now, I suspect there are very good reasons for not implementing Directx directly into the Wine build - Directx implementation is hard and probably a source of failures and incompatibilities.
Before people go “Wine is for playing games” - remember it is only one thing it can do. It also supports those weird old business applications that only run on Windows and are stopping migrations. Quite often in a headless server environment (heaven help us) - reliability there is critically important for folks moving off Windows to Linux. There are “Wine Builds” with all the add-ons needed for playing games using 3D hardware support - things such as Proton.
I am no expert when it comes to DX12 or DirectX or Windows in general. But I wanted to participate in the DX12 test and was not able to so I did some research however I have to repeat that I am not an expert on the subject and maybe my anaysis is flawed.
There is actually a difference between Directx 11 and 12 AND “Feature levels 11” and “Feature level 12” in DirectX.
I am still not sure how the launcher detects which DX version is supported. But from my logs EVE tries to create a DirectX11 object which has the DX12 feature level. Which is plausible if you look here:
However DX11 and DX12 implementations within Linux are different. Which means that checking the feature level of DX11 will not tell you the actual feature level of your DX12 implementation.
So if EVE uses DX11 to check DX12 feature levels then it could take a while until the DX11 implementation implements the feature level “12_0”. Although your DX12 implementation actually supports it.
But if dxvk implements the “feature level 12_0” for DX11 then probably everything would work as expected although none of the actual implementations of feature level “12_0” will be used in the DirectX 11 implementation.
The launcher auto-selected dx12 (and I was finally able to toggle it).
The FPS monitor also reports dx12.
Don’t mind the FPS drop in the screenshot, it’s just because the window went out of focus, which is excellent feature by the way.
Normally runs at >60FPS with max settings on a 4k screen.
Try tested on clean prefix. Without dxvk directx12 option unavailable (but wine compiled with vkd3d suppot). installed last dxvk through winetricks, put file in launcher / eve.exe file directory, run. Launcher say “dx12 is ok” but in game fps monitor still show dx11.
i read about app-emulation/vkd3d-proton, as i understood it not required re-compiling wine and worked “out of box”, any testing?