Skip to content

GameScope

frostworx edited this page Apr 30, 2022 · 28 revisions

(Project Page: GameScope)

Gamescope is a tool from Valve that allows for games to run in an isolated Xwayland instance. It currently only supports AMD and Intel.

(in Game Menu and Game Config) Set USEGAMESCOPE to 1 to automatically start GameScope when the game starts, either per game or globally. The command line arguments used (GAMESCOPE_ARGS) can be configured both per game and globally as well.

GameScope can be easily configured (and enabled) with the built in GameScope Gui, which can be found as Extra Button in the Main Menu

GameScopeGui

Features

Gamescope has various useful features:

  • Spoofing game resolutions to force running at higher/lower/exotic resolutions (such as Ultrawide)
  • Focused and Unfocused Framerate Limits
  • Upscaling using AMD FidelityFX SuperResolution 1.0 for Wine/Proton and native Linux games

There are other, more technical options that can be passed to Gamescope manually. In the Game Menu the Gamescope arguments can be manually adjusted. Refer to the Gamescope help screen by running gamescope --help from a Terminal for specifics on these options.

Spoofing Resolution

Using the Game Internal Resolution box, the resolution that the game will run at can be increased. This can be any reasonable resolution including (and especially usefully) one higher than your monitor's resolution.

On Wayland with a scaled display, Gamescope can be used to force games to see your monitor's native resolution, f.e., on a 4k display with 150% scaling, games will report a maximum resolution of 2560x1440. Gamescope can be used to force games to run at 3840x2160.

The actual game window size can be set with the Game Show Resolution box. The default game window size and game internal resolution size is 1280x720. The effect has virtually no effect when running fullscreen.

Focused and Unfocused Framerate Limits

Gamescope allows for framerate limiting when a game window is focused and unfocused. This can be any reasonable value, with the default being unlimited.

This option may conflict with and cause stuttering on games where Vsync is enabled, or games that have their own framerate limit option. Disabling these and letting Gamescope manage the framerate may help eliminate stutter, or vice versa, depending on the game.

On Wayland with Vsync enabled desktop-wide (such as on KDE Plasma Wayland), you can safely disable vsync without causing tearing.

Upscaling

In the context of Gamescope, upscaling is running a game with a window size larger than the internal resolution. This could be running a game fullscreen on a 1080p display with an internal resolution set to the default of 720p, which can have a significantly lower performance overhead at the cost of visual fidelity. Gamescope gives you the ability to use various filters to mitigate the loss of visual quality, making a game look better when running at a lower internal resolution on a higher resolution window.

The filter used is dependent on the order that they are passed, meaning the last filter passed will get priority and other filters will be inactive. In the case of SteamTinkerLaunch, checking Integer Scaling, Nearest Neighbor and FSR will result in only FSR being used. Toggling FSR off after launch in this case will result in Nearest Neighbor taking priority, and that being disabled will result in Integer Scaling being used. The last filter in will be the only one active, so there is really no reason to have more than one of these options selected.

Gamescope offers various methods of improving visual quality when upscaling using filters:

Integer Scaling

This filter may be good for pixel art games running at higher internal resolutions, as it can reduce some blur effects. This can be toggled with the Integer Scaling box in the Gamescope UI, but cannot be toggled after launch.

Nearest Neighbor

A basic, low-overhead method of upscaling. It is good for most games that don't benefit from Integer Scaling. It can be toggled after launch with the Super+N shortcut.

AMD FidelityFX SuperResolution (FSR) 1.0

An open-source upscaling technique developed by AMD for better upscaling quality. While keeping relatively low performance overhead, depending on hardware, the sharpness value and base resolution (for Gamescope, the internal game resolution), there may be a noticeable performance hit. Running a game with maximum sharpness, an internal resolution of 720p and upscaling to 1440p can incur some performance cost and latency.

The default FSR sharpness value for Gamescope is 2. This can be adjusted from the Gamescope menu using the FSR Sharpness setting, with values between 0 (maximum sharpening) and 20 (minimum sharpening).

Gamescope can be toggled on and off in-game with Super+U and can be increased with Super+I and decreased with Super+O.

Steam Integration

Steam integration is currently used to workaround a Gamescope+Proton 7.0 bug (Plagman/gamescope#438, Plagman/gamescope#420) preventing mouse and controller input. According to Plagman/gamescope#388, when asking what the option is meant to be used for:

You don't right now. There is no version of Steam available publicly that interfaces with the stuff for it.

With versions of Proton older than 7.0 or with Native Linux games, the bug should not be present.

Clone this wiki locally