The Current State Of Gamescope
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.
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
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
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
|-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+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/.