When AMD announced FidelityFX Super Resolution (FSR) last month, some Linux users were a bit chilly because it would only support Windows at first. However, many were hoping that the release of the code, which, would facilitate its arrival in the Open Source system, and boy it has, because is currently being support to make FSR work on top of Valve’s Wine and with any video game that uses Vulkan through Proton.
Georg Lehmann, who goes by the pseudonym DadSchoorse, was the person who found a way to make FidelityFX Super Resolution work on Proton. This new feature only supports, at least for now, the Vulkan API, although luckily it does so by covering the DXVK and VKD3D translators . This opens the door, at least initially, for any Windows video game that uses DirectX 9 or later to make use of AMD’s scaling technology.
On paper, we are facing an important step for the implementation and use of FSR in Linux, but it is also only the beginning, so users have to keep in mind the following considerations apart from the aforementioned limitation to Vulkan:
- Some games scale on their own, without using fshack, when a lower resolution is selected in the game, so FSR will not work on them.
- Obviously applying FSR to the final image is not ideal. It should be applied before the user interface is drawn and before some post-processing effects such as film grain.
- AMD also recommends a negative bias in the level of detail, which is not generically possible without problems (although here it seems that progress is being made).
- This is just the slow version of fp32. If you accept it, you could continue with the fp16 version.
- The patch set is a bit messy. If the large commit is a problem, DadSchoorse can try to split it up a bit.
- An environment variable to add custom resolution modes would be nice to control quality more directly. For example: 2048 × 1152.
FSR support for Proton can be enabled by adding the variable “WINE_FULLSCREEN_FSR = 1 ” (without quotes) and setting a resolution lower than the native screen. For its part, “WINE_FULLSCREEN_FSR_STRENGTH” (without quotes) controls the level of sharpness, with 0 being the maximum and 5 being the minimum (5 is the default value).
On the YouTube channel of Glorious Eggroll, the same people who are in charge of the popular Proton community re-implementation, a video has been published running Forza Horizon 4 on Fedora 34, at 4K resolution, at ultra quality and with FSR and the resizable bar enabled. In the description of the video, they have explained that “the end result is another increase of 25 fps in addition to the 133 fps that only the resizable bar was giving us, totaling around 160 fps”.
It is important to note that this implementation of FidelityFX Super Resolution for Proton is still in development, but it is interesting to see how quickly everything is progressing despite the long road that still needs to be covered (at least in appearance).
On the other hand, we will see if FidelityFX Super Resolution itself and especially its implementation in Linux cover native video games that not only work with Vulkan, but also with OpenGL. It is true that most of the video games that use OpenGL are old and therefore are not very demanding in terms of resource consumption, but titles such as Tomb Raider 2013 (which came to Linux in 2016 ), Deus Ex: Mankind Divided and Hitman which they might need a push to function properly on the Steam Deck.
With Valve’s shadow behind it, it’s obvious that FidelityFX Super Resolution support for Linux is targeting its use on the Steam Deck, the hybrid console that was announced last week.