This would be a super useful feature. I feel like if a Valve started a community effort, the community would help
The Linux community has been joking about a GTK Steam client for ages. And I would find it absolutely fantastic if a FOSS Steam Client would be made upon GTK.
The chance of this happening, I think is very small. But with Valve you never know..
My vision of a GTK Steam client would be a simplistic client following the GNOME human interface guidelines which can install games, launch games, provide the usual Linux/Proton configuration options, basic Steam news and chat functionality. Store functionality would be optional. Preferably no build-in web browser.
The benefits of this:
The downsides:
My vision of a GTK Steam client would be a simplistic client following the GNOME human interface guidelines which can install games, launch games, provide the usual Linux/Proton configuration options, basic Steam news and chat functionality. Store functionality would be optional. Preferably no build-in web browser.
Agreed. There's a program called GameHub, which is a client for platforms like Steam. It's in GTK, and it looks amazing because it integrates in the Linux desktop:


My vision of a GTK Steam client would be a simplistic client following the GNOME human interface guidelines which can install games, launch games, provide the usual Linux/Proton configuration options, basic Steam news and chat functionality. Store functionality would be optional. Preferably no build-in web browser.
Agreed. There's a program called GameHub, which is a client for platforms like Steam. It's in GTK, and it looks amazing because it integrates in the Linux desktop:
How is this too much different from Lutris? That's my solution for now, but I don't get store or other functionalities
GameHub's goal is to have quick access to all your games in one place, whereas Lutris' goal is to have access to Windows programs in Linux with the help of user-written scripts. Lutris happens to have a feature to store all your games in one application.
Most people would prefer Lutris, because of the scripts written by users, and because it is more mature.
I second this. While I like steam's built in look, making it able to absorb the color scheme or theme of your KDE desktop for example, or able to move the menu buttons from the top left to anywhere depending on the system's title bar text position, would help it blend in more with desktops that have a specific palette.
or able to move the menu buttons from the top left to anywhere depending on the system's title bar text position,
@bonkmaykrQ that's my biggest issue, all of my other apps use menu buttons on the left, and it really surprised me that Steam doesn't respect that, given that Valve is really the hero of the Linux gaming community
Yeah! I always wanted to be able to move the close/minimize buttons to the right and move my action bar to the center.
Wow! Even 8GB of RAM is considered small nowadays, due to ugly web apps. Would love to have Steam GTK client
Haha, I had 8 gb of ram for a long time. Never had a need to upgrade but I did anyway, at 16gb now and just might move to 32 to make room for a KVM. That being said, Electron isn't exactly the most resource efficient! GTK should have a smaller footprint.
+1 for a steam GTK client
I would prefer a Qt/C++ or QtForPython approach instead. Using it could even help to allow the client to run on WebOS TVs for using as steam link.
As a side note, as Chromium is essentially part of QtWebEngine, Steam could smoothly migrate using incremental steps that lead from a Chromium PWA, to a Qt native app, whilst retaining the code re-use that is apparent with respect to the Steam Store.
Basically, the problem here is that the GTK client will only look good on Linux. Qt looks good everywhere.
I've had more problems with Qt than with GTK, especially with Flatpak and Wayland; thankfully KDE is working really hard on fixing those issues. Anyway, if Qt is easier to develop/maintain than GTK, then I wouldn't mind the switch to Qt instead, since the current client uses a lot more RAM than it should, especially when it's downloading and installing games/updates.
As for the "GTK client will only look good on Linux", I disagree. GIMP 2.99 for example has been looking great on Windows 10, and it's in GTK 3, https://www.youtube.com/watch?v=7aPDlxG9DUg. Maybe I'm cherry picking or being biased right now, but that's what I think. Though as I said, I think that even Qt would be marginally better than the current client.
A GTK client would be nice, but I think that overall Qt might be a better choice. I don't have much any experience developing applications with Qt or GTK, so I can't speak to the difficulty of developing/maintaining the application, but I will say GTK tends to look better on Linux, at least on the DEs I use frequently.
I think it would be great to have a public API for steam, so third party developers can create frontends for gtk, qt etc.
Or there already is?
I've had more problems with Qt than with GTK, especially with Flatpak and Wayland; thankfully KDE is working really hard on fixing those issues. Anyway, if Qt is easier to develop/maintain than GTK, then I wouldn't mind the switch to Qt instead, since the current client uses a lot more RAM than it should, especially when it's downloading and installing games/updates.
As for the "GTK client will only look good on Linux", I disagree. GIMP 2.99 for example has been looking great on Windows 10, and it's in GTK 3, https://www.youtube.com/watch?v=7aPDlxG9DUg. Maybe I'm cherry picking or being biased right now, but that's what I think. Though as I said, I think that even Qt would be marginally better than the current client.
Actually, GIMP (outside of development 3 version) is one of the last apps still stuck with GTK 2, which is deprecated: https://archlinux.org/todo/gtk-2-eol/
I agree with other options, I initially thought of Steam using GTK since it already has some dependences of it, but while both toolkits can look fine no matter the platform (though GTK has a feel of being more Linux-like due to its history indeed), Qt might be a better approach, as it's more Windows-like out of the box and Steam Deck will be using KDE which pusesh Qt heavily.
The look and feel (which got improved with the latest client updates, and more things can be done from web anyway), along the Wayland support #4924 (which is great on Qt) is the last major gripe I have. :) Open sourcing parts of it would surely help speed it up though, especially as other client does that (Itch, gamejolt and Desura prior to that).
Guys I found cool GTK Adwaita theme for Steam. It looks neat and blends very well with other Adwaita apps. Link: https://github.com/tkashkin/Adwaita-for-Steam

I know it's not GTK client but if you only care about how it loooks this might be good for you.
there is https://crates.io/crates/steam-api for a rust-based approach. (I might be biased here but rust has nice gtk bindings)
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/7454#issuecomment-729812132
There is a project, though, that remakes Steam's UI in GTK4 - called AdwSteamGTK, available on Flathub. Here's a photo from my own Steam:
The link to project:
https://flathub.org/apps/io.github.Foldex.AdwSteamGtk
Edit: fixed GitHub on Flathub
There is a project, though, that remakes Steam's UI in GTK4 - called AdwSteamGTK
It's a good project, but it takes a heavy toll on hardware performance and hardly modifies any of the backend web page elements, like the Store home page (I have a really beefy all-AMD system and I get a noticeable 0.5'' delay on every mouse hover). It's a minimal cosmetic modification with no immediate gain, so a fully-fledged GTK client would have been far more optimal on Linux systems.
I would prefer a Qt/C++ or QtForPython approach instead. Using it could even help to allow the client to run on WebOS TVs for using as steam link.
As I stated before, and since SteamOS is already using KDE Plasma, would be better suggestion to move to Qt instead of GTK, which is major used with C++, but work with Python and have bindings for others languages, as Rust and Java, if they are needed, also, if the frontend devs like, they could use QML instead, which will benefit the Big Picture together with QSS (CSS but made for QML), both Widgets and QML can use Qt WebEngine for render webpages. Also KDE has Kirigami, which recently the EasyEffects ditched GTK in favor of Qt/QML/Kirigami approach.
Remembering Qt is not only for Desktop/Mobile, but it work on embedded devices too, it is used in Infotainment devices in airplanes and sea boats, as well on cars. This will be perfect for Steam/SteamOS in the different hardwares.
Please use qt, lutris uses gtk, gamehub uses gtk we need a something for qt and kde.
Your system information
Please describe your issue in as much detail as possible:
I know it's an unusual issue, but please hear me out.
I love the work you people have done to improve gaming in Linux, but to be honest, the Steam client integrates into Linux terribly.
Since
Steam uses Electron for the client- correction: it does not, but the other points remain - there is no uniformity with other GTK (and Qt) applications. It would be a great addition to select the theme we want and have Steam automatically use the GTK theme.ElectronThe client has been known to be a RAM hog as well, so people playing with 8GB RAM will often be forced to either buy more RAM sticks or use swap. Further, Steam's file picker doesn't use GTK/Qt's file picker, which makes it integrate into Linux even less.Second, Wayland is being heavily pushed by KDE, GNOME and Red Hat.
ElectronThe client doesn't support Wayland at all (and won't anytime soon), so users using Wayland will still have to fall back to X11.Third, Flatpak. I personally use Flatpak when Flatpak is available, and a lot of users use the Steam flatpak as well. Using GTK will not only fix a lot of issues in the Steam flatpak and make Steam integrate more into Flatpak, but it will also make it really easy to utilize features of Flatpak like XDG File Portals.
Fourth, open source. There are a lot of users using Steam already, so there is no doubt that Steam will receive a lot of contribution by open sourcing the client, e.g. security, performance, improvements, etc. I know this is easy to say, but knowing how much Valve cares about FOSS not for public relations but for ethics and user freedom, I think this is a good reason. My request is more on the client side and less on the server side, since open sourcing the server side might have some licensing issues, etc. Although it's possible to use GTK for proprietary software:
https://en.wikipedia.org/wiki/GTK
I hope it is going to be considered. I would love to see Steam integrate more into Linux to have a much better gaming experience than Windows.