protonscr

Provide 64-bit Steam client (so we do not have to multi-arch just for Steam ...)

steamclosed
ValveSoftware/steam-for-linux#5342 · opened 2018-01-16 by ghost · updated 2019-06-24 · 40 comments · github
?ghost 2018-01-16 github

Please provide a 64-bit Steam client. I use Debian and I have to multi-arch just for Steam.

It is horrible dropping a i386 graphics stack on top of your amd64 system to play a 64-bit game (Counter-Strike:Global Offense) because Steam is only available as i386.

Kkisak-valve maintainer 2018-01-16 github

Hello @fredddii, this feature request has been answered at https://github.com/ValveSoftware/steam-for-linux/issues/179#issuecomment-267790879.

Since there are many 32 bit only games and support for these games isn't going away, it's largely irrelevant if the steam client itself is 32 bit or 64 bit.

?ghost 2018-01-17 github

It is very relevant. I do not wish to run 32-bit games or any other 32-bit software for that matter.

I need Steam to play Counter-Strike: Global Offensive, which is 64-bit. So in my case it would be pleasant if I could have a 64-bit Steam client so I do not need to drop a functional 32-bit system on top of my 64-bit system for one single application.

The following NEW packages will be installed:
gcc-6-base:i386 libbsd0:i386 libc6:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386
libedit2:i386 libelf1:i386 libexpat1:i386 libffi6:i386 libgcc1:i386
libgcrypt20:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
libglapi-mesa:i386 libgpg-error0:i386 libgpm2:i386 libllvm3.9:i386
libncurses5:i386 libpciaccess0:i386 libsensors4:i386 libstdc++6:i386
libtinfo5:i386 libtxc-dxtn-s2tc:i386 libudev1:i386 libx11-6:i386
libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386
libxinerama1:i386 libxshmfence1:i386 libxss1:i386 libxxf86vm1:i386
steam:i386 zlib1g:i386
0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.0 MB of archives.
After this operation, 201 MB of additional disk space will be used.

None of this would be necessary if I could use a 64-bit Steam client.

TTheYoshiGuy 2018-08-05 github

I second this. I've just had to switch from mesa 18.3 back to mesa 18.14 because of issues with 32-bit libs.
I'll have to toggle this back next time I want to play games in Cemu.

Please provide a 64 bit steam client as well.

BBoobies 2018-10-10 github

Another problem is that installing the Steam client for 64-bit Debian uninstalls my video driver to replace it with the 32-bit version. I cannot have this happen for various reasons and have stopped using Steam in over one year because of this despite having a large library of games. Please help us use Steam. Thanks.

Kkisak-valve maintainer 2018-10-10 github

Hello @Boobies, what's the exact command you're trying to use to install the video drivers?

BBoobies 2018-10-10 github

Before I answer your question, I think there are a few relevant details I should mention. I install the client via Debian's repository. The real issue seems to be Steam's dependency on the 32-bit OpenGL libraries. Debian's wiki page for Steam ( https://wiki.debian.org/Steam ) has the following note:

"Installing the 32-bit OpenGL libraries may uninstall the 64-bit drivers you may have previously installed. Installing the AMD graphics or NVIDIA graphics drivers for your system is recommended. The appropriate OpenGL library will be installed along with those drivers. If you installed these drivers from jessie-backports be sure to also install the 32 bit library from jessie-backports."

If I do not install the libgl1-nvidia-glx:i386 package, I am not asked to replace my driver. But, of course, if I don't install it, I can't fire up the Steam client. Presumably, the same thing happens for AMD.

As far as the driver goes, I have to use Bumblebee so I install it as such:

apt-get install bumblebee primus

I doubt it would make any difference whatsoever if I didn't have to use Bumblebee.

Sorry for the bad formatting, I'm using my phone to type this reply and it's a pain.

PS: Is reinstalling the 64-bit drivers after installing Steam a possible workaround? If it is, it's still quite annoying.

PSS: Actually, I think installing libgl1-nvidia-glx:amd64 would have the reverse effect so probably not.

Kkisak-valve maintainer 2018-10-10 github

This looks like the more relevant wiki page to follow for Debian and optimus laptops https://wiki.debian.org/Bumblebee#From_repository.

There's situations where apt isn't being particularly clever with 32 bit + 64 bit driver variants. In my experience it can be made to behave by asking for both variants at the same time, (e.g. apt install libgl1-mesa-glx libgl1-mesa-glx:i386) but it's probably better to give the bumblebee guide a read first.

It's a bad idea to let apt go forward with any situation that removes the 64 bit driver variant, that will just make a bigger headache.

Rrafael2k 2018-12-06 github

I use slackware and there is no multilib by default. It's a mess have to install 32 libs and keep them consistent just to run steam client. Please, just type ./configure and make in a 64 system for us.
; )

BBoobies 2018-12-07 github

It's surely not that simple :) (And I doubt Valve uses GNU Autotools for Steam for there to be a "configure" script.)

LLyle-Tafoya 2018-12-08 github

According to official statements from Valve, "Currently, Steam for Linux is only supported on the most recent version of Ubuntu LTS with the Unity, Gnome, or KDE desktops.", so I don't think the fact that you use Slackware is a convincing argument. I would be surprised if they considered it a high priority to help 64-bit purists keep their systems slim.

Rrafael2k 2018-12-08 github

It's supported by whatever Linux which has a recent libc and X. The dynamic linked libraries are very short: linux-gate.so.1, libX11.so.6, librt.so.1, libdl.so.2, libstdc++.so.6, libpthread.so.0, libm.so.6, libc.so.6, libxcb.so.1, ld-linux.so.2, libgcc_s.so.1, libXau.so.6, libXdmcp.so.6 and libbsd.so.0. Anyone from Valve?

Ggracicot 2018-12-11 github

Linux will most likely deprecate 32 bit soon: https://lkml.org/lkml/2018/12/10/1151

That said, 64 bit systems will still support 32 applications, but steam forcing it's client to enable multiarch is really annoying. Having a 64 client and supporting the 32 bit games through the steam runtime without affecting the whole system would be so much better.

Kkisak-valve maintainer 2018-12-11 github

Hello @gracicot, x32 is not x86 (traditional 32 bit). It is a kernel ABI that some would argue x86_64 should have been using from the start, but was introduced too late to get mainstream momentum.

Some more info: https://en.wikipedia.org/wiki/X32_ABI

Ggracicot 2018-12-11 github

@kisak-valve ah, indeed I confused the two. Thanks for responding

BBoobies 2018-12-20 github

@monotek Are you trying to clarify Valve's intentions to its developers by linking them to an article where someone speculates their goals? :)

Sschumacher006 2018-12-20 github

@monotek Are you trying to clarify Valve's intentions to its developers by linking them to an article where someone speculates their goals? :)

the native 64-bit client will arrive soon!!

Ttamusjroyce 2019-01-19 github

AMD graphics drivers have dropped 32-bit support. Since I upgraded my graphics card to a AMD RX580 (because my nVidia 460 geforce is no longer supported), Steam is currently broken for me.

It would be nice if Linux had a tool that would wrap the 32-bit library to call the 64-bit library. Through vthunk, pipes, or whatever. Even if it is slow. Just to support situations like this.

Not as interested about if 32-bit being bad. Just interested working system for AMD graphic cards when a new DVD iso comes out. 64-bit client would be tremendously helpful!

Note: Upgraded to Clockwerk-beta, added some packages from stretch (just crack attack & xpilot-ng), upgraded kernel to 4.19 from stretch-backport (steam kernel 4.17 didn't work for me...but steam 4.14 does), doubled my / partition to 22GB, 22GB /boot/recovery, 16GB swap, and the rest to /home. Experimental. But I like what Steam has done. And it is easy to link in a few built-in oldies to the steam client (once you chroot per gentoo guidelines and change desktop password & alter sudoers so steam can su into desktop)!

Vv1993 2019-01-27 github

Had to upgrade LLVM which doesn't provide 32bit packages in official repos, removing 32bit OpenGL libraries which depends on them. Probably will need another linux installation just to play games (which don't need them) or just forget about Steam until 64bit client arrives.

BBoobies 2019-01-29 github

By the way, I should report that the steps suggested by @kisak-valve unfortunately didn't work for me. I, too, have stopped using Steam for the time being. Whatever solutions may be out there, if there are any at all, seem like more trouble than they're worth.

Jjayagami 2019-03-24 github

I thought it was some kind of computer or driver problems until I found this page.OK, I give up.

Ttamusjroyce 2019-03-24 github

https://github.com/ShadowApex/steamos-ubuntu - works well for me now. I restarted from scratch using Debian. But it works for Ubuntu too. Had to upgrade my processor to support sse3. It takes some more work to get SteamOS composite full-screen desktop to work.

Steam is only a downloader, launcher, licensors. It doesn’t run your games. Proton-wine runs your games. And it is 64-bit. Try Letris and setup a wine prefix using proton wine for a game it supports (like overwatch). It will also detect and launch steam games. But you will have a heafty GUI running in the background rather than SteamOS full screen.

Rreavertm 2019-03-31 github

Hello @fredddii, this feature request has been answered at [#179 (comment)](https://github.com/ValveSoftware/steam-for-linux/issues/179#issuecomment-267790879).

Since there are many 32 bit only games and support for these games isn't going away, it's largely irrelevant if the steam client itself is 32 bit or 64 bit.

I think there might be some confusion in this thread. As I understand, Steam Runtime is responsble for allowing running 32bit only games. Steam Runtime also runs game overlay libs (which also need to be provided in game supported architecture since game links or dlopens it). But I think nobody asks for dropping 32bit support from Steam Runtime, but for Steam Client itself to use 64bit itself, so that OS-provided multilib is no longer necessary to run Steam Client app. Or perhaps Steam Runtime alone, even though it provides all necessary 32bit deps (since games are build againts it), still requires host OS to have some 32bit multilib to work? @kisak-valve could you please help clarify above?

Kkisak-valve maintainer 2019-03-31 github

Hello @reavertm, re-reviewing this issue report, I probably should have called this issue report a duplicate of #3518 instead of #179, but #179 is what I had found in a timely manner.

Assuming no steam runtime compatibility issues, we need the host to provide 32 bit OpenGL userspace support for many games and it would be nice to have 32 bit Vulkan support for 32 bit DirectX 10/11 games run with DXVK.

Time has revealed there are some libraries that behave better when host-provided variants are available. As an example, search the issue tracker for alsa 1.1.0.

Ddaithi-coombes 2019-03-31 github

Can't the steam app be in 64bit, then if i386 needed for 32bit OpenGL games the user can then "choose" to destroy their libraries, degrade their graphics card drivers and pollute their machines with i386? Don't see why everybody that wants to use Steam for linux has to:

  • destroy their libraries
  • degrade their grahics card drivers
  • pollute architecture with i386
LLyle-Tafoya 2019-04-01 github

32 bit client can work on both 32bit and 64bit machines. 64 bit client cannot. It seems pretty straight-forward. You assertion that this "destroys their libraries" and "degrades their graphics card drivers" seems a bit dramatic. I don't see why Valve should have to maintain 2 versions of their client just to appease a small minority of 64-bit purist elitists.

BBoobies 2019-04-02 github

It is not dramatic, however. One cannot simultaneously use 32- and 64-bit graphics drivers so installing Steam currently forces one to remove their 64-bit drivers and associated libraries, thus breaking all sorts of things for people.

Linux distros even worn about this:

From https://wiki.debian.org/Steam#A64-bit_systems_.28amd64.29 : "Installing the 32-bit OpenGL libraries may uninstall the 64-bit drivers you may have previously installed."

From https://wiki.archlinux.org/index.php/steam : "Installed 32-bit version OpenGL graphics driver."

etc.

Vv1993 2019-04-02 github

@Lyle-Tafoya Generally, your statement is correct but have flaws:

  1. "32 bit client can work on both 32bit and 64bit machines. 64 bit client cannot." untill you face issues with libraries, which is main reason for this issue.
  2. "I don't see why Valve should have to maintain 2 versions of their client just to appease a small minority of 64-bit purist elitists." — at first, almost noone use 32bit hardware these days, especially for gaming. Also, "2 versions" in fact most likely isn't much bigger than another build flags and different package deps.
Jjdknox 2019-04-14 github

Hello @fredddii, this feature request has been answered at [#179 (comment)](https://github.com/ValveSoftware/steam-for-linux/issues/179#issuecomment-267790879).

Since there are many 32 bit only games and support for these games isn't going away, it's largely irrelevant if the steam client itself is 32 bit or 64 bit.

Why assume that every user plays 32 bit games? That's also like saying that "it's largely irrelevant if your OS itself is 32 or 64 bit because 32 bit apps exist."

Why not go back to 16 bit and rehash the same bad arguments? Or let's go back to punch cards. :roll_eyes:

In the sake of transparency and posterity, just admit that Valve doesn't feel like supporting a proper client. Although, if that was really the case, then why this: Added support for shipping different binaries to 64bit vs 32bit operating systems ? Unless that update is referring to game binaries and not client binaries.

Vv1993 2019-04-14 github

Not to mention that

1996 — Super Mario 64 (64-bit on launch)
2019 (or later) — Steam Client 64-bit (as part of update)

So far steam client is around 23 years late to the party… let's see how many time we'll have to wait!

Hh1z1 2019-04-15 github

One cannot simultaneously use 32- and 64-bit graphics drivers so installing Steam currently forces one to remove their 64-bit drivers and associated libraries, thus breaking all sorts of things for people.

That is a debian/packager problem it has nothing to do with Linux, Gaming, nor Steam other then the idea gets pushed upstream thus breaking things that otherwise worked. There's nothing to stop distributions from creating their own 64bit runtime.

JJakubVanek 2019-06-18 github

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

Ggerrywastaken 2019-06-22 github

it's largely irrelevant if the steam client itself is 32 bit or 64 bit.
topic closed
(47 thumbs down, 0 thumbs up)

Yeah so how about now @kisak-valve ? Still irrelevant?

https://lists.ubuntu.com/archives/ubuntu-devel-announce/2019-June/001261.html

The middle of 2019 has now arrived. The Ubuntu engineering team has
reviewed the facts before us and concluded that we should not continue to
carry i386 forward as an architecture. Consequently, i386 will not be
included as an architecture for the 19.10 release, and we will shortly begin
the process of disabling it for the eoan series across Ubuntu
infrastructure.

While this means we will not provide 32-bit builds of new upstream versions
of libraries, there are a number of ways that 32-bit applications can
continue to be made available to users of later Ubuntu releases, as detailed
in [4]. We will be working to polish the 32-bit support story over the
course of the 19.10 development cycle. To follow the evolution of this
support, you can participate in the discourse thread at [5].

Ppremkumarmahenderker 2019-06-23 github

Now what you guys say... Canonical announced plans to drop 32-bit packages and libraries from Ubuntu 19.10. This is a huge blow to Valve’s Steam in the future.
There must should be a 64 bit steam client & ubuntu game repositories has to be upgraded by 64 bit games.

CChiitoo 2019-06-23 github

There are a variety of options for Valve to choose from, as they certainly are not (thankfully) locked in on Ubuntu. :]

In fact, going forward, Ubuntu will not be supported nor recommended for use by Steam [1].

  1. https://twitter.com/Plagman2/status/1142262103106973698
Vv1993 2019-06-23 github

If Valve don't care about linux guys that much that they can't setup another build (because I truly don't think that they were using a lot of 32bit-specific hacks, but if they did, it's another good reason to leave them), it's probably just time to move on from steam. That's not making something with number 3 in it, that is setting another build environment with some minor one-time tweaks.

Go and enjoy your monopoly, Valve. But without me, ok?

Ddaithi-coombes 2019-06-24 github

well, from this thread at least we know that Valve either:

  1. havent got a clue what software is
  2. have paid a cheap company to handle their online replies

This thread is becoming hilarious and should be escalated internally.

Vv1993 2019-06-24 github

@daithi-coombes
Or 3: decided to drop linux support as quietly as possible.

But yeah, this is going hilarious.

Kkisak-valve maintainer 2019-06-24 github

Hello, this issue report has been locked due to the attempt to spread internet drama.

The feature request here is a duplicate of #3518 in addition to the response that was already given at https://github.com/ValveSoftware/steam-for-linux/issues/179#issuecomment-267790879. Trying to force a response never ends well for anybody. Please use a community forum instead of this issue tracker to discuss the current events.