XaiJu
gloriouseggroll
gloriouseggroll

patreon


Debating removing FS (Fullscreen) Hack from proton builds

Hi all. This is something I've been debating for a long while. There are quite a few key reasons I'd like to remove the fullscreen hack from future proton builds, which I will list below:

1. It requires multiple git commit reverts in a revert list that grows because winex11 changes are not maintained or rebased by Valve's proton. This eventually result in games breaking, or games which are fixed by these changes requiring fshack to be disabled (MK11, Injustice 2).

2. It requires maintaining a separate patchset for rawinput. The rawinput patchset was added to staging a long time ago, but because of the fullscreen hack patchset, we have to disable the staging version, and apply the separate patchset on top of fshack

3. It requires several other staging patchsets to be disabled or reverted, including window decorations, keyboard translation patches, window position patches, and active window patches. These are most beneficial for applications like origin and battle.net

4. Sometimes it -still- breaks games. There are a few titles which work in Proton, but don't work in the 'protonified' versions because fullscreen hack doesnt handle the window properly after upstream changes. Some of these games include Darksiders: Warmastered Edition, Metal Gear Solid V, Darksiders II, Killer Instinct, and a few others that just don't handle the window properly. Darksiders: WM and MGS V can be fixed with dxgi set to native, but its an ongoing problem.

5. It also make bug reporting more difficult because window/screen behavior is different from upstream wine/wine-staging.

6. it still does not work properly for some monitors which have ultrawide resolutions or other non-standard ratios.

7. It is not something that can be implemented with an easy toggle for on/off

There are some other issues tied to it, but those are the main problems. For those that don't know what fullscreen hack does, it resizes the game to your monitor's current resolution, rather than resizing your resolution to what the game expects. So if an old game for example wants to run in 1024x768, and your monitor is 1920x1080, it would keep the games 1024x768 resolution inside a 1920x1080 window without skewing/distorting it, and keep it fullscreened without changing your monitor's resolution. While this is useful, it's much easier to just change the resolution than to constantly deal with the patchset breaking some games an maintaining a gigantic set of patches to work around it.

I should also mention the black bars issue in AC:Odyssey is also fixed with the STEEP patch -- only when fshack is disabled.

Comments

The fullscreen hack is useful to me, especially because I have an uncommon 16:10 2560x1600 monitor. Many games don't properly detect it, older games sometimes try to launch into a resolution not supported at all (that means no video, fun times in the terminal). New games may revert to 1440p or 1080p, which is "fine" but annoying if having to switch between game/desktop. The launch options BlackWorm mentioned are not supported by all games (the resolution ones are pretty much Valve only games I believe). So what I'm saying is that there is use for the hack, and I would not like if it was removed from the official Proton. But considering this is a custom Proton, I don't mind if it is removed. If that means easier and faster to have recent games working/keep them from breaking. As I could just use Proton-GE whenever necessary, and otherwise use standard Proton. So I consider myself pretty neutral on this, so I refrained from voting :)

Get rid of it. I'd much rather have direct control of game resolution using options/flags. -Disclaimer: This is a selfish opinion. I haven't studied the issue to fully understand the impact.


More Creators