Others have basically already pointed out how you should go about diagnosing the problem. Which, by itself, is already very valuable.
Below, I will try to touch upon some tips and tricks that are worth noting in this context, assuming Bazzite*.
- Pinning a specific deployment to return back to. As we'll be doing some time traveling in a bit, it's definitely recommended to pin your latest deployment (just in case) before you do anything else. See this entry in Bazzite's documentation on that.
- Rolling back to images from a certain day. So, IIRC, all of the uBlue products keep around 90 days worth of images you can rollback to. See Bazzite's documentation on
brhfor more information. With this (and some effort), you can literally pinpoint the exact date from which you started to have problems with gamescope/game mode. - Looking into the exact changes between two deployments. So, after you've identified the last properly working deployment and the first deployment that started misbehaving, you can invoke the
rpm-ostree db diffcommand to see what has changed between the two deployments. Note two things on this:- That the hashes coincide with the ones you actually want to compare.
- The command catches only changes in packages. However, a config diff applied by Bazzite's maintainers will not be shown here.
- Asking help from community channels. You can even start here. But basically, a project's discord/discourse is undoubtedly better equipped in helping you out. See this entry on Bazzite's documentation for links.
Wish ya good luck fam 😉!