tecHunt Feb 15, 2013 @ 12:53am
[BUG] MD on Linux
When I try to launch this game on ubuntu (3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:15:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux) I only see a small window with Magical Diary written on it pop up and then the game closes again. Does someone else have this issue?
EDIT: Everytime I verify the integrity of the game cache it says that it has to download 60 files, but it still doesn't work.
Last edited by tecHunt; Feb 15, 2013 @ 12:27pm
Showing 1-15 of 32 comments
< >
PyGuy Feb 15, 2013 @ 11:12am 
Confirmed here. We need to get a developer on this.
Spiky Caterpillar  [developer] Feb 15, 2013 @ 1:11pm 
Hold down the shift key when starting the game. You should get a menu allowing you to select which renderer to use; tell it to use the software renderer. This fixes most crashes on startup.

If it works in software mode, the next step is to force the OpenGL renderer and see if it works (if it does, then the bug is in the autodetection code), then set it back to autodetect (the default), run Magical Diary again (it should crash again), and post or send me the opengl.txt file the game created. (It will be in ~/.local/share/Steam/SteamApps/common/Magical Diary or ~/.local/share/Steam/SteamApps/common/Magical Diary Demo, depending on which
version you have installed.).

If it doesn't work in software mode, send me the console output from a failed attempt to start Magical Diary from within Steam.

The files redownloading when you verify integrity are a known packaging issue that will be fixed at some point - the game regenerates the .pyo files the first time it's run, so they no longer match the cache.
sallp Feb 15, 2013 @ 1:21pm 
When i try to start it in a terminal I get this
Fatal Python error: (pygame parachute) Segmentation Fault
Aborted (core dumped)
PyGuy Feb 15, 2013 @ 2:08pm 
Hmmm I try holding shift and I'm not getiing a menu.
tecHunt Feb 15, 2013 @ 2:52pm 
hm... I don't get this "renderer menu" to open (shift + start what? In steam, the MD.sh or the MD.py file?).
the MagicalDiary.sh can be launched with transfer parameters. Are there any to select the renderer? I couldn't find anything in MagicalDiary.py, but I didn't want to go deeper :P
When I launch the sh (or the py) file without any parameters I get
>Fatal Python error: (pygame parachute) Segmentation Fault
like postet from sallp before
sallp Feb 15, 2013 @ 3:40pm 
Originally posted by PyGuy:
Hmmm I try holding shift and I'm not getiing a menu.

same
Spiky Caterpillar  [developer] Feb 15, 2013 @ 7:53pm 
I've added an option to force the software renderer when starting from within Steam - first, update to the newest MD build, then right-click on the game in your Steam library and select 'Launch with software renderer'.

You can also trigger it from the terminal or a file manager by running MagicalDiary-swrender.sh.

(Don't try to run the .py file directly, it probably won't do what you want most of the time. For reference, the right time to hold the shift key down is when or before the tiny square Magical Diary window appears; you can release it once the large window appears. If the game gets as far as the title screen, you can use Options: Advanced Video Settings to select the renderer.)
PyGuy Feb 15, 2013 @ 8:13pm 
Originally posted by Spiky Caterpillar:
I've added an option to force the software renderer when starting from within Steam - first, update to the newest MD build, then right-click on the game in your Steam library and select 'Launch with software renderer'.

You can also trigger it from the terminal or a file manager by running MagicalDiary-swrender.sh.

(Don't try to run the .py file directly, it probably won't do what you want most of the time. For reference, the right time to hold the shift key down is when or before the tiny square Magical Diary window appears; you can release it once the large window appears. If the game gets as far as the title screen, you can use Options: Advanced Video Settings to select the renderer.)

This is what I get when I try to launch the software renderer from the terminal:


File "/home/andrew/.local/share/Steam/SteamApps/common/Magical Diary/renpy/bootstrap.py", line 270, in bootstrap
renpy.main.main()
File "/home/andrew/.local/share/Steam/SteamApps/common/Magical Diary/renpy/main.py", line 327, in main
game.context().run(node)
File "/home/andrew/.local/share/Steam/SteamApps/common/Magical Diary/renpy/execution.py", line 259, in run
node = node.execute()
File "/home/andrew/.local/share/Steam/SteamApps/common/Magical Diary/renpy/ast.py", line 574, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide)
File "/home/andrew/.local/share/Steam/SteamApps/common/Magical Diary/renpy/python.py", line 957, in py_exec_bytecode
exec bytecode in globals, locals
File "/home/deekoo/code/renpy-projects/MagicalDiary/game/glpatch.rpy", line 27, in <module>
File "/home/deekoo/code/renpy-projects/MagicalDiary/game/glpatch_6_11.rpy", line 6, in apply_6_11_patches
ImportError: libXmu.so.6: cannot open shared object file: No such file or directory

While executing init code:
- script at line 1 of /home/deekoo/code/renpy-projects/MagicalDiary/game/glpatch.rpy
- python at line 27 of /home/deekoo/code/renpy-projects/MagicalDiary/game/glpatch.rpy.
- python at line 6 of /home/deekoo/code/renpy-projects/MagicalDiary/game/glpatch_6_11.rpy.
Spiky Caterpillar  [developer] Feb 15, 2013 @ 9:28pm 
Okay, I've got another candidate fix up.
tetradavid Feb 16, 2013 @ 12:33am 
I have the same issue but I found a workaround.
I launch the game with
~/.steam/steam/SteamApps/common/Magical\ Diary/MagicalDiary.sh

If steam is running, I get :
Fatal Python error: (pygame parachute) Segmentation Fault
and the game crashes.

If steam is NOT running, I get :
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
but the game starts :-)
Spiky Caterpillar  [developer] Feb 16, 2013 @ 3:33am 
Originally posted by tetradavid:
I have the same issue but I found a workaround.
I launch the game with
~/.steam/steam/SteamApps/common/Magical\ Diary/MagicalDiary.sh

If steam is running, I get :
Fatal Python error: (pygame parachute) Segmentation Fault
and the game crashes.

If steam is NOT running, I get :
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
but the game starts :-)

I think that's actually a different bug, since I can't reproduce it on my own machine, and the other crash seemed related to OpenGL initialization rather than whether or not the Steam client was running. What distribution and architecture are you using? When it crashes on startup from within the Steam client, what, if anything, does the opengl.txt file say? When it starts successfully, what does the opengl.txt file say?

You can get a more detailed crash information backtrace by setting the game to windowed mode, quitting it, and then running
cd ~/.steam/steam/SteamApps/common/Magical\ Diary/
PY4RENPY_GDB="gdb --" ./MagicalDiary.sh
in a terminal; when it gets to the gdb prompt,
enter
run -OO MagicalDiary.py'
wait for it to crash, and then enter
bt

(If you don't have gdb, it can be found in the 'gdb' package on most distributions.)
tetradavid Feb 16, 2013 @ 4:13am 
I have a 64bit gentoo (kernel 3.6.11).
When steam is running, the opengl.txt file is not created.

Here is the backtrace : http://pastie.org/private/z8xpvddyey3lnknuesnzg
Here is the opengl.txt generated when steam is not running : http://pastie.org/private/rool5vclowz4jx4jbzbwq
Spiky Caterpillar  [developer] Feb 16, 2013 @ 6:18am 
Originally posted by tetradavid:
I have a 64bit gentoo (kernel 3.6.11).
When steam is running, the opengl.txt file is not created.

Here is the backtrace : http://pastie.org/private/z8xpvddyey3lnknuesnzg
Here is the opengl.txt generated when steam is not running : http://pastie.org/private/rool5vclowz4jx4jbzbwq

Hrm. It's crashing when it initializes the Steam API. Do any other Steam/Linux games on your account crash? Do any of them successfully unlock Steam achievements? (As that's the easiest way I can think of to verify that they're actually using the parts of the API that I'm using.)

Does replacing game/overachiever.so with the version from http://spikycaterpillar.com/magical_diary/tmp/overachiever.so fix it?
tetradavid Feb 16, 2013 @ 6:58am 
I tried with the new overachiever.so without luck. The other games work fine and I can get achievements (I launched Osmos and unlocked the first one to be sure).
Spiky Caterpillar  [developer] Feb 16, 2013 @ 4:22pm 
What does running
PY4RENPY_GDB=strace ./MagicalDiary.sh
output? (The strace log will be huge; the section near the end is most likely to be relevant.)
Showing 1-15 of 32 comments
< >
Per page: 15 30 50