Threadripper, NUMA and Battlefield-1 (Wine+DXVK)

Hi All,

I’m encountering a very weird issue when I have NUMA enabled on my TR.

Once BF-1 is running, selecting multiplayer->quick match->conquest->base game, the game attempts to matchmake, then switches over to the “loading game” screen, as it attempts to load the map for the multiplayer map, two to three seconds on this screen and the game just closes (crashes).

I cannot find any logs anywhere to try and even decipher what is happening. I don’t have any logs in the systems journal. Running Lutris in debug mode yields the following message just before the game crashes:

warn:  D3D11Texture2D::QueryInterface: Unknown interface query
warn:  035f3ab4-482e-4e50-b41f-8a7f8bd8960b
warn:  D3D11Texture2D::QueryInterface: Unknown interface query
warn:  9d8e1289-d7b3-465f-8126-250e349af85d
wine: Unhandled page fault on write access to 0x00001001 at address 0x7fffffd237ac (thread 0032), starting debugger...
00cd:fixme:dbghelp:interpret_function_table_entry PUSH_MACHFRAME 6

Has anyone else encountered this while NUMA is enabled and attempting to play BF-1 under wine + dxvk?

I’ve tried combinations of wine-staging 3.10/11/12/13, wine-staging+esync 3.11/12/13 along with DXVK version 0.54 -> 0.63.

If I re-enable UMA mode for the TR, then BF-1 loads and I’m able to get into the map and play.

I’d like to have NUMA enabled so that I can control the cpu/memory node affinity which will reduce memory latency issues.

Any thoughts/tips/tricks/criticisms all welcome :slight_smile:

From the looks of that fixme line it sounds like this is still a missing feature, but I can’t really find much about it.

There are a few other games that appear to have the same issue.

This guy had the same error, it was suggested to install the Vulkan SDK, but apparently he just went into other errors after that… :confused:

I have the vulkan elements already installed (v1.1.80, however, nvidia 396.45 only implements v1.1.70 of the spec).

If I don’t enable NUMA the games works with DXVK translation to vulkan, but as soon as I enable NUMA mode, I get the above error, I’m wondering if there are issues with cross calls that may be causing this.

Even if I try to force wine to bind on cpu node 0 and memory node 0 I still get the error :confused: