Playing Machinarium on openSUSE 12.1

The second game in the Humble Bundle is Machinarium. It comes as an archive with binaries inside, including its own Flash Player 10. It’s not the best way to distribute Linux software (that would be a package like .rpm or .deb), so it needs a few manual steps to install.

Unpack the archive and set permissions

As root (command: “su -“), unpack the archive and put it in /opt/Machinarium.  You’re doing this to make the game available to all users on the system.  Then set some permissions on this directory, so it can be read by any user.  If you don’t do this, the game will just show a black screen.

chown --recursive root:root /opt/Machinarium
chmod --recursive a+rX /opt/Machinarium

Install libcurl4-32bit

Without these libraries, you will get a generic “Segmentation fault” error.

zypper install libcurl4-32bit

Install alsa-plugins-pulse-32bit

Without it, you will get this error: “ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/alsa-lib/”

zypper in alsa-plugins-pulse-32bit

Test run

As regular user (not root), do a test run, in Konsole.

cd /opt/Machinarium # this is mandatory, or else there will be a black screen

Those variables that are set on the same line with the executable prevent some warnings like this: “WARNING: environment variable G_FILENAME_ENCODING set and it is not UTF-8”.

The game should start.  If you made a mistake and got the black screen, close it with [Alt+F4].

Create a launcher (shortcut) on your desktop

When you create the launcher, you have two important things to take into account:

  1. set the work path (working directory) to

    The games looks for its data in the current directory. If this isn’t set, there’s a black screen for you.

  2. use this command:
    GDK_NATIVE_WINDOWS=true G_FILENAME_ENCODING=UTF-8 /opt/Machinarium/Machinarium

Playing Botanicula on openSUSE 12.1

Today I’ve found out from around the internet about the Humble Botanicula Debut and I paid for it, since it said that it runs on Linux.  Should have read the System Requirements before: “uses Adobe AIR” was in there.  So, to get my money’s worth, I have to install Adobe AIR.  This is a platform that used to be supported on Linux, but not anymore.  So the only option is version 2.6–older–but still working and can run Botanicula.

Installing Adobe Air

  • First, you need a couple of libraries and the rpm-build environment.  Install them as root, with these commands, in Konsole (I should mention that my desktop is KDE):
    su -
    zypper install libgnome-keyring0-32bit libxslt1-32bit oxygen-gtk-32bit
    zypper install --type pattern devel_rpm_build

    Without them you would get these errors:

    nothing happens, the installer gives no error and doesn’t do anything (great error reporting, Adobe!)


    Adobe AIR could not be installed. Install either Gnome Keyring or KDE KWallet before installing Adobe AIR.


    Adobe AIR could not be installed. RPM tools (rpmbuild) for creating RPM packages were not found on the system.

  • Download AIR from the Adobe site
  • As root, make it executable and run it
    chmod a+x AdobeAIRInstaller.bin

Installing Botanicula

The game comes as an .air installation package inside a .zip archive.  Unzip it first.

Open it by clicking Botanicula.air in the file manager to proceed with the installation.  It will build a .rpm and that is going to take quite long, maybe 10 minutes on a fast computer, without any visible progress other than processor load and disk activity.  Then it will ask you for the root password, to install it.  After that, wait again for 10 minutes.

After it’s all finished, run the game by searching in the KDE menu for “BotaAIRLinux”.