Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
Title: Installing Steam on Debian 8 + backports
GustyGhost 21 Jul 2016
The last barrier keeping me from going full Debian has been installing the Steam client properly. Doing so the pure Debian way won't even install because of held packages. Installing the .deb from steampowered.com gets me as far as the launcher but errors out with "Fatal Error: Failed to load steamui.so".

I imagine it would have gone smoothly had I not installed Mesa from backports which I believe is causing the held packages that steam needs: libgl1-mesa-dri:i386, libgl1-mesa-glx:i386. Libraries: libGL.so.1

If I try to install those dependencies, apt wants to remove Cinnamon and a bunch of other crucial packages. What am I doing wrong here?

Terminal output for steam:
Spoiler, click me
Failed to parse arguments: Option "--disable-factory" is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Running Steam on debian 8 64-bit
STEAM_RUNTIME is enabled automatically
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
Error:
You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
Press enter to continue: 
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
[2016-07-21 00:48:53] Startup - updater built Jul  8 2016 21:43:51
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2016-07-21 00:48:53] Checking for update on startup
[2016-07-21 00:48:53] Checking for available updates...
[2016-07-21 00:48:54] Download skipped: /client/steam_client_ubuntu12 version 1468023329, installed version 1468023329
[2016-07-21 00:48:54] Nothing to do
[2016-07-21 00:48:54] Verifying installation...
[2016-07-21 00:48:54] Performing checksum verification of executable files
[2016-07-21 00:48:54] Verification complete
[2016-07-21 00:48:58] Shutdown

The following packages have unmet dependencies:
Spoiler, click me
 libgl1-mesa-dri:i386 : Depends: libdrm-intel1:i386 (>= 2.4.48) but it is not going to be installed
                        Depends: libdrm-nouveau2:i386 (>= 2.4.38) but it is not going to be installed
                        Depends: libdrm-radeon1:i386 (>= 2.4.31) but it is not going to be installed
                        Depends: libdrm2:i386 (>= 2.4.38) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
lucinos 21 Jul 2016
I do not know about debian but for Arch Linux see:
https://wiki.archlinux.org/index.php/Steam/Troubleshooting
Deleting the runtime libraries

The problem is obviously relevant.
Blurps 21 Jul 2016
All you need is in official repo.
see https://wiki.debian.org/Steam
GustyGhost 21 Jul 2016
I first tried the official repository but it hounded me for the same dependencies: lib-mesa-xxx:i386. I have properly enabled foreign architecture i386 but those 32 bit packages don't want to play nicely with my 64 bit mesa packages. Anybody here use Debian?
Nel 21 Jul 2016
Hey

Post your /etc/apt/sources.list
What is your GPU?
What is your apt command line?

To properly use backports you should type
apt-get -t jessie-backports install [package1] [package2]
to enable the whole backports repo only for this one command, that means backports dependencies are installed as well.
GustyGhost 21 Jul 2016
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
#deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free

deb http://ftp.us.debian.org/debian jessie-backports main contrib non-free
#deb-src http://ftp.us.debian.org/debian jessie-backports main contrib non-free


GPU is R3 (HD8400) integrated on Kabini APU. That is, Hawaii-based GCN 1.1. I have enabled AMD firmware for the graphics portion of the chip.

I have been using the -t flag as you suggest and it works properly for the thing I have backported. But when I adopt this configuration as my main, would forcing package versions to backports in Synaptic be any different? Any reason I shouldn't do it that way?
Nel 22 Jul 2016
Synaptic gave me a hard time dealing with backports. When it's only a single package, it's ok. But when it has to deal with multiple dependencies through backports and regular repos, it breaks more stuff than resolves anything. You really should stick with apt-get or aptitude.

Assuming no package is actually broken, first try to remove every unneeded packages like wine or steam. Then perform an apt-get autoremove. Your debian should be more or less clean, so now start a proper install of steam.

If not previously done, run this:
dpkg --add-architecture i386
apt-get update
apt-get install multiarch-support


Install required libraries from backports
apt-get -t jessie-backports libgl1-mesa-dri:i386 libgl1-mesa-glx:i386

Then install steam
apt-get -t jessie-backports steam
Not sure about this one, since I installed wine backports and all backports dependencies before steam on my debian. But according to [manpage](http://linux.die.net/man/8/apt-get) it should be ok, since -t only creates a high priority to the specified repo. So steam will look for any dependency first on backports, then on stable repos.
GustyGhost 22 Jul 2016
You gave me the idea to chase the 32 bit mesa packages down the backported rabbit hole. I ran:

sudo apt-get -t jessie-backports install libegl1-mesa-drivers

sudo apt-get -t jessie-backports install libudev1:i386

sudo apt-get -t jessie-backports install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386

sudo apt-get install steam:i386


Apparently, once you go for backports on one part of Mesa driver, you need to go all in because this worked. Even the 32 bit stuff. Steam now installs "the Debian way", verifies and successfully lands at the login window!

So I'm guessing that Synaptic isn't just a graphical front end for apt. I only wanted three main things to be backported: My Linux kernel, desktop environment and graphics drivers. If it needs to go through apt, that's fine.
slaapliedje 22 Jul 2016
So, being the Debian Connoisseur that I am... Synaptic doesn't really support multi-arch worth a damn. Sad, I know, but it doesn't.

https://packages.debian.org/search?keywords=steam&searchon=names&suite=all&section=all shows that there is no steam in jessie-backports, just use regular ol' Jessie

Now, if you're using Intel, open source radeon or open source nvidia drivers, you'll probably want to use the newer mesa drivers for sure. Backports also have the proprietary nvidia drivers (version 352.79-8~bpo8+1: amd64 i386) and fglrx-driver (version 1:15.12-2~bpo8+1: amd64 i386) so you'd probably want to snag those.

As I said, Synaptic really doesn't like multi-arch.

Personally for a gaming platform, I'd go with Debian Testing (stretch) rather than muck about with backports at the moment. But then I'm experienced enough to know what to do if things break (which is rare).

What Nel showed should work perfectly, except that you need to actually do apt-get install -t jessie-backportslibgl1-mesa-dri:i386 libgl1-mesa-glx:i386
apt-get install -t steam
slaapliedje 22 Jul 2016
Quoting: AnxiousInfusionYou gave me the idea to chase the 32 bit mesa packages down the backported rabbit hole. I ran:

sudo apt-get -t jessie-backports install libegl1-mesa-drivers

sudo apt-get -t jessie-backports install libudev1:i386

sudo apt-get -t jessie-backports install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386

sudo apt-get install steam:i386


Apparently, once you go for backports on one part of Mesa driver, you need to go all in because this worked. Even the 32 bit stuff. Steam now installs "the Debian way", verifies and successfully lands at the login window!

So I'm guessing that Synaptic isn't just a graphical front end for apt. I only wanted three main things to be backported: My Linux kernel, desktop environment and graphics drivers. If it needs to go through apt, that's fine.
Ha, yes, Sorry I was too late in my reply! As I said, Synaptic still sort of gets confused with multi arch support.
GustyGhost 22 Jul 2016
Thanks, guys. Part of the reason for moving is so that I can learn. So I guess I will use apt to backport system critical things like kernel, DE and graphics drivers, while using Synaptic's "Force Version" for non-critical things like youtube-dl.

And yes, slaapliedje, going with Stable was a conscious decision after reading pages and pages Debian's official resources. [One last thing, is Synaptic's "Mark All Upgrades" the same as apt-get upgrade or apt-get dist-upgrade? Or it's own thing entirely?](https://superuser.com/questions/652429/debian-why-are-the-suggested-upgrades-from-apt-get-and-synaptic-different)
Nel 22 Jul 2016
Quoting: AnxiousInfusionYou gave me the idea to chase the 32 bit mesa packages down the backported rabbit hole.
That was my point. According to [debian steam package](https://packages.debian.org/jessie/steam), only libgl1-mesa-dri and libgl1-mesa-glx are available on backports repos. But yeah, looking for every mesa packages makes sense. I have a Nvidia GPU, so I don't know much about mesa drivers.

Quoting: slaapliedjeSo, being the Debian Connoisseur that I am... Synaptic doesn't really support multi-arch worth a damn. Sad, I know, but it doesn't.
I didn't have any problem with synaptic and multi-arch. Only with backports.
I think the "Force package version" uses the following syntax:
apt-get install libgl1-mesa-dri:i386/jessie-backports
which means: get this one package from backports and then try to install it with dependencies from stable repos. Thus leads to a possible broken system.

Quoting: slaapliedjehttps://packages.debian.org/search?keywords=steam&searchon=names&suite=all&section=all shows that there is no steam in jessie-backports, just use regular ol' Jessie
As said in manpage, the point of -t jessie-backports is to set a high priority to backports repos, and then fallback to stable ones. So backports repos are first checked, then if nothing available, check stable repos. A sort of one-shot [pinning](https://wiki.debian.org/AptPreferences) for this one command. Since steam needs specific driver dependencies and AnxiousInfusion has backported drivers, I thought it's much safe to enable backports repos and prioritize them over stable ones.
GustyGhost 29 Sep 2016
Instead of creating a new topic, I'm back with related issues:

I was very excited to find updates for my Mesa driver enter Debian backports the other day. So I immediately upgraded from 11.1 to 12 and probably made a mistake by going through Synaptic package manager instead of apt. At first, all but two mesa packages upgraded due to held/broken. After a quick apt autoremove, I tried again and the remaining "libgl-mesa-dri" packages upgraded. One reboot later and Cinnamon is now running in software rendering mode. I think it dun broke.

Does Mesa 12 require a recent version of X11? Are there other packages needed for Mesa 12's new additions of Vulkan.. etc.?
Nel 30 Sep 2016
I got my system broken as well. I got a first batch of mesa 12 libs 2 days ago, did the update and everything was ok. I got a new batch of mesa 12 libs yesterday, did the update and it broke everything that is related to OpenGL: steam, games, wine, mpv and KDE too.

I finally uninstalled and re-installed the Nvidia prop drivers, and it fixed everything.

Yours is a different story. Try to look at this post:
[News for package mesa: Accepted mesa 12.0.3-1~bpo8+1 (source amd64) into jessie-backports](https://tracker.debian.org/news/800804)
and check out if every new libs are installed in your system, amd64 + i386.

Since I don't know much about pure mesa, I won't be very helpful.
GustyGhost 5 Oct 2016
The dependencies are all met (both amd64 and i386). When I search for any information on the topic, the only results are... this thread. This means either that I'm the only person trying to do this or that everyone else who has done this already know the secrets to get it working and therefor has no need to talk about it.

EDIT 11/27: Turns out, [Mesa 12.0.3 backport was packaged incorrectly](https://lists.debian.org/debian-backports/2016/10/msg00019.html). Installation of libgbm1 and an upgrade to 12.0.4 has resolved the issue.

External Media: You need to be logged in to view this.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register