Installing Steam on Debian is actually easy. And so is installing the proprietary Nvidia drivers. But I still want to write it up step by step for those who are unsure. I have tested this with a clean install of Debian version 8.5 („Jessie“) 64 bit.
This guide does not use any external sources, like Valve’s steam deb package or a driver downloaded from Nvidia’s website. The creators of your distribution (be it Debian or any other) do have these sources as well. But they know better how to integrate it into their distribution than Valve and Nvidia.
If you haven’t got yet, install Debian using a current ISO image. If you don’t want to use silver discs anymore, bear in mind that the disc ISOs can just be copied on an USB stick nowadays. (As always, this deletes anything that was on the stick before.)
Do use the 64 bit variant of Linux. CPUs support 64 bit for over a decade now, some games need it and CPUs not capable of 64 bits won’t run many Steam games anyway. The potential incompability with the 32 bit Steam client and 32 bit games is easily solved.
Linux comes with the possibility of supporting „architectures“ in parallel nowadays – like the 32 bit variant in parallel to 64 bit. So enable the 32 bit layer like this (all of the following commands are to be run as root):
dpkg --add-architecture i386
As the Debian project takes pride in not including non-free software, but still wants to allow you to use what you want, Steam is not included by default in the distribution, but can be easily incorporated. Edit the file /etc/apt/sources.list using your favorite editor (gedit, kwrite, nano, vim, whatever) and make sure that the line(s) including „jessie“ (or „stable“) packages include „contrib“ and „non-free“, like this (on a single line!):
deb http://ftp.debian.org/debian/ jessie main contrib non-free
Now we make Debian read the new package information for non-free as well as for the 32 bit layer (and upgrade older packages if needed):
aptitude update; aptitude upgrade
Install the 32 bit Steam package:
apt-get install steam:i386
The following is not technically necessary, but do yourself a favor. DNS caching is good for any internet access – but might turn out especially useful for download speed under Steam:
aptitude install dnsmasq resolvconf
Install the Nvidia drivers and a helper:
apt-get install nvidia-driver nvidia-xconfig
Enable the use of the proprietary Nvidia drivers with said helper:
nvidia-xconfig
In order to load the new GPU drivers, reboot your system. Start Steam. It will load some stuff it needs and… that’s it! Happy gaming!
But these drivers are old, I want/need newer ones!
The steps above will install the default proprietary Nvidia drivers for Debian Jessie: version 340.96. But drivers are enhancing and you might want or even need newer ones to play a certain game. The safest way to get newer drivers is to use Jessie „backports“. You’ll find the current version delivered this way here. (Last time I checked, it was 375.26.)
To install backports, you’ll have to make another change to /etc/apt/sources.list. Add the following (single) line:
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
Again, update package information (and packages):
aptitude update; aptitude upgrade
A backport version should never be installed automatically.
You’ll have to do that by hand:
apt-get -t jessie-backports install nvidia-driver
You should be careful when an installation threatens to delete packages. But in this case, it will delete „libgl1-nvidia-glx-i386:i386“, a package that is obsolete for the new driver.
Reboot and have fun!
But I want even newer drivers!
Ok then. This is my way of getting newer drivers. Use at your own risk.
At the moment, Debian „unstable“ contains Nvidia driver 375.26 (click for current version number). Sometimes, there’s even a driver in „experimental“ (check state).
You can try to install them doing the following. Do take care what the system wants to install or remove. Don’t do it if usure. Be prepared to lose your installation and its data.
First make sure your system has a consistent state:
aptitude update; aptitude upgrade
For the driver from unstable, include the unstable packages into your package database by putting the following line into /etc/apt/sources.list:
deb http://ftp.debian.org/debian/ unstable main contrib non-free
Then ensure that most packages are not taken from „unstable“ by choosing a default release via a file (you need to create it) named like /etc/apt/apt.conf.d/10defaultRelease:
APT::Default-Release "jessie";
Then issue the following commands:
aptitude update apt-get -t unstable install nvidia-driver libgl1-nvidia-glx:i386
Only use „update“, not „upgrade“ here if you already installed the backports driver. The system might not find its way from the backports version to the unstable one. Apart from that, this has just worked for me. But it does depend on the current state of unstable, which is constantly changing.
or you can install ubuntu
Of course, you can install Ubuntu and Steam on it as well.
For an old gpu with nvidia-legacy-340xx-driver :
Graphics: Card: NVIDIA G92 [GeForce 9800 GT] bus-ID: 07:00.0
Display Server: X.Org 1.19.2 driver: nvidia
Resolution: 1024×768@60.00hz
GLX Renderer: GeForce 9800 GT/PCIe/SSE2
GLX Version: 3.3.0 NVIDIA 340.106 Direct Rendering: Yes
try installing: libgl1-nvidia-legacy-340xx-glx:i386
Well, this is utter BS. Still get the missing libGL.so.1 error
Been there, done that, it works. For me and for many others.
If libGL.so.1 is missing on your system, probably for whatever reason you have not installed libgl1-mesa-glx:i386. Feel free to catch up on this.
If it still doesn’t work for you then, feel free to share any information that might enable people to help you. Do so in a polite way or you’ll not be heard.