protonscr

Option to disable Proton's full screen hack

protonclosed Feature Request
ValveSoftware/Proton#2831 · opened 2019-06-23 by Reonu · updated 2023-07-09 · 6 comments · github
RReonu 2019-06-23 github

Feature Request

I confirm:

  • [X] that I haven't found another request for this feature.
  • [X] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

Proton currently has a full screen hack that allows the games to change resolution without actually affecting the desktop resolution in Linux. This is amazing but it causes a problem, some games (such as Risk of Rain 2) get confused by it because it exposes a 60 Hz refresh rate to the game and cap themselves at 60 FPS. This is a huge problem when using a 144 Hz monitor.

If you build Proton without this hack enabled, then games like Risk of Rain 2 work fine. But it should be a launch option, rather than having to rebuild Proton. For example
-nofullscreenhack

Another (better?) option would be to provide an option that keeps the hack, but exposes a different refresh rate to the game. For example
-protonrefresh xxx
where "xxx" is your refresh rate, such as 144

Or maybe even simply automatically detecting the screen refresh rate and setting that as the default within the hack, but I don't know if that can be problematic for some reason?

Justification [optional]

The full screen hack is a Proton exclusive feature, so the ability to turn it off obviously should be too.

Risks [optional]

None I guess

References [optional]

#1623

Kkisak-valve maintainer 2019-06-24 github

Hello @Leon422, this is effectively a rehash of the issue being tracked in #1623, removing the bug from the mix, then what remains is the frame rate limiter request being tracked at #1347 and adding complexity to the full screen hack to make it toggle-able.

We already know that Wine does not track the desktop's resolution and can't reliably return to the display to the previous resolution, especially if the game does not close cleanly. So, this could open up a can of worms that aren't worth dealing with in Proton, but I'm not going to summary reject the request for PROTON_NO_FSHACK=1.

RReonu 2019-06-24 github

Hello @Leon422, this is effectively a rehash of the issue being tracked in #1623, removing the bug from the mix, then what remains is the frame rate limiter request being tracked at #1347 and adding complexity to the full screen hack to make it toggle-able.

We already know that Wine does not track the desktop's resolution and can't reliably return to the display to the previous resolution, especially if the game does not close cleanly. So, this could open up a can of worms that aren't worth dealing with in Proton, but I'm not going to summary reject the request for PROTON_NO_FSHACK=1.

If disabling the hack is messy, isn't it possible to keep the hack but report a 144 Hz refresh rate to the game?
PROTON_FSHACK_REFRESH=XXX

Also, while it can open up a can of worms, it is a launch option, so it's an advanced option that you opt-in to. It comes with the territory. It's not like it would be exposed in the GUI.

Aaeikum 2019-06-24 github

An option to disable the fs hack isn't going to happen. But we're aware of the refresh rate issue, and you can actually expect a fix for this in the near term. Let's keep that discussion over there.

I'm not familiar with the need to limit framerates. I wonder what happens on Windows for these titles. If something is needed, probably integrating libstrangle is the right option there. But that discussion should happen on the other issue.

Ddreamer 2019-06-25 github

@Leon422 you can partially disable fs hack without rebuilding Proton by re-enabling UseXRandR and UseXVidMode: https://github.com/ValveSoftware/Proton/issues/1550#issuecomment-487287891 - maybe it will help you with running RoR2 on your setup. This is not officially supported, though (and shouldn't be, IMHO).

RReonu 2019-07-07 github

@dreamer Hey, just so that you know, I did that and now the game allows me to choose 144 Hz in the options menu, which wasn't the case before. However, even after choosing 144 Hz, the game is still locked at 60 FPS regardless of whether I enable Vsync or not. This isn't the case on Windows, it runs at 144 FPS just fine there.

Iivdok 2023-07-09 github

Fullscreen hack breaks my use case - keeping old 4:3 lowDPI game windowed, but with FSR enabled for upscaling. Please reconsider closing it.

Launch options

Upstream links