steam-for-linux icon indicating copy to clipboard operation
steam-for-linux copied to clipboard

Steam Install Does Not Finish On Fresh Ubuntu Install

Open spaceshipdreams opened this issue 1 year ago • 7 comments

System specs:

OS: Ubuntu 24.04 LTS

Processor: AMD Ryzen 5 5600X

RAM: 32GB

SSD: 1TB

Graphics: NVIDIA GeForce RTX 3070

OS type: 64 bit

Gnome version: 46

Windowing system: X11

Kernel version: Linux 6.8.0-41-generic

  • Steam client version (build number or date): Used the version of Steam installed via terminal command "sudo apt install steam-installer"
  • Distribution (e.g. Ubuntu): Ubuntu 24.04 LTS
  • Opted into Steam client beta?: N/A Steam not installed
  • Have you checked for system updates?: Yes
  • Steam Logs: [generate by running this command in a terminal tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs]
  • GPU: NVIDIA GeForce RTX 3070

Please describe your issue in as much detail as possible:

I had been having issues with the Snap version of Steam installed from the Ubuntu "App Center." After reading some articles (iirc from Steam support), I found they said the Snap version in the Ubuntu "App Center" causes the problems I was having with the game I was trying to run. The articles instructed me to install the .deb version of Steam instead (which I think my terminal command would do). I just reinstalled a fresh copy of Ubuntu 24.04 LTS right before doing this.

Since the .deb Steam is not available to install through the Ubuntu "App Center," I've been trying to learn to do this in the terminal.

While trying to install Steam by means of the terminal (applying the command "sudo apt install steam-installer"), I get this message in the terminal, & the Steam install does not proceed:

The following packages have unmet dependencies:

steam-installer : Depends: steam-libs-i386 (= 1:1.0.0.79~ds-2) but it is not >installable

E: Unable to correct problems, you have held broken packages.

Before doing that, the terminal commands "sudo apt update" and "sudo apt upgrade" were applied. Another user trying to help me suggested I try the following terminal command (which I did):

sudo dpkg --add-architecture i386 sudo apt update

Then I tried the terminal command to install Steam again ("sudo apt install steam-installer"), and I get this message from the terminal:

32-bit Nvidia driver (nvidia-driver-libs:i386) required

This computer appears to be using the Nvidia binary graphics driver (the nvidia-driver package).

Steam is a 32-bit program, so running it on this computer requires the 32-bit versions of the Nvidia libraries, even if all the games you run via Steam are 64-bit. Please install the nvidia-driver-libs:i386 package.

For full functionality (including Vulkan), also install the libraries listed as Recommends in the nvidia-driver-libs:i386 package.

If you are using a legacy version of the Nvidia driver such as nvidia-legacy-340xx-driver, please install the corresponding 32-bit legacy package, for example nvidia-legacy-340xx-driver-libs:i386.

Describe what you expected should happen and what did happen. I just wanted to install the .deb version of Steam to avoid the problem I had with a game that was associated with the Snap version of Steam. The installation of Steam in the terminal appears to have failed to complete.

Steps for reproducing this issue:

I just did a fresh reinstall of Ubuntu 24.04 LTS on this hardware. On installation, I checked the boxes to have Ubuntu install proprietary drivers and multimedia stuff (don't remember what it was called exactly). Under the "Additional Drivers" section of the "Software & Updates" app in Ubuntu, the OS says it is "Using NVIDIA driver metapackage from nvidia-driver-550 (proprietary, tested)"

I'm attaching a Libreoffice .odg file that contains a screenshot of the most recent message I have from the terminal. Steam Error Message.odg

spaceshipdreams avatar Sep 10 '24 11:09 spaceshipdreams

Hello @spaceshipdreams, if you ask apt to install steam-libs-i386 directly, does it give a better hint to ponder? Maybe sudo apt install steam-libs steam-libs-i386? This should ask apt to try to bring in both 32 bit and 64 bit dependencies for the Steam client. NOTE: If apt wants you to remove a bunch of packages at any time during troubleshooting, DO NOT let it proceed.

Since you're using the NVIDIA 550 series proprietary driver, I'd also check that you have the video driver's 32 bit userspace libraries with something like apt policy libnvidia-gl-550:i386 and install if it is missing with sudo apt install libnvidia-gl-550:i386.

The nvidia-driver-libs package name is something we know is used by Debian and Ubuntu has chosen to name differently, so I read that as the distro-modified Steam package trying to remind you that Steam needs 32 bit support from the video driver, but the specifics aren't quite right for Ubuntu.

kisak-valve avatar Sep 10 '24 13:09 kisak-valve

Running sudo apt install steam-libs steam-libs-i386 in the terminal gets the result:

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 156055 (apt)

It says that repeatedly.

Running the command sudo apt install libnvidia-gl-550:i386 as you suggested also gets the same result, a repeated message in the terminal as follows:

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 156055 (apt)

spaceshipdreams avatar Sep 10 '24 20:09 spaceshipdreams

Typing "sudo apt install steam-libs-i386" also results in the terminal spamming me with the message:

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 156055 (apt)

And if I type sudo apt install steam-installer again the terminal also spams me with the message:

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 156055 (apt)

The Steam installation still does not proceed.

I rebooted the computer and tried "sudo apt install steam-libs-i386" again, and got the following message in the terminal:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Running sudo apt install libnvidia-gl-550:i386 after the reboot gives the following message in the terminal:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

spaceshipdreams avatar Sep 11 '24 20:09 spaceshipdreams

Are there any other methods of installing Steam I should try that might work better? I can't use the SNAP version of Steam in the Ubuntu "App Center" because apparently it causes problems with SteamVR.

spaceshipdreams avatar Sep 12 '24 19:09 spaceshipdreams

The official Valve package for installation on Ubuntu is at http://repo.steampowered.com/steam/

TTimo avatar Sep 16 '24 16:09 TTimo

Using the latest LTS release:

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.1 LTS
Release:	24.04
Codename:	noble

Use the official beta/stable repository for the sake of completeness:

sudo -s #just be root for now

#ubuntu switched to a new apt sources format (set suite to stable if you wish)
printf 'Types: deb\nURIs: https://repo.steampowered.com/steam/\nSuites: beta\nComponents: steam\nSigned-By:%s\n' \
 "$(wget -qO- http://repo.steampowered.com/steam/archive/stable/steam.gpg | gpg --enarmor | sed 's/^$/./g;s/^/ /g;s/PGP ARMORED FILE/PGP PUBLIC KEY BLOCK/g')" \
 >/etc/apt/sources.list.d/steam.sources

#use i386 packages
dpkg --add-architecture i386

apt update #no issues, the repo is added successfully

#install the dependencies
apt install libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libegl1:i386 libegl-mesa0:i386 libgpg-error0:i386 libxinerama1:i386 libcrypt1:i386 steam-libs

This all works normally, but the rest requires some workarounds:

rm -rf *.deb #initial cleanup

#download the broken packages as debs
apt download libudev1:i386 steam-libs-i386 steam-launcher

#install the packages, ignoring the libcap2:i386 dependency
dpkg -i --ignore-depends=libcap2:i386 \
 libudev1_*_i386.deb \
 steam-libs-i386_*_i386.deb \
 steam-launcher_*_amd64.deb

rm -rf *.deb #cleanup

#fix dpkg status for libudev1:i386, allowing future apt updates
perl -i -p0e 's/(\nPackage: libudev1\nStatus:[^\n]+\nPriority:[^\n]+\nSection:[^\n]+\nInstalled-Size:[^\n]+\nMaintainer:[^\n]+\nArchitecture: i386\nMulti-Arch: same\nSource:[^\n]+\nVersion: 255\.4-1ubuntu8\.4\nDepends: libc6 \(>= 2\.38\)), libcap2 \(>= 1:2\.10\)\n/\1\n/s' /var/lib/dpkg/status

This allows you to launch steam, update, login, and download/play toribash (that's all I tested)

steam-libs-i386:i386 appears to be the culprit - it has a broken dependency on libudev1:i386 -> libcap2:i386

finitelife avatar Oct 08 '24 12:10 finitelife

steam-installer is an installer for Steam provided by Debian (and indirectly by Ubuntu). Valve's equivalent package is called steam-launcher.

steam-libs-i386:i386 appears to be the culprit - it has a broken dependency on libudev1:i386/libcap2:i386

Steam requires libudev1:i386 and libcap2:i386, but they are provided by Ubuntu, and Valve does not control their content. If they are not installable at any given time, then Steam will also not be installable. It's up to Ubuntu to provide those two packages at a version that matches their 64-bit (amd64) equivalents.

When combining 32-bit and 64-bit packages (which Steam must do, to be able to run both 32- and 64-bit games), the apt/dpkg packaging system used in Debian and Ubuntu requires them to be at the same version number; if they get out of sync (hopefully only temporarily!) then they won't be installable.

ubuntu switched to a new apt sources format

It's fine to combine the old apt sources format ("one-line") with the new apt sources format ("deb822"). Valve's steam-launcher sets up apt sources using the old format for maximum compatibility: if it used the new format, it would not be able to work on older versions of Ubuntu. Having said that, the minimum version that can work is now Ubuntu 16.04, which might be new enough that the deb822 format is available.

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 156055 (apt)

This is normal if you have another apt process running, perhaps in a different terminal, or perhaps Ubuntu automatically applying security updates. If you get this, please wait for any parallel apt processes to finish, and then try again. You can monitor the progress of other apt processes (e.g. security updates) in /var/log/apt/term.log.

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

This probably indicates that you rebooted while a package was being installed (perhaps a security update or some other OS update). Please try to avoid doing that - I'm surprised that Ubuntu lets you do that, and doesn't delay the reboot until package installation has reached a consistent state.

smcv avatar Oct 08 '24 15:10 smcv

@finitelife wrote:

the rest requires some workarounds

Please could you describe the steps that you initially took, the result that you expected, and the result that you actually observed?

Describing workarounds is useful additional information, but that doesn't tell us what is wrong, so that we can try to fix it.

smcv avatar Oct 24 '24 16:10 smcv

We didn't identify any major issues after further testing on Ubuntu 24. The instructions at http://repo.steampowered.com/steam/ have been slightly updated.

TTimo avatar Dec 26 '24 16:12 TTimo