Trouble with the Linux version?

39 posts / 0 new
Last post
#1
Trouble with the Linux version?

On some distros, Linux lacks many of the libraries NEO Scavenger requires as a Flash app. This has caused errors when launching the game.

For more information on what some users have done to bypass this issue, please check out this thread about getting the necessary 32-bit libraries to run a Flash-based app.

There are also these two posts (further down this thread) which list additional libs users have reported as missing on some distros:
http://bluebottlegames.com/main/node/2830#comment-20077
http://bluebottlegames.com/main/node/2830#comment-23097

Fullscreen on Linux

Using fullscreen on Linux causes the keyboard to be ignored, unless playing the game in Chrome. Unfortunately, this is because Adobe is only updating Flash for Chrome on Linux moving forward. Currently, there is no workaround for downloaded versions.

As always, if the above doesn't help, feel free to post questions in the forums!

Dan Fedor - Founder, Blue Bottle Games

not to be fussy, but i see constant ~60% cpu usage on both cpu cores even if the game is idling/waiting for user action. is it flash related or is there a runaway thread that could be optimized by adding microsleep?

--
___crowbar_of_death___/

This is partially Flixel and partially Flash. Yesterday's news post actually talks about this in more detail:

http://bluebottlegames.com/main/node/2956

It's due to the way Flixel copies bitmaps each frame, and the way Flash uses CPU to do it (instead of GPU). I think Flash 12 and later addresses this CPU/GPU issue, but Linux is stuck with 11.2.

However, the framerate limiter I mention in the news above might help, as well. You could probably drop the FPS to 30 without noticing much of a difference, since the game has almost literally no animation. In theory, this should drop your CPU usage by half. (~30/60)

Dan Fedor - Founder, Blue Bottle Games

wow, great! when can we test it?

--
___crowbar_of_death___/

hmm, wait, can you change framerate dynamically? ie. lower it when there is nothing to do?

--
___crowbar_of_death___/

I'm using Linux Mint Debian. I got around the libssl3 issue by installing libnss3:i386. Now I get this:

./NEOScavenger: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

I'll keep plugging away at it.

That sounds familiar. I think I saw some mention similar issues in other Flash-based game forums. Does this link help?

http://askubuntu.com/questions/232691/cannot-open-shared-object-file-no-such-file-or-directory

Dan Fedor - Founder, Blue Bottle Games

hmmm...

sudo apt-get install libgtk2.0-0:i386 got it to try to start. It crashed with this at the console:
(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:27981): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:27981): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer

(NEOScavenger:27981): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

Keep in mind I'm using Linux Mint Debian. Not a lot is bleeding edge here.

Those GTK warnings are due to the theme you're using. You don't have the murrine engine installed, which is seemingly needed for a feature of the skin you're using for GTK. Those are warnings, don't worry about those.

I poked around for mentions of that error message, and came across this:

http://askubuntu.com/questions/66356/gdk-gtk-warnings-and-errors-from-the-command-line

which seems to suggest the bulk of those errors are fairly minor (log spam, mainly). However, the tail of that log looks similar to this:

http://bluebottlegames.com/main/node/969

namely, the lib32-curl install. Do either of those help?

@kotc, it may actually be possible to dynamically switch FPS. I'm not sure if I want to write special handler code for that, though, as it seems like it could cause some issues with UI responsiveness, audio volume changes, and other time-based functions. Let's see how the manual adjuster works for now.

Dan Fedor - Founder, Blue Bottle Games

Ugh. Can't find a lib32-curl deb anywhere.

Is it possible those libs come as part of other packages? E.g. in this post:

http://bluebottlegames.com/main/node/1235

the users mention installing the Adobe Flash pluging to get all relevant 32-bit libs. This is explained here:

http://amanita-design.net/forum/index.php/topic,247.msg2113.html#msg2113

To play Machinarium on 64bit Gentoo Linux just emerge www-plugins/adobe-flash with the 32bit USE flag enabled. This will install all the necessary 32bit libraries.

Alternatively, kurzum and yellouu mention getting it to work by grabbing ia32-libs-gtk:

sudo apt-get install ia32-libs-gtk

This latter one reportedly works on Debian wheezy 64bit. Do either of those suggestions help?

Dan Fedor - Founder, Blue Bottle Games

well, you can always prepare minimalistic bootable image or iso to run in xen/vmware/virtualbox, if you are interested i can prepare one for you, should fit in 50-100mb

--
___crowbar_of_death___/

I've also had some trouble getting the game to load appropriately in Linux (Xubuntu 14.04, 32-bit library on a 1.66 GHz Atom netbook, 1 Gb RAM, so specs are okay for Flash). I was having the issue reported by others where I got stuck at 0% loading. I assumed it was an issue with packages and spent a bunch of energy trying to update.

The problem, however, was trying to run the program from command line as ./NEOScavenger If I instead double-click from a file manager, it ran fine (a bit less responsive than on my real computer, but still pretty smoothly for such an old netbook). Similarly, if I run it on command line with an absolute path (i.e. "/path/to/NEOScavenger") it loaded fine. While this was alluded to elsewhere in these forums, it wasn't stated explicitly.

Since most linux users probably will try running command line first (esp. since the game is delivered as a tarball), and the typical way to run a program is using relative paths, why not add a README file that states that this won't work to save everyone the headache. Pointing out that you need the i386 packages in the README would also be helpful.

Small other suggestion -- is it possible to have the program default to a size relative to the screen size of the user (and possibly remember the last run setting?). It loads up as much larger than my netbook monitor and it's a mild pita to resize it each time I restart.

Thanks for the great game!

Rise/Run

I'm not so well-versed in Linux, so I didn't test command-line launching when I setup the resource loader. Now that you mention it, though, that kind of makes sense. The stalled loading is probably due to Flash needing absolute paths to load file-system resources. I can add a note about that in the readme. I'll note the possible lib dependencies there, too.

As for the tar.gz deployment, I admit I just chose that format as I figured it'd be equivalent to Windows and Mac users downloading a .zip. Basically, unzip the contents and then double-click the executable. Should I be zipping files a different way?

Finally, the screen size NEO Scavenger defaults to is unfortunately hard-coded. It should remember which settings you chose the last time, though. What is the game doing that causes you to resize each time?

And thanks for the suggestions!

Dan Fedor - Founder, Blue Bottle Games

First of all, thank you for this incredible game.
I've been playing it on linux for some time now and I've had a lot of fun with it.

I've had the same problem with the loading at 0% on the latest version and solved it with the path trick.
I'm using this command to launch it:
eval $(realpath NEOScavenger)
it should work on most linux distributions and shells out there, as long as it is launched from the same directory the binary is in, but I can test it more if you need.

I like your way of packaging the binary, especially for closed source games but I would prefere it if the files were in a directory inside the tar.gz with the version in the name (e.g. NEOScavenger-0.9952/NEOScavenger), like most open source packaging. This is like a portable zip on windows.
If you want something like an install.exe that moves everything to the right place and maybe handles dependencies that's a different story. In linux this kind of packaging varies a lot depending on the distribution. These are usually maintained by users rather than the developers. See http://en.wikipedia.org/wiki/Package_format

I would gladly help you with Slackbuilds (that's how slackware manages package installation), as well as with testing on slackware.

A list of dependencies in the readme would be really great.

Thank you again
Dominic 'skapazzo' Wanger

A simple note in the readme will save people going to google (that was my problem originally, as I was on a plane when I decided to try starting it up!). But the active forum is a great help, as well.

As far as your deployment -- tar.gz is the preferred format (and shows a perfectly good well-versedness in Linux), and given the simplicity of the program, there's no need for a maintaining packages for distros (imho, of course). I only mentioned it as having a tarball encourages me to enter command line. While I could double-click in the file manager, it's just way more efficient (for me, and I'd guess for most linux users) to skip the gui.

As for the window issue, it's not a big deal. I checked on a windows box as well, and it seems to be doing it there as well. That said, it might be some weird problem with adobe flash. I wouldn't lose a any sleep over it.

Hi,

Under Linux/UNIX, software that needs full path usually just uses some simple wrapper script to work out the required full paths, and set any other environmental variables it needs. For NEO Scavenger, it'd be something like this:

#!/bin/sh neopath=$(dirname $0) case "$neopath" in /*);; *)neopath=$(cd $neopath && pwd);; esac exec $neopath/NEOScavenger $@

Name in run.sh, make it executable and put it next to the NEOScavenger binary you'll be set. Make sure that it uses UNIX newlines (a single LF, instead of DOS/Windows' CRLF). There is a dos2unix software to do this.

As for tar.gz, it's pretty much the basic standard for compressed packages, as everyone supports it. There are more compressors around tar, like bzip2, xz, or different archive formats like zip, rar or 7zip but they might not be installed on the system (but not cpio, that's a rather complicated, and lesser known counterpart for tar). There are also some standalone install.exe like installers, like makeself, MojoSetup or Zero Install, but after this time, you might not want to bother with them for NEO Scavenger.

An I support skapazzo's suggestion, to put the files under a directory in a tarball, it's the unwritten standard, to prevent tarbombs.

The demo seems to look for the following i386 objects:
linux-gate.so.1 libgthread-2.0.so.0 libX11.so.6 libXext.so.6 libXt.so.6 librt.so.1 libXcursor.so.1 libXrender.so.1 libssl3.so libsmime3.so libnss3.so libnssutil3.so libplds4.so libplc4.so libnspr4.so libpthread.so.0 libdl.so.2 libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libpangoft2-1.0.so.0 libgdk_pixbuf-2.0.so.0 libpangocairo-1.0.so.0 libcairo.so.2 libpango-1.0.so.0 libfreetype.so.6 libfontconfig.so.1 libgobject-2.0.so.0 libgmodule-2.0.so.0 libglib-2.0.so.0 libm.so.6 libc.so.6 ld-linux.so.2 libxcb.so.1 libXau.so.6 libXdmcp.so.6

On debian, you should be able to satisfy those dependencies by installing the following packages:
libglib2.0-0:i386 libx11-6:i386 libxext6:i386 libxt6:i386 libc6 libxcursor1:i386 libnss3:i386 libgtk2.0-0:i386

And depending on your architecture:
libc6-amd64

I also got a few runtime errors and had to install:
gtk2-engines-pixbuf gtk2-engines:i386

If you have a 64 bit platform, that's a lot of stuff for just one game. Not too happy with this, but it should work.
Of course, you could still run into sound issues, like me, and be reminded why you don't like flash (and pulseaudio).

I really like the game, though.

Thanks for all the info, zirlo! That should be really helpful to users coming at the game from the Linux side.

I agree that Flash has made things difficult for some users. Not only Linux, but the save game limitations, fullscreen weirdness, and probably some others I'm forgetting. I hope to make future games in more reliable technologies.

Thanks again!

Dan Fedor - Founder, Blue Bottle Games

On Linux Mint Debian Edition (LMDE, Update Pack 8) and for version 1.0 12/12/2014 of NEO Scavenger, I had the following error messages and respective packages that solved the problem. Since LMDE is based on Debian, this should work on testing branches of Debian as well:

error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
-> sudo aptitude install libglib2.0-0:i386

error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
-> sudo aptitude install libxt6:i386

error while loading shared libraries: libssl3.so: cannot open shared object file: No such file or directory
-> sudo aptitude install libnss3:i386

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
-> sudo aptitude install libgtk2.0-0:i386

(NEOScavenger:12129): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer
(NEOScavenger:12129): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
-> sudo aptitude install libcurl3:i386

Up to this point, the game was playable, but, I could either listen to the sound of the game or to any other sounds coming from other sources but the game, and it gave me this message in the terminal:

ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default

To fix this, I had to install the package libasound2-plugins:i386, but frankly, that one conflicted with another package:
-> sudo aptitude install libasound2-plugins:i386
The following NEW packages will be installed:
libaacplus2:i386{a} libasound2-plugins:i386 libavcodec54:i386{a} libavutil52:i386{a} libcrystalhd3:i386{a} libfaac0:i386{a} libfdk-aac0:i386{a} libjack-jackd2-0:i386{ab} libmp3lame0:i386{a} libopencore-amrnb0:i386{a}
libopencore-amrwb0:i386{a} libopenjpeg2:i386{a} libopus0:i386{a} liborc-0.4-0:i386{a} libsamplerate0:i386{a} libschroedinger-1.0-0:i386{a} libspeex1:i386{a} libspeexdsp1:i386{a} libtheora0:i386{a} libva1:i386{a}
libvo-aacenc0:i386{a} libvo-amrwbenc0:i386{a} libvpx1:i386{a} libx264-140:i386{a} libxvidcore4:i386{a}
0 packages upgraded, 25 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,668 kB of archives. After unpacking 26.8 MB will be used.
The following packages have unmet dependencies:
libjack-jackd2-0:i386 : Conflicts: libjack-0.116 which is a virtual package.
Conflicts: libjack0 but 1:0.121.3+20120418git75e3e20b-2.1 is installed.
libjack0 : Conflicts: libjack-0.116:i386 which is a virtual package.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:
...

What it doesn't tell me is, that the package libjack-jackd2-0:i386 is not needed, but instead, another package, which won't cause any conflicts, can be installed prior to the libasound2-plugins:i386 package:
-> sudo aptitude install libjack0:i386

Then install the libasound2-plugins:i386 package:
-> sudo aptitude install libasound2-plugins:i386

After that last package, I am able to play NEO Scavenger without blocking the sound output device for other sound sources.

As a note besides, I already had to install a couple of i386 libraries previously when trying to run another legacy game (Planescape Torment IIRC), so, if you have never installed any i386 libraries on your system, you might have to install some other libraries first, most likely the libc6:i386, and maybe others, I don't know.

As always, thanks for sharing your error resolutions, Dogman! There are quite a few flavors of Linux out there, and it helps for users to see how each was able to bypass any issues. Fortunately, it usually seems to be missing libs, as you've pointed out.

Thanks again!

Dan Fedor - Founder, Blue Bottle Games

Umh, i'm using ubuntu gnome 14.10, playing through Steam. The game seams to work fine until in 5 minutes or so it freezes (except for the audio) and litterally kills the system, forcing it to reboot. I don't know if this happens to anyone else. I've played fm2014 and crusader kings without any problem, and they should be more resource demanding than NEO scavenger, so i think this should be an issue with this game.

Hi sketch,

There are some users who report performance issues with the game, and one of the major culprits is the cpu usage. The short version is that this particular game engine/Flash version combo doesn't have any gpu acceleration, so everything hits the cpu. And on some machines, that can cause freezing or crashing after a while.

This link talks about it a bit more in detail, and lists several things you can try which may help.
http://bluebottlegames.com/main/node/4375

Let me know if that's the case!

Dan Fedor - Founder, Blue Bottle Games

fact is i've bought this game on steam since this was meant to be a linux compatible game. Since i can't play with it, and since i've read nobody is going to fix this, how should i behave about this? i can't play it. I've tried playing it with minimum details, and still my eight core vishera cpu is not able to handle it. Some solution of sort have to be found.

Hi sketch,

Which version of the game is causing this? One thing which occurred to me is that it could also be due to a bug such as an infinite loop, or similar processor-intensive crash. If that's the case, it may be fixable (and would explain why even the low settings do no good).

Have you seen this system freeze on v1.0, v1.01, v1.02, or v1.03? And what about the demo?

If we can narrow it down to a certain version, perhaps we can figure out the cause and fix it.

Dan Fedor - Founder, Blue Bottle Games

I am running Ubuntu 14.04 LTS. I collected all information from various Threads, so you might want to update your first post:

You can always see the errormessage upon start and the corresponding output. The fix follows in the next line

$ ./NEOScavenger_demo ./NEOScavenger_demo: error while loading shared libraries: libssl3.so: cannot open shared object file: No such file or directory $ sudo apt-get install libnss3:i386 $ ./NEOScavenger_demo ./NEOScavenger_demo: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory $ sudo apt-get install libgtk2.0-0:i386 $ ./Arbeitsfläche/NEOScavenger_demo Gtk-Message: Failed to load module "overlay-scrollbar" Gtk-Message: Failed to load module "unity-gtk-module" (NEOScavenger_demo:8807): Gtk-WARNING **: Im Modulpfad »murrine« konnte keine Themen-Engine gefunden werden, [33x] Gtk-Message: Failed to load module "canberra-gtk-module" (NEOScavenger_demo:8807): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (NEOScavenger_demo:8807): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed $ sudo apt-get install curl:i386 >additional installed: > libcurl3:i386 libidn11:i386 librtmp0:i386 >REMOVED: > curl $ ./Arbeitsfläche/NEOScavenger_demo Gtk-Message: Failed to load module "overlay-scrollbar" Gtk-Message: Failed to load module "unity-gtk-module" (NEOScavenger_demo:10085): Gtk-WARNING **: Im Modulpfad »murrine« konnte keine Themen-Engine gefunden werden, [33x] Gtk-Message: Failed to load module "canberra-gtk-module"

The remaining warnings seem not to harm the game. Be aware, that the package curl cannot be installed in both versions, i386 and amd. If you need your 64bit curl you have to solve that yourself :(

Thanks for the extra info! I've pasted a link to this in the OP so folks can find it easier.

Dan Fedor - Founder, Blue Bottle Games

Ok, I want to ask - can I somehow extract .SWF from the wrapper? It has many issues. I would rather play the game with chrome, but the wrapper is stuck to flash player 11.

Ok, I want to ask - can I somehow extract .SWF from the wrapper? It has many issues. I would rather play the game with chrome, but the wrapper is stuck to flash player 11.

Unfortunately, I don't think that'd work, even if you could extract it. I suspect that Chrome wouldn't let the SWF access any local files for security reasons, so the game wouldn't be able to load data/textures.

That said, you could always try. I have no idea how you'd go about extracting the SWF, but it's possibly just a byte offset into the package/wrapper.

In any case, I apologize for using Flash. It was a sound decision back when I made it (2011). But these days, it's a huge pain in the butt :) I won't be using it again, I can promise that!

Dan Fedor - Founder, Blue Bottle Games

I spent all day trying to get this to running on Ubuntu 12.04 LTS. I was able to track down the packages to install based on the error messages, but then I got to the point of only having generic errors:

`menu_proxy_module_load': /home/NJC2/NEOScavenger/NEOScavenger: undefined symbol: menu_proxy_module_load (NEOScavenger:6968): Gtk-WARNING **: Failed to load type module: (null) (NEOScavenger:6968): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (NEOScavenger:6968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

I found this post, and the one thing I was missing was libcurl3:i386. After all the crap I installed and time spent, I wondered if it would have been easier to install WINE and run the Windows version. Sure enough, I install WINE through the software center, download the Windows zip from my Humble library and it runs fine.

TL;DR Save yourself time and frustration and just install WINE and run the Windows version.

For anyone encountering a loading error (especially a "File not found.row:0") even after installing the dependencies:

A solution that may work is running the executable via a full path rather than a relative path, as detailed in this helpful post by unidave.


NEO Scavenger: FAQ
10 Ways (not) to Die - A beginner's guide

Hi Im running Ubuntu Mate 16.xx and I am encountering the following error:

./NEOScavenger:
error while loading shared libraries:
libXt.so.6: cannot open shared object file: No such file or directory

When I first tried launching Neoscavenger, a different file was missing which I then installed. This file I cannot install for reasons unknown.

I installed the necessary flash libraries, and yes they have changed since 2014,

This is one of the things that needs to be installed:
sudo apt-get install libnss3:i386
I got the tipp from this post:
http://askubuntu.com/questions/437413/missing-libssl3-so-when-trying-to-install-flash-debug-player-on-ubuntu-13-10

Now when I launch Neoscavenger from the terminal, the window will load the bluebottlegames logo, but the loading bar will not budge. Its no wonder, because neoscavenger was throwing a bunch of errors, all of which are related to gtk+ I believe:

Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "topmenu-gtk-module"

(NEOScavenger:14387): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

(NEOScavenger:14387): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(NEOScavenger:14387): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer

(NEOScavenger:14387): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

I INSTALLEDso I'm unsure how to solve the "failed to load module problems.
gtk2-engines-murrine:i386 and gtk2-engines-pixbuf:i386
the latter including the "pixmap" missing stuff.

sudo apt-get install gtk2-engines-murrine:i386
sudo apt-get install gtk2-engines-pixbuf:i386

Solving the

Gtk-Message: Failed to load module "SOME MISSING MODULE HERE"

problem:
Install the necessary Gtk modules, which Neoscavenger lists. Here are two, only install them if there is an error msg saying that they are missing. If there are other modules missing, find them via google and post them here. I believe they always have to end with:i386 to ensure you are installing the 32bit version.

gail:

sudo apt-get install libgail-common:i386

atk-bridge:

sudo apt-get install libatk-adaptor:i386

canberra-gtk-module:

sudo apt-get install canberra-gtk-module:i386

topmenu-gtk-module:

sudo apt-get install topmenu-gtk2:i386

Alas, I still have that pesky error the other posters have been talking about..

Hi Mark,

I apologize for the issues getting NEO Scavenger to run. Had I known Flash was going to cause these kinds of headaches, I would've tried something else.

Three things may help get the game working for you:

1 - Have you tried launching the game using the GUI, instead of command-line?
2 - Have you tried launching the game from command-line using an absolute path?
3 - What is the "pesky error the other posters have been talking about," specifically?

#s 1 and 2 are probably worth trying first, as several Linux users have reported the game not working when launched via command-line using a relative path, but working when launched using absolute paths or GUI double-click.

If neither #1 nor #2 work, #3 will help me narrow down the specific error to help find another solution.

Dan Fedor - Founder, Blue Bottle Games

Hi,
I have managed to get rid of all package-related errors, but the game still crashes right after I run the executable.

These are the packages I installed:

sudo apt install libnss3:i386 libgtk2.0-0:i386 gtk2-engines-murrine:i386 gtk2-engines-pixbuf:i386 libgail-common:i386 libatk-adaptor:i386 topmenu-gtk2:i386 libcanberra-gtk-module:i386 overlay-scrollbar-gtk2:i386 unity-gtk2-module:i386 dconf-gsettings-backend:i386

And this is the error I get at runtime:

$ /home/username/absolute/path/to/GOG\ Games/NEO\ Scavenger/start.sh Running NEO Scavenger (NEOScavenger:1782): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (NEOScavenger:1782): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

To be more precise: Adobe Air opens an empty window. Then, as soon as I move the mouse of hit a key, the window crashes and closes down.

I get the same behaviour by running game/NEOScavenger from the command line (absolute or relative path) or from the UI.

FYI, I run Ubuntu 16.04. Also, I upgraded Adobe Air to the latest version.

Hi regis! I apologize for the Linux issues, and hope never to inflict this kind of trouble on future games.

The first thing I thought of when reading your message was that I recall users saying they couldn't get the game to run via the command-line, but it looks like you tried via the UI, too. And the relative/absolute path via command line might have been the other trick, which it appears you also tried.

The next thing that stands out to me is Adobe Air. As far as I know, Air shouldn't be involved here at all. The game doesn't use Air, but rather a self-contained Flash projector. So if Air is coming up, this is new. Could Air be trying to intercept any Flash content?

Anyway, the last thing that comes to mind is that (again, iirc), users seem to be having trouble as a result of trying to manually install all Flash lib dependencies instead of Flash itself. And more to the point, Flash 32bit libs instead of any 64bit ones.

Unfortunately, I'm on vacation right now, or else I could check through previous resolutions to see if something fit the bill here. I won't be back in the office for a bit.

But feel free to ping me here or via email, and I'll continue trying to help where I can.

And again, sorry for Flash pains!

Dan Fedor - Founder, Blue Bottle Games

Hello.
A little bug report for my Linux Mint:

Distributor ID: LinuxMint Description: Linux Mint 18.2 Sonya Release: 18.2 Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP x86_64 GNU/Linux

When i try start game from Steam, it just not started. In command line (with or without absolute path) game report me:

terminate called after throwing an instance of 'std::bad_cast' Application crashed with an unhandled SIGABRT

Any suggestions what can i do to launch game? Thx.

Unfortunately, my Linux-fu is underdeveloped. So I can only offer guesses.

Usually with Linux, the issues users report most often come down to one of two things:

1 - missing 32-bit libs for Flash
2 - running the game from command-line instead of UI (absolute vs. relative paths, usually)

I'd expect Steam covers #2 in your case, so it might be more likely related to #1. Particularly since it looks like you're on 64-bit. (the "x86_64").

Some users have reported success trying to install the libs piecemeal. But usually, installing the Flash plugin is a sure-fire way to get all the libs, as described here:

http://bluebottlegames.com/comment/9822#comment-9822

I apologize for not having a silver bullet in hand. Flash + Linux was a much different thing back when this project was built (@2011-2014).

Dan Fedor - Founder, Blue Bottle Games