LinuxCommandLibrary

gamescope

Run games in a separate composited environment

TLDR

Run a program with gamescope on the terminal

$ gamescope -- [program]
copy

Run a game with gamescope through Steam
$ gamescope -- %command%
copy

Upscale a 720p game to 1440p with integer scaling
$ gamescope [[-h|--nested-height]] 720 [[-H|--output-height]] 1440 [[-S|--scaler]] integer -- %command%
copy

Limit a vsynced game to 30 FPS
$ gamescope [[-r|--nested-refresh]] 30 -- %command%
copy

Toggle fullscreen
$ <Super f>
copy

Show help
$ gamescope --help
copy

SYNOPSIS

gamescope [options] -- command [arguments]

PARAMETERS

--
    Separates gamescope options from the command to be executed.

-h, --help
    Displays help information.

-v, --version
    Displays the version number.

-W, --width
    Sets the desired width of the gamescope window.

-H, --height
    Sets the desired height of the gamescope window.

-r, --refresh
    Sets the desired refresh rate.

-U, --unclamped-sync
    Unclamp the refresh rate.

-f, --fullscreen
    Launches gamescope in fullscreen mode.

-F, --force-compositor
    Forces gamescope to act as a compositor, even if it detects an existing one.

-b, --border
    Displays a border around the gamescope window.

-s, --scaling-mode
    Sets the scaling mode (e.g., nearest, linear, integer).

-o, --output
    Specifies the output to use (e.g., HDMI-0).

-e, --env
    Sets an environment variable for the executed command.

--gl-api
    Specifies the OpenGL API to use (e.g., opengl, gles).
Deprecated, use environment variables instead.

--hdr-enabled <0|1>
    Enables or disables HDR output.

--adaptive-sync
    Enables adaptive sync (VRR).

DESCRIPTION

Gamescope is a compositor designed for use with SteamOS, but usable on other Linux distributions. It provides a secure, performant, and customizable environment for gaming and virtual reality applications.

It is particularly useful for running games at lower resolutions than your display's native resolution and upscaling them, reducing performance overhead while maintaining visual quality. Gamescope can also handle multiple displays and VR headsets.

It implements a Wayland compositor using wlroots and aims to provide a robust and consistent experience across different hardware configurations. It offers features like variable refresh rate (VRR) support, input handling, and window management specifically tailored for game streaming and VR applications. It can also be launched with a single application in focus to isolate system resources for optimum performance.

Gamescope is mainly developed by Valve and is actively maintained as a key component of the SteamOS ecosystem. It's designed to provide a smooth and consistent gaming experience, especially when used with Steam Deck and other similar devices.

CAVEATS

Gamescope requires a Wayland compositor to be running or can act as one itself. Performance can vary depending on the hardware and game.

USAGE EXAMPLES

Running a Game:
gamescope -W 1280 -H 720 -- ./mygame
Launches 'mygame' in a 1280x720 window.

Fullscreen with Scaling:
gamescope -f -s nearest -- ./mygame
Launches 'mygame' in fullscreen with nearest-neighbor scaling.

Setting Environment Variables:
gamescope -e STEAM_COMPAT_DATA_PATH=/path/to/compatdata -- ./mygame
Launches 'mygame' with a custom STEAM_COMPAT_DATA_PATH.

HISTORY

Gamescope was developed by Valve as part of the SteamOS project, primarily for the Steam Deck. Its development is ongoing to improve performance and compatibility with various games and VR applications. It is based on the wlroots compositor library to offer flexibility.

SEE ALSO

wayland(7), wlroots

Copied to clipboard