Forcing 4K resolution in Steam games on KDE Wayland
A common frustration I have on Linux: have a 4K display, the desktop runs at 4K, but a Steam game refuses to list anything above 1920x1080 in its graphics settings. Pragmata (Capcom, RE Engine) is one of the games where this happened to me, but it’s not specific to that engine. The cause and the fix are general.
This post uses CachyOS + KDE Plasma 6 on Wayland as the example, but the same approach works on any Wayland compositor (Hyprland, GNOME, sway).
Why it happens
On Wayland, the logical size of a display is not the same as its physical mode. If you set a scale factor — say 200% so text isn’t microscopic on a 4K screen — the compositor reports the logical size to clients. A 3840x2160 monitor at scale 2 gets exposed as 1920x1080.
Most desktop apps don’t care. They render at logical size and the compositor scales the surface up. Games are different: many of them ask the display server for the list of available modes and only show those in their settings menu. RE Engine titles do this. So if scaling is on, the game sees a 1080p display and that’s the highest option you’ll get.
You can confirm this with kscreen-doctor on KDE:
kscreen-doctor -o
Look for Modes: (lists physical modes the monitor supports) versus Geometry: (the logical size the compositor exposes). If they don’t match, that’s the gap that’s hiding the higher resolutions from games.
This isn’t a KDE bug. It’s how Wayland is designed to work. X11 didn’t have this distinction, which is why some people don’t hit the problem until they switch to Wayland.
The fix: gamescope
gamescope is Valve’s micro-compositor. It runs as a nested Wayland session for a single game, presents whatever virtual display you tell it to, and outputs that to the real monitor. Steam Deck uses it for everything. On the desktop, it’s the cleanest way around the scaling-vs-real-resolution problem — you tell gamescope “the game’s display is 4K” and the host compositor’s scaling stops mattering.
Most distros already package it. On Arch / CachyOS:
sudo pacman -S gamescope
Then in Steam, right-click the game → Properties → Launch Options:
gamescope -W 3840 -H 2160 -r 120 -f --force-grab-cursor -- %command%
-Wand-Hset the output resolution-rcaps the refresh rate (match your monitor)-fis fullscreen--force-grab-cursorlocks the mouse inside the game window, useful for shooters and third-person games
Launch the game and the higher resolution should now appear in its graphics settings. For Pragmata specifically, 3840x2160 shows up in the dropdown as soon as gamescope is in front of it.
TL;DR
On KDE Wayland with display scaling enabled, Wayland exposes the scaled-down logical size to clients, and many games only offer resolutions from that list. Wrap the game (or all of Steam) in gamescope and tell gamescope to present the native resolution. Done.