Can't easily test this, but it might be possible to set the game itself to "Full Screen (Windowed)" and then tell Plasma to fullscreen the window. You can try this by launching the game and then pressing Alt+F3 to bring up the window menu. In there, you can fullscreen it through Plasma. You can also set a keyboard shortcut for this (I use Meta+F11).
Linux Gaming
Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.
This page can be subscribed to via RSS.
Original /r/linux_gaming pengwing by uoou.
No memes/shitposts/low-effort posts, please.
Resources
WWW:
- Linux Gaming wiki
- Gaming on Linux
- ProtonDB
- Lutris
- PCGamingWiki
- LibreGameWiki
- Boiling Steam
- Phoronix
- Linux VR Adventures
Discord:
IRC:
Matrix:
Telegram:
Out of my ass I would say that this has to do with kde trying to optimize the full screen window by skipping compositing for it (direct scan-out, useful for e.g. gaming), of course this is not possible to do with windows on top (they have to be composited). I would have expected KDE to disable direct scan-out once you put windows on top, but maybe it doesn't.
I recommend posting this to KDE's bugzilla, they should get in touch pretty quickly for something like this, of course recognizing and solving the issue are two entirely different things.
But before posting, I'd suggest you do a test: you can disable direct scan-out globally by going on "display settings" and unchecking "screen tearing: allow in fullscreen windows". Try and see if the issue goes away. And make sure to mention this test and the result on the bugzilla post.
I will get that out tonight, thank you! I am more than willing to lose some FPS by comping the game.
I didn't realize screen tearing was even enabled by default. Will I be limited on refresh rate? My display is 165hz
You will not be limited, as long as you enabled 165hz in the settings. Tho, you might experience some minor latency, at most one frame, but you really shouldn't, it depends. I would say that at 165hz, one frame of latency is not that much.
Also the compositor tearing option is there to allow the game to skip v-syncing and cause tearing. But, if the compositor allows tearing, and the game implements vsync, it will not tear. Actually, having both vsync in the game and tearing disabled in the compositor could cause more latency, but it depends, it might not.
Edit: I first said you should try what other comments said, but then I saw you already replied to them
Also, you said you are willing to lose some FPS by compositing the game to have windows on top. I want to make clear that you cannot have windows on top of the game without compositing. This is not a Linux/KDE/Wayland thing, it's just that compositing is the process that draws the windows. If this were an XBOX, so running a gaming-specific version of Windows on custom gaming specific hardware, it would still need to do compositing to draw a window on top of the game. Only something fullscreen can skip compositing, because at that point there's only one window to draw without any positioning or shading necessary. But compositing is done per display, so you could put those windows in a second monitor and still skip compositing the game.
Set the game to always below and the app to always above.
Use borderless window in games. Avoid full screen it's jank as fuck basically always.
Borderless window keeps the taskbar visible and the vertical resolution is cropped to match
there's a shortcut for setting overlay depth, i don't remember if its the default but for me meta+scroll on a window will push a window back or bring to the top.
if I'm in borderless full screen i can select what i want to overlay on my game by scrolling it to the top and demoting the game window to mid by one. note other windows may overlay that are open so its best to minimize or close anything else.
How did you set scroll as a shortcut? I found the option but it doesn't accept scrolling as an input
Either way, this has the same effect as Keep Below where ALL windows stay above the game. And still requires hiding the taskbar which I'm really trying to avoid - if for no other reason than it pops up any time my mouse gets near the bottom of the screen
i had to double check its
settings - window management - window behavior - window action - at the bottom you can set mouse wheel to 'keep above/below'
what launch options are you using on games? i haven't had this issue using proton + native wayland launch options. iirc gamescope treats windowed apps differently because its only a container and doesn't understand the diff between windowed and borderless windowed
testing in baldurs gate 3, no launch arguments, this works in both borderless windowed and full screen for me without taskbar popping up. though clicking on the window sitting above in fullscreen minimizes and in borderless i have to click back in to regain mouse control. basically the overlay can steal focus, maybe a kwin rule on the overlay to prevent focus stealing might work?
I'm using all the default launch options for Steam and Battle.net (through Faugus Launcher), the only thing I've touched is Window Rules.
I was wrong when I said it worked for me - I forgot I still had Window Rules set for Terraria (the game that made me make this post). I just tried with BG3 and was unable to replicate it. Here is what I did, am I trying correctly?:
-
Set game to Borderless Window and disable VSync (tried it On as well, no change)
-
Alt+tab to other window. Meta+scroll up a bunch of times
-
Alt+tab to game. Meta+down once
sounds exactly the same, only thing would be to test maybe if you can get the focus to work out of game with something like a browser, kate, dolphin to make sure it's not just kwin not working and has something to do with game config/proton/whatever you're overlaying? only thing i can think that's not standard for me is my taskbar is set to dodge Windows for visibility