steam-for-linux
steam-for-linux copied to clipboard
Not working in 64-bit only distributions (ex. Centos 7)
Currently, client asks for the 32 bit libraries installed. In distributions where this is not available (Centos 7), client will not load.
The client is a 32-bit app so this is expected behavior. Keeping this open as a feature request for a pure 64-bit client, but there aren't any plans to make one at the moment.
@denali1 CentOS does support 32bit libs... Visit: http://mirror.centos.org/centos/7/os/x86_64/Packages/ and search for libstdc++-4.8.2-16.el7.i686.rpm and you'll clearly see that 32bit systems are supported.
Correct, it's only installation on 32-bit systems that is no longer supported as of CentOS 7.
Perhaps somebody should correct the wiki then @mdharris? Because according to the wiki that is for multiarch support (as dictated by upstream which the Wiki claims to follow) which means that you can in-fact install any of those .i686 packages by simply doing "yum install package.i686" and it will install them (the same way all multi-arch systems work, except for us Debian users it's package:i386)
On a side note: That was a CentOS 7 repo with all those i386 packages.
Thanks to @envygeeks, it is now working. It has other problems that are independent of this report.
The Centos folks, via their mailing list, are slowly working their way through releasing i686 packages, but it isn't a priority and conversation on the mailing list about it died out around Sept 12. Luckily, the packages that Steam needs on Centos are available, but I'm not certain updates will occur. Only time will tell.
As stated in #5530, as of 2018 all Desktop distributions of Linux have removed their 32bit versions. 32bit is mostly only for low-cost hardware (ARM, etc).
I was hoping that some distributions build from source, but it seems all are using the upstream binaries. Polluting a x64 system with tons of 32bit libraries just to run steam is a bit much and not necessary.
Even though the client wont ever need the x64 registers, it is a matter of keeping the system clean. Isn't it enough to replace the 32bit dependencies with their x64 counterparts?
@lostiniceland,
Your definition of “all Desktop distributions of Linux” might be somewhat more narrow-like than mine, but no, not all of them have removed their 32-bit version. :]
Most(?) of the games available via Steam are still likely to depend on 32-bit libraries as well, so with that in mind, I'm not sure if having a 64-bit client would make much sense still, if it doesn't offer any clear advantages other than people being able to stick to 64-bit only installations (which might be the case since there still is no such client).
As for building from source... many would like to do just that. A lot.
Unfortunately though, the Steam client source code is not open nor available for that to happen.
@Chiitoo Thanks for the insight. I thought that the source available here can be used to build the client.
Honestly, I was struggling with definition "all desktops switched to x64" myself. Sure there are many that still provide 32, but when considering the distros with users over 100k there are probably not more than 5 distros (Ubuntu, Fedora, OpenSuse, come to mind).
With regards to the libs: I expected that the games are build using static-linking, so they do not depend on libraries to be dynamically available. If the Linux games provided by Steam make use of 32bit libraries I concur with you.
Anyway, would be great to see something moving forward. There are some issues here suggesting AppImage/Flatpack which would be fine for my use-case as well.
Yeah, I figured you were talking about the most common/popular distributions in the wild. ^^
I'm not too deep into the linkings of games (yet), so I'm not entirely sure of all the details that have to be considered, and how it affects the Steam client itself, but using the system libraries has the advantage of potentially being up-to-date, meaning (hopefully) less security issues and all that. I believe Steam itself has improved with regards to this lately, preferring system libraries, if newer, by default.
It seems like games through Steam don't expect something to be available system-wide, and instead ship bundled versions which have been (hopefully) tested to work with said game, and it makes sense in that they shouldn't need to worry about an update to a library breaking their game. This might be more of an issue with regards to proprietary applications in general though, since open source games seem to often be happy with system libraries.
Flatpak and such are to my understanding similar in that they bundle libraries, and possibly even more, instead of using the (possibly newer) system versions.
I'm definitely not against a 64-bit only Steam client, nor more games moving towards that too. :]
I support this!
It's been known for a year now that macos is moving to be pure 64bit distro (right, not really Linux), but also some of the most established Linux distributions announced dropping 32bit support (which makes sense from a security POV - much less to test for and much harder to execute overflow errors [naive]).
Dropping 32bit support from the GA version should (or even must!) not be considered rogue against legacy games anymore. To play legacy games one can still use older distributions.
32bit is legacy. We should be done with it. For all the good reasons.
Is there any news on that?
What is the problem in providing a native 64bit client? C'mon guys... we're in the 21st century!
Being forced to install 32bit OpenGL features on 64bit Linux can mess up ones Linux system easily.
Can someone give an idea why a 64bit Linux client is still not available?
I would guess it is because many, if not maybe even most (this would be an interesting statistic for valve to report) of the games are 32-bit as well, thus requiring it for the launcher means that a bulk of the games will also work on the system as 64-bit support is otherwise implied nowadays?
Ubuntu 19.10 (and 20.04) will likely drop the i386 architecture completely: https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Drops-32-bit-x86
Linux Mint too apparently : https://www.fayerwayer.com/2019/07/linux-mint-20-32-bit/
@erwincoumans We can add too that Mac OS users have full 64-bit Steam Client since several months... https://9to5mac.com/2018/07/27/steam-for-mac-64-bit/
It is the responsability of game developpers to update their games to 64 bits. If they don't want to do that, we don't have to pay for not having a 64-bit client of Steam. If they don't want to update their games to 64-bit version, the game needs to be removed from Steam. Easy solution for all. We are in 2019, not in 1990.
Ubuntu already backed out from their original plan [1], and even if they didn't, Steam would simply move focus on a different distribution (or distributions).
Removing 32-bit support would effectively remove the majority of the Steam library [2]. That's probably not going to happen anytime soon. :]
- https://ubuntu.com/blog/statement-on-32-bit-i386-packages-for-ubuntu-19-10-and-20-04-lts
- https://steamcommunity.com/app/221410/discussions/0/1640915206447625383/
It would have been great to provide both 32bit and 64bit Stream clients on Linux, and let the user pick the one they prefer. I am not interested in any of those old 32bit games, and like to have a modern 64bit system without old 32bit drivers. Now I'm forced to pollute my system with 32bit drivers.
Using 32 bits librairies is just "delay the inevitable". Mac OS users have 64-bit client of Steam, Linux users wants the same thing. Ubuntu doesn't want to update 32 bit libraries on future versions of Ubuntu, so 32 bits on Ubuntu like on Linux Mint is over. Again we are in 2019, not in 1990. So we need full 64-bit client on Linux : it is just a compilation issue of their client ... So compile the client source code with 64bit compiler is a first solution. If they don't want to do it,"release the source code of Steam Client" can be a solution for users who want to compile it and get a proper 64 bit version...
Hi,
I would also appreciate 64-bit only Steam Client. I consciously was buying only 64-bit Linux native games on Steam for last 3-4 years. AFAIK, the Steam Client is 32-bit, but actually has some components, like a main browser component that is actually 64-bit, so to run Steam you need 64-bit system anyway. I really dislike having 32-bit libraries, mostly due to issue with graphical and audio drivers from time to time, as well a prospect of poorer security support in the future.
64-bit only Steam Client -> +1.
PS. Steam Runtime should remain still both 32-bit and 64-bit, to support 32-bit games from Steam. To that effect Steam Runtime should provide few extra libraries, like glibc, and possibly dynamic linker, and only load OpenGL / Vulkan and possibly libasound2 driver from distro. Kernel and X11 interfaces are stable enough to use any libraries distributed in runtime. But if games I play are 64-bit, I don't even need to worry about that.
Because macOS already has 64-bit client, I would appreciate at least some Linux only beta so we can work on this issue together, fix bugs and find ways to make it work well.
Also, I do have my own Linux distro, that simply don't provide 32-bit runtime at all. Cross-compiling is just painful. Even minimal list of libraries is pretty big when you consider all transitive dependencies (glibc, mesa, vulkan loader, dri, drm2, vdpau, va-api, llvm, zlib, wayland, stdc++, xcb, libexpat, libelf, libgcc1, libopenal, libasound2, libsystemd, libpulseaudio, fontconfig), plus probably few more like dbus, gtk, libcurl. Few others can probably be provided by the Steam runtime, like libvorbis, Just to launch Steam Client, and never actually execute any 32-bit game? It is a bit silly honestly.
It would have been great to provide both 32bit and 64bit Stream clients on Linux, and let the user pick the one they prefer.
There is no reason to do that. It only adds work for Valve. One version (64-bit) is enough. All Linux users of Steam do have 64-bit hardware and kernel. 100%.
Almost every Linux gamers depends on steam. We (Linux users) are never going to windows at any cost. If you are not going to provide a 64bit version of steam, you gonna lose us. If your consistent, I happily remove steam from my desktop. Just 6 months steam, we are waiting.
I'm a Linux user, sysadmin, and programmer, and I also have Windows, and macOS. Where are you getting this "never" from?
@envygeeks @bapidey678
Could you please not derail this rather straightly technical issue into some nonsense discussions that are not relevant to it?
This ticket is 5 years old, the only nonsense is thinking Valve is gonna care after 5 years.
32 bit makes things complex. if valve not care why should we? After all games is distraction for us. Ubuntu 19.10 (Eoan Ermine) released. Mark it.
It won't work on Ubuntu either if you use something like CUDA, which does provide the required NV driver in the CUDA repo, but not the 32 bit libs to support 32-bit apps like Steam. And then you can try to install the 32-bit libs on your own, but oh no, they depend on the Ubuntu NV driver, which in turn conflicts with the CUDA NV driver, so it removes the CUDA NV driver, but since CUDA itself depends on the CUDA NV driver, this action removes CUDA as well.
So after all, you have 2 options:
- be stuck with a Steam client that just keeps crashing because it can't find the various 32-bit libs
- be unable to use CUDA
It's 2019, 99% of your customer base is on a 64-bit system, you guys need to up your game and finally provide a 64-bit client with a big fat warning that 32-bit games won't work. It's ridiculous that I still have to keep a horde for 32-bit libs on my comp exclusively for Steam, because no other software vendor is silly enough to expect their customers to install 32-bit apps on their 64-bit distro.
Valve are you kidding me? It's almost 2020 and i am stuck with 32 bit libs which i have installed exclusively for STEAM! Really? MacOS has 64 bit client many years now, why can't linux users have native 64 bit client too? Just give us the damn source code and we'll compile it ourselves! WTF?
It's 2019, 99% of your customer base is on a 64-bit system, ...
100% actually. Steam doesn't work on 32-bit only systems.
, you guys need to up your game and finally provide a 64-bit client with a big fat warning that 32-bit games won't work.
Never going to happen. ZERO chances. Not in this century. There is no reason for 64-bit Steam client to not support 32-bit games via own runtime, and if there are some crucial dependencies missing, yes, they 32-bit games will simply not work. But not because the Steam client is 64-bit one.