Gamescope from Valve developer Pierre-Loup A. Griffais is described as a micro-compositor that can spoof a virtual screen with a desired resolution and refresh rate and control/resize the output as needed. It can fulfil the same role as a desktop compositor, but it can also run on top of your regular desktop like any other application.
One use-case for gamescope is dealing with compatibility problems. This includes games that have trouble getting into fullscreen, or do not support your native screen resolution, or multi monitor setups. In my case I could not get Dirt Rally to go into fullscreen on Wayland, but it worked perfectly though gamescope.
Another use-case is if you want to game on a 4K TV/monitor, which is not uncommon anymore, but your graphics card does not have the horsepower to push all of those pixels at a decent framerate, which is still true for all but the most expensive offerings out there. Normally you would have to lower your desktop resolution and/or let the game change the screen resolution. But then you depend on your monitors scaling capabilities, which are usually not that impressive, and you will most likely end up with a blurry image. Instead you could run your desktop at the native resolution and use gamescope to upscale the games.
Right now there are not that many options for scaling, but there is a very interesting one - integer scaling. This allows turning 1x1 pixels into 2x2 (or whatever whole number) boxes that produces a more crisp image. Here we have an unscaled reference image at 2560x1440, and two rendered at 1280x720 and scaled up to 2560x1440. You can see that normal scaling produces quite a blurry image, whereas integer scaling produces a more crisp, yet more jagged-looking image.
Lowering the rendering resolution may also allow for enabling more taxing image fidelity options like post-processing effects and anti-aliasing. I noticed that integer scaling is even useful with AA. Of course a lot of this is a question of taste and preference, so I'll let you be the judge of that. Just to clarify, the AA demonstrated here is an option of the game itself, not gamescope.
Program arguments used in this comparison are as follows.
Fullscreen integer scaling:
gamescope -w 1280 -h 720 -W 2560 -H 1440 -b -n -- %command%
Fullscreen "normal" scaling:
gamescope -w 1280 -h 720 -W 2560 -H 1440 -b -- %command%
Fullscreen native:
gamescope -w 2560 -h 1440 -W 2560 -H 1440 -b -- %command%
Gamescope can be found on GitHub under active development.
Quoting: scainewith this I could force the game's resolution back to 1920x1080There's nothing stopping you from doing that today, albeit without the integer scaling sweetness.
Forcing resolution in Unity games is fairly straightforward with launch options such as...
-screen-width 1920 -screen-height 1080
See more from me