Steam Deck
Something needs to be done about the Input Lag when capping FPS through SteamOS
The input lag when capping FPS through SteamOS is just too high. For any action game you have to either run uncapped, or cap through the game. However for games that don't run at 60 and/or don't have an in-game fps limiter, you're kinda screwed.

For example Elden ring needs to run at 30fps to run smoothly, but capping at 30 introduces far too much input lag to react in time, making it a frustrating experience. Shooters just feel awkward with lag when aiming, and platformers lose a lot of precision.

I know this has been brought up before, but it needs more attention or a response from Valve. Will this ever be fixed? Is it even possible to fix on an OS level? Is there some kind of workaround for games without built in limiters?

Any insight would be helpful!
< >
111/11 megjegyzés mutatása
Seems like the problem is confined to certain games though, not all games as you imply. I'm the kind of guy who can't play @ 30 FPS due to input lag meaning I would've noticed additional input lag due to frame rate limiting.

Have you checked if v-sync is on? That's notorious for causing input lag.
Elden Ring has a 60fps limit like Sekiro. There's no vsync option in the game. Deck frame rate limiter is probably double or triple buffered vsync, and when you use the 60Hz refresh+30fps frame limit it incurs significant input latency.

A good solution for me was to use MangoHUD and it's frame rate limiter. When standing still the frame time graphs are nearly identical. However, with MangoHUD the input latency is greatly improved. The Deck limiter likely has double or triple the input latency.

MangoHUD can be installed via Discovery app in Desktop Mode. Then in Elden Ring Launch Options in Steam, you use the command:
MANGOHUD_CONFIG=fps_limit=30,no_display mangohud %command%

NOTE: When I used this recently, it didn't work initially. It could be 1 of 2 things:
1. I had a typo that I didn't notice due to the small screen
2. It requires Developer Mode to be enabled in Settings

I just tested it and it works great, so let me know if there's a problem when you try it.
ReBoot: I've tried every setting with vsync, same thing. And I haven't played a single game at 40fps/refresh that did not have additional input lag. Some seem to be worse than others, but it seems consistently noticable when limited through steamOS unfortunately.

RyalMetalKnights: thank you! That did seem to make a big difference for Elden Ring! I do wonder then why Valve wouldn't implement a similar system into their frame limiter.

I also did notice that I can no longer be summoned into other worlds though, and the game crashes every time. However, I can summon other players to mine with no issues. Perhaps the loading screen is where things fail. Hmm I'll do more testing
Limiting via DXVK or with in-game options works fine for now
HoloPengin eredeti hozzászólása:
How is the built in 60Hz with 30fps cap still so so bad? They even advertise the current horridly high latency frame doubling as a improved-latency *feature* on the OLED but it's still broken AF on the original deck on SteamOS 3.5.5. They combined the sliders too as if the problem was fixed, but nope, it's still broken.

If I disable the frame rate limit entirely the response time is normal, but then turning it back on gradually builds up the latency over the course of a couple second until it becomes horrid. It's as if the frame rate limiter just floods the prerendered frame buffer. Like, the frame doubler is spitting out too many frames or something so it just ends up waiting to push frames immediately into the very end of the queue instead of merely keeping just two or so frames queued.
the frame doubling has nothing to do with it. It's just the way frames are limited by gamescope. Split the slider into two and keep frame limiter off entirely, then limit with other means.
Luke eredeti hozzászólása:
The input lag when capping FPS through SteamOS is just too high. For any action game you have to either run uncapped, or cap through the game. However for games that don't run at 60 and/or don't have an in-game fps limiter, you're kinda screwed.

For example Elden ring needs to run at 30fps to run smoothly, but capping at 30 introduces far too much input lag to react in time, making it a frustrating experience. Shooters just feel awkward with lag when aiming, and platformers lose a lot of precision.

Cap it at 40 fps.

https://www.youtube.com/watch?v=DA2EqFqIPM4&feature=youtu.be

I know this has been brought up before, but it needs more attention or a response from Valve. Will this ever be fixed? Is it even possible to fix on an OS level? Is there some kind of workaround for games without built in limiters?

Any insight would be helpful!

Think years to a decades. More begging will not help. The real problem is input polling relative to the vblanks.

Right now, the wayland transition is moving smoothly in Linux. Wayland frames are timestamp which means you can start to measure latency.

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/22

https://danluu.com/input-lag/

https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html

https://ppaalanen.blogspot.com/2015/02/weston-repaint-scheduling.html

Maintainers are all talking about the problem. This stuff is hard to do and requires extreme deep integration with the OS to get the numbers right. People care about this problem but it is a multi headed hydra.

https://github.com/ishitatsuyuki/LatencyFleX

https://github.com/KhronosGroup/Vulkan-Docs/pull/1364

You are misunderstand the sheer amount of work to reduce input latency. Linux cares and has potential to make a difference in this area, but it is just potential. People will need to do multi million to billion dollars worth of work. Linux do not even have the proper latency tools to measure input yet because they have bog down by Nvidia users and Xorg luddies.

If you really want to help, donate to various important Linux projects. Tell hardware manufacturers to provide FOSS drivers. I do not mean OSS which is just open source, I mean free and open source. Let the community view the source code down to into the firmware.
Legutóbb szerkesztette: deaddoof; 2023. nov. 19., 7:01
deaddoof eredeti hozzászólása:
Luke eredeti hozzászólása:
The input lag when capping FPS through SteamOS is just too high. For any action game you have to either run uncapped, or cap through the game. However for games that don't run at 60 and/or don't have an in-game fps limiter, you're kinda screwed.

For example Elden ring needs to run at 30fps to run smoothly, but capping at 30 introduces far too much input lag to react in time, making it a frustrating experience. Shooters just feel awkward with lag when aiming, and platformers lose a lot of precision.
Cap it at 40 fps.
This does not solve the input lag issue whatsoever, just makes it slightly less noticeable. Capping framerate via DXVK or with in-game sliders makes the insane latency disappear.
Škoda 14Tr eredeti hozzászólása:
deaddoof eredeti hozzászólása:
Cap it at 40 fps.
This does not solve the input lag issue whatsoever, just makes it slightly less noticeable. Capping framerate via DXVK or with in-game sliders makes the insane latency disappear.

Better than capping at 30 fps.

https://youtu.be/GF8NzlBiaOM?t=602

40 fps is the half way point between 30 and 60. Best place to cap frame rate and has been the recommend cap in the steam deck for most games.
deaddoof eredeti hozzászólása:
Škoda 14Tr eredeti hozzászólása:
This does not solve the input lag issue whatsoever, just makes it slightly less noticeable. Capping framerate via DXVK or with in-game sliders makes the insane latency disappear.

Better than capping at 30 fps.

https://youtu.be/GF8NzlBiaOM?t=602

40 fps is the half way point between 30 and 60. Best place to cap frame rate and has been the recommend cap in the steam deck for most games.
this is not related to the issue that is being discussed.
Škoda 14Tr eredeti hozzászólása:
HoloPengin eredeti hozzászólása:
How is the built in 60Hz with 30fps cap still so so bad? They even advertise the current horridly high latency frame doubling as a improved-latency *feature* on the OLED but it's still broken AF on the original deck on SteamOS 3.5.5. They combined the sliders too as if the problem was fixed, but nope, it's still broken.

If I disable the frame rate limit entirely the response time is normal, but then turning it back on gradually builds up the latency over the course of a couple second until it becomes horrid. It's as if the frame rate limiter just floods the prerendered frame buffer. Like, the frame doubler is spitting out too many frames or something so it just ends up waiting to push frames immediately into the very end of the queue instead of merely keeping just two or so frames queued.
the frame doubling has nothing to do with it. It's just the way frames are limited by gamescope. Split the slider into two and keep frame limiter off entirely, then limit with other means.

Yeah I actually tested it again after watching the newest DF video (they really buried the lede until the end). I was being dumb and using an emulated game which definitely didn't like being artificially limited by the system frame rate cap. Using normal games through proton is fine now and much improved over the older SteamOS versions. The latency now feels almost normal at 30FPS instead of being annoyingly laggy. I'm sure there are still minor improvements they could make but this now feels more playable
Legutóbb szerkesztette: HoloPengin; 2023. nov. 19., 18:48
I tested the latency myself yesterday and I got 250 ms with 30 fps gamescope cap and 110 ms with 30 fps in game cap. the gamescope limiter is unusable.
< >
111/11 megjegyzés mutatása
Laponként: 1530 50

Közzétéve: 2022. jún. 2., 19:13
Hozzászólások: 11