Skip to content

Wine FSR

frostworx edited this page Jul 2, 2022 · 6 revisions

Starting with version GloriousEggroll 6.13-GE-1 it has FidelityFX SuperResolution (FSR) 1.0 support built-in. Some other builds of Wine/Proton such as Wine-tkg also support FSR using the same variables.

Starting with GE-Proton7-24, GE-Proton has two extra variables built in to more closely mirror how FSR works on Windows. These are WINE_FULLSCREEN_FSR_MODE and WINE_FULLSCREEN_FSR_CUSTOM_MODE. As of writing, only GE-Proton7-24 and above supports these variables.

If you are having trouble with any of these options, make sure that the flavour of Proton you are using supports these variables. If it does and you are only experiencing trouble when trying to enable them with SteamTinkerLaunch, check the issue tracker and open a new issue if the bug has not been reported already.

These variables should also work for Wine-GE. Also, make sure you are running your game in Fullscreen for this to work correctly. Borderless/Windowed will more than likely not work.

Enabling Wine/Proton FSR

This option is disabled by default. To enable it, go to the "Wine Options" section of the Game Menu and tick the FSR box. This option controls the WINE_FULLSCREEN_FSR variable, which needs to be enabled before any other Wine FSR settings will work.

FSR Sharpening Strength

The sharpness value for FSR can be set between 0 and 5, where 0 is maximum sharpness and 5 is minimum sharpness. The default value is 2. Behind the scenes, this option controls the WINE_FULLSCREEN_FSR_STRENGTH variable.

FSR Upscaling Resolution Mode

Note: Make especially sure your build of Proton supports this variable.

This option takes one of four preset values: performance, balanced, quality, ultra. Depending on what preset value is passed, Wine/Proton will check your display's resolution and calculate an appropriate fullscreen resolution depending on what preset is passed. FSR will then upscale from this preset. This behaviour mirrors how FSR works on Windows.

For example, if you select balanced and you are playing at 1440p, your (fullscreen) game resolution should be set to 1506x847. If not, you should be able to select it from the list of fullscreen resolutions in your game's options menu (if applicable). These resolution presets are built into GE-Proton7-24 and above, and when you launch your game the appropriate fullscreen resolution should be automatically selected. Wine/Proton will know what resolution to select based on your display's resolution and the preset you have passed. Whether you're playing at 1080p or 4k it will select the correct resolution for your display based on the mode you have selected.

You don't necessarily need to worry about how these values are calculated, just pass one of the four mentioned presets and Wine FSR will handle upscaling. The sharpness of the upscaling will still depend on the Sharpening Strength value. However, GloriousEggroll has provided a list of the built-in presets and their resolutions.

FSR Upscaling Resolution Mode Presets

The below list illustrates the resolution that each preset corresponds to. So for example, if you are playing on an Ultra-Wide display and select quality, Wine/Proton will set your fullscreen resolution to 2293x960. Equally, if you are playing at 1080p and you select quality, Wine/Proton will set your fullscreen resolution to 1280x720.

    32:9 (5120x1440) -- Samsung Neo G9:
    {2560, 720},  // 32:9 - 'FSR 32:9 Performance'
    {3012, 847},  // 32:9 - 'FSR 32:9 Balanced'
    {3413, 960},  // 32:9 - 'FSR 32:9 Quality'
    {3938, 1108},  // 32:9 - 'FSR 32:9 Ultra Quality'

    4K:
    {1920, 1080},  // 16:9 - 'FSR 2160p Performance'
    {2259, 1270}, // 16:9 - 'FSR 2160p Balanced'
    {2560, 1440},  // 16:9 - 'FSR 2160p Quality'
    {2954, 1662}, // 16:9 - 'FSR 2160p Ultra Quality'

    Ultra-wide:
    {1720, 720}, // 21:9 - 'FSR ultra-wide Performance'
    {2024, 847}, // 21:9 - 'FSR ultra-wide Balanced'
    {2293, 960}, // 21:9 - 'FSR ultra-wide Quality'
    {2646, 1108}, // 21:9 - 'FSR ultra-wide Ultra Quality'

    2K:
    {1280, 720},  // 16:9 - 'FSR 1440p Performance'
    {1506, 847},  // 16:9 - 'FSR 1440p Balanced'
    {1706, 960},  // 16:9 - 'FSR 1440p Quality'
    {1970, 1108}, // 16:9 - 'FSR 1440p Ultra Quality'

    1080p:
    {960, 640},  // 16:9 - 'FSR 1080p Performance'
    {1129, 635},  // 16:9 - 'FSR 1080p Balanced'
    {1280, 720},  // 16:9 - 'FSR 1080p Quality'
    {1477, 831},  // 16:9 - 'FSR 1080p Ultra Quality'

These resolutions are not entirely arbitrary and are taken from AMD's FSR 1.0 documentation (see AMD's GPUOpen PDF for a more technical breakdown).

When you start a game in fullscreen, the correct resolution should be automatically selected. If not, you should be able to see the resolution from your game's list of resolutions.

For more information, please see the changelog for GE-Proton7-24. Part of this feature was introduced with GE-Proton7-23 but it was reworked slightly for GE-Proton7.24, though if you would like you could also take a look at the release notes for both versions.


By default, this option is set to none. SteamTinkerLaunch provides this none value as a convenient way of disabling FSR Upscaling Resolution Mode. This option corresponds to the WINE_FULLSCREEN_FSR_MODE variable. Please make sure your release of Wine/Proton supports this.

FSR Custom Mode Resolution

Note: Make especially sure your build of Proton supports this variable. Also, this variable has a few quirks and is intended for specific setups. In most cases, the above Upscaling Resolution Mode should suffice. This option will override FSR Upscaling Resolution Mode (you are entering your own Performance/Balanced/Quality/Ultra resolution preset with this option, so the standard option is ignored).

This option is for setting your own custom resolution to upscale from. If you are using a more exotic setup that does not have a built-in preset you may wish to enter a custom resolution that you want FSR to upscale from. This is not your base resolution but should be the resolution you would want to upscale from. SteamTinkerLaunch has a list of the built-in modes to upscale from in this option's dropdown menu for convenience.

Calculating a Custom Mode

Think of this option as entering your own preset like how there are built-in performance/balanced/quality/ultra presets for common display resolutions. For example if you were playing on a 5k monitor, you would calculate the correct performance/balanced/quality/ultra resolution to upscale from, rounding up. As per the GE-Proton7-24 release notes, the formula for calculating the correct resolution is as follows:

    Ultra Quality — 1.3x scaling
    Quality — 1.5x scaling
    Balanced — 1.7x scaling 
    Performance — 2x scaling

To calculate the correct preset to upscale from, you divide your resolution by the values listed. So if you wanted a balanced preset on a 16:9 5k display (that's a resolution of 5120x2880), you would divide by 1.7 and round up. Example:

    W: 5120 / 1.7 = 3011.764705882353
    H: 2880 / 1.7 = 1694.117647058824
    ----
    Rounded W: 3012
    Rounded H: 1694
    ----
    5K Balanced Preset: 3012x1694

Therefore, on a 16:9 5k display, if you wanted the equivalent of a Balanced preset, you would enter 3012x1694 for your Custom Mode. You can enter custom resolutions regardless of your monitor's resolution or aspect ratio, this means you could enter a 32:9 Custom Mode on a 16:9 display, or a 16:9 Custom Mode on a 16:10 display.

This option corresponds to the WINE_FULLSCREEN_FSR_CUSTOM_MODE variable. Please make sure your selected Wine/Proton version supports this.

Note: Some games have been observed to not display Custom Mode resolutions correctly, even if it is a common or preset resolution such as 1280x720. In testing, this has been safe to ignore. Your game's resolution should still be set and upscaled from correctly. If not, please search for an open issue or create a new one.


FSR can optionally be simply enabled by dragging the corresponding game into the FSR Steam Collection

A Proton Version with FSR support needs to be selected separately manually (so it won't be changed automatically with enabling FSR). Above or a newer GE version can be easily downloaded and installed as usual.

Clone this wiki locally