The Current State Of Gamescope

From LinuxReviews
Jump to navigationJump to search
Joystick-icon.png

Gamescope is a bare-bones Wayland compositor that lets you up-scale or otherwise alter games and other graphical applications so they are displayed correctly, or just larger, on modern displays with higher resolutions. It is being developed by Valve-employed Pierre-Loup A Griffais who gave a interesting talk about the current state of Gamescope at the X.Org Developers Conference 2020. Gamescope will currently only work on AMD graphics cards using the RADV Vulkan driver. It can be used under both Xorg/X11 and Wayland.

written by 윤채경 (Yoon Chae-kyung). published 2020-09-17last edited 2020-10-11

Xrick-in-gamescope.jpg
Xrick, originally for the good old 320x200 resolution, running at 1920x1080 using gamescope to up-scale the game.

GameScope is a simple for-now command line tool that will let you run programs at different resolutions than what they think they are running at. It can be used to run old games made for low resolutions like 320x200 at modern resolutions like 2240x1400 or even 2650*1440 if you don't mind the aspect ratio being a bit off.

GameScope will currently only work on AMD graphics cards with Vulkan using the Mesa RADV vulkan driver. Support for other graphics cards may or may not come in the future. There is no graphical interface for it (yet).

Pierre-Loup A Griffais who gave a interesting talk about the current state of Gamescope, the devlopment done so far and the plans for the future at the X.Org Developers Conference 2020 yesterday:


Copyright XDC 2020. CC-BY Licensed.

The video is about 13 minutes long.

HOWTO Install And Use GameScope

GameScope packages are not in any distribution repositories and there are no Flatpak packages either. You can easily compile and install it if you are a wizard who knows how to compile code.

There are GameScope releases available at github.com /Plagman/gamescope/releases. We could not get any of those working since all the release tarballs lack the libliftoff and wlroots sub-projects required to compile it. The obvious solution is to skip releases of something that is still immature and in heavy development anyway and go strait to git. The following commands will give you the GameScope technology if you have the build tools and the right development packages installed (meson, ninja, wayland-protocols-devel):

mkdir $HOME/src;cd $HOME/src
git clone https://github.com/Plagman/gamescope.git
cd gamescope/
git submodule init
git submodule update
meson build 
cd build
ninja
sudo ninja install

Running games in gamescope is done by running it with any of the following options and -- yourgamecommand

-w Resolution width the game is forced run at (optional)
-h Resolution height the game is forced to run at (optional)
-W Desired output window width the game is up-scaled to
-H Desired output window height the game is up-scaled to
-r Limit frames per second (to say 30). Useful for saving battery on laptops.
-n Use integer scaling

You won't need to specify the games original width and height. Or anything else, really. You will want to specify a target window width (-W) and height (-H) if you plan to run a game in a window.

GameScope has two really useful keyboard shortcuts that can save you using any of the above listed switches:

super+f Toggle fullscreen
super+n Toggle integer scaling
super+s Save screenshot (as /tmp/gamescope_$DATE.bmp)

The super key is the key between ctrl and alt in the lower left corner of the keyboard. It tends to have a "Windows" logo on it.

You can run the good old xrick game, originally made for 320x200, with:

gamescope -W 1920 -H 1080 -n -- xrick

But that's not really required if you just want to run it fullscreen at your screens native resolution. You can simply run:

gamescope -- xrick

and press super+f. Switching to fullscreen will re-size and re-scale the window to your monitors resolution and show it full screen, it won't try to change your monitors display resolution.

If you prefer integer scaling or not (can be toggled with the -n switch super+n) will be a very personal choice. Pure integer is more "pixel-perfect". Games seem to look more "smooth" with integer scaling turned off.

The closest thing to a GameScope home page right now is the README.md in the repository at github.com/Plagman/gamescope/.

5.00
(one vote)

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.