ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

Steam client misinterprets high resolution as HiDPI #5362

Open LubosD opened 6 years ago

LubosD commented 6 years ago

Your system information

Please describe your issue in as much detail as possible:

I have a UHD display that is also physically large, so it's a standard DPI display (somewhere around 100 I guess)

It seems the latest Steam beta for Linux considers all UHD displays as having a high DPI, which causes everything in the client to become really huge. It is quite horrible honestly.

This is the HW information reported by Steam:

Primary Display Resolution: 3840 x 2160 Desktop Resolution: 3840 x 2160 Primary Display Size: 34.57" x 19.09" (39.49" diag) 87.8cm x 48.5cm (100.3cm)

kisak-valve commented 6 years ago

Hello @LubosD, you can get the non-scaled behavior by running steam with the GDK_SCALE=1 env variable set.

ghost commented 6 years ago

I want an adaptive scaling behavior but the one implemented on the steam stable client is, to be honest a disastrous one!! Don't steam devs test these things before roiling out to stable?? A scaling factor of maybe 1.3x is enough I think, furthermore there is only the option to turn it on or off, no option to select scaling factor!

nazar-pc commented 6 years ago

I don't want to set environment variables for each app manually. And I shouldn't need to! Just make HiDPI to be HiDPI, not HiResolution, just like any sane application does. And disable this buggy behavior until properly implemented.

Kuro-Maii commented 6 years ago

As I have poor sight I tried starting steam with GDK_SCALE=2x steam on my 1920×1080 22 inch monitor. I loved the fact that I was now able to read everything. I can do with something less extreme tho. So my suggestion is to give the user scaling options going from say 50% up to for example 250%. if this means the client needs to be restarted after applying the setting, while not a clean solution, is acceptable. in my opinion.

I would really love to not squint anymore at steam and still guess at clicking the right thing. and so would a lot of my sighted friends.

Please and thank you.

ghost commented 6 years ago

Just look at this: https://i.imgur.com/jJsY87F.png Compare the gnome shell auto scaling bar to steam! Ridiculous!

nazar-pc commented 6 years ago

There should be an override option in Steam settings, for sure. But even with that in place, it should take into account global system settings for actual DPI in the first place.

If you have configured your system globally to have larger fonts and UI elements - Steam should use that as default values, if my system configured to have tiny text and UI elements - it should also use that as default value regardless of my screen resolution.

Kuro-Maii commented 6 years ago

I completely agree with that @nazar-pc

Lastique commented 6 years ago

I'm having the same problem. I have an UHD 27" display, 162 DPI.

It looks like the scaling ratio gets rounded to an integer at some point because setting GDK_SCALE to 1, 2 and 3 produces different amounts of scaling, but setting my normal 1.6 or 1.7 produces scaling similar to 1.

nazar-pc commented 6 years ago

OK, got an update. There is an options in Steam settings now. It is disabled by default (which is good, because apparently it doesn't take actual DPI into account anyway, hence it is broken).

But: "Access Steam" overlay in top right corner during game launch is still huge, why doesn't it follow Steam's own settings?

Oblomov commented 5 years ago

I have the opposite problem that even with a high resolution monitor, Steam starts in “standard DPI” mode.

Now, ideally the “Enlarge fonts and icons based on monitor size” settings would do adaptive scaling based on the DPI (resolution divide by physical dimensions) of the monitor in which the window is displayed (the way Qt 5.6 and later can do), using xrandr.

But lacking that, it would be nice if autodetection at least used the standard way to determine DPI scaling: if the user override GDK_SCALE environment variable is not set, Steam should look for informaiton in the following places:

This would nearly completely eliminate the need for the use of GDK_SCALE override.

rkfg commented 5 years ago

I've set GDK_SCALE to 1.2 as it's the best setting for a 2k 24" monitor but Steam doesn't seem to support fractional scaling as @Lastique already said. It needs to be supported because it works well in other apps but not in Steam. 2x is too big, the window occupies the whole screen and I can't even shrink it further and 1x is too small, it's hard to read.

ctubbsii commented 4 years ago

I need to use 1.25 scaling in GNOME Tweak tool to get my fonts to be the right size for my eyes. This seems to prevent GDK_SCALE from working at all. When I set it back to 1, I can set GDK_SCALE=2, and the Steam window is larger than my 1920x1080 display, and won't fit on screen. When I set to GDK_SCALE=1 (default), I need to squint to read the words. Fractional amounts (ideally, 1.25 for me) would be great... but it doesn't work. This is a killer on my eyesight. I don't think I have bad eyesight... but with a 14" screen size with 1920x1080... everything is slightly too small. I need fractional scaling.

jason-eu commented 2 years ago

This worked for me, I'm not sure if it will for you; https://github.com/ValveSoftware/steam-for-linux/issues/5908#issuecomment-1171285228