You are not logged in.

#1 2012-02-07 01:13:15

Tae
Member
Registered: 2010-08-31
Posts: 32

How to run Machinarium?

Hi there:

I want to buy Machinarium, but first I want to be sure that I can run it on my system, so I just downloaded the demo, cd into it's folder and then ./Machinarium but what I get is

bash: ./Machinarium: No such file or directory

Off course, the file exist and I'm into its folder:

[tae@BlackPearl ~]$ find /home/tae/ -iname machinarium
/home/tae/Machinarium
/home/tae/Machinarium/Machinarium

Double click does not work neither. I'm stuck. I just installed flashplayer-standalone and I did chmod +x Machinarium. Also I tried with a script, same error. I looked for spaces in the name. Nothing :S

Thanks beforehand.

Offline

#2 2012-02-07 01:15:17

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: How to run Machinarium?

IIRC it happens if you're using the wrong architecture i.e. 64-bit and the file is 32-bit.

Offline

#3 2012-02-07 01:23:10

Tae
Member
Registered: 2010-08-31
Posts: 32

Re: How to run Machinarium?

Oh, thanks. I'll ask about this in the Machinarium forum.

Offline

#4 2012-02-07 02:55:56

KingX
Member
From: CA
Registered: 2010-03-24
Posts: 324

Re: How to run Machinarium?

Did you try the demo package from AUR. It's a good way to check your system has the necessary packages to run the game.

Edit: Whoops was suggesting to make the file executable, but you already tried that.

Last edited by KingX (2012-02-07 03:00:52)

Offline

#5 2012-02-07 02:59:21

Tae
Member
Registered: 2010-08-31
Posts: 32

Re: How to run Machinarium?

I already tried that, same problem.

Offline

#6 2012-02-07 16:48:14

sas
Member
Registered: 2009-11-24
Posts: 155

Re: How to run Machinarium?

karol wrote:

IIRC it happens if you're using the wrong architecture i.e. 64-bit and the file is 32-bit.

Yeah, when running an executable returns the message "No such file or directory" (even though the executable itself definitely does exist and is executable), it usually has to do with incompatible architectures.

If it's a 32-bit game, make sure that you have installed 32-bit versions of all dependencies which the game needs, even when you're running a 64-bit Arch Linux.
(The 32-bit library packages for 64-bit Arch Linux are usually called "lib32-packagename", some of them may be found in the multilib repository, the rest in the AUR).

Also, can you post the output of:

ldd ./Machinarium

Offline

#7 2012-03-27 13:37:15

fettouhi
Member
Registered: 2007-05-07
Posts: 745

Re: How to run Machinarium?

Not to hijack this thread but I've been trying to get the demo working via AUR and desura but I always end up with a black screen. Some say it is because of wrong permissions for the flash files but I can't find a definitive solution that works for me. I'm also running Arch 64 bit and I've installed the necessary lib32 libraries, i.e. nss, nspr, curl and libssh2.

Offline

#8 2012-03-28 16:35:12

sas
Member
Registered: 2009-11-24
Posts: 155

Re: How to run Machinarium?

fettouhi wrote:

I always end up with a black screen

The Machinarium Linux FAQ suggests that one reason for seeing a black screen can be that you're running the game the wrong way.
You can't just run `/path/to/machinarium-folder/Machinarium` from anywhere, you need to first do `cd /path/to/machinarium-folder/` and then run `./Machinarium` from there.

In case you're already running it like that and the problem still persists:
When you right-click on the black screen, does the Flash-player menu appear? I so, click "Flash settings" and try disabling hardware acceleration to see if that helps.

Also, check the output of `ldd Machinarium` to make sure you really got all required 32bit dependencies.

Offline

#9 2012-03-28 20:27:47

fettouhi
Member
Registered: 2007-05-07
Posts: 745

Re: How to run Machinarium?

Tried running it directly from desura and from the commandline with and without hardware acceleration and I still get the black screen. Here is the output from ldd

[af@andre machinarium]$ ldd ./Machinarium
        linux-gate.so.1 =>  (0xf778e000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7669000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf764e000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7517000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7505000)
        libXt.so.6 => /usr/lib32/libXt.so.6 (0xf74a7000)
        libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf73f9000)
        libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf73c4000)
        libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf6f68000)
        libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf6eb9000)
        libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf6e97000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf6e74000)
        libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf6e67000)
        libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf6e1d000)
        libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf6d63000)
        libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf6d14000)
        libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf6d0f000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xf6d0a000)
        libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0 (0xf6c11000)
        libnss3.so => /usr/lib32/libnss3.so (0xf6acf000)
        libsmime3.so => /usr/lib32/libsmime3.so (0xf6aa3000)
        libssl3.so => /usr/lib32/libssl3.so (0xf6a68000)
        libplds4.so => /usr/lib32/libplds4.so (0xf6a63000)
        libplc4.so => /usr/lib32/libplc4.so (0xf6a5d000)
        libnspr4.so => /usr/lib32/libnspr4.so (0xf6a20000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xf69f2000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf69d6000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xf6833000)
        libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf6829000)
        /lib/ld-linux.so.2 (0xf778f000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6807000)
        libSM.so.6 => /usr/lib32/libSM.so.6 (0xf67fe000)
        libICE.so.6 => /usr/lib32/libICE.so.6 (0xf67e4000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf67cc000)
        libbz2.so.1.0 => /usr/lib32/libbz2.so.1.0 (0xf67bc000)
        libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf6792000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf678c000)
        libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf6648000)
        libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf6619000)
        libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf6615000)
        libXi.so.6 => /usr/lib32/libXi.so.6 (0xf6605000)
        libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf65fc000)
        libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf65f1000)
        libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf65ec000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf65e8000)
        libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf65e2000)
        librt.so.1 => /usr/lib32/librt.so.1 (0xf65d9000)
        libpng15.so.15 => /usr/lib32/libpng15.so.15 (0xf65a8000)
        libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf650e000)
        libpcre.so.1 => /usr/lib32/libpcre.so.1 (0xf64b2000)
        libffi.so.5 => /usr/lib32/libffi.so.5 (0xf64ab000)
        libnssutil3.so => /usr/lib32/libnssutil3.so (0xf648b000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf6486000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf647f000)
        libuuid.so.1 => /usr/lib32/libuuid.so.1 (0xf6479000)
        libresolv.so.2 => /usr/lib32/libresolv.so.2 (0xf6462000)
[af@andre machinarium]$ ./Machinarium

(Machinarium:27861): Gtk-WARNING **: Kunne ikke finde temamotor i module_path: "oxygen-gtk",

Done!

Last edited by fettouhi (2012-03-28 21:56:26)

Offline

#10 2012-03-28 21:07:38

bernarcher
Forum Fellow
From: Germany
Registered: 2009-02-17
Posts: 2,281

Re: How to run Machinarium?

fettouhi, please use [ code ] tags around your listing. See the "BBCode" link below the "Quick Post" window at the bottom of this thread for more.


To know or not to know ...
... the questions remain forever.

Offline

#11 2012-03-29 12:17:20

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: How to run Machinarium?

Machinarium is flash, so you can just use the flashplayer of adobe or the browser.

Here is how you can extract the .swf file.

Open the executable with an hex editor (like hexedit that is packaged) and go the bottom of the file.
Search backward the hex string: 43 57 53 08 (CWS). Mark the byte number you found and chomp the executable part with dd:

$ dd if=machinarium of=machinarium.swf bs=1 skip=YOURNUMBER

In my windows copy the number is 4432899. So I used

$ dd if=machinarium.exe  of=machinarium.swf bs=1 skip=4432899

Now you can play simply with firefox machinarium.swf or flashplayer.

Edit:

I tried with the demo too, it seem the main flash is not compressed, so I sought the hex string 46 57 53 08 (FWS) and the number is 9570100.
Try:

$ wget 'http://machinarium.net/download/Machinarium-Demo-EN7.tar.gz'
$ tar xf Machinarium-Demo-EN7.tar.gz 
$ cd Machinarium\ Demo/
$ dd if=Machinarium\ Demo of=Machinarium\ Demo.swf bs=1 skip=9570100
$ flashplayer Machinarium\ Demo.swf
OR
$ firefox  Machinarium\ Demo.swf

If it works you can do it also with the full version. Once the full version will hit gog.com I will put Linux Playability thread about it.

Last edited by ezzetabi (2012-03-29 12:50:46)

Offline

#12 2012-03-29 13:27:24

fettouhi
Member
Registered: 2007-05-07
Posts: 745

Re: How to run Machinarium?

Just sucks that you have to go through those extra steps...

Offline

#13 2012-03-29 13:59:35

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: How to run Machinarium?

Then what do you suggest? If you hate it so much try asking Amanita Design to release the clean .swf file.

Offline

#14 2012-03-29 14:11:59

fettouhi
Member
Registered: 2007-05-07
Posts: 745

Re: How to run Machinarium?

I'm not suggesting anything so I don't understand why you are getting so defensive all of a sudden? Thank for the guide on how to extract the raw swf file...

Offline

#15 2012-03-29 14:45:53

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: How to run Machinarium?

Sorry, but I kinda hate all the ``this sucks'' comments. I go like ``yeah, it sucks... Then? Life itself sucks!''


Back to the topic: thanks this thread I recalled I was waiting Machinarium in gog.com and it arrived just today!

I made my usual ``Linux playability'' thread with instruction, if you still did not bought this game you can buy it there.
Enjoy.

Offline

#16 2012-03-29 19:41:46

sas
Member
Registered: 2009-11-24
Posts: 155

Re: How to run Machinarium?

Excellent howto, ezzetabi.

I tried to make it into a self-contained script, but then found that someone already did that: http://phoronix.com/forums/showthread.p … post161829
They use this shell script:

dd if=Machinarium of=Machinarium.swf ibs=1 skip=$(grep -abo FWS Machinarium|cut -f1 -d:|tail -1)

Offline

#17 2012-03-29 20:08:24

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: How to run Machinarium?

Oh yeah, nice idea. But for the complete version I think you meant:

dd if=Machinarium of=Machinarium.swf bs=1 skip=$(grep -abo CWS Machinarium|cut -f1 -d:|tail -1)

CWS is the code for compressed flash.

Edit: actually I just recalled the linux demo is not compressed.... So probably it is the best try both ways and see what it works.

Edit2: do the OP find a way to play this game?

Last edited by ezzetabi (2012-03-31 15:59:20)

Offline

Board footer

Powered by FluxBB