PCSX2 AppImage - Plugins not there?


#1

I want to make an AppImage for the PCSX2 Emulator. It often has troubles with other dependencies, so an AppImage would be great.
But i ran into a Problem. The PCSX2-AppImage does run but the Plugins in the folder “/usr/lib/games/PCSX2” are not available when first configuring PCSX2. I also tried to load the Plugins from another Directory, but they do not appear. I guess i’m missing a dependency.
What am i doing wrong?


#2

Can you please post your AppImage and the script you used to produce it? Most likely it is looking at /usr instead of the ./usr subdirectory of the AppDir.


#3

I’ve uploaded the AppImage here:
http://www.mediafire.com/file/3ojb2vo0mqpavjc/pcsx2-testing01_x64.AppImage ~15,7MB
It’s only tested with Ubuntu 14.04 yet.
I have no script of how i produced the AppImage, they are confusing for me.
Maybe you can fix the PCSX2-AppImage.

AppImages are great by the way, but too less Developers know about it. Imagine all Linux compatible Apps would have an AppImage instead of manuals how to compile their Programm. That would be Awesome.
I also tested AppImage on a Raspberry Pi with Raspbian OS and it did work!


#4

Hi @sk0re did yo see and understand the part about relocatability on https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#manually-creating-an-appdir?

Your binary, myapp, must not contain any hardcoded paths that would prevent it from being relocateable. You can check this by running strings MyApp.AppDir/usr/bin/myapp | grep /usr. Should this return something, then you need to modify your app programmatically (e.g., by using relative path or by using binreloc). If you prefer not to change the source code of your app and/or would not like to recompile your app, you can also patch the binary, for example using the command sed -i -e 's|/usr|././|g' MyApp.AppDir/usr/bin/myapp.

Also see https://www.gnu.org/software/gnulib/manual/html_node/Supporting-Relocation.html It has been a pain for many users of GNU packages for a long time that packages are not relocatable. The relocatable-prog module aims to ease the process of making a GNU program relocatable.


#5

I already tried the command sed -i -e ‘s|/usr|././|g’ MyApp.AppDir/usr/bin/myapp for PCSX2 AppImage.
Then PCSX2 wants to load the Plugins from here: “home/sk0re/Documents/usr/lib/games/PCSX2” instead from “/usr/lib/games/PCSX2”.
The Plugins don’t appear in the settings dialog but they are included in the AppImage.


#6

This could be an indication that PCSX2 is doing a chdir() which breaks our logic, because then ././ is not pointing to $APPDIR/usr any more. Can you run strace -echdir -f ./AppRun and post the result?


#7

Something seems wrong with the pixbuf loader module. I don’t know whats the meaning of this.
Here is the output of the strace command (a lot of GTK warnings):
strace -echdir -f ./AppRun
Process 17452 attached
Process 17453 attached
[pid 17453] +++ exited with 0 +++
[pid 17452] — SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17453, si_status=0, si_utime=0, si_stime=0} —
[pid 17452] +++ exited with 0 +++
— SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17452, si_status=0, si_utime=0, si_stime=0} —
Process 17454 attached
Process 17455 attached
Process 17456 attached
Process 17457 attached
Process 17458 attached
[pid 17455] +++ exited with 0 +++
[pid 17454] — SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17455, si_status=0, si_utime=0, si_stime=0} —
[pid 17456] +++ exited with 0 +++
[pid 17454] — SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17456, si_status=0, si_utime=0, si_stime=0} —
[pid 17457] +++ exited with 0 +++
[pid 17454] — SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17457, si_status=0, si_utime=0, si_stime=0} —
[pid 17458] +++ exited with 0 +++
[pid 17454] — SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17458, si_status=0, si_utime=0, si_stime=0} —
[pid 17454] +++ exited with 0 +++
— SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17454, si_status=0, si_utime=0, si_stime=0} —
[ Process PID=17451 runs in 32 bit mode. ]
Interface is initializing. Entering Pcsx2App::OnInit!
Applying operating system default language…
Loading language translation databases for ‘German’ [de_DE]
pcsx2_Main not found – translation dictionary may be incomplete.
pcsx2_Iconized not found – translation dictionary may be incomplete.
SetLanguage: Requested translation is not implemented yet.
Command line parsing…
Command line parsed!
Process 17459 attached

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “clearlooks”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “clearlooks”,

(PCSX2:17451): Gtk-WARNING **: Unable to locate theme engine in module_path: “pixmap”,

(PCSX2:17451): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file ‘/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache’: No such file or directory

This likely means that your installation is broken.
Try running the command
gdk-pixbuf-query-loaders > /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.
Loading language translation databases for ‘German’ [de_DE]
pcsx2_Main not found – translation dictionary may be incomplete.
pcsx2_Iconized not found – translation dictionary may be incomplete.
SetLanguage: Requested translation is not implemented yet.
Process 17461 attached
Process 17462 attached
[pid 17459] +++ exited with 0 +++
[pid 17462] +++ exited with 0 +++
[pid 17461] +++ exited with 0 +++
+++ exited with 255 +++


#8

Tried to generate a PCSX2 from the ppa but they don’t provide 64-bit binaries, so I stopped trying.


#9

Hi…i am a new user here. As per my knowledge AppImages are great by the way, but too less Developers know about it. Imagine all Linux compatible Apps would have an AppImage instead of manuals how to compile their Programm.I used AppImage on a Raspberry Pi with Raspbian OS.


#10

Hi EbaYau, welcome to AppImage and thanks for your kind words. There is only one way to increase developers’ awareness of AppImage: Tell the authors of your favorite applications about AppImage, that you would like to see your favorite applications in AppImage format, and why.

We will be happy to support the authors of your favorite applications in making AppImages.

Spread the word!