Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zastrixarundell opened this issue Apr 1, 2024 · 16 comments

Comments

@zastrixarundell
Copy link

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

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

this seems like something completely outside of DXVK's control

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

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.

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

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

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

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.

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

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

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

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).

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

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.

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

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?

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

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.

@zastrixarundell
Copy link
Author

Ok I'm running amdvlk on the flatpak version 🎉

... 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

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

In-game:
image

(The whole system is still stuttery)

(It stutters less with RADV)

@mbriar
Copy link
Contributor

mbriar commented Apr 1, 2024

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.

@zastrixarundell
Copy link
Author

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!

@zastrixarundell
Copy link
Author

zastrixarundell commented Apr 1, 2024

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.

@zastrixarundell
Copy link
Author

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

@zastrixarundell
Copy link
Author

zastrixarundell commented May 10, 2024

Also happening on a 7900XTX + 7800X3D
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants