protonscr

Elder Scrolls Online makes system stutter when nearing 100% GPU usage

dxvkclosed
doitsujin/dxvk#3932 · opened 2024-04-01 by zastrixarundell · updated 2024-07-18 · 17 comments · github
1 matching comments, n / p to jump
Zzastrixarundell 2024-04-01 github

Software information

Elder Scrolls Online (steam gameid: 306130), running on Steam Flatpak and latest Proton-GE

System information

  • GPU: 6600XT
  • Driver: Mesa 23.3.6
  • Wine version: Proton GE-Proton9-1
  • DXVK version: 2.3.0/1.3.274

Apitrace file(s)

eso64.trace

Log files

(it was 37MB and GitHub limit is 25MB)
steam-306130.log

Additional Assets

Elder Scrolls GPU usage example:

Generally the whole system starts stuttering a little bit and my camera snapshots from one place to another.

image
image

Wither 3 GPU usage example:
image

Doom Eternal GPU usage example:

It isn't DXVK but just to show that it's not happening on other "engines".

image

Mmbriar 2024-04-01 github

this seems like something completely outside of DXVK's control

Zzastrixarundell 2024-04-01 github

Ah I did comment on MangoHud's Discord server and got told it might be a DXVK bug by FlightlessMango. If it's not can you lead me to the correct location to report it?

Edit: I'll swap to Gnome. If it doesn't happen there that would mean the issue is on KDE's side.

Mmbriar 2024-04-01 github

As a quick guess i'd either suspect:

  • desktop/compositor, so maybe try a different one, like you already said
  • powermanagement and/or kernel driver, maybe try what is mentioned in this comment: https://gitlab.freedesktop.org/drm/amd/-/issues/1500#note_825883 or report a bug in this gitlab if nothing else helps
  • potentially also vulkan driver, you could try with amdvlk instead of mesa
Zzastrixarundell 2024-04-01 github

This is using wayland to disable compositor is a no-go:

  • Switched to gnome, same issue
  • I don't see that helping out as the issue is during light load, this is under 99% GPU load and 100W
  • I'll try out with amdvlk in a sec, I'll have to figure it out how to run it on fedora kinoite

Edit: I'm not saying it's NOT DXVK, I'm just trying to gather as much information as possible in case it is.

Mmbriar 2024-04-01 github

I don't see that helping out as the issue is during light load, this is under 99% GPU load and 100W

I wouldn't trust the default powermanagment under almost full gpu load either

I'll try out with amdvlk in a sec, I'll have to figure it out how to run it on fedora kinoite

you can just extract the release archive from their github, edit the path in the .json, and use it with VK_ICD_FILENAMES=/path/to/icd.json on any distro

Zzastrixarundell 2024-04-01 github

I did the powermanagement thing and it doesn't seem like it helped.

I'm not able to change to AMDVLK sadly on flatpak apparently. I put the path (which I checked with flatpak enter com.valvesoftware.Steam /bin/bash):

(inside the flatpak)

bash-5.2$ ls -l
total 4
-rw-r--r--. 1 zastrix zastrix 665 Apr  1 14:03 amd_icd64.json
bash-5.2$ pwd
/home/zastrix/Desktop/etc/vulkan/icd.d
bash-5.2$ cat amd_icd64.json 
{
  "file_format_version": "1.0.0",
  "ICD": {
    "library_path": "/var/home/zastrix/Desktop/usr/lib64/amdvlk64.so",
    "api_version": "1.3.279"
  },
  "layer": {
    "name": "VK_LAYER_AMD_switchable_graphics_64",
    "type": "GLOBAL",
    "library_path": "/var/home/zastrix/Desktop/usr/lib64/amdvlk64.so",
    "api_version": "1.3.279",
    "implementation_version": "1",
    "description": "AMD switchable graphics layer",
    "functions": {
      "vkGetInstanceProcAddr": "vk_icdGetInstanceProcAddrSG",
      "vkGetDeviceProcAddr": "vk_icdGetDeviceProcAddrSG"
    },
    "disable_environment": {
      "DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1": "1"
    }
  }
}

And then setting the variable: VK_ICD_FILENAMES=/home/zastrix/Desktop/etc/vulkan/icd.d/amd_icd64.json %command% didn't help (I've also tried to override the env variable inside the flatpak).

Mmbriar 2024-04-01 github

Yeah, flatpak is going to make it complicated (as usual). You'd need a flatpak runtime extension for amdvlk, which i'm not sure even exists.

Zzastrixarundell 2024-04-01 github

Oh I think I managed to actually make it work with amdvlk the first time. Because now when I changed the location of the files (and kept the original paths in settings) it gives me an error that vulkan doesn't want to start (on both steam and in-game).

Is there a way to check if I'm using amdvlk?

Mmbriar 2024-04-01 github

Is there a way to check if I'm using amdvlk?

DXVK_HUD=full, it will say something like 6600XT (RADV) in the device string for mesa/radv, and will be missing the (RADV) on amdvlk.

Zzastrixarundell 2024-04-01 github

Ok I'm running amdvlk on the flatpak version :tada:

... still have the stutters though:

I opened a game cinematic just because it has a darker screen so it's easier to read the values.

image

Zzastrixarundell 2024-04-01 github

In-game:
image

(The whole system is still stuttery)

(It stutters less with RADV)

Mmbriar 2024-04-01 github

Does your motherboard bios allow you to enable ReBAR/above 4g decoding (i can tell from the dxvk hud that it's disabled)? It shouldn't be causing these issues either way, but might be interesting to see if enabling that changes anything.

Zzastrixarundell 2024-04-01 github

Well it's definitely better and more fluid, but it's still does stutter from time to time which isn't present in other games. I don't have a problem with disabling the option to see the root cause of the fix.

But thanks for the tip, it'll be helpful in the future!

Zzastrixarundell 2024-04-01 github

Something is definitely up with this game:
image

System became borderline unusable.

ON AMDVLK it was better but still some system stuttering. On RADV it's just pain for some reason now.

Update: After a kwin crash it seems to have started to work properly, that might've been a one-off thing. Stuttering still exists tho.

Again, if you think it isn't a DXVK I'd be more than happy to open an issue on the appropriate channel.

Edit v2:

At this point I've even thinking that I'm just CPU bottlenecked as it's only happening on this game and on either driver.

Zzastrixarundell 2024-04-18 github

So I got a 7800X3D and it's still an issue. The FPS cap is higher a bit, yes, but still happens:
(CPU label is wrong, I've yet to manually update it)

image

Zzastrixarundell 2024-05-10 github

Also happening on a 7900XTX + 7800X3D
image

Zzastrixarundell 2024-07-18 github

Weird enough I don't see the issue when running via Heroic. So most likely it was an issue with Steam's proton.

Proton versions

Launch options

Launch lines