Ever heard of the little war between AMD and Nvidia regarding upscaling technologies? Nvidia has DLSS (Deep Learning Super Sampling) and AMD has recently released FSR (FidelityFX Super Resolution). These are two very different pieces of technologies:
- DLSS is a neural network based upscaler, that needs to be trained on each specific game before it can be used. To date there are not so many games that support DLSS. This piece of technology depends on Nvidia’s hardware and therefore only works on RTX cards. It can be used on Linux since the 470.x drivers, but only for native Vulkan renderers. At the time of writing, DLSS does not work when converting DirectX code to Vulkan in Proton, while this is just a matter of time.
- FSR is game-agnostic, it’s a fancy software upscaler that tries to do the best job it can to upscale a low resolution picture into a one that looks good in higher res. It’s simple to apply per se, but the game devs need to implement it on non-text and non-hud elements in each game’s rendering pipeline so this requires some code modification as well. FSR is GPU agnostic and open source which makes it easier to port and adapt to different uses.
Competition is Gooooood
On Linux, we have an extra opportunity to use FSR, without asking anyone to do anything. Proton already has a full screen hack upscaler included, which prevents Windows games from trying to change the current screen’s resolution. This hack instead uses a software upscaler pretending the resolution change is happening while remaining at the native monitor’s resolution. If an old game uses 800×600 as maximum resolution, the upscaler will fill your 1920×1080 screen by scaling up that tiny picture so that it fits in the larger monitor screen.
Some folks have had the genius idea to simply replace the basic upscaler included in Proton by… AMD’s FSR! It makes it work out of the work on any game that uses Vulkan through ProtonGE – a benefit that Windows gamers can’t get for now!
Of course, this is NOT how you are supposed to use FSR: ideally you want to apply FSR on a picture before the HUD and the post processing is applied, but still, it’s an acceptable usage of the upscaler, and provide massive performance boosts. You can see the video I published earlier today for Max Payne 3 and how much boost I can get from a meager Nvidia GTX 1060 3GB (with 470.x drivers), without much visual information loss (Using Proton-6.13-GE-1).
There’s also the same video on Youtube if you prefer.
In case you can’t watch the video for one reason or another, here is a quick summary of what you can observe:
- No FSR: At the native 3440×1440 resolution, in that scene we get about 45 FPS
- With FSR: At the 2560×1080 resolution, same scene, we get about 75 FPS
- With FSR: At the 1920×800 resolution, same scene, we reach about 90 FPS
It’s pretty hard to distinguish any kind of difference (at least in this scene) between the three versions, especially when things are in motion. If you stop the video and look closely you will find that the one using the lowest resolution (1920×800) with FSR shows a little loss of details in the graphics. Still, pretty impressive overall.
How to Use FSR Pretty Much Everywhere
You need the latest ProtonGE (Proton Glorious Eggroll) build installed on your system (6.13-GE-1 at the time of writing this). If you are not familiar with this, we had a guide on how to install ProtonGE a little while ago. And an interview with Glorious Eggroll himself that you should check out as well!
Afterwards, FSR is not activated by default, you need to include a flag in the Proton launch commands in Steam:
WINE_FULLSCREEN_FSR=1 %command%
I would however strongly recommend you use STL at this stage, since the latest version of STL makes it easy to apply any kind of custom setting to any game and also supports FSR options in the GUI – I personally like to run Gamemode and MangoHud on my games to ensure I have the best performance possible and I can measure how well things are running.
Who Is This For?
In mid 2021, it’s still very hard to get your hands on a good GPU at decent pricing, and technologies like FSR go a long way to improve your game’s framerate without causing much visual loss, especially if you use a high resolution monitor. If you game on 1080p, you won’t get as much benefit as you will probably upscale from 720p and not go much lower than that (upscaling 640×400 would look awful!).
If you game like me in Ultrawide or on 4K, you will surely find FSR a useful tool to have to get the most out of your games without gutting your wallet.
Even more interesting are the possibilities FSR opens up for VR. VR is very framerate sensitive and FSR may go a long way to help reach 90Hz or 120Hz if your hardware was a little stretched.
You might want to check out the following articles too!
BoilingSteam lets you access our content for free, but writing articles is a constant investment. We don't use ads or sponsporship, help us make our activities sustainable by donating via Patreon or LiberaPay if you prefer it anonymous. You can follow what we do via our newsletter, our RSS feed, our Mastodon profile or our Twitter feed. We also have Peertube, Youtube and LBRY channels. If you'd like to chat, you can also find us on #boilingsteam:matrix.org. (what is Matrix?)
This looks fantastic – thanks for the simple video that breaks it down.
To be fair, I have had good results when upscaling 1600×900 to 1920×1080.
I do get good FPS boost, and, in terms of quality, I see barely any difference.
For example, in ChernobyliteI went from below 10FPS on high to 30FPS on high by using FSR 1600×900 to 1920×1080
So this is a blessing for me.
Because I dont exactly have money to upgrade PC for now.
Yeah, it’s a welcome tool in the current situation where we have to live with the GPUs we have for now.
Also is it possible to use it for antialiasing only, without upscaling (1080p to 1080p) ?
There is no upscaling happening if you render 1080p to 1080p. What you want is shaders then, and you can use ReShade for that.
Is it possible to use FSR for DOS games?
Most DOS games don’t use DirectX, so probably not.