[RADV] Significantly inferior performance on Doom Eternal
System information
System
System: Host: HOST Kernel: 5.5.10-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 9.3.0
Console: N/A Distro: Arch Linux
CPU: Topology: 8-Core model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen
L2 cache: 4096 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 114986
Speed: 4301 MHz min/max: 2200/3600 MHz Core speeds (MHz): 1: 4301 2: 4166 3: 3890 4: 4115
5: 3573 6: 3853 7: 3903 8: 3840 9: 3944 10: 3932 11: 3652 12: 3760 13: 3828 14: 4053
15: 4112 16: 4222
Graphics: Device-1: AMD Vega 10 XL/XT [Radeon RX Vega 56/64] vendor: Sapphire Limited driver: amdgpu
v: kernel bus ID: 0c:00.0
Display: server: X.Org 1.20.7 driver: amdgpu resolution: 2560x1440~144Hz
OpenGL: renderer: Radeon RX Vega (VEGA10 DRM 3.36.0 5.5.10-zen1-1-zen LLVM 9.0.1)
v: 4.6 Mesa 20.1.0-devel (git-f02ae69867) direct render: Yes
If applicable
- Wine/Proton version: Proton-5.4-GE-3
Describe the issue
The game runs well enough, but with nearly 50% less performance on Mesa with than the proprietary AMDGPU-PRO Vulkan implementation in most scenes.
To reproduce :
- Tested with Steam version using the DRM Protected build
- Run with
upcomingavailable :- https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.4-GE-3
- Alternative Proton build supposedly working: https://drive.google.com/file/d/1WRY8g8z1ulrfs1aYZqgO7KsdwmBT13Wk/view
- amdgpu-pro-19.50_967956 : https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-19-50-unified
- Uncompress the files to the appropriate Steam location, likely:
tar xvf Proton-5.4-GE-3.tar.gz -C ~/.steam/root/compatibilitytools.d/
-
ℹ A seemingly efficient way of ensuring games work with the desired Vulkan environment is to run the entire Steam instance with the appropriate env vars, such as:-
VK_ICD_FILENAMES=/opt/amdgpu-pro-19.50_967956-1/vulkan/icd.d/amd_pro_icd64.json VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_vktrace steam-runtime
for example
-
- Download and Install the game
- Select the downloaded Proton build as the appropriate compatibility layer:
- Make sure to get the latest
vulkan-icd-loader
(1.2.135-1 on Arch Linux) - Run the game with
RADV_PERFTEST=""
asaco
backend is not compatible at this time.
On my system, the game runs @ 1440p on High settings between 60 and 100 fps at most. Which is playable, but when it goes below 60 fps precisely, it because significantly less smooth and more choppy, feeling more like 25 fps rather than 60 fps.
Furthermore, the game will not run with the ACO compiler backend with my build, as it does not expose some VK extensions that are required (ex: VK_KHR_8bit_storage, etc.).
Most importantly, with AMDGPU-PRO, on the same settings, the game runs at roughly 100 - 140 fps, which represents roughly 50% more performance, with what looks like the same visual quality and no noticeable bug/glitch in rendering.
Regression
I have tested this on Mesa 19.3.x and confirm that it behaves as the 20.1.0-devel (git-f02ae69867)
build.
Log files as attachment
-
⚠ IncomingVKTRACE file (~ 3 GB download, 10 GB uncompressed. Prepare yourselves ...🙂 )
Screenshots/video files (if applicable)
- Incoming with in-game perf overlay and driver display
Any extra information would be greatly appreciated
If you have a way of producing more appropriate and less voluminous traces, let me know and I'll try to get them.