How could GNOME Shell become the best desktop environment for couch/handheld gaming?

Microsoft has been rolling out their “Xbox mode” as well as a set of other improvements to Windows 11 as a gaming platform, particularly on the UX side. I have been thinking about writing this proposal since forever, but I was rather hesitant, and the Xbox mode update became the final push.

GNOME is almost there in its default state. If I remap e.g. Guide/PS button to Super using something like AntiMicro, I can open any app and any game that has a desktop entry and navigate workspaces. One Guide press to manage workspaces, double-press to bring up the app launcher - this change alone brings things to “you may not need mouse and keyboard 99% of the gaming time.” Yet, there are things that could be so much better, especially if you are on a couch.

First off, on-screen keyboard. I may need to input something into a text field - mostly passwords for e.g. unlocking the screen. That’s less of a problem on handhelds, thanks to touch inputs, but Steam had to fill this gap with their own gamepad-centric OSK, which apparently does not work on the lock screen.

Next, gamepad navigation. I can totally use sticks and/or D-pad to navigate any GTK4 app, as well as press A and B to navigate forward and back respectively, which is what makes GNOME 80% ready for gamepad-only use cases. But if we talk couch/handheld gaming, we desperately need these 20%. Basic things like Start for right-click on a focused button or shoulder-button navigation in menus are low-hanging fruit, and you can make Steam boot up to Big Picture by default.

Finally, mouse emulation. This will bring the worst-case failure mode (like Steam crashing out of Big Pic back to desktop) from “oh, now I desperately need mouse and keyboard or at least a touchpad and I can’t even fiddle with sticks” to “I can at least fiddle with sticks.” The unspoken convention in games that implement this themselves (Space Marine 2 upgrade menu, Aragami 2 pause menu etc.) is a coin-sized circular cursor that, ideally, snaps to focus targets.

And a small thing that would help those stuck with cheap iPega controllers: a built-in toggle that remaps Select+Start to Guide. Those use Guide as some sort of power/connection button (???) and it randomly stops registering Guide presses.

Of course, there are a lot of other improvements that could be done - glyphs for orienting in the interface, gamepad testing utility in Settings, maybe some tweaks to layout behavior, such as creating a new workspace for each app to launch in when the gamepad is used to launch it. I also have a rather radical idea of having a Wayland protocol for broadcasting whether the app should launch in 10-foot mode (if it has any), but this belongs to the Freedesktop forums.

I want to hear, what do you think would improve the gamepad control experience on GNOME?

2 Likes