ValveSoftware / steam-for-linux

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

after update steam client to version 1676680477 scaling being broken on pages (game library and chat) #9209

Open NTMan opened 1 year ago

NTMan commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

after update steam client to version 1676680477 scaling being broken on pages (game library and chat) Screenshot from 2023-02-18 12-25-49 Screenshot from 2023-02-18 12-26-06 Screenshot from 2023-02-22 12-07-26

last good version for me is 1675997500 Screenshot from 2023-02-18 12-34-08

Steps for reproducing this issue:

CoelacanthusHex commented 1 year ago

An Off-topic question: How do you downgrade steam to the previous beta version?

cprn commented 1 year ago

Same issue on up-to-date Manjaro with updated Steam client and beta opt-in (NVIDIA proprietary driver). Can't read game titles in 4K without scaling and with Deck UI running at about 3fps it's very cumbersome to start a game.

Workarounds:

  1. opting out of beta fixes the main window scaling (Deck UI is still a slideshow)
  2. alt+enter starts a good-old Big Picture mode that works flawlessly (for now)
hoxu commented 1 year ago

I just upgraded to 1676836260, and HiDPI scaling is indeed now broken.

Opting out of the beta participation fixes the problem, as expected.

Please add an automated regression test for HiDPI.

TheGhostHybrid commented 1 year ago

Chiming in to say I have the same issue. The window is fine, but the content within the viewport no longer scales properly. In addition, I have this issue that happens whenever I view a non-Library page: image It seems to resolve itself when I close the window and re-open from the system tray. However, when freshly started, the issue comes back.

Anarch157a commented 1 year ago

Chiming in to say I have the same issue. The window is fine, but the content within the viewport no longer scales properly. In addition, I have this issue that happens whenever I view a non-Library page: (...) It seems to resolve itself when I close the window and re-open from the system tray. However, when freshly started, the issue comes back.

I have this issue too, I don't need to close the window and re-open from the tray icon, changing the page to Library, then back to the previous one makes it render properly. This is much quicker than re-opening

NTMan commented 1 year ago

In the version 1678845529 fixed scaling in library, but scaling still not working in "game properties" and "steam library folders"

Screenshot from 2023-03-15 10-21-22

Also scaling didn't work in windows "big picture configuration", "desktop configuration" and "guide button chord configuration"

Screenshot from 2023-03-15 10-42-06

frikisama commented 1 year ago

Is it just me, or does the newly enabled scaling look like actual high DPI rendering instead of simple 2x scaling? It looks very crisp now, where it was a bit blurry before, IIRC.

Thanks to whoever was involved! :)

Lastique commented 1 year ago

@kisak-valve Is there a workaround? The game properties window is barely readable.

Seegras commented 1 year ago

For me, the scaling issue is fixed on the Library with 1679024366, but still present in the properties window.

friedc commented 1 year ago

scaling still not working in "game properties" and "steam library folders"

Also scaling didn't work in windows "big picture configuration", "desktop configuration" and "guide button chord configuration"

I can confirm that for me the mentioned windows are also too small (not scaled to 2x size). I do not participate in the Beta.

About Steam

Steam client application:
Built: Mar 24 2023, at 17:20:43
Steam API: v020
Steam package versions: 1679680416
NTMan commented 1 year ago

And again scaling is broken since 1679950905 version. Is it really is no one developer at Valve having 4K monitor with scaling?

Screenshot from 2023-03-28 12-07-16

yhojann-cl commented 1 year ago

This problem has not been assigned to anyone for more than two months. Is there any news?, this problem also happens in the latest stable version 1679680416

Grauiton commented 1 year ago

FYI for Valve:

GTK4 dropped usage of GDK_DPI_SCALE.

KDE Plasma followed this by dropping the use of GDK_SCALE / GDK_DPI_SCALE starting with Plasma version 5.27. KDE Plasma instead recommends using xsettingsd to communicate scaling settings to GTK applications in X11 sessions.

arazilsongweaver commented 1 year ago

Wayland DPI scaling is completely broken as of the "big" Steam beta update released on 2023-04-27. Everything appears very tiny on a 4K screen and it is extremely difficult to use.

Example screenshot from the 2023-04-27 update:

image

NTMan commented 1 year ago

With update 1682634349 in addition to library broken scaling on store pages.

image

TheGhostHybrid commented 1 year ago

The Steam window over top of a properly-scaled window (Quod Libet) to show the stark scaling difference. image

anyoneyun commented 1 year ago

Same issue here on Manjaro KDE, it has been a problem for months now, as a comment stated earlier, kde changed the way scaling works and now it doesn't use GDK scale anymore. This has been true since kde 5.27

Grauiton commented 1 year ago

The solution for Valve is really simple:

If the GDK_SCALE environment variable is zero-length or not set, then instead use the value for Gdk/WindowScalingFactor in ~/.config/xsettingsd/xsettingsd.conf.

That's it.

yhojann-cl commented 1 year ago

Why not use the same window to render all the others instead of doing it separately? In this way the scaling would depend on a single window instead of fighting with the rest. For example, I use two monitors and when a window opens like the update window, news, launcher, etc., they open on a different monitor than the one where steam is running. They could solve all those problems including the scaling thing if they integrated all the other windows inside of steam and not outside of it.

Arcitec commented 1 year ago

What is this? A GUI for ANTS?!

:ant:

Tried the latest beta today. Totally unusable. Switched back immediately.

NTMan commented 1 year ago

I just install update 1683314987 which promised in change logs:

But the miracle didn't happen. End result you can see on screen below: Screenshot from 2023-05-06 03-00-54

dafzor commented 1 year ago

The scaling is working again, however newer desktop environments no longer set GDK_SCALE.

You need to launch steam with something like this GDK_SCALE=2 /usr/bin/steam

oldkentuckymark commented 1 year ago

Please, for the love of God, stop implementing command line switches and and requiring users pollute thier app shortcuts menus and environments with debug variables for toolkits you don't even use, and give us a simple slider inside the app to change the scaling. This is all we need.

dafzor commented 1 year ago

When using GTK_SCALE=2 the window can only be dragged by using the top left of the window.

Right side and bottom of the window will not allow dragging. In the areas dragging still works it's inconsistent not working 100% of the time.

Arcitec commented 1 year ago

But the miracle didn't happen. End result you can see on screen below:

Because they're using the wrong variable.

Here's a ticket about it:

https://github.com/ValveSoftware/steam-for-linux/issues/9466

lionking102 commented 1 year ago

Steam really needs fractional scaling support and that wasn't working before the beta as well (I'm not talking about integer scaling, 1x, 2x etc, but about 150%)... It was maybe fine for people with 4k Monitors, but everyone that uses WQHD or has bad eyes (as me) never had a chance to use steam well under linux. On Gnome you had it scaling blurry, but on KDE with "Apps scale by themself" (which is the only great experience for linux scaling right now) it is not even possible to have a blurry UI, people streight up can't read it and can do nothing about it, because steam doesn't support fractional scaling. By that point steam should at least support X11 fractional scaling or add real wayland support.

Edit: I'm on KDE 5.27.4 under Wayland.

GrzegorzKozub commented 1 year ago

My text-scaling-factor is set but Steam seems to ignore it.

image

When I use either GDK_SCALE or -forcedesktopscaling, Steam core-dumps (crashes) with the following:

> GDK_SCALE=2 /usr/bin/steam
steam.sh[29015]: Running Steam on arch rolling 64-bit
steam.sh[29015]: STEAM_RUNTIME is enabled automatically
setup.sh[29089]: Steam runtime environment up-to-date!
steam.sh[29015]: Steam client's requirements are satisfied
[2023-05-07 07:43:17] Startup - updater built May  5 2023 18:02:32
[2023-05-07 07:43:17] Startup - Steam Client launched with: '/run/media/greg/games/Steam/ubuntu12_32/steam'
[2023-05-07 07:43:17] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
05/07 07:43:17 Init: Installing breakpad exception handler for appid(steam)/version(1683314987)/tid(29146)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2023-05-07 07:43:17] Loading cached metrics from disk (/run/media/greg/games/Steam/package/steam_client_metrics.bin)
[2023-05-07 07:43:17] Using the following download hosts for Public, Realm steamglobal
[2023-05-07 07:43:17] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2023-05-07 07:43:17] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2023-05-07 07:43:17] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-05-07 07:43:17] Checking for update on startup
[2023-05-07 07:43:17] Checking for available updates...
[2023-05-07 07:43:17] Downloading manifest: https://client-update.akamai.steamstatic.com/steam_client_publicbeta_ubuntu12
[2023-05-07 07:43:17] Manifest download: send request
[2023-05-07 07:43:17] Manifest download: waiting for download to finish
[2023-05-07 07:43:18] Manifest download: finished
[2023-05-07 07:43:18] Download skipped: /steam_client_publicbeta_ubuntu12 version 1683314987, installed version 1683314987, existing pending version 0
[2023-05-07 07:43:18] Nothing to do
[2023-05-07 07:43:18] Verifying installation...
[2023-05-07 07:43:18] Performing checksum verification of executable files
[2023-05-07 07:43:18] Verification complete
Loaded SDL version 3.0.0-1471-gb6ca36022
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf29d6db0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf29d5500
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[29284]: Runtime for steamwebhelper: defaulting to /run/media/greg/games/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[29284]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
Could not connect to X session manager: None of the authentication protocols specified are supported
CAppInfoCacheReadFromDiskThread took 63 milliseconds to initialize
Failed to init SteamVR because it isn't installed

(steam:29146): Gtk-WARNING **: 07:43:19.001: gtk_disable_setlocale() must be called before gtk_init()
local (potentially out of sync) copy of roaming config loaded - 1498 bytes.
src/vstdlib/coroutine.cpp (817) : GCoroutineMgr().IsValidCoroutine(hCoroutine)
src/vstdlib/coroutine.cpp (817) : GCoroutineMgr().IsValidCoroutine(hCoroutine)
05/07 07:43:28 Init: Installing breakpad exception handler for appid(steam)/version(1683314987)/tid(29146)
assert_20230507074328_28.dmp[29893]: Uploading dump (out-of-process)
/tmp/dumps/assert_20230507074328_28.dmp
crash_20230507074328_29.dmp[29897]: Uploading dump (out-of-process)
/tmp/dumps/crash_20230507074328_29.dmp
/run/media/greg/games/Steam/steam.sh: line 798: 29146 Segmentation fault      (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"
assert_20230507074328_28.dmp[29893]: Finished uploading minidump (out-of-process): success = yes
assert_20230507074328_28.dmp[29893]: response: CrashID=bp-9594c616-305a-435d-9c99-114542230506
assert_20230507074328_28.dmp[29893]: file ''/tmp/dumps/assert_20230507074328_28.dmp'', upload yes: ''CrashID=bp-9594c616-305a-435d-9c99-114542230506''
crash_20230507074328_29.dmp[29897]: Finished uploading minidump (out-of-process): success = yes
crash_20230507074328_29.dmp[29897]: response: CrashID=bp-30c045e0-cf95-48f6-a06e-b53752230506
crash_20230507074328_29.dmp[29897]: file ''/tmp/dumps/crash_20230507074328_29.dmp'', upload yes: ''CrashID=bp-30c045e0-cf95-48f

I'm on Gnome 43 under Xorg.

NTMan commented 1 year ago

Just rechecked for my system (gnome 44.1 wayland session) only ~/.config/monitors.xml has matter.

❯ cat ~/.config/monitors.xml
<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>2</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DP-3</connector>
          <vendor>PHL</vendor>
          <product>PHL 436M6VBP</product>
          <serial>0x000018d4</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.997</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>
❯ gsettings get org.gnome.desktop.interface text-scaling-factor
1.0
❯ gsettings get org.gnome.desktop.interface scaling-factor
uint32 0
❯ echo $GDK_SCALE

❯ echo $GDK_DPI_SCALE

https://stackoverflow.com/questions/67682348/what-exactly-is-modified-by-setting-the-gnome-display-scale-through-gui

puxplaying commented 1 year ago

Steam beta update 1683859267:

Linux Dynamically update the UI's scaling factor when the system scaling setting changes.

ReillyBrogan commented 1 year ago

Yeah is this working for anyone now? It was working on Plasma 5.27 Wayland by using GDK_SCALE=2 but it was broken by the update that @puxplaying mentioned and hasn't worked since. I've tried removing the env variable in case it was conflicting somehow but removing it didn't help. -forcedesktopscaling=2.0 does work but that seems like a poor solution especially considering that I have a different scaling factor set when I'm connected to my big 4k screen vs when that display is off.

dafzor commented 1 year ago

@ReillyBrogan I have scaling visually working with -forcedesktopscaling 2 %U on my shortcut, however with forced scaling it breaks in other ways, such as not being able to drag the window from most places.

Usable but occasionality annoying.

ar-lex commented 1 year ago

I am also using Plasma 5.27 Wayland and it seems that I now have worked around all HiDPI issues that I had with Steam beta.

@dafzor only having both -forcedesktopscaling and GDK_SCALE fixes the window drag issue that you mentioned.

@ReillyBrogan I created the wrapper script to run Steam with correct scaling on different monitors. It can be placed in any directory of $PATH variable such as $HOME/.local/bin (without .sh extension). I only had to remove /usr/bin/ from Exec= line of steam.desktop.

This wrapper uses wayland-info command to set the highest scaling factor of all enabled monitors, which KWin expects to have for Xwayland application such as Steam, scaling it down for monitors with lower DPI. For example, when I connect my 100% scale monitor to my laptop with HiDPI display and enable both of them, I always get correct scaling for Steam window.

The downsides:

dafzor commented 1 year ago

@ar-lex tried setting both environment var and argument at the same time with no change in behaviour.

Only the part above the community and username options are draggable and sometimes doesn't register drag events with the switches.

yhojann-cl commented 1 year ago

Now in the last update (1686779606) you can see all the small windows, now none have scale, everything is already broken on k4 screen!. if the steam deck was 4k this issue would have priority

arazilsongweaver commented 1 year ago

The broken (KDE Plasma) Wayland scaling has made its way to the stable branch. All text on my 4K system is now extremely tiny. KDE Plasma is set to 200% scaling on both 4K monitors and 100% scaling on the one 1080P screen that mirrors one of the 4K monitors. I am not using any Steam command line parameters or other environmental trickery. Steam Version: 1686779606

Mangoes commented 1 year ago

Same problem here.

With the new stable update, Steam is now completely UNUSABLE due to the tiny ui in 4k (on x11 & wayland, kde 5.27, amd 6700xt series on mesa 23.03 & 23.1.2). I use 150% scaling.

So they have released this completely broken without even testing it on kde 5.27 ?

Is there anyway to go back to the previous stable version, or do we have to understand that we just can't use Steam anymore?

ro-kue commented 1 year ago

I changed my Desktop file from Exec=sh -c 'GDK_SCALE=2 /usr/bin/steam %U' to Exec=sh -c '/usr/bin/steam -forcedesktopscaling=1.5 %U' and it works flawlessly. Not even blurry. I had to mess with the Desktop file before as well so this is still an improvement for me since now fractional scaling works.

HiDPI is a mess in Linux.

I'm on KDE and Wayland with Fedora.

Sunspark-007 commented 1 year ago

Text scaling on latest update in the desktop mode client remains broken on the Steam Deck.

Surprised to see some of you say text rendering was correct in the past. It has never been correct here. Always tiny. Windows scales properly.

I'm honestly surprised by this. Is it really that hard to just query "xrdb -query | grep dpi" to see what the logical dpi is set for, e.g. 144, and simply scale based on that result returned? 96 is 100%, 144 is 150%, 192 is 200%, etc.

akdean commented 1 year ago

The -forcedesktopscaling entry works on the main UI for me, but makes the overlay comically large and unusable, which is a shame because I really like the new notes feature.

friedc commented 1 year ago

After the update to 1686779606 now everything is small on a 4k monitor. The option -forcedesktopscaling=2 makes the scale correct everywhere, but I can only drag steam windows on the top left. Setting the environment variable GDK_SCALE=2 does not help with dragging. I am using GNOME 42.5 on a Wayland session in Ubuntu 22.04.2 LTS. My display resolution is 3840x2160.

oblivcheck commented 1 year ago

https://steamcommunity.com/discussions/forum/0/6516193260165168475/

oldkentuckymark commented 1 year ago

New update, here we go again. Valve, stop this insanity. You keep getting this wrong. Please stop trying. Environment variables are wrong. GDK_SCALE triply so, being a debug variable that non GTK apps have no business reading, and is no longer set by desktop enviroments.

Command line arguments are wrong, stop doing this, your application should work out of the box for God's sake.

And if you do Insist on trying to figure out a scaling factor from the system some other way (which you WILL get wrong) you MUST round UP, as being too large but readable is strictly and objectively better and more correct than being too small. If the scale factor is 1.00001, and you insist on making an application in 2023 that does not do fractional scaling, you must scale 2x, or things will by definition, be too small.

But stop this. Just stop it.

Give us a slider IN THE APP, to set the scale manually. That is all anyone has ever wanted or asked for. We never wanted you to read our environment variables, or force us to manually edit .desktop files. We never wanted to be forced to launch steam from the command line.

WE. JUST. WANT. A. SLIDER. IN. THE. APP.

tesfabpel commented 1 year ago

Give us a slider IN THE APP, to set the scale manually. That is all anyone has ever wanted or asked for. We never wanted you to read our environment variables, or force us to manually edit .desktop files. We never wanted to be forced to launch steam from the command line.

Technically, reading the env variable is wrong but having a slider is also not completely correct (but better): it won't work with multiple screens that have different DPIs. I believe only on Wayland this scenario can be supported, though...

Anyway, with the latest stable version (I'm on stable) it also happens to me on:

NTMan commented 1 year ago

It was enough just copy-paste ready solution from the Chromium browser codebase. It works in all desktop environments and support changing scaling on the fly when user change DE setting.

Lastique commented 1 year ago

The UI is completely broken now. @kisak-valve Please revert this update until the UI is fixed. The current version is unusable.

cprn commented 1 year ago

The UI is completely broken now.

@Lastique What are you talking about? Stop whining, the UI works fine. There are workarounds for scaling described in this thread. If you're too lazy to read it just open /usr/bin/steam as root and in the exec line add -forcedesktopscaling 2 as shown below, then save and restart Steam as usual:

exec /usr/lib/steam/steam -forcedesktopscaling 2 "$@"
nekonosukeno commented 1 year ago

Just wanted to point out that -forcedesktopscaling should only be a temporary workaround because it still fails to properly display some elements of the UI such as the log in prompts. The image attached is not cutoff, this is actually the whole window. Steam_login

Lastique commented 1 year ago

@cprn

add -forcedesktopscaling 2 as showed below

This breaks all notifications and popup windows - the text and buttons no longer fit in windows and is unreadable.

This isn't me whining, this is a valid user complaint. The UI is unusable for me, and apparently for many other users. If you think this is fine then stop posting in this thread - you're not helping by offending other users.

cprn commented 1 year ago

@Lastique Again, what are you talking about? What's unusable? Steam client run in 4K with -forcedesktopscaling 2:

I'm not offending you, I'm genuinely interested in what's unusable because AFAIK the only window that's broken is login prompt as mentioned by @nekonosukeno and it's still perfectly usable, doesn't block the user from logging in, etc.

Lastique commented 1 year ago

@cprn Besides the login window, Friends & Chat window is also cropped. As well as error popup windows such as this:

Screenshot_20230615_184548

That's Steam telling me of an error during uninstallation, something I reported in a separate bug. Note that the button to close the window is completely off the visible area. Then there are notifications that appear in bottom right corner of the screen - those are also not readable. I don't have time or will to test other places of the UI, maybe there's more.

My main point is I should not have to work around broken Steam UI. The current state of the UI is unacceptable. Valve should test it themselves before releasing to public. For god's sake, the UI scaling bug is on the surface, visible immediately as you start the client. Which means they probably didn't even start it.