I recently rebased from Fedora Silverblue to Bazzite (bazzite-gnome) on my living room PC and love it. I just want to share a bit of information that might help someone else out regarding weird game resolution issues.
Recent-ish builds enable experimental Gnome Wayland fractional scaling by default. This can be very nice, but it also impacts the resolution that most games can display if you choose anything other than the default 100% scaling.
For example, if your native resolution is 3840x2160 and you select 250% scaling, the games I tested will only be able to display at 1536x864 (dividing the horizontal and vertical each by 2.5), even when running full screen. The Gamescope compositor doesn’t seem to be able to resolve this either - using it can force the game to render at your native resolution, but the view will still be scaled and shifted.
Even choosing an “integer” scaling factor of 200%, 300%, etc. causes this problem (3840x2160 native and a 200% scaling factor results in games running at a max of 1920x1080). It appears that this is just the intended behavior of Gnome’s experimental scaling feature regardless of the value you choose.
The best fix I’ve found so far is to disable fractional scaling and deal with the suboptimal choices of either 200% or 300% for my use case, using the accessibility font scaling to compensate. This is accomplished with the following command:
$ gsettings set org.gnome.mutter experimental-features “[‘variable-refresh-rate’]”
followed by a reboot (or I believe just log out and back in). After this, I am able to choose from Gnome’s normal integer scaling options and my games can render at my display’s native resolution even if my desktop is scaled to 200% or 300%.
If you want to get fractional scaling back:
$ gsettings reset org.gnome.mutter experimental-features
followed by a reboot or log out and back in.
I don’t believe there’s anything that needs to be done, unless a just script to enable or disable fractional scaling is justified.