So to phrase that differently, Steam is currently uninstallable on Debian. Is there a way to download older installers?
Same issue, clean OS install, no previous Steam install.
Your system information
Based on the silence, I hope this doesn't mean Debian support is falling to the wayside.
@IamNaN For what it's worth I found a hacky way to get it to install.
steam-libs-i386 via apt. This should install most of the needed binaries but it should also uninstall steam-launcher simultaneously.steam-launcher. This should cause steam-devices to uninstall simultaneously.Given that steam-devices gets uninstalled when steam-lancher installs. (and I assume vis versa), I'm going to hazard a guess that that might be part (all?) of the issue.
Thanks for that @xioren.
I'm already going though. I used apt to install packages official Steam installer wanted to but couldn't. I got the list from the console output. (I think leaving out all of the arch stuff after the colons is probably acceptable YMMV.)
sudo apt install libc6:amd64 libc6:i386 libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386
When that succeeded, I re-ran the Steam installer to get the rest. I don't think this is any less hacky. 😀
If you have Debian contrib enabled, there are two versions of the Steam launcher/installer package: steam-launcher is Valve's (official from Valve's point of view, unofficial from Debian's point of view), and steam-installer is Debian's (the other way round). Valve's steam-launcher is functionally similar to combining Debian's steam-installer and steam-devices.
Since Debian 12 'bookworm', both sets of packages have a steam-libs-i386 package, which could be what's causing trouble here: perhaps apt is not choosing the expected one?
Install steam-libs-i386 via apt. This should install most of the needed binaries but it should also uninstall steam-launcher simultaneously.
...
Given that steam-devices gets uninstalled when steam-lancher installs. (and I assume vis versa), I'm going to hazard a guess that that might be part (all?) of the issue.
Could be. These can't be installed at the same time, because they're different ways to package the same files, so they collide (and if the metadata didn't prevent this, dpkg would fail to install them both at the same time with an error about files being overwritten).
I wonder whether adding a Provides: steam-devices (= ${binary:Version}) to steam-launcher would resolve this.
I fired up a vm with a fresh Debian testing install. Here is the output when Steam tries to install the additional libs.
The following additional packages will be installed:
gcc-12-base:i386 i965-va-driver:i386 intel-media-va-driver:i386 libaom3:i386
libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libatomic1:i386
libavcodec59:i386 libavutil57:i386 libblkid1:i386 libbrotli1:i386
libbsd0:i386 libcairo-gobject2:i386 libcairo2:i386 libcap2:i386
libcodec2-1.0:i386 libcrypt1:i386 libdatrie1:i386 libdav1d6:i386
libdb5.3:i386 libdbus-1-3:i386 libdecor-0-0:i386
libdecor-0-plugin-1-cairo:i386 libdeflate0:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386
libedit2:i386 libegl-mesa0:i386 libelf1:i386 libexpat1:i386 libffi8:i386
libflac12:i386 libfontconfig1:i386 libfreetype6:i386 libfribidi0:i386
libgcc-s1:i386 libgcrypt20:i386 libgdk-pixbuf-2.0-0:i386 libglapi-mesa:i386
libglib2.0-0:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386
libgmp10:i386 libgnutls30:i386 libgomp1:i386 libgpg-error-l10n
libgpg-error0:i386 libgraphite2-3:i386 libgsm1:i386 libharfbuzz0b:i386
libhogweed6:i386 libhwy1:i386 libicu72:i386 libidn2-0:i386 libigdgmm12:i386
libjack-jackd2-0:i386 libjbig0:i386 libjpeg62-turbo:i386 libjxl0.7:i386
liblcms2-2:i386 liblerc4:i386 libllvm15:i386 liblz4-1:i386 liblzma5:i386
libmd0:i386 libmount1:i386 libmp3lame0:i386 libmpg123-0:i386 libnettle8:i386
libnm0:i386 libnuma1:i386 libogg0:i386 libopenjp2-7:i386 libopus0:i386
libp11-kit0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386
libpangoft2-1.0-0:i386 libpciaccess0:i386 libpcre2-8-0:i386
libpixman-1-0:i386 libpng16-16:i386 libpulse0:i386 librav1e0:i386
librsvg2-2:i386 librsvg2-common:i386 libsamplerate0:i386 libsdl2-2.0-0:i386
libselinux1:i386 libsensors5:i386 libshine3:i386 libsnappy1v5:i386
libsndfile1:i386 libsoxr0:i386 libspeex1:i386 libspeexdsp1:i386
libstdc++6:i386 libsvtav1enc1:i386 libswresample4:i386 libsystemd0:i386
libtasn1-6:i386 libthai0:i386 libtheora0:i386 libtiff6:i386 libtinfo6:i386
libtwolame0:i386 libudev1:i386 libunistring2:i386 libva-drm2:i386 libva-glx2
libva-glx2:i386 libva-x11-2:i386 libva2:i386 libvdpau-va-gl1:i386
libvdpau1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx7:i386
libvulkan1:i386 libwayland-client0:i386 libwayland-cursor0:i386
libwayland-egl1:i386 libwayland-server0:i386 libwebp7:i386 libwebpmux3:i386
libx11-6:i386 libx11-xcb1:i386 libx264-164:i386 libx265-199:i386
libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386
libxcb-present0:i386 libxcb-randr0:i386 libxcb-render0:i386 libxcb-shm0:i386
libxcb-sync1:i386 libxcb-xfixes0:i386 libxcb1:i386 libxcursor1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386
libxinerama1:i386 libxkbcommon0:i386 libxml2:i386 libxrandr2:i386
libxrender1:i386 libxshmfence1:i386 libxss1:i386 libxvidcore4:i386
libxxf86vm1:i386 libz3-4:i386 libzstd1:i386 libzvbi0:i386
mesa-va-drivers:i386 mesa-vdpau-drivers:i386 mesa-vulkan-drivers:i386
ocl-icd-libopencl1:i386 steam-devices steam-libs:i386 va-driver-all:i386
vdpau-driver-all:i386 zlib1g:i386
Suggested packages:
i965-va-driver-shaders:i386 libcuda1:i386 libnvcuvid1:i386
libnvidia-encode1:i386 glibc-doc:i386 locales:i386 libnss-nis:i386
libnss-nisplus:i386 rng-tools:i386 low-memory-monitor:i386 gnutls-bin:i386
jackd2:i386 liblcms2-utils:i386 cryptsetup-bin:i386 opus-tools:i386
librsvg2-bin:i386 lm-sensors:i386 speex:i386 opencl-icd:i386 steam-installer
gtk2-engines-pixbuf:i386 libgtk2.0-0:i386 libudev0:i386
nvidia-driver-libs:i386 nvidia-vulkan-icd:i386 pipewire:i386
nvidia-driver-libs nvidia-vulkan-icd nvidia-vdpau-driver:i386
nvidia-tesla-440-vdpau-driver:i386 nvidia-tesla-418-vdpau-driver:i386
nvidia-legacy-390xx-vdpau-driver:i386 nvidia-legacy-340xx-vdpau-driver:i386
The following packages will be REMOVED:
steam-launcher
The following NEW packages will be installed:
gcc-12-base:i386 i965-va-driver:i386 intel-media-va-driver:i386 libaom3:i386
libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libatomic1:i386
libavcodec59:i386 libavutil57:i386 libblkid1:i386 libbrotli1:i386
libbsd0:i386 libc6:i386 libcairo-gobject2:i386 libcairo2:i386 libcap2:i386
libcodec2-1.0:i386 libcrypt1:i386 libdatrie1:i386 libdav1d6:i386
libdb5.3:i386 libdbus-1-3:i386 libdecor-0-0:i386
libdecor-0-plugin-1-cairo:i386 libdeflate0:i386 libdrm-amdgpu1:i386
libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386
libedit2:i386 libegl-mesa0:i386 libegl1:i386 libelf1:i386 libexpat1:i386
libffi8:i386 libflac12:i386 libfontconfig1:i386 libfreetype6:i386
libfribidi0:i386 libgbm1:i386 libgcc-s1:i386 libgcrypt20:i386
libgdk-pixbuf-2.0-0:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
libglib2.0-0:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386
libgmp10:i386 libgnutls30:i386 libgomp1:i386 libgpg-error-l10n
libgpg-error0:i386 libgraphite2-3:i386 libgsm1:i386 libharfbuzz0b:i386
libhogweed6:i386 libhwy1:i386 libicu72:i386 libidn2-0:i386 libigdgmm12:i386
libjack-jackd2-0:i386 libjbig0:i386 libjpeg62-turbo:i386 libjxl0.7:i386
liblcms2-2:i386 liblerc4:i386 libllvm15:i386 liblz4-1:i386 liblzma5:i386
libmd0:i386 libmount1:i386 libmp3lame0:i386 libmpg123-0:i386 libnettle8:i386
libnm0:i386 libnuma1:i386 libogg0:i386 libopenjp2-7:i386 libopus0:i386
libp11-kit0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386
libpangoft2-1.0-0:i386 libpciaccess0:i386 libpcre2-8-0:i386
libpixman-1-0:i386 libpng16-16:i386 libpulse0:i386 librav1e0:i386
librsvg2-2:i386 librsvg2-common:i386 libsamplerate0:i386 libsdl2-2.0-0:i386
libselinux1:i386 libsensors5:i386 libshine3:i386 libsnappy1v5:i386
libsndfile1:i386 libsoxr0:i386 libspeex1:i386 libspeexdsp1:i386
libstdc++6:i386 libsvtav1enc1:i386 libswresample4:i386 libsystemd0:i386
libtasn1-6:i386 libthai0:i386 libtheora0:i386 libtiff6:i386 libtinfo6:i386
libtwolame0:i386 libudev1:i386 libunistring2:i386 libva-drm2:i386 libva-glx2
libva-glx2:i386 libva-x11-2:i386 libva2:i386 libvdpau-va-gl1:i386
libvdpau1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx7:i386
libvulkan1:i386 libwayland-client0:i386 libwayland-cursor0:i386
libwayland-egl1:i386 libwayland-server0:i386 libwebp7:i386 libwebpmux3:i386
libx11-6:i386 libx11-xcb1:i386 libx264-164:i386 libx265-199:i386
libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386
libxcb-present0:i386 libxcb-randr0:i386 libxcb-render0:i386 libxcb-shm0:i386
libxcb-sync1:i386 libxcb-xfixes0:i386 libxcb1:i386 libxcursor1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386
libxinerama1:i386 libxkbcommon0:i386 libxml2:i386 libxrandr2:i386
libxrender1:i386 libxshmfence1:i386 libxss1:i386 libxvidcore4:i386
libxxf86vm1:i386 libz3-4:i386 libzstd1:i386 libzvbi0:i386
mesa-va-drivers:i386 mesa-vdpau-drivers:i386 mesa-vulkan-drivers:i386
ocl-icd-libopencl1:i386 steam-devices steam-libs:i386 steam-libs-amd64
steam-libs-i386:i386 va-driver-all:i386 vdpau-driver-all:i386 zlib1g:i386
0 upgraded, 179 newly installed, 1 to remove and 4 not upgraded.
E: Packages need to be removed but remove is disabled.
I see steam-devices gets installed. If I try to install steam-devices by itself I can confirm it wants to remove steam-launcher. I think this is the issue here; steam-devices and steam-launcher cannot coexist.
Hello @xioren, for clarity, can you also include the output of apt policy steam-launcher steam-devices steam-libs:i386 steam-libs-amd64 steam-libs-i386:i386?
@kisak-valve from the same vm as above:
steam-launcher:
Installed: 1:1.0.0.75
Candidate: 1:1.0.0.75
Version table:
*** 1:1.0.0.75 500
500 https://repo.steampowered.com/steam stable/steam amd64 Packages
500 https://repo.steampowered.com/steam stable/steam i386 Packages
100 /var/lib/dpkg/status
steam-devices:
Installed: (none)
Candidate: 1:1.0.0.75+ds-6
Version table:
1:1.0.0.75+ds-6 500
500 http://deb.debian.org/debian testing/main amd64 Packages
500 http://deb.debian.org/debian testing/main i386 Packages
steam-libs:i386:
Installed: (none)
Candidate: 1:1.0.0.75+ds-6
Version table:
1:1.0.0.75+ds-6 500
500 http://deb.debian.org/debian testing/main i386 Packages
steam-libs-amd64:
Installed: (none)
Candidate: 1:1.0.0.75
Version table:
1:1.0.0.75 500
500 https://repo.steampowered.com/steam stable/steam amd64 Packages
steam-libs-i386:i386:
Installed: (none)
Candidate: 1:1.0.0.75+ds-6
Version table:
1:1.0.0.75+ds-6 500
500 http://deb.debian.org/debian testing/main i386 Packages
1:1.0.0.75 500
500 https://repo.steampowered.com/steam stable/steam i386 Packages
Apt is selecting the Debian-modified variant of steam-libs-i386:i386 as the highest version, which pulls in steam-libs:i386 (Debian variant only), which wants to pull in (among other things) steam-devices, which conflicts with steam-launcher.
The visible part of this issue has to do with mixing two sets of meta-packages which weren't intended to be blended between repos. If the stable package version from Valve was bumped newer than what Debian 12 provides, then this issue should go into hiding until the next Debian release cycle.
@smcv any thoughts?
If the stable package version from Valve was bumped newer than what Debian 12 provides, then this issue should go into hiding until the next Debian release cycle
Yes, until/unless a newer version gets backported into Debian 12 (the equivalent did happen during the Debian 10 cycle for better hardware compatibility, although not during the Debian 11 cycle).
You can try that out by installing the beta Steam launcher (deb https://repo.steampowered.com/steam beta steam in sources.list or sources.list.d/*.list), which is at a newer version than Debian 12's packages.
For a long-term fix to this, it doesn't actually particularly matter whether we get Valve's steam-libs-i386 or Debian's, because they both pull in essentially the same supporting packages (in fact Debian's can be a bit more thorough, because unlike Valve's, it only needs to be compatible with Debian 12 and not with older Debian or Ubuntu). I think the only issue here is that Debian's steam-libs:i386 tries to pull in steam-devices, which is incompatible with steam-launcher.
For a long-term fix, I think adding a Provides: steam-devices (= ${binary:Version}) to steam-launcher would likely resolve this, because apt would see that steam-launcher is already a valid implementation of steam-devices, and therefore not try to install it separately.
With my Debian hat on, another possible long-term fix would be to change the versioning of the packages in Debian from 1.0.0.x+ds to 1.0.0.x~ds, so that Valve packages of the same underlying version number are considered to be "newer" (on the basis that if users have explicitly added Valve's apt source, they presumably expect to be getting Valve's packages and not Debian's). It's too late to do this for 1.0.0.75 or 1.0.0.76, but if the Debian packaging of 1.0.0.77 makes that change, that should avoid this sort of thing in future.
As a workaround for now, Debian 12 users can use the beta installer (download https://repo.steampowered.com/steam/archive/beta/steam-launcher_1.0.0.76_all.deb).
@kisak-valve, please could you retitle this to "... on Debian 12"? (Debian 11 should be fine.)
steam-launcher 1.0.0.76 was promoted from beta to stable today, resolving this issue. I've successfully installed today's steam-launcher onto a Debian 12 prerelease live-image (specifically debian-live-bkworm-DI-rc1-amd64-gnome.iso) as follows:
$ curl -osteam.deb https://repo.steampowered.com/steam/archive/stable/steam_latest.deb
$ sudo apt install ./steam.deb
$ steam
The link on https://store.steampowered.com/about/ seems to send a redirect to repo.steampowered.com, so that should work reasonably reliably for everyone.
If you are still seeing this symptom, please use dpkg-deb -I steam.deb to check that the version you're installing is 1:1.0.0.76 or later. My test VM received the updated version, but some regions might still receive 1:1.0.0.75 for a while if a CDN has cached it.
For a long-term fix, I think adding a
Provides: steam-devices (= ${binary:Version})tosteam-launcherwould likely resolve this, because apt would see thatsteam-launcheris already a valid implementation ofsteam-devices, and therefore not try to install it separately.
This change was already present in 1.0.0.76, so it fixes the problem in two different ways: it has the Provides, and it is also a higher version number than the version in Debian 12.
With my Debian hat on, another possible long-term fix would be to change the versioning of the packages in Debian from
1.0.0.x+dsto1.0.0.x~ds, so that Valve packages of the same underlying version number are considered to be "newer"
For completeness, I'll do this in Debian next time we import a new beta (likely to be 1:1.0.0.77~ds-1), to minimize the amount of fighting between Debian contrib's steam-installer and Valve's steam-launcher.
Because Debian contrib's steam-installer requires installation via apt and doesn't support being installed with dpkg -i, it's able to pull in all of its dependencies directly, without requiring an extra privileged step after installation.
Seems like a good resolution as both recommended solutions (changes to steam installer and changes to deb versioning) are or will be implemented. I'll go ahead and close this. Thanks!
FWIW, I just tried to install Steam on PopOS 22.04 and got the same E: Packages need to be removed but remove is disabled. which seems to block the install of some packages:
Steam needs to install these additional packages:
libc6:amd64 libc6:i386 libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386
Press return to proceed with the installation:
..........................
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libgbm1 is already the newest version (22.3.5-1pop1~1677168864~22.04~8f20e98).
libgbm1 set to manually installed.
libgl1-mesa-dri is already the newest version (22.3.5-1pop1~1677168864~22.04~8f20e98).
libgl1-mesa-dri set to manually installed.
libgl1-mesa-dri:i386 is already the newest version (22.3.5-1pop1~1677168864~22.04~8f20e98).
libgl1-mesa-dri:i386 set to manually installed.
libegl1 is already the newest version (1.4.0-1).
libegl1 set to manually installed.
libgl1 is already the newest version (1.4.0-1).
libgl1 set to manually installed.
libgl1:i386 is already the newest version (1.4.0-1).
libgl1:i386 set to manually installed.
libc6 is already the newest version (2.35-0ubuntu3.1).
libc6:i386 is already the newest version (2.35-0ubuntu3.1).
libc6:i386 set to manually installed.
The following additional packages will be installed:
libblkid1:i386 libegl-mesa0:i386 libglib2.0-0:i386 libgmp10:i386
libgnutls30:i386 libgpg-error-l10n libgpg-error0:i386 libhogweed6:i386
libmount1:i386 libnettle8:i386 libnm0:i386 libp11-kit0:i386
libpcre2-8-0:i386 libpcre3:i386 libselinux1:i386 libtasn1-6:i386
libudev1:i386 libwayland-client0:i386 libwayland-server0:i386
libxinerama1:i386 libxss1:i386 mesa-va-drivers:i386
Suggested packages:
gnutls-bin:i386 nvidia-driver-libs nvidia-vulkan-icd nvidia-driver-libs:i386
nvidia-vulkan-icd:i386
Recommended packages:
libva-glx2 libasound2-plugins:i386 libfontconfig1:i386 libva2:i386
libva-drm2:i386 libva-glx2:i386 libva-x11-2:i386 mesa-vulkan-drivers:i386
The following packages will be REMOVED:
i965-va-driver intel-media-va-driver libigdgmm12 va-driver-all
The following NEW packages will be installed:
libblkid1:i386 libegl-mesa0:i386 libegl1:i386 libgbm1:i386 libglib2.0-0:i386
libgmp10:i386 libgnutls30:i386 libgpg-error-l10n libgpg-error0:i386
libhogweed6:i386 libmount1:i386 libnettle8:i386 libnm0:i386 libp11-kit0:i386
libpcre2-8-0:i386 libpcre3:i386 libselinux1:i386 libtasn1-6:i386
libudev1:i386 libwayland-client0:i386 libwayland-server0:i386
libxinerama1:i386 libxss1:i386 mesa-va-drivers:i386 steam-libs-amd64
steam-libs-i386:i386
0 upgraded, 26 newly installed, 4 to remove and 4 not upgraded.
E: Packages need to be removed but remove is disabled.
Steam still opened, so then I closed it and installed the packages manually with:
sudo apt install libc6:amd64 libc6:i386 libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386
And then tried opening Steam and the terminal prompt didn't come up anymore, and it seems to be working fine.
During manual install it did remove these: i965-va-driver intel-media-va-driver libigdgmm12 va-driver-all - hoping that this is fine.
Also potentially relevant: I was having some issues with a ffmpeg PPA initially, but I uninstalled that, and then reinstalled the default 22.04 ffmpeg version, and then tried the Steam install again, and that's when I got the above problem.
@josephrocca: What you saw is not really the same issue as what you're replying to, although it's related. Normally I would ask you to open a separate issue instead of replying to a closed one, but I think there is not necessarily much that Steam can do about it, so it isn't necessarily actionable anyway.
If you think what you saw is a significant problem that needs resolving, please open a separate issue and attach recent apt transaction history from /var/log/apt/history.log, along with as much information as you can remember about the PPA(s) you were using.
The safety mechanism from #7982 is working: it prevented installation of Steam from removing packages that you might have been relying on.
Removing those specific packages is probably harmless, as long as you weren't counting on having VA-API acceleration for Intel GPUs - but steam-launcher doesn't have sufficiently finely-grained control over apt's behaviour to know precisely what would be removed, and certainly doesn't know the purpose of every package on every Debian-derived OS, so we have to err on the side of caution. Otherwise we could get issues like #7982, which are more serious.
Also potentially relevant: I was having some issues with a ffmpeg PPA
If you still had some amd64 libraries from a PPA installed - perhaps libigdgmm12 - then a potential root cause is that apt cannot match up their amd64 and i386 versions, which is required for multiarch, and therefore required for mixed 32-/64-bit applications like Steam.
In general, every third-party repository you add increases the risk of something weird happening.
Nothing extracted yet.
Your system information
Please describe your issue in as much detail as possible:
After installing Steam via the .deb from the Steam website and running for the first time, as expected Steam tries to install the necessary 32bit libraries. However this fails with the error:
E: packages need to be removed but remove is disabled. I believe this is because internally the command is ran with--no-remove(#7982). The package in question it is trying to remove issteam-launcher(which obviously is what the .deb installs in the first place). This catch-22 makes it such that none of the needed packages are installed.Steps for reproducing this issue: