Refactor internal display scaling for embedded steam client within gamescope-session into a user-facing option
matte-schwartz opened this issue · 0 comments
Your system information
-
Steam client version (build number or date): 1717792772
-
Distribution (e.g. Ubuntu): N/A - universal Deck client feature request
-
Opted into Steam client beta?: Yes
-
Have you checked for system updates?: Yes
-
Steam Logs: including from my ROG Ally running Fedora 40 linux using upstream gamescope with gamescope-session in case any of my Steam logs help with implementation of this feature request
steam-logs.tar.gz -
GPU: AMD Z1 Extreme APU
Please describe your issue in as much detail as possible:
Transferring from ValveSoftware/gamescope#1344
I wasn't able to find an existing issue that matched this feature request - sorry if I overlooked one
With more customization options in the pipeline for Steam Deck and Linux users of gamescope and embedded steam within gamescope-session, I wanted to raise a suggestion of refactoring the internal display scaling option for the Steam Deck client into Steam client userspace for customization.
Handheld devices with high internal display resolutions - such as the ROG Ally at 1920x1080p or the even more egregious Legion Go at 2560x1600 - are very hard to use with the default scaling that ships in gamescope-session provided from the in-client source package mirror: https://steamdeck-packages.steamos.cloud/archlinux-mirror/
I don't have a Legion Go anymore (it's a bit more of a stark comparison as well...) but here are the Steam Deck and ROG Ally side-by-side showcasing the scaling differences
If users want to scale the UI to be more legible right now, they have two options:
1: make gamescope think your panel is external with a forked version of gamescope and forked gamescope-session... perhaps the most common method and a very "hacky" workaround
2: rely on third-party extensions to access "hidden" dev options within the steam client itself
Method 1 is difficult for many users who are new to the linux ecosystem unless a distro provides a modified package for them, while Method 2 lead to people using third-party extensions to fill the gap - which are liable to break between steam updates that ultimately end up being filed as erroneous steam client bug reports. Method 2 also involves menus that no end user should ever need to be seeing.
Imo, refactoring internal display scaling into a user-facing portion of the client is starting to make sense given the heading of a few different Valve projects. If it's just internal UI scaling it can probably be done by dressing up the existing method and unhiding it? bringing this in-line with the proposed Gamescope PR gives a wider range of users the ability Valve's own provided packages. just my two cents on it.