BenV's notes

Tag: slackware

Slackware-current and a dedicated Terraria Server

by on Jun.30, 2015, under Software

With the v1.3 patch coming soon ™, hopefully today, it’s time to play Terraria again! 🙂
One of the claims is that it will now be easier / at all possible to run multiplayer games through steam. Well, we’ll see about that, but I figured this would be a great time to get my own dedicated headless server up and running. (continue reading…)

Leave a Comment :, , , more...

Steam on Linux in a slackware32 chroot and mono

by on Oct.03, 2013, under Software

So far I like what Valve has been doing with Steam on Linux. Obviously there’s always a lot to be improved, but they try and it works pretty well for me.
Since they don’t have a native 64 bit steam client yet and I don’t want to clobber my Slackware64 install with multilibs and other 32 bit garbage I still have my old 32 bit Slackware-current install mounted that I can chroot into and run 32 bit garbage.
Running steam for me looks a bit like:

benv@steammachine:~$ su -lc "chroot /slackware32"
Password: jemoeder
root@steammachine:~# su benv
benv@steammachine:~$ steam


A bit of a hassle but it works, and I need that 32 bit chroot for running windows garbage in wine32 anyway.

Lately I noticed a lot of games that have a linux version under Steam crashed. When running them a window pops up, disappears, and your last played date is set to “Today” in steam. Trying to run the game on the console shows something like this:

benv@steammachine:~/.local/share/Steam/SteamApps/common/Ittle Dew:0>./IttleDew.x86
Set current directory to /home/benv/.local/share/Steam/SteamApps/common/Ittle Dew
Found path: /home/benv/.local/share/Steam/SteamApps/common/Ittle Dew/IttleDew.x86
Mono path[0] = '/home/benv/.local/share/Steam/SteamApps/common/Ittle Dew/IttleDew_Data/Managed'
Mono path[1] = '/home/benv/.local/share/Steam/SteamApps/common/Ittle Dew/IttleDew_Data/Mono'
Mono config path = '/home/benv/.local/share/Steam/SteamApps/common/Ittle Dew/IttleDew_Data/Mono/etc'
Aborted (core dumped)

The reason was simple, but took me a lot of digging through strace etc to figure out. (gdb didn’t help since the included libmono that caused this segmentation fault was obviously stripped). At some point the program tries to read from /sys/devices/, which failed since I hadn’t bothered to mount /sys in my chroot. My mistake. (note that I did bother to mount /dev to get gamepad support etc).

Strace output:
[pid 16978] openat(AT_FDCWD, "/sys/devices/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
segfault

Conclusion: make sure that Steam for Linux games have access to /sys/devices/ 😉

Leave a Comment :, , , more...

MySQL^W MariaDB 5.5 on Slackware 11

by on May.10, 2013, under Software

One of my older (stable, works like a train) database servers still on Slackware 11 — well, heavily modified Slackware 11 😉 — is running MariaDB 5.1.something. Because I was tinkering with mysql settings I decided ‘hej, let’s see if upgrading to the latest version is a fun project!’.
Well, it sure is 😉

First of all, the newer MySQL and therefore also MariaDB versions have dumped a perfectly fine autoconf system for Cancer Make aka CMake. Well, that’s just great. There’s no cmake in Slackware 11, so I figured to grab the latest slackware cmake sources and build it myself. No big deal, except in order to use the latest slackware sources you’ll need tar with xz support. Well, while we’re at it anyway might as well build them. So I headed over to the nearest slackware repository and built myself a new xz, tar, findutils and pkgtools using the slackware 14 build scripts (slightly helped/modified to handle the absense of xz in my old system). There, now back to cmake. (continue reading…)

Leave a Comment :, , , more...

Apache 2.4 and PHP

by on May.01, 2013, under Software

Those of you running Slackware 14 or current probably have noticed the move to the Apache httpd v2.4 already.
On my webservers I haven’t yet dared to upgrade from the stable 2.2 version, but I figured it might be a good time to test out an upgrade procedure.

Notable problems / changes

This new version of the Apache httpd brings a few things that you should really pay attention to before attempting to upgrade. Well, you could ignore it, but it would surprise me if you wouldn’t end up with a broken webserver 😉
So you might want to look into these things:

  1. Configuration syntax changes
  2. Handling the Pleuris-Hoeren-Paaltjes aka PHP disaster
  3. Switching to the MPM-event module

Of course you’ve already done your homework and read upgrading to 2.4 from 2.2, right? 😉 (continue reading…)

Leave a Comment :, , , , , , more...

Steam for Linux released!

by on Feb.15, 2013, under Software

Steam Linux Sale

Steam Linux Games Sale


Yep, you read it right, they already released it. Not much new to report about the client though, they fixed a few things, but still no Slackware release, only Ubuntu. No problem there though, you can follow my post on how to get Steam for Linux running in a 32-bit Slackware chroot environment.

As you can see from the image above, they’re even having a celebration sale! An excellent time to pick up a few great games such as Faster Than Light — although you’re probably better off buying it from the Faster Than Light site so you’ll also get the DRM-free version 😉

Faster than Light

Faster than Light

Keep up the good work Steam!

Leave a Comment :, , more...

Linux Software Raid disk upgrades

by on Dec.16, 2012, under Software

Every now and then you find out that this huge disk you’ve been using — you know, the one that when you bought it you thought “How on earth am I ever going to fill this one up? My biggest game can fit on this disk 100 times!” — … isn’t as huge anymore. Or at least all the free space on it has disappeared and nagios is whining that your disk is full or about to explode.
Some background info: My fileserver here at home has 3 linux software raid arrays (raid-1 mirrors) on top of 4 physical disks. The first and also smallest array is used as root filesystem to boot from into Slackware linux. The second and third arrays are both big and simply for storage of games, music, series, etc.
When I created that first array a few years ago I figured “Hm, 20GB should be enough for a slackware install, right? Well, let’s just make it 50GB to be sure, we have plenty of space anyway on this huge disk“. Back then the ‘huge’ disks were 500GB. Meanwhile those 500GBs have been replaced with 1TB ones, but that array remained the same. Today I have a set of 1.5TB drives to replace the 1TB ones. Not a huge upgrade, but I didn’t have to buy these disks since they came from a server that had its drives upgraded as well. Anyhow, the 50GB partition managed to get filled with over 40GB of stuff that I can’t trash (mostly user home directories). I could move them to a different partition of course, but today we’re going to resize that partition to 100GB and put the rest in the storage partition.
Off-topic note: Do you also hate it when you’re typing in a browser and hit CRTL-w to delete your last word and realize you just closed your tab? I sure as heck do, good thing wordpress saves these drafts every now and then 🙂 (continue reading…)

2 Comments :, , , more...

Steam for Linux beta on Slackware

by on Dec.07, 2012, under Software

As I have mentioned a while ago, Steam is coming to Linux. If you cared and filled out the survey back then, you’ve probably already been accepted for the limited beta. In their own words We’ve just expanded the limited public beta by a large amount — in other words, chances are quite big that you’ve been accepted by now. And even if you haven’t, they say you won’t be banned for trying the beta anyway.

However, the beta is obviously for Pokemon OS only right now. But that doesn’t mean we can’t try to get it running under our beloved Slackware Linux, right? 🙂
One catch right now however: you’ll need to have a 32 bit slackware installation lying around. I still have my old one that I can chroot into that I also use for running 32 bit games under wine. If you don’t I’m sure you can do a quick

root@machine:/# mkdir /slackware32
root@machine:/# cd /mnt/slackware-current/slackware/
root@machine:/mnt/slackware-current/slackware# for PKG in `egrep ADD\|REC {a,ap,k,l,n,x,xap}/tagfile | cut -f1,2 -d':' | sed -e 's/tagfile://'` ; do
installpkg -root /slackware32 -infobox $PKG-*.t?z
done
# Takes a while installing packages to your new chroot, after that you can:
root@machine:/mnt/slackware-current/slacware# chroot /slackware32
root@machine:/# echo Now I just need to fix the rest of the configuration of this chroot... like adding a user.

Mind you, you’ll also need your nvidia drivers installed in your 32 bit chroot! “But BenV, I have an ATI/AMD GPU” … yes, you probably have herpes too, go away.
Anyway, since nvidia sucks, the nvidia driver installer will barf because you it detects your 64 bit kernel and you’ll have to install it the manual way:

# This is still in the chroot
root@machine:/# cd /usr/src
root@machine:/usr/src# mkdir nvidia
root@machine:/usr/src# cd nvidia
# Make sure to match your installed version from your 64 bit environment, this one is 310.19
root@machine:/usr/src/nvidia# wget ftp://download.nvidia.com/XFree86/Linux-x86/310.19/NVIDIA-Linux-x86-310.19.run
# Takes a while depending on your connection
root@machine:/usr/src/nvidia# bash NVIDIA-Linux-x86-310.19.run -x
# Extracts to a dir called NVIDIA-Linux-x86-310.19
root@machine:/usr/src/nvidia# cd NVIDIA-Linux-x86-310.19
root@machine:/usr/src/nvidia/NVIDIA-Linux-x86-310.19# ../benv-installer.sh
Old version(s) detected, based on files:
-----
12583708 5160 -rwxr-xr-x 1 root root 5283056 Dec 4 15:57 /usr/lib/libglx.so.310.14
22152181 440 -rwxr-xr-x 1 root root 446636 Aug 23 21:29 /usr/lib/xorg/modules/extensions/libglx.so.org
------
Removing version 310.14....
Found old files, /usr/lib/libvdpau_nvidia.so.310.14
[...]
Remove them? (y/n)
y
Installing new version 310.19...
root@machine:/usr/src/nvidia/NVIDIA-Linux-x86-310.19# ldconfig

What’s that benv-installer.sh? A little script that removes the old libraries, copies the new ones in place and checks the libglx symlink.
You can get it here:
[Download not found]

Anyway, now that the major preparations are done, let’s go fire up the Steam for Linux beta! (I’m sure you can handle the rest of the missing garbage in the Slackware32 chroot that I didn’t mention, like adding a user etc).

# Yes, this is still the slackware32 chroot :)
root@machine:/usr/src/# mkdir steamlinux
root@machine:/usr/src/# cd steamlinux
root@machine:/usr/src/steamlinux# wget http://media.steampowered.com/client/installer/steam.deb
# We don't handle .deb! Let's make it more managable :)
root@machine:/usr/src/steamlinux# ar x steam.deb
# Oh look, a control.tar.gz with nonsense files and a data.tar.gz with stuff we need
root@machine:/usr/src/steamlinux# mkdir pkg
root@machine:/usr/src/steamlinux# cd pkg
root@machine:/usr/src/steamlinux/pkg# tar axf ../data.tar.gz
root@machine:/usr/src/steamlinux# makepkg /usr/src/packages/steam-1.0.0.16-i686-1.txz # This version comes from the control.tar.gz->control file ;)
# Hit enter a few times
root@machine:/usr/src/steamlinux# installpkg /usr/src/packages/steam-1.0.0.16-i686-1.txz

Easy enough. Let’s see what it does! 🙂
Note that you shouldn’t run the steam executable as root. Not that I need to tell you that, right? 😉

# Yes, still the slackware32 chroot
benv@machine:~$ steam
Setting up Steam content in /home/benv/.local/share/Steam
which: no gksudo in (/home/benv/bin:/sbin:/usr/sbin:/usr/lcoal/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/kde4/libexec:/usr/lib/qt/bin:.)
which: no kdesudo in (/home/benv/bin:/sbin:/usr/sbin:/usr/lcoal/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/kde4/libexec:/usr/lib/qt/bin:.)
xterm: Error 32, errno 2: No such file or directory
Reason: get_pty: not enough ptys
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0_client)
Installing breakpad exception handler for appid(steam)/version(1.0_client)
Installing breakpad exception handler for appid(steam)/version(1.0_client)
Installing breakpad exception handler for appid(steam)/version(1.0_client)
SteamUpdater: Error: Failed to unzip item package/tmp/steam/drivercheck/590/dxsupport.cfg (1275, 1024)

SteamUpdater: Error: Failed to unzip package (/home/benv/.local/share/Steam/package/public_all.zip.1ea35c0dd4a580af99814d50c996080d1d0b3f70)

Not only did it start with the above output, it gave the following graphical display:

Steam for Linux Beta - first start

Steam for Linux Beta – it tries to update itself after starting it for the first time


After which it errored with the following one:
Steam for Linux beta - first error

Steam for Linux beta – first error


Not that I’m surprised by an error at this point, I never expect things to work from the start 🙂
Taking a look at the console output you can see that xterm isn’t able to start. I guess they need it to run some scripts in or something, so we better make sure it can start properly. The reason is simple: this slackware chroot doesn’t have a proper /dev and especially /dev/pts (and later: /dev/shm) in place. Normally these get mounted a boot, but since you don’t really boot a chroot we have to fix these entries manually. I suggest you make a chroot script for it 😉

# Still in the chroot, as root this time
root@machine:/# mount -n -o mode=0620,gid=5 -t devpts devpts /dev/pts
root@machine:/# mount -t tmpfs tmpfs /dev/shm

There, you should be able to start xterm without errors now. If you didn’t fix the /dev/shm you’ll get another error that looks like this one:

[1207/113507:ERROR:shared_memory_posix.cc(167)] Creating shared memory in /dev/shm/org.chromium.Chromium.shmem.libcef_8194274913974519198 failed: Permission denied
[1207/113507:ERROR:shared_memory_posix.cc(170)] Unable to access(W_OK|X_OK) /dev/shm: Permission denied
[1207/113507:FATAL:shared_memory_posix.cc(172)] This is frequently caused by incorrect permissions on /dev/shm. Try 'sudo chmod 1777 /dev/shm' to fix.

Anyhow, we fixed it, so let’s try the steam beta again! 🙂

# Yes yes, still the Slackware 32 bit chroot environment ;)
benv@machine:~$ steam
/home/benv/.local/share/Steam/steam.sh: line 238: pidof: command not found
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
unlinked 0 orphaned pipes
removing stale semaphore last operated on by process 4022 with name 0eBlobRegistryMutex_ECD12E799B7F2C7C5974C84ABE8C7520
removing stale semaphore last operated on by process 4022 with name 0eBlobRegistrySignal_ECD12E799B7F2C7C5974C84ABE8C7520
removing stale semaphore last operated on by process 4022 with name 0emSteamEngineInstance
removing stale semaphore last operated on by process 4022 with name 0eSteamEngineLock
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
[1207/113620:ERROR:bus.cc(261)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
[1207/113620:ERROR:bus.cc(261)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
[1207/113620:WARNING:proxy_service.cc(646)] PAC support disabled because there is no system implementation
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
PulseAudio connect failed (used only for Mic Volume Control) with error: Connection refused
Generating new string page texture 12: 48x256, total string texture memory is 49.15 KB
# and more new string page textures
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
# and more new string page textures
Process 4149 created /ValveIPCSharedObjects3
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
Adding license for package 4314
Adding license for package 6134
# and a ton more licenses
local (potentially out of sync) copy of roaming config loaded - 0 bytes.
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
SteamUpdater: Error: Download failed: http error 0
System startup time: 9737.35 seconds
Installing breakpad exception handler for appid(steam)/version(1354745237_client)
ExecCommandLine: "/home/benv/.local/share/Steam/ubuntu12_32/steam"
# and another ton of new string page textures

Meanwhile, what do you know – we’re greeted with a login screen!
Steam for Linux beta - New account or login?

Steam for Linux beta – New account or login?


Steam for Linux Beta - enter your account details

Steam for Linux Beta – enter your account details


W00t. After logging in and entering the s3cr3t c0d3 because this is a ‘new computer’ according to SteamGuard or whatever it’s called, we look upon our game library. Looks like they added a ‘Linux Games’ entry that’s selected by default.
Steam for Linux Beta on Slackware - Games Library

Steam for Linux Beta on Slackware – Games Library


Well, that’s cool. Let’s see if it works. I ask steam to install Dungeons of Dredmor, hit next a few times, wait a minute orso, and it looks like it’s installed 🙂
The only things that hints we’re not on windows is the weird resolution Dredmor offers (possibly related to me running Fluxbox), but this works great 🙂
Dungeons of Dredmor launched through Steam for Linux on Slackware

Dungeons of Dredmor launched through Steam for Linux on Slackware

Things to note:
* I have a Pulseaudio installation on my slackware32 chroot — sound worked fine for me, but if you’re having trouble it might help to install it.
* Valve seems to have put Team Fortress 2 Beta in my Linux Games list — I’ll have to see how that runs under linux, but it’s 12.2GB so takes a while to leech.
* Carefully read the console output when things don’t work, there may be helpful hints like Steam error: SteamProcessCall(WaitForAppReadyToLaunch)(0xab427c,0xfff3d100,0xfff3cee8) failed with error 17: Cache Write Failure, errno 28 “No space left on device” when your disk is full when trying to install TF2 😉

Anyway, looks like Valve is making great progress in getting Steam to work under linux. Soon things will be running smooth for Pokemon OS and hopefully that’ll open up even more games to linux 🙂

5 Comments :, more...

Slackware64-current and udev 1.82

by on Jul.24, 2012, under Software

Some days after tinkering for a little bit you come to the realization that it might be better to stop doing anything with devices and just wait for the day to pass, because everything you touch breaks in the most spectacular ways. Of course this never stopped me from breaking even more, but I’m stupid like that.
Today is a day like that it seems. First our ADSL line at home received an upgrade to FTTH (aka a fiber connection), boosting our internet speed from a lousy 8Mbit down to 50Mbit down, and from less than 1Mbit upstream to 50Mbit upstream. (continue reading…)

Leave a Comment :, , , , , more...

FFmpeg versions and VLC 2

by on Jul.16, 2012, under Software

Another round of updates came along on Slackware64-current and since I was playing around with ffmpeg I figured I might as well update that. Since ffmpeg is one of those products that has a bunch of really active developers it gets updated about every 5 seconds.
This means that whenever they release a new version it’s instantly obsolete. However, that also means that when you’re trying to run the latest version from git, you’ll often run into software that uses the older functions/symbols/garbage and therefore won’t compile. (continue reading…)

Leave a Comment :, , , , more...

Slackware 14 getting closer

by on Jul.01, 2012, under Software

So I still run Slackware Linux on pretty much all of my machines, which I often smile upon when I see another Ubuntu/Debian/Pokemon update break stuff (that I then get to fix, details). However, running bleeding edge Slackware-current also draws some blood every now and then. (continue reading…)

Leave a Comment :, , , , , more...