Zorin/upstream update making trouble for Steam? (package conflicts)

I'd mentioned over here that Zorin had, during a normal software update, thrown messages about doing a partial upgrade and that after going through that, Steam threw errors, but that it fixed itself. I appear to have spoken prematurely, as Steam continues to throw that error upon launching. At the very least, this lets me get output for people to examine. It's worth noting that libnvidia-egl-wayland1 is not one I've ever tinkered with manually.

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 libnvidia-gl-555:i386

Press return to proceed with the installation: 
....................
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libegl1 is already the newest version (1.4.0-1).
libgl1 is already the newest version (1.4.0-1).
libegl1:i386 is already the newest version (1.4.0-1).
libgl1:i386 is already the newest version (1.4.0-1).
libc6 is already the newest version (2.35-0ubuntu3.8).
libgbm1 is already the newest version (23.2.1-1ubuntu3.1~22.04.2).
libgl1-mesa-dri is already the newest version (23.2.1-1ubuntu3.1~22.04.2).
libc6:i386 is already the newest version (2.35-0ubuntu3.8).
libgbm1:i386 is already the newest version (23.2.1-1ubuntu3.1~22.04.2).
libgl1-mesa-dri:i386 is already the newest version (23.2.1-1ubuntu3.1~22.04.2).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libnvidia-gl-555:i386 : Depends: libnvidia-egl-wayland1:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Press return to continue: 

Pressing return (return? When was the last time I saw a key actually marked return?) will launch Steam, and it appears to work, but the attempted reinstallation of a library happens every time, and I'm guessing the problem would matter more if I were on Wayland. So, yay, not using Wayland makes things better, but this is still a nuisance.

Anyway, I didn't manually hold a library, so I'm assuming this was done by Zorin's partial update. The thing is, I don't seem to have anything held. dpkg --get-selections | grep hold returns nothing at all, and even dropping the grep and reading through the whole list, nothing is held. sudo apt upgrade agrees: 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

So, digging further, trying to forcibly install libnvidia-gl-555 returns that it's already the newest version (555.58.02-0ubuntu0~gpu22.04.1) It also says it's set to "manually installed," which I didn't do for that particular package, but may be part of having manually installed the nvidia 555 drivers as a whole. Ok, so I have libnvidia-gl-555. The Steam errors are after the i386 version for some reason. Attempting to manually install that returns the same error Steam did.

OKAY, so unmet dependency. Trying to install libnvidia-egl-wayland1 runs me through "already the latest version" again (1:1.1.15-0ubuntu0~gpu22.04.1), and informs me that this too is manually installed. Trying to install libnvidia-egl-wayland1:i386... doesn't return an error! It, uh. Tells me it no longer needs basically anything Nvidia related and they can be autoremoved, and that it'll just automatically remove the actual driver. And also the non-i386 version of what I'm trying to fix.

  libnvidia-cfg1-555 libnvidia-common-555 libnvidia-compute-555:i386 libnvidia-decode-555
  libnvidia-decode-555:i386 libnvidia-encode-555 libnvidia-encode-555:i386 libnvidia-extra-555
  libnvidia-fbc1-555 libnvidia-fbc1-555:i386 libxnvctrl0 nvidia-compute-utils-555 nvidia-prime
  nvidia-settings nvidia-utils-555 pkg-config screen-resolution-extra xserver-xorg-video-nvidia-555
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libnvidia-egl-wayland1 libnvidia-gl-555 nvidia-driver-555
The following NEW packages will be installed:
  libnvidia-egl-wayland1:i386
0 upgraded, 1 newly installed, 3 to remove and 0 not upgraded.
Need to get 29.5 kB of archives.
After this operation, 412 MB disk space will be freed.
Do you want to continue? [Y/n] 

*deep breath* Nope. Nope, I do not want to continue. Not even a tiny bit. Any thoughts on what this Zorin update did (as Steam had not been doing this previously), and how to get it and Steam playing nicely again? I tried uninstalling steam to reinstall post-update, and uh... heh.

sudo apt remove steam
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'steam:i386' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Edit: Where's my whiskey?
Edit 2: As a fun bonus, if I launch steam itself from a terminal so I can see its output, after all the errors above, when it starts: steam.sh[193030]: Steam client's requirements are satisfied.

Some updates:

  • Purged nvidia drivers as Aravisian's instructions elsewhere on this forum
  • Took it a step further and purged some libnvidia stuff the regex in his instructions don't include (there was a stragging 560 lying around...)
  • Reinstalled 555s, rebooted
  • Reinstalled Steam

No change, error as above.

If you apt install a package, even one that can be or was installed as dependency (automatic install), that action switches it to Manually Installed. That is why you got that message.

This, to me, looks like it is trying to replace the 64bit with the 32bit package.

At any point, did you add 32bit architecture?

sudo dpkg --add-architecture i386 && sudo apt update

then hold your 64bit versions, then try to install the missing 32bit dependency?

I have not. Steam seems to want both available. When I run it now, after the bullet points I listed above, the list of things it wants to install is considerably longer, but the error is the same, and it starts anyway. The list now is:

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 libnvidia-gl-555:i386 
steam-libs-amd64:amd64 steam-libs-i386:i386

should I add architecture? I have the disk space, but I have concerns about missing things I need to hold. I'm really baffled how this whole situation came about.

Steam uses WINE and WINE requires 32bit architecture.
When you installed Steam, this should have been added at that time automatically.
I have no answers as to what, i f anything, went sideways, but adding the architecture so that the system understands how to differentiate instead of replace may help. Well, it should help...
I have not witnessed this particular issue with Wayland libraries so my confidence is low.

I take it back. I have apparently added 32 bit architecture many, many times, if I'm reading this Python correctly. From the Python script that handles dependencies (~/.steam/steam/bin_steamdeps.py):

# Check to make sure 64-bit systems can get 32-bit packages
if [ "$(dpkg --print-architecture)" = "amd64" ] && ! dpkg --print-foreign-architectures | grep i386 >/dev/null; then
    sudo dpkg --add-architecture i386
fi

So that much has in fact been done. Checking with dpkg does show amd64 and i386 as the architecture and foreign architecture respectively.

I haven't specifically held anything, but we've seen what happened when trying to install the missing dependency.

1 Like

There are steam related lists in /etc/apt/sources.list.d, which (somehow?) don't show in Software & Updates. Is there any chance that raising their priority above Zorin's will have it pull the wayland library it wants? And for that matter, why doesn't it show in Software and Updates?

steam-stable.list:

deb [arch=amd64,i386 signed-by=/usr/share/keyrings/steam.gpg] https://repo.steampowered.com/steam/ stable steam
deb-src [arch=amd64,i386 signed-by=/usr/share/keyrings/steam.gpg] https://repo.steampowered.com/steam/ stable steam

The other is steam-beta.list, entirely commented out, so it's not in play right now.

I would not ever recommend making modifications to sources, including even their priority.
In this case, I do not believe changing the priority would make a difference, either.
To me, this looks more like a package conflict. This could be due to a release error
and considering the hubub lately over Nvidia and Wayland both, this would not surprise me in the least.

That being said...
I have steam installed via the Main Universe. I do not have any additional repository added for Steam, nor is one needed.
I have Nvidia 555. I did not at any point experience this error.
So, it may be that repository that is the trouble maker, not the solution.

You could test this by moving it to another location, updating your sources in terminal, then

sudo apt --fix-broken install

sudo apt clean

and see what it outputs.

My Steam is installed directly from Steam, as in the .deb from their website. The deb added the sources. I'll try uninstalling Steam, making sure those sources went with it/moving them if not, and installing Steam from Software.

1 Like

Sounds like a plan.
The Steam in the repositories on your distro is the one that matches your distro.
Going to Steam directly means Steam does not know your distro and its dependency field.

The only reason to ever step outside of your distro's repository is simply when it cannot offer a software you need. This distro offers Steam.

My earliest experiences with Zorin's repositories were... not positive. Much of what I tried to install was sorely out of date in Zorin's repositories, resulting in a strong preference for going to the software's origin directly. You can still see a particularly extreme example of this with Calibre. The version in the repo is 5.37. The current release is 7.19; 5.37 is... I don't know how old. Calibre stops listing versions at 5.44, which was more than two years ago.

...to the point, though, the one in the repo is worse right now. Valve's own spits errors, but starts. The one in the repo...

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:


The following packages have unmet dependencies:
  steam-installer: Depends: steam (>= 1:1.0.0.74-1ubuntu2)

Please list the full output of all your sources.

...sorry, poking at things put me on my integrated graphics for a moment. Contents of all .list files in /etc/apt/sources.list.d:

deb https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu/ jammy main
deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main
#
# ProtonVPN unstable release
#
deb [signed-by=/usr/share/keyrings/protonvpn-beta-archive-keyring.gpg] https://repo.protonvpn.com/debian unstable main### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie main
deb https://ppa.launchpadcontent.net/ubuntu-x-swat/updates/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/ubuntu-x-swat/updates/ubuntu/ jammy main
deb https://packages.zorinos.com/stable jammy main
# deb-src https://packages.zorinos.com/stable jammy main

deb https://packages.zorinos.com/patches jammy main
# deb-src https://packages.zorinos.com/patches jammy main

deb https://packages.zorinos.com/apps jammy main
# deb-src https://packages.zorinos.com/apps jammy main

deb https://packages.zorinos.com/drivers jammy main restricted
# deb-src https://packages.zorinos.com/drivers jammy main restricted

deb https://packages.zorinos.com/premium jammy main
# deb-src https://packages.zorinos.com/premium jammy main

deb https://ppa.launchpadcontent.net/zorinos/apps/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/zorinos/apps/ubuntu/ jammy main
deb https://ppa.launchpadcontent.net/zorinos/drivers/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/zorinos/drivers/ubuntu/ jammy main
deb https://ppa.launchpadcontent.net/zorinos/patches/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/zorinos/patches/ubuntu/ jammy main
deb https://ppa.launchpadcontent.net/zorinos/stable/ubuntu/ jammy main
# deb-src https://ppa.launchpadcontent.net/zorinos/stable/ubuntu/ jammy main

Ok... well...
Maybe clean apt cache

sudo apt clean && sudo apt autoremove

Did you Completely Purge Steam?
And your home folder should contain a hidden steam folder:
~/.steam that should be backed up elsewhere and removed from Home or deleted to prevent it from interfering with a fresh install.

During the long silence (for which I apologize again), I did, and that actually got the repo version installing.

Nuked that at several points during the process. I keep my actual game libraries on a different physical drive altogether, so this stuff is all just config that gets recreated on first login. Also nuked /usr/lib/steam/, which had a python cache that that apt remove complained it couldn't delete.

It's nearly 3 am here, and the repo version isn't throwing errors, so I think it's time for me to call it a night; please don't wait for any further replies on my account if it's late where you are.

If I were more sensible, I'd probably call it quits here and be happy with the working Steam package from the repo, but between stubbornness, annoyance that I didn't save the output from the "partial upgrade" Zorin did that started all this (and which might be the key to understanding it), and way, way too many years of pursuing reproduction of software problems, I'll probably make a full system backup and then install fresh over the weekend to see if I can blow up Valve's package again.

Nonetheless, I'm extremely grateful for your help, Aravisian, and I hope you don't feel like I've wasted your time. This is very educational, at the very least. I knew nothing about dpkg use before starting this mess, and it's done wonders for fleshing out my distaste for wayland.

Final question for the night: man apt doesn't mention apt clean. How is one meant to know it exists? Are manpages less authoritative than I thought?

1 Like

The apt program is a front end of apt-get and utilizes apt-get. So, man apt only lists the basics of apt.
Running man apt-get will get you the full list, including clean.

Not at all. Educational is the key to it: Learning how to protect your system is instrumental and I went through a very large number of reinstalls early on.

1 Like

Surprising no one, least of all myself, the full fresh install, immediate updates to current, update drivers to 555, reboot, install Steam from Valve .deb did not decide to break. The bad news is that I have no idea what got me in this state. The good news is that I seem to be unlucky, and whatever caused that partial update (or the underlying break if the partial update is a symptom) is a special joy for me and me alone, rather than people at large, which concerned me some.

...I'm seriously going to wear out this M.2 with so much distro hopping and reinstalling.

1 Like

I got Olympic medal in re-installing and distro jumping, welcome onboard!!! So far my old 1TB SSD is still keeping it together :slight_smile:

1 Like

I think in the past four or so years I've had this drive, I've installed and reinstalled about 50 distros . I think yours is gonna be just fine :wink:

Off the top of my head since coming to Zorin:

Nobara 39 Official x3
Nobara 39 KDE x3
Nobara 40 Official x4
Nobara 40 KDE x3
Ubuntu 22.04
Ubuntu 23.04
Kubuntu
Garuda
Fedora
Manjaro
OpenSUSE Tumbleweed x2
Endeavor
Pop_OS! 22.04
Tuxedo OS x 3
Bazzite

And back to Zorin after each, plus more Zorin when I break things. In the last 5 months, that's around 30 or more installs. At this pace, it'd be around 270 installs over 4 years. Naturally, I hope to slow this down some. :stuck_out_tongue: