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

2 thoughts on “Playing Machinarium on openSUSE 12.1

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s