Inconsistent Black Bars when forcing fullscreen game windows<

I have a 16:10 screen and recording/streaming in 16:10 is a hassle. When force I force the games to run in a 16:9 resolution window and force that window fullscreen it works “sorta”.

Here is an example

You’ll notice the Window is the right size but shoved to the top of the screen. This only happens when I press ESC (or w.e button opens the menu) to open game menu or when I alt tab. When the Window has focus and I’m playing its fine with proper black bars padding and in the center of the screen.

I’ve been using gamescope to work around this but certain games I have external tools running with them which gamescope can’t handle. Is there a way to prevent the swapping between properly padded with black bars and the no bars at the top of the screen?

This happens on all version of plasma 6 BTW , havent tried plasma 5. I’m not sure if there is a window rule I’ve missed that may help

EDIT: Here are the window rules im currently using, forcing position keeps it in the center of the screen but black bars still vanish when in menus or alt tabbing

Well looks like another workaround is that i can run my display in 1920x1080 but that leaves some of the display unused when the games are running.

Well my current way to work around this is to use a set of scripts that i run using gamemode when a game launches/ends to set the display from 1920x1200 to 1920x1080 and to set the proper refresh rate based on PSU state

example for the start script, just do the opposite for end


#!/bin/bash
power=$(cat /sys/class/power_supply/ADP0/online)
if [ $power -eq 1 ]; then
    kscreen-doctor output.eDP-2.mode.1920x1080@165
elif [ $power -eq 0 ]; then
    kscreen-doctor output.eDP-2.mode.1920x1080@60
fi

Unfortunately none of the window rules in kde help the situation and there simply arent any tools besides gamescope for this sort of use case. Gamescope is fine but its limitations make it unusable for some use cases like mine so Ill have to settle on this for now unfortunately.

hopefully this little snippet can help someone else.