-
Notifications
You must be signed in to change notification settings - Fork 86
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
Metro Exodus (412020) extremely bad framerates (Arch + nvidia 465); works fine on steam-native #411
Comments
If this is a native Linux game, then the vast majority of the libraries it's loading should be coming from your host system anyway, assuming the same SONAME for the same word size is available there. If you look in Is Metro Exodus a 32-bit or 64-bit game? (You'll be able to tell this by looking at For example, when I do the same with Floating Point, a 32-bit game, on a test machine, we can see that among other things, it's using
On Arch, 32-bit libraries that come from your host system would show up as coming from |
We specifically don't support the "native runtime" from Arch. However, it's sometimes a useful way to find and fix issues in the official Steam Runtime. If you install all the libraries that If you still get the bad performance, then we know that the problem must be one of the few libraries from the Steam Runtime that you are still using, so that should narrow it down a lot. If you get the better performance by just installing |
Yes this is a native Linux game. It was released natively on Linux several weeks ago. This is, I think, the first and currently only AAA game that works natively on Linux and has advanced graphics (RTX etc) so I think it is worthwhile to ensure that it works as well as possible.
Yes, I do get bad performance with the official steam runtime in this scenario.
I have both more debuggingI have disabled Steam Overlay in the settings but it has not improved matters at all.
Here's the and here is the same thing but using steam-native: So by diffing these two logs it seems that with Now I wonder why that would be the case 🤔 |
My guess would be that Metro Exodus (or its launcher scripts?) appends to If a game wants to carry its own special version of a library and use it in preference to other versions, then it should probably be prepending to |
I think the libSDL2 that ships with Metro Exodus is 2.0.8 but the one in my system is 2.0.14. But as you can see here, for some reason the newer one on my system is resulting in extremely poor performance. Metro Exodus does not use any launcher scripts; it simply launches the elf binary |
OK, so this is a 64-bit game. That makes things easier. If you try changing the Launch Options for Metro Exodus to each of these, which ones get good performance and which ones get bad? They should have the same result for Bundled libSDL2 (2.0.8, you think):
System libSDL2 (2.0.14):
Steam Runtime libSDL2 (should also be 2.0.14):
|
I'm also affected by this - steam-runtime used to yield solid 5fps (seems to have gotten better ;)s, no matter the resolution or quality setting, steam-native yields 120fps (vsync) on 1440p ultra. I tried your suggestions with
|
That all seems consistent, at least. Did you adjust the If you were using the right paths, then this would indicate that the different versions of libSDL2 are not the culprit. You can confirm that the expected libraries are in use by inspecting If you are able to get [edited] #411 (comment) has some more information about what you're looking for in |
i adjusted the LD_PRELOADS to my user and my metro install dir, yes. |
What is meant to be happening is that in the common case where "most" of your libraries are newer on the host system than in the Steam Runtime, you will find that "most" of the libraries used by the game come from the host system, the same as
Another thing that might be useful is to use |
I got native working again with lib32-libnm and it still runs perfectly smooth with vsynced 120fps. Unfortunately, the maps are too different to just do a diff and get something useful out of it - as i don't really know what to look for, i'll just attach both in full lenght: objdump for both steam-native and steam-runtime show the same
|
OK, that's really useful information. It's a From the Having a You could try setting the launch options to:
and running with |
Yep, that was it - with that launch options it runs as well in steam-runtime as in steam-native 👍 |
It's probably best if you ask the Metro Exodus developers to talk to Valve about the best way to solve this, either on this issue report (I can help) or privately (I will not be able to help unless their Valve contact brings me into the loop). One way they could resolve this would be to write something like this into a script
Another way to resolve this would be to change the name and SONAME of their (modified?) A third possible way to resolve this would be to describe what's different about their |
So, support said they forwarded it to the devs, lets see what comes out of it :) |
With recent changes to our container runtime environment, you might find that selecting the Steam Linux Runtime compatibility tool is also a way to work around this. |
@Termuellinator, did you ever hear back from them? I ask because #674 is another "their bundled SDL vs. system/runtime SDL" issue. |
@smcv Nope, nothing after that. Of course that doesn't necessarily mean that nothing came from it. |
Your system information
steam-runtime_0.20210317.0
Please describe your issue in as much detail as possible:
Metro Exodus runs at extremely poor framerates (2 to 5 fps) even in the main menu with RTX 3090 whereas other games work fine. The slowness happens with or without RTX on.
Running
perf
seems to suggest that some threading stuff is causing the slowness. Meanwhilenvidia-smi
suggests that the GPU is being used but barely.NVIDIA drivers are all up to date.
Metro Exodus was able to run at good framerates at extreme settings (60 fps 3840 x 2160 with RTX On) when running
steam-native
from the steam native runtime Arch repo. This suggests that steam-runtime was causing the problem.From https://steamcommunity.com/app/412020/discussions/0/3103518890055200590/?ctp=24 it seems a similar issue is affecting other players as well.
Steps for reproducing this issue:
pacman -S steam nvidia
on Arch Linux with RTX 3090 graphics cardHowever if you install
pacman -S steam-native-runtime
and then launch steam withsteam-native
, the performance is very good.The text was updated successfully, but these errors were encountered: