ValveSoftware / SteamOS

SteamOS community tracker
1.48k stars 75 forks source link

Frame limit tool won't match newly changed refresh rate of external display #1463

Closed dangerousdonut closed 1 week ago

dangerousdonut commented 1 month ago

Your system information

Please describe your issue in as much detail as possible:

In the Deck's game mode, when changing the target refresh rate for an external monitor, I expect the frame rate limit tool to match the newly changed refresh rate and adjust the available increments.

Instead, when changing the refresh rate, the frame rate limit tool does not adjust to the newly changed refresh rate. It will still display the previous refresh rate's maximum frame rate and intervals. Only after applying the chosen refresh rate a second time does the frame rate limit tool properly update and present the right options.

When changing to different refresh rates one after the other, the frame rate limit tool will be "behind" by one refresh rate. For example, going from 60 hz to 180 to 120 to 144, the frame rate limiter will display 60 fps, 60, 180 and 120, in that order.

Mismatched frame rate limit options persist through sleep and wake cycles. Upon restart, the frame rate limit will correct itself to match the refresh rate.

When in a mismatched state, the frame rate limiter will only work if the chosen increment matches one that would normally be presented under the current refresh rate but not others. For example, when the current refresh is 60hz, using an option such as 45 fps will not work but 30 will. When the "inherited" frame rate increments are completely inapplicable, such as from 144hz when the current refresh rate is 60hz, it is effectively without use then.

All the above is true when Unified Frame Limit Management is enabled. When it is disabled, the frame limit tool will refuse to adjust to any refresh rate changes at all, no matter how often a change is reapplied. This persists even through a restart. It simply refuses to change. Moreover, the frame rate tool is completely broken at this point. None of the settings will actually affect a game's frame rate.

Steps for reproducing this issue:

  1. With a docked Steam Deck, change refresh rate in settings > display > resolution
  2. Open the quick access menu performance tab and note the frame limit setting
dangerousdonut commented 1 week ago

Dock FW update 0.13.15.124 appears to have had no bearing on it, but it was resolved in SteamOS 3.6 (20240509.100).