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.
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.
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.
@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).
@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.
Fullscreen hack breaks my use case - keeping old 4:3 lowDPI game windowed, but with FSR enabled for upscaling. Please reconsider closing it.
PROTON_NO_FSHACK=1`.x2 2019-06PROTON_FSHACK_REFRESH=XXX`x1 2019-06
Feature Request
I confirm:
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