Lately, I’ve been having the following problem more and more often:
I get a new game on steam, the game actually comes for linux as well as the usual, but it does not start, because it needs newer core libraries than what comes on openSUSE Leap 15.2.
Mainly, glibc 2.27 or better.
Now, there’s more than one way to skin that cat… One can manually acquire the required libraries, and place them somewhere where the steam games can find them, but they won’t interfere with the rest of the system. Or, one can upgrade the system to one that has the required library versions, for example the just recently released Leap 15.3… but 15.3 seems to have its very own set of quirks and bellyaches due to the change in package naming conventions that comes with the introduction of having more than one update repository… I believe that is something coming from the SLE compatibility attempts.
So the easiest for me was to actually just try the games on Tumbleweed on my new laptop – and after seeing that every game i tried that wouldn’t work on 15.2 “just works” on TW the decision was simple – my desktop is going TW, that way I won’t be running into the exact same problem again in a year or two…
By now my Desktop is running Tumbleweed, and this is how I did it:
- make sure that my existing 15.2 had all updates, and was “clean” – which means to me that there are no packages installed that are not from one of the active repositories.
LANG="" zypper se -si | grep "System Packages"
- create a tar file of /etc/zypp/
- Wipe all repo files from /etc/zypp/repos.d
- Remove all package locks
- Copy all repo files from a good TW setup, namely my laptop
zypper dup --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change --recommends
That process actually worked pretty well, except for one point during the actual package install when something messed with the network – i suspect firewalld was upgraded at that time – which broke NIS, and some postinstall script failed to check for existing groups. Well, all I had to do was wait… it eventually came back online and then the process continued.
I did have some small quirks after the installation was finished, namely the fact that I didn’t have sound via the HDMI output of my graphics card – the headphone socket worked, and I assume the speaker jack at the back would have worked too, its just that my external speakers are hooked up to my wife’s computer, and I’m not going to risk getting decent meals for the next decade or so for having them back. Married men will know what I mean… XD
Anyway, the fix was simple enough, all it needed was a line in /etc/pulse/default.pa:
load-module module-alsa-sink device=hw:1,7
the 1,7 is something you have to try – run
alsacmd load-module module-alsa-sink device=hw:1,X
with different X until the hdmi output that pops up in pavucontrol is the one that actually plays through the speakers in your monitor.
Finally, one last bit of advice: Counter Strike: Source doesn’t work with selinux in enforcing.