Steam Deck

Steam Deck

Desktop mode Display Scaling Options
When in game mode, it's easy to open up the quick menu and go down to select Display Scaling for games. I am playing on a 4K120hz display and usually game at 1440p120hz with "Interger Scaling" which scales the pixel to a more appropriate size and PPI in the middle of the display.

On desktop mode, I can't find any Display scaling options. It's just pure native resolution, so when I play on desktop mode. my games don't look as crisp since it's upscaling 1440p to 4k.

Does anyone know where to find those specific options? I can't find them in the "Display Configurator"
< >
Showing 1-3 of 3 comments
I found them by right clicking on the desktop and selecting "Configure Display Setting...". There is a "Global scale" slider that I set to 200% for my big ass UHD TV. The catch is that this setting doesn't get applied immediately. You'll only see the new scaling in newly creating windows, but the best if you log out and log in again, because then it gets applied to the entire desktop.
Originally posted by MegaBrutal:
I found them by right clicking on the desktop and selecting "Configure Display Setting...". There is a "Global scale" slider that I set to 200% for my big ass UHD TV. The catch is that this setting doesn't get applied immediately. You'll only see the new scaling in newly creating windows, but the best if you log out and log in again, because then it gets applied to the entire desktop.
same, but now my on screen keyboard is cut off
Pepe Jan 11 @ 8:49am 
Game Mode on SteamDeck is done through Wayland display system + Valve's gamescope compositor

Desktop Mode on SteamDeck is done thought KDE Plasma desktop environment which is X11 display system (by default) + KDE Plasma's KWin compositor and window manager - on KDE Plasma 5 (which what SteamDeck uses). When SteamOS will move to KDE Plasma 6, it will probably move to Wayland instead of X11.

That being said, Valve's Desktop Mode is just the GNU/Linux desktop environment KDE Plasma, which offers display scaling just for the desktop apps, it's not upscaling resolution, but sizing up text and anything related to a window for the same resolution you picked. Most games, on the other hand, use the resolution you set for the display to raster the 3D graphics to a display canvas, without looking for the desktop settings.

Option 1. Use Valve's built-in gamescope

For each game, add this as the launch options. (Actually don't do it, read below.)
gamescope -h 1440 -H 2160 -S integer -f -- %command%
But that is creating a small "window" with a black border around. I think the "integer" scaler works in full screen only for pixel perfect multiplication:
1920x1080 is 2x 3840x2160
1280x720 is 2x 2560x1440

So this one works in real full screen only for subsampling from to 1920x1080 from your 4K resolution:
gamescope -h 1080 -H 2160 -S integer -f -- %command%

If you want 2560x1440, you need to fiddle with -S (--scaler), -F (--filter) and --sharpness parameters
gamescope -h 1440 -H 2160 -S fit -F pixel --sharpness 15 -f -- %command%
gamescope -h 1440 -H 2160 -S scratch -F linear --sharpness 15 -f -- %command%
Considering SteamDeck has an AMD iGPU, it might work with FSR
gamescope -h 1440 -H 2160 -S scratch -F fsr --sharpness 10 -f -- %command%
You should try a few values and see what looks best for you.

You can find your gamescope help running the following in the terminal.
gamescope --help
-S, --scaler upscaler type (auto, integer, fit, fill, stretch) -F, --filter upscaler filter (linear, nearest, fsr, nis, pixel) fsr => AMD FidelityFX™ Super Resolution 1.0 nis => NVIDIA Image Scaling v1.0.3 --sharpness, --fsr-sharpness upscaler sharpness from 0 (max) to 20 (min)

More info (sort of) here: https://github.com/ValveSoftware/gamescope/blob/master/README.md

Option 2. Xrandr for X11 - More of a nice to know thing... It's kind of tedious, but it works no matter what is behind any app or game.
GNU/Linux, can achieve global upscale or downscale for both desktop apps and games by changing the way a display is defined. For example you can have:
- FullHD on 4K pixel perfect subsampling with a scaling factor of 2x (horizontal and vertical - note that the scale value is not 2 but 0.5, because the factor is relative to the screen resolution/mode, 1920x1080 is 0.5 of 3840x2160)
xrandr --output HDMI-1 --mode 3840x2160 --fb 1920x1080 --panning 1920x1080 --scale 0.5 --filter nearest
- FullHD on 4K center pixel perfect no scaling with black borders
xrandr --output HDMI-1 --mode 3840x2160 --rate 60 --fb 1920x1080 --panning 1920x1080 --transform 1,0,-960,0,1,-540,0,0,1 --filter nearest
- (bonus) Supersampling from a higher resolution than the display (it requires some extra steps to add the new display mode for some games to actually run at the higher resolution - not covered in this post, look for cvt, xrandr --newmode, --addmode, --delmode, --rmmode)
... 4K from 8K
xrandr --output HDMI-1 --mode 3840x2160 --fb 7680x4320 --panning 7680x4320 --scale 2 --filter bilinear
... FullHD from 4K
xrandr --output HDMI-1 --mode 1920x1080 --fb 3840x2160 --panning 3840x2160 --scale 2 --filter bilinear
... SteamDeck display resolution (1280×800) from FullHD
xrandr --output HDMI-1 --mode 1280×800 --fb 1920x1080 --panning 1920x1080--scale 1.5 --filter bilinear


Now you can't have pixel perfect on what you want because 3840x2160 doesn't divide exactly with 2560x1440, but you can have a crisp image by using the nearest (neighbor) filter.
1. Get the scale factor.. we don't need to do both horizontal and vertical as the two resolutions have the same 16:9 ratio
echo 'scale = 4; 2560/3840' | bc .6666

2. Set the display for what we need
xrandr --output HDMI-1 --mode 3840x2160 --rate 120 --fb 2560x1440 --panning 2560x1440 --scale 0.6666 --filter nearest

3. How to reset to default?
xrandr --output HDMI-1 --mode 3840x2160 --rate 120 --fb 3840x2160 --panning 3840x2160 --scale 1


How to keep the settings after reboot?
Add the xrand command to one for the following files
## Per User printf 'xrandr ...\n' > ~/.xprofile ## System Wide sudo su -c "printf 'xrandr ...\n' > /etc/xprofile"

But that breaks the nice 4K desktop, isn't it?
Yes. You're desktop will be displayed in 2560x1440. Unfortunatelly I don't know of a good solution for this. I don't know too much about X11 configuration to set up what xrandr is doing for the running resolution. One posibility is NOT to keep the settings at reboot and just run the first command when you start playing a game (2) and run the command that resets to default after stop playing (3). Another thing is to add the xrandr commands for each game command option (xrandr ...; %command%; xranr ...), which is a pain, and it's just wrong for Game Mode (as it uses Wayland not X11).

What else to look up in the future (KDE Plasma 6 with Wayland by default)?
wlr-rand is similar xrandr, but for Wayland.
Last edited by Pepe; Jan 11 @ 9:34am
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: Jan 10 @ 7:48pm
Posts: 3