protonscr

Low GPU Usage and Framerate with Unity Engine D3D11 Games

dxvkclosed needs feedbackprobably not our bug
doitsujin/dxvk#5088 · opened 2025-07-12 by The2b · updated 2025-08-03 · 7 comments · github
1 matching comments, n / p to jump
TThe2b 2025-07-12 github

When using Unity Engine games using D3D11 rendering, my AMD 7900XTX has low usage (<20%) and low frame rates.

Currently running on Xen, with Gentoo on both my Dom0 and the DomU running the game. GPU is being PCI passed directly to the DomU, and no driver is loaded for any virtualized GPU. Additionally, logs and DXVK_HUD confirm it is running on the AMD device in particular. Currently has no desktop environment, manually running an X server from a command line. i3 is the window manager.

PlateUp! in particular shows that this is a 3D rendering issue, as I get north of 150 frames and have normal GPU usage (40-60%) on the 2D main menu, and only have the GPU usage and frame-rate drop once the 3D rendering begins.

No issues with other DirectX games, ie Halo MCC & Warframe.

Software information

Name of the game, settings used etc.
PlateUp!
Max FPS: 120
VSync: Off (No change when set to 1 or 2)
Quality: High

R. E. P. O.
VSync: Off
All quality settings minimized

System information

  • GPU: AMD 7900 XTX
  • Driver: RADV (Mesa 25.0.7), no change with AMD-GPU-PRO proprietary drivers, since uninstalled.
  • Wine version: Proton Experimental, Proton Hotfix, Proton 9.0-4, Proton 10.0-1
  • DXVK version: 2.6.2, 2.7

Apitrace file(s)

I do not have Wine installed currently, so no winecfg to hook the APITrace libraries. If needed, I can do so on request.

Log files

PlateUp! and R. E. P. O. logs from Proton and info-level logs from DXVK attached below. If debug level logs are required, I can provide them upon request.

PlateUp_d3d11.log
PlateUp_dxgi.log
steam-1599600.log

REPO_d3d11.log
REPO_dxgi.log
steam-3241660.log

Vulkan info for my machine:

amd-vulkaninfo.txt

Nnetborg-afps 2025-07-12 github

I wouldn't think this to be a dxvk issue. I just checked the demo and I get 500 fps when loading into the level.
Could be related to .NET, which drives the Unity thread. I remember that I had low fps in a Unity game as well, but that got solved by itself.

Ddoitsujin maintainer 2025-07-12 github

Most Unity Engine games will tank performance on Linux when you have more than 4-6 logical CPU cores, if that's the issue here then you can just work around this with WINE_CPU_TOPOLOGY=4:0,1,2,3.

There also seems to be a semi-related issue in recent Unity Engine where something in the engine's render thread causes wineserver round-trips (see #5036). Again, firmly outside of our control and that particular issue even manifests on Windows to an extent.

So unless there's some solid indication that it's actually DXVK that's at fault here and not just the regular engine jank, I don't think it's useful to spend any time looking into this whatsoever.

Mmbriar 2025-07-12 github

Apparently setting windows version to win8 also helps (even on windows setting compat mode to win 8): https://github.com/ValveSoftware/Proton/issues/8861. Sounds weird, but might as well try.

BBlisto91 2025-08-01 github

@The2b Did you try any of the suggestions above?

TThe2b 2025-08-02 github

I did. I could detail the specific avtions taken and their results, but I believe you were correct in saying it is actually Unity engine jank that is the cause, and I jumped the gun in assigning blame to DXVK for the lack of sufficient calls being made. I compiled a scene in Unity under Vulkan to test and had similar results as under DX11/12 via DXVK.

I'll leave this open in case you'd like more detail on the specific recourses taken, but looks like a Unity issue instead of DXVK. Apologies for the inconvenience.

BBlisto91 2025-08-02 github

I assume it is the performance issue when running Unity games on many core CPUs. That one is known

TThe2b 2025-08-03 github

I assume it is the performance issue when running Unity games on many core CPUs. That one is known

I had tried the CPU_TOPOLOGY hack before to no results, but decided to take this suggestion a bit further. I lowered the CPU count on the VM down to 4, but no change on the issue of the low GPU usage when under target FPS when specifically doing 3D rendering, unfortunately.

Proton versions

Launch options

Upstream links