Game Hangs on Title Screen (linux)

Just downloaded the game from the Humble Bundle 4 and tried to run.

The game displays the title/loading screen, ( GSB/data/bitmaps/ui/loadscreens/titlescreen1024.jpg ) but then just hangs there.

I haven’t been able to close this program or alt-tab back, I have had to force quit it from a tty, using "pkill -u ": a normal killall command or killing from ‘top’ didn’t work either. Because of this I have so far been unable to get any messages from the terminal when running to give me any clues. Is there a way to start in windowed mode?

Is anyone else experiencing this? I’m on x86 architecture, and using nVidia drivers.

Also, I saw some other posts saying there are some libraries missing, is there another library I need to install/copy?

I have the same issue. I haven’t been able to get it to work yet, but you can prevent the game from going full screen so you don’t have to restart your X Server. Edit ~/.positech/GSB/prefs.ini and set windowed = 1. Then change the width and height to the desired resolution.

What distro are you running?

Thanks, that’s very handy: I can kill it with xkill now!
But no terminal output, so still clueless. :frowning:
I’m on Arch linux.

The title screen hang seems to be associated with opening main_title.ogg

Anyone know a work around, yet?

I am having the same problem. Ubuntu 10.04 (Lucid) 32-bit, “Core duo” Intel graphics chipset, Lenovo X60. It runs in Windows, but not Ubuntu. Gets to title screen and stops.

For the record, you can switch to another terminal (ctrl + alt + F2/F3/etc…) do a “ps uax | grep GSB” fin the process ID, and “kill -9” that process.

I’m having problems on a gentoo x86 machine.

First off, there were issues with me missing three libraries (libnids is not all that common, libjpeg.so.62 is out of date, and libpng.so.12 the same).

Still, the sources for such are available, and I was able to compile, confirm they were working, and install them to a subdirectory for GSB to use.

I also hit the main screen hang.

Here is a ‘thread apply all where’

Thread 4 (Thread 0xb16a2b70 (LWP 13887)):
#0 0xb7fe1424 in __kernel_vsyscall ()
#1 0xb7ee4cf6 in nanosleep () from /lib/libpthread.so.0
#2 0xb7ceba38 in SDL_Delay (ms=100) at ./src/timer/unix/SDL_systimer.c:118
#3 0x08398190 in UpdaterThread(void*) ()
#4 0xb7c9c05b in SDL_RunThread (data=0x8825fb8) at ./src/thread/SDL_thread.c:204
#5 0xb7ce93dd in RunThread (data=0x8825fb8) at ./src/thread/pthread/SDL_systhread.c:47
#6 0xb7edccd2 in start_thread () from /lib/libpthread.so.0
#7 0xb79e7a9e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb1ea3b70 (LWP 13886)):
#0 0xb7fe1424 in __kernel_vsyscall ()
#1 0xb79dd4f4 in poll () from /lib/libc.so.6
#2 0xb4c0a1a1 in ?? () from /usr/lib/libasound.so.2
#3 0xb4c0a2c4 in snd_pcm_wait () from /usr/lib/libasound.so.2
#4 0x00000000 in ?? ()

Thread 2 (Thread 0xb5c41b70 (LWP 13885)):
#0 0xb7fe1424 in __kernel_vsyscall ()
#1 0xb7ee4cf6 in nanosleep () from /lib/libpthread.so.0
#2 0xb7ceba38 in SDL_Delay (ms=1) at ./src/timer/unix/SDL_systimer.c:118
#3 0xb7ceba81 in RunTimer (unused=0x0) at ./src/timer/unix/SDL_systimer.c:203
#4 0xb7c9c05b in SDL_RunThread (data=0x8514870) at ./src/thread/SDL_thread.c:204
#5 0xb7ce93dd in RunThread (data=0x8514870) at ./src/thread/pthread/SDL_systhread.c:47
#6 0xb7edccd2 in start_thread () from /lib/libpthread.so.0
#7 0xb79e7a9e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5f03910 (LWP 13882)):
#0 0xb7fe1424 in __kernel_vsyscall ()
#1 0xb79e7b3c in lseek64 () from /lib/libc.so.6
#2 0xb79806e5 in _IO_file_seek () from /lib/libc.so.6
#3 0xb798192b in _IO_file_seekoff () from /lib/libc.so.6
#4 0xb7977f54 in ?? () from /lib/libc.so.6
#5 0xb797dccc in fseek () from /lib/libc.so.6
#6 0xb7bfb079 in _get_prev_page_serial () from /root/GSB/lib/libvorbisfile.so.3
#7 0x00000000 in ?? ()

My guess here is that this is audio related; some error condition in a SDL library is being ignored. I may follow up with a quick ltrace to confrm.

Recompiling openal with pulseaudio support, since I see an oblique reference to that somewhere here on another thread and I am prone to believe in magic (once in a while).

I ran an strace to see where the failure was occurring on my system.

You can view the trace here: chickenbarrel.org/GSB.log

CAUTION: it’s about half a meg.

Further GDB debug message:

Starting program: /home/homeuser/GSB/GSB.bin.x86
[Thread debugging using libthread_db enabled]
[New Thread 0xb7c93b70 (LWP 5832)]
[New Thread 0xb6b07b70 (LWP 5833)]
[New Thread 0xaabffb70 (LWP 5836)]
[Thread 0xaabffb70 (LWP 5836) exited]
[Thread 0xb6b07b70 (LWP 5833) exited]
[Thread 0xb7c93b70 (LWP 5832) exited]

Program terminated with signal SIGKILL, Killed.
The program no longer exists.

The debian package from HIB4 seems to work fine. I was able to play for a bit, till I had really bad screen tearing (but I think that was my GPU overheating, GPU core was at ~163F)

Yes, I have just tried the .deb package and that seems to work fine.
Previously I was using the tar.gz (the .deb file wasn’t there before).

Hello everyone,
I’m the guy who did the linux port. And I am trying to track down this issue… Which seems to only affect 32bit builds.

OK, Can people give me MD5 checksums of the GSB.bin.x86 binaries (for both the Deb and the tarball)…

I’m thinking I know what the issue is.

GET HIM!

ubuntu 10.04 i686 here >

md5sum /usr/local/games/gsb/GSB.bin.x86
e0b665ec7a4d89ec0009cb70df1066f3  /usr/local/games/gsb/GSB.bin.x86

Installing .deb results in this:

[code]dpkg -i gratuitous-space-battles_1.56.0_all.deb
(Reading database … 323604 files and directories currently installed.)
Preparing to replace gratuitous-space-battles 1.56.0 (using gratuitous-space-battles_1.56.0_all.deb) …
Unpacking replacement gratuitous-space-battles …
Setting up gratuitous-space-battles (1.56.0) …

Processing triggers for software-center …
WARNING:root:error processing: /usr/share/app-install/desktop/gsb.desktop No option ‘X-AppInstall-Package’ in section: ‘Desktop Entry’
Processing triggers for python-central …
[/code]

Attempting to start fails with this:

/usr/local/games/gsb# ./GSB
Gratuitous Space Battles: Using 32-bit version
./GSB: line 27:  4664 Segmentation fault      ./${CMD}.bin.x86

Dang… I thought that bug was fixed!!!..

UsUrPeR, can you try removing the libvorbis, libvorbisfile and libogg libraries from the lib folder?

Remaining files in folder:

/usr/local/games/gsb/lib$ ls
libcurl.so.3  libopenal.so.1  libSDL-1.2.so.0  libSDL_image-1.2.so.0

Attempted execution:

/usr/local/games/gsb$ ./GSB Gratuitous Space Battles: Using 32-bit version ./GSB: line 27: 5220 Segmentation fault ./${CMD}.bin.x86

Alright, can you give run that thing through gdb and give me a backtrace?

gdb ./GSB.bin.x86
(gdb) run
.. wait for crash ..
(gdb) thread apply all bt

you may want to edit your ~/.positech/GSB/prefs.ini to make GDB run in windowed mode when you do that. (windowed = 1 )

Strangely enough, running with GDB, the game does not “crash”. It freezes during the startup menu. I have to manually kill the process in order to get Xwindows control back.

[code]/usr/local/games/gsb# gdb ./GSB.bin.x86
GNU gdb (GDB) 7.1-ubuntu
Copyright © 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/
Reading symbols from /usr/local/games/gsb/GSB.bin.x86…(no debugging symbols found)…done.
(gdb) run
Starting program: /usr/local/games/gsb/GSB.bin.x86
[Thread debugging using libthread_db enabled]
[New Thread 0xb7c93b70 (LWP 5415)]
[New Thread 0xb6b07b70 (LWP 5416)]
[New Thread 0xaad05b70 (LWP 5418)]

Program received signal SIGSEGV, Segmentation fault.
0x00696fc6 in ?? () from /lib/tls/i686/cmov/libc.so.6
(gdb) thread apply all bt
Cannot find new threads: generic error
[/code]

I have already checked the md5sum for the tar.gz I was using was correct:

f71e9f3aeb2228a235c76dddbf45c94e

Sorry, but as the deb file was working for me I deleted it, so I’m unsure what the checksum is, but I assume it was right:

a7bda6ba08825e0892a8a0d92cd0e33d

[quote=“UsUrPeR”]
Strangely enough, running with GDB, the game does not “crash”. It freezes during the startup menu. I have to manually kill the process in order to get Xwindows control back.[/code]

Nice… ok… did you set it to windowed mode? make sure to edit the ~/.positech/GSB/prefs.ini and set it to windowed mode. Then use “CTRL-C” in the GDB window to interrupt the game and run the “thread apply all bt” from there.

Are those the md5 checksums of the tar.gz and deb files? or the “GSB.bin.x86” file within them? (I just wand the md5 of the GSB.bin.x86 file itself)