Steam for Linux

Steam for Linux

Anadon 30. okt. 2013 kl. 13:08
Guide to making and using a better steam environment in linux
The following is a guide to running steam with more up to date packages tuned for archlinux.

As a note, Arch Linux is not a officially supported distro; however, I find that the stability of steam and especially game performance is better using arch's environment than the bundled steam runtime. On my system, portal went from ~3 fps to ~25 with Intel 4000 HD graphics.

Now, the idea behind this is that the steam runtime is rarely updated, but there as always atleast 1 package it depends upon which updates in a given week's time. Furthermore, compiled libraries included are made for generic i686 (32 bit) or the original x86_64 (64 bit) architectures. By installing packages with performance improvements and/or tuning to your machine, better performance all around will result. There is also a fun side effect that if your game has a bug, this may fix it or intriduce new bugs! Yay!

First, lets get arch exclusive stuff out of the way. We will be modifying the build and runtime environment. run 'sudo nano /etc/makepkg.conf'. Go to the line where it starts as
'CFLAGS="'. Remove the '-mtune=<X>' argument. Change '-march=<X>' to '-march=native'. Change '-O2' to '-Os'. Do the same for the line that starts 'CXXFLAGS="'. A few lines down from that should be a line starting with 'MAKEFLAGS="'. Add the argument '-j

The reason for this is to remove obsolete options ('-mtune'), improve optimizing towards your machine ('-march=native'), and for systems with high cache to memory speed ratios, the more data that can be kept in the CPU cache, the better, so optimizing pacages for size ('-Os') results in better performance.

Second, a number of 32 bit packages need to be installed. The following is a list of ones I have tracked down, but is by no means complete: libusb, sdl2, stdlib, networkmanager, polkit, pam, libjpeg-turbo, openal, pulse audio, glib, gtk, gdk, gdk2, d-bus, openssl, gcc, flac, ogg-vorbis, libtxc_dxtn, multilib-devel, ttf-liberation, ttf-microsoft-arial, ttf-ms-win8, ttf-office-2007-fonts, ttf-win7-fonts, ttf-ms-fonts. from archlinux, every multilib package (32 bit packages tuned to run on 64 bit machines) has a prefix 'lib32-'. While I do not list the exact packages needed here, all of them are findable through google and resolve to archlinux.org. I suggect using yoaurt (https://wiki.archlinux.org/index.php/yaourt) to install these, as it will save hours of work. If you have a 64 bit installation, you will have to enable the multilib repositories, which will not be detailed here.

Next, assuming difficulty in finding packages or my package listing is incomplete, you will know all requirements have been installed once the following is empty: 'ldd ~/.steam/bin/steamclient.so | grep -nlH "*not found*"'. While this and google should be sufficient, this page lists many side packages which may or may not be installed: https://wiki.archlinux.org/index.php/Steam/Game-specific_troubleshooting

Thirdly, test is steam will run. In a terminal, run the following: 'STEAM_RUNTIME=0 steam'. What this does is tell steam to use the system's environment rather than the bundled steam environment. If steam starts, you're almost done! If not, return to section 2.

Fourthly, you will be wanting to have the environmental variable 'STEAM_RUNTIME' exist and set to 0. to do this, I suggest adding this line in '~/.bashrc', 'env STEAM_RUNTIME=0'

Post corrections, comments, and smart remarks below. Happy gaming!
< >
Viser 1-10 af 10 kommentarer
I'm not following this... what exactly are you compiling yourself?
Dusk of Oolacile 30. okt. 2013 kl. 15:06 
Not trying to be a donkey here, but the time taken to accomplish all this could be invested into real work, which earns money, which can be used to buy a real video card and you'll have not only 25 but 325 fps in Portal without tweaking anything. Intel HD is for Office.
Sidst redigeret af Felix; 31. okt. 2013 kl. 13:23
chrisq 28. nov. 2013 kl. 4:15 
LOLCAT: Intel HD is also for ultrabooks, which is what I have when travelling.
Having my games available when away from home is in some ways even more important than having them at home.
This info is also useful when troubleshooting steam problems.
Land Rover da Cultura 10. juli 2014 kl. 19:43 
It was very helpful! Thank you!
>>>>PEWPEW<<< 19. juli 2014 kl. 3:41 
There is a package in the AUR called steam-native maintaned by Ayceman which installs all needed libraries for running steam with RUNTIME=0
works on arch x86_64 Jul. 19. 2014
Sidst redigeret af >>>>PEWPEW<<<; 19. juli 2014 kl. 3:42
Anadon 19. juli 2014 kl. 8:47 
Keep in mind that doing that realistically should be done via yourt.
Victor 4. apr. 2017 kl. 10:24 
Please don't use yaourt for anything since it's insecure. I recommend pacaur.
torra 4. apr. 2017 kl. 12:14 
Oprindeligt skrevet af Victor:
Please don't use yaourt for anything since it's insecure. I recommend pacaur.
Please don't use necro on any forums. While its a valid statement I recommend applying your intellect to the rest of your life too.
SIG 4. apr. 2017 kl. 21:41 
Oprindeligt skrevet af Victor:
Please don't use yaourt for anything since it's insecure. I recommend pacaur.
Why is yaourt insecure?
torra 5. apr. 2017 kl. 12:17 
Oprindeligt skrevet af Spitfire:
Why is yaourt insecure?
out of date stuff in the code and conflicts mostly
https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table
< >
Viser 1-10 af 10 kommentarer
Per side: 1530 50