Games that use d3d11 or d3d12 do not run under wine

Since this update, games that use d3d11 or d3d12 do not run under wine at all, giving an error like err:module:import_dll Loading library dxgi.dll (which is needed by L"C:\\windows\\system32\\d3d11.dll") failed (error c0000020). I’ve tried any solution to this problem that I found online (almost all of which related to wine and DXVK) and none worked.

Oh, well. Maybe start with: What did you try and what was the result?

I tried different versions of wine (6.21, 7.0, 7.1, and GE versions of them). I tried using kernel 5.16, changing Nvidia drivers to 470xx, using winetricks to install DXVK and DX11, copying the .dll files to system32 and to the executable’s directory, deleting the prefix and using a Lutris install script to download and set the game and wine up again twice, I downgraded a couple packages that I suspected could have an issue, I reinstalled all packages (excluding AUR packages), and installed manjaro again from an ISO (specifically manjaro-kde-21.2.2-220123-linux515). None of those did anything, same error was coming up.

I also attempted to downgrade the nvidia driver to 495, but after doing that systemd refused to run so I couldn’t see whether or not it had worked.

ntstatus.h 0xC0000020


{Bad File} The attributes of the specified mapping file for a section of memory cannot be read.

0xC0000020 STATUS_INVALID_FILE_FOR_SECTION in ntstatus.h

Looks like it cannot read a specific section at the DLL, maybe because it is not there? Wrong version?

I checked and confirmed it was there, and even replaced with different versions (ran the install script for dxvk and even copied the dlls to the system32 folder). I also attempted with different dxvk versions but to no avail.

quickly googling, have you tried this?

maybe your game is 32 bit and your wine prefix is 64? or the opposite?

I installed Manjaro a few days ago and was able to run Cyberpunk 2077 which uses dx12 (Lutris+DXVK+VKD3D)

I also suggest to try to rm -rf .wine (or whatever prefix you’re using) and then follow a guide for your game (or some generic guide) and try to install it to a fresh prefix

Well the prefix was made with a lutris script that I had the game running with every other time, so I doubt the prefix is the problem.
I was able to play DX11 and DX12 games until the fifth of this month (when suddenly it stopped working).

I did try to delete the prefix and reinstall the game, still the same result.

I should emphasize that I was running these games just fine an hour before the update, I do the update, restart the PC, and that’s when I started getting these errors.

What game specifically are you having issues with? I have several games (Fallout 4, cyberpunk 2077, the outer worlds, the witcher 3, etc… installed and none are having issues (I use lutris to manage the wine bottles and have separate wine bottles for each game so I have a variety of wine versions being used but all of my games seem to be working fine that use DX11 and DX12. I’m using the lutris builds for the most part so lutris-6.21-6-x86_64 and lutris-ge-7.1.1-x86_64 primarily.

Also I would highly recommend reading and implementing the following suggestions for wine gaming on linux.

Currently I’m trying to run TrackMania 2020, I’ve also attempted to run Horizon Zero Dawn and got the same error except for d3d12.dll. Another game I tested with was WARNO, which is a DX11 game, that used to run prior to the update and stopped after.

I’ll take a look at the guide and see if it helps.

Edit: Still the same error

Not exactly a solution, but since nothing else worked, I tried Proton and that worked without issue, so I suggest using that outside of Lutris as a workaround at least for the moment.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.