Image scaling using Bazzites GameMode interface
Long story short, the image is not scaling properly only when using the Bazzites own SteamDeck like interface called "Game Mode".
Steps to reproduce the issue:
1. Install Sunshine game streaming on BazziteOS.
2. Install Moonlight on whatever system you want as a client.
3. Start Moonlight on the client to connect to the BazziteOS.
3. Start any game, and set the in-game resolution to something lower then your native resolution(ex. 720p)
The result is visible on the attached screenshot.
Notes:
-This issue does not happen when launching a game from desktop instead of GameMode.
-This issue does not happen when launching a game from the original Steams BigPicture instead of GameMode.
-Changing the scaling factor to anything but the default "Linear" resolves the issue, but the FPS is basically cut in half, so that's a no go.

10 Replies
Anybody has any idea or suggestion why only the "Game Mode" is causing this?
I would like to hear somebody else thought process on that. Thank you.
https://www.youtube.com/watch?v=M2zEz3SBUD4
This was just posted from another guy on a different Discord server, complaining about the same issue, so I'm deffinitely not the only one having it.
I've seen that before in one of my games.Think the game was in windowed mode and gamescope was stretching it. So when I changed to fullscreen mode and selected the native resolution (of the device that I was streaming to) then I didn't have the weird stretching in Moonlight
I'll need to see if I can reproduce or not
It's happening with every game as long as it's in Fullscreen and in sub-native for the host display
For example, if the host native display is 1440p, setting the fullscreenresolution on something lower then that, for example 1080p, will reult in this
But as I said, what's weird is that this only appears to happen when the game is started from "Game Mode" interface, and not happening if you start it from desktop mode, or even Steams original BP mode
and if you switch to any kind of windowed(borderless, exclusive, or whatever mode) then "Game Mode" seems to be locking you out from selecting a resolution, but instead, it automatically picks the display native one
this is correct behavior because thats how the majority of games do windowed mode, either locked to what the display supports and gamescope then takes that and rescales it to fit the actual monitor (as gamescope sets a fake "max" resolution for games that you can change in the steam display settings)
borderless will always use the displays max (or set) resolution unless the game does some hackery to allow you to change the resolution in it
windowed should in some cases let you change the resolution up to whatever gamescope has set as max "internal" resolution unless the game only allows the "closest to max" resolution, but this is something the game needs to implement to my knowledge
Yes, this is all correct, as I also suspected, but now you also confirmed it, so WIndowed of any kind doesn't matter much, as it technically still renders as fullscreen(max resolution)
The issue here is with the actuall Fullscreen, when set to a lower then native resolution, and only from Game mode interface
so it's like game mode is applying some scaling on its own, a scaling that is not happening in desktop mode, or steams big picture mod either
exclusive fullscreen is always a bit weird both on windows and linux
on windows the control of the display is handed over to the gpu (which is why you get a black screen and a delay when you alt tab out of the game)
on linux especially with windows game that process has to be mimicked, and i am guessing if this is a windows only game, you are seeing behind the curtain how it actually looks like for other applications (but this is just a guess from my end) when you set the resolution lower than the display resolution
It looks the same on all games, native Linux, or Proton translated, deson't seem to make much of a difference, I would even go an extra mile and say that to me it looks like the versions running through proton are actually performing better, but that's just what it seems to me.
Regardless of what type of windowed or translation layer is used while inside game mode, the application will always scale to its max native resolution, even if the same application is meant to be a small window, which is ok I think
Recent example that I had is with the game "Control" where if you start it normally from dektop mode for example, or even in Windows, it starts with a small window asking you if you want a dx11, or the dx12 version, and if I start the game from Bazzites "Game mode" this small popup gets stretched to the entire screen. It seems like this mode does not respect any kind of windowed mode, and if something tries running into oen, it automatically straches it out so it looks fullscreen, and maybe that's where the "bone" is berries 🙂
It could not be, but it's a nice start
this is gamescope behaving as it should as a session
That's good for me, we still needs to find out why the Fullscreen low resolutions are scaled wrong, it's like it's a window within a window, then filling the blanks with a stretched out textures as demonstrated with the pictures above, and the youtube video provided on my 2nd post.
Again, this is only happening when launching a game from within Game Mode, and on the Moonlight client. The same effect does not appear on the host system screen.