Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSR is enabled on both Wine and Gamescope (instead of just one of them) #2755

Open
SuperSamus opened this issue Feb 28, 2023 · 0 comments · May be fixed by #2840
Open

FSR is enabled on both Wine and Gamescope (instead of just one of them) #2755

SuperSamus opened this issue Feb 28, 2023 · 0 comments · May be fixed by #2840
Labels
Feedback Feedback from the community.

Comments

@SuperSamus
Copy link
Contributor

SuperSamus commented Feb 28, 2023

When FSR is enabled on Bottles' settings, it sets environment variables and arguments for both Wine and Gamescope, which means that if you use a Wine version that supports FSR (like GE) and Gamescope, you are getting two separate instances of FSR, which is not how it's supposed to be used.
In theory, you could simply give priority to Gamescope's FSR, since there is no need to check whether the Wine version supports it. However, Wine-GE enables FSR by default, because due to the nature of the hack, disabling it causes problems (related: #2636). Thus, the right logic should be "if both FSR and Gamescope are enabled, don't enable it for Gamescope if the Wine version supports FSR".

There's more: some settings conflict with each other, like FSR's "Quality Mode".
This is a Wine-exclusive feature (I'm implying Wine-GE), set with WINE_FULLSCREEN_FSR_MODE: what it does is forcing a different set of resolutions of a game, plus the native one. It has two problems:

  • If you use a Wine version that doesn't support FSR, and instead use it via Gamescope, then this setting does nothing, and Bottles doesn't communicate it.
  • If you instead use a Wine version that supports FSR, it conflicts with Gamescope's game resolution: setting both of these will crash the game at the start1.
    Bottles' UI should clearly communicate what is enabled given the other settings and what is not. How should this be done (for this specific example)?

So, solutions?

  • Just remove FSR's "Quality Mode", and get the problem out of the way.
  • Don't care if a setting is silently doing nothing.
  • Reorganizing somehow the settings so that what is enabled and what is not is clearly communicated.

So, that's why I'm opening the issue.

(By the way, Wine has WINE_FULLSCREEN_FSR_CUSTOM_MODE (not implemented in Bottles), which adds a custom resolution in the resolution list. This however does not conflict with Gamescope.)

Related: #2755.

Footnotes

  1. Bottles' code uses if params.fsr_quality_mode, but that variable is a string (which is set to "none" when disabled), which means that it's always evaluated as True, thus you don't even need to FSR's "Quality Mode" to get the crash, you just need to enable FSR (which will set WINE_FULLSCREEN_FSR_CUSTOM_MODE=none, which for Wine-GE will make it fallback to Balanced) and set Gamescope's game resolution to any value other than 0.

@SuperSamus SuperSamus added the Feedback Feedback from the community. label Feb 28, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Apr 9, 2023
@SuperSamus SuperSamus linked a pull request Apr 9, 2023 that will close this issue
4 tasks
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue May 10, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Jun 6, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Jul 30, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Jul 31, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Aug 1, 2023
SuperSamus pushed a commit to SuperSamus/Bottles that referenced this issue Sep 2, 2023
orowith2os pushed a commit to SuperSamus/Bottles that referenced this issue Sep 26, 2023
orowith2os pushed a commit to SuperSamus/Bottles that referenced this issue Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback Feedback from the community.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant