Raspberry Pi

Discussion about other and unofficial ports of ScummVM

Moderator: ScummVM Team

digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

"fatal: Not a git repository (or any of the parent directories): .git "

Are you using this or the zip equivalent?
http://prdownloads.sourceforge.net/scum ... z?download

I would start with getting the code by "git clone" instead and see if that fixes your problem...:
http://wiki.scummvm.org/index.php/Devel ... ng_started

export CXXFLAGS="-Wl,--no-keep-memory" will not help with the issues you indicate as that linker problem manifests as an operating system Out Of Memory error...
Szymon_Zy
Posts: 10
Joined: Wed Nov 26, 2014 9:29 pm

Post by Szymon_Zy »

Compiled properly!

It was MY FAULT! I did export CXXFLAGS and ..... then run screen! Screen run brand new copy of bash, and there were no CXXFLAGS! In main bash CXXFLAGS existed.

I catch up that config.mk does not include "-Wl,--no-keep-memory"

Thanks for help! This git commment is not an error. There is git.ignore.

Anyway the source is clean and proper way to compile it was:
first run screen and
1. make clean
2. export CXXFLAGS="-Wl,--no-keep-memory"
3. ./configure
4. make
5. make install

And it seems to work! scummvm --version shows

Code: Select all

ScummVM 1.7.0 (Nov 27 2014 23:41:57)
Features compiled in: Vorbis FLAC MP3 ALSA SEQ TiMidity RGB zLib FreeType2 JPEG PNG
I'm currently playing with my pi remotely so will check at home if it really works!

Update:
Works ok! However, Sfinx is detected as Soltys, so i have to use daily snapshot to play this game. I still have Soltys on floppies (probably box is still somewhere around).
Suboshi
Posts: 5
Joined: Thu Mar 26, 2009 7:34 pm

Post by Suboshi »

I'm working on getting ScummVM going as well on a new Raspberry Pi, I just wanted to check - does your sound work fine with the rebuild of 1.7 and do you go through HDMI or through analog?

I'm trying to use it with sound through HDMI channels. I've verified all other components are working - the various sound tests from command line, hello_audio.bin, other emulators, etc. I have not been able to get it working yet for ScummVM though. I haven't yet recompiled to the newer version but that's probably what I will try next. If anyone has any other tips for forcing sound through HDMI that would be appreciated too :)
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Apart from MIDI music, which is sent to ALSA directly:
https://github.com/scummvm/scummvm/blob ... i/alsa.cpp

The rest of the sound is normal digital audio which is sent out using libSDL:
https://github.com/scummvm/scummvm/tree ... /mixer/sdl

I would suggest that your libSDL is not configured to output this to ALSA correctly... or if it is, then you need to configure the correct ALSA output device i.e. HDMI card as the pcm.default. See:
http://elinux.org/R-Pi_Troubleshooting#Sound
http://www.alsa-project.org/main/index.php/Asoundrc

I think you will probably want to set SDL_AUDIODRIVER and AUDIODEV as per here to sort out libSDL for HDMI:
http://www.libsdl.org/release/SDL-1.2.1 ... vvars.html

Using aplay -L should list the available ALSA cards.

Hope this helps.
Suboshi
Posts: 5
Joined: Thu Mar 26, 2009 7:34 pm

Post by Suboshi »

Thank you very much for the links and details, digitall! That was extremely informative. I didn't actually have to make any changes, but I am glad to learn more about just how that works.

I looked over my settings and they looked good, at least initially, so before I started making any changes to the sound settings I purged the default package (ScummVM 1.4.1) from the system and then downloaded/compiled/installed version 1.7.0. That did fix the sound issues just fine, I tried two different games and both worked great!

I do have one remaining issue, and I'll be happy to start a new thread if you would prefer - I hate to hijack someone else's thread, even an old one :) But, my only remaining issue now is that the Raspberry Pi locks up whenever I try to "exit" from ScummVM 1.7.0. Whether I try to exit it back to Emulation Station, or perform a device reboot, or even a shutdown -h now to stop it entirely, it will lock up - I am unable to SSH into it or anything until I unplug it and replug it in. Naturally that's not ideal since eventually FSCK is going to find problems. I haven't had a chance yet to look for logs, but if you can point me in the direction of where the most likely ScumMVM logs are (unless it's just the /var/log/ logs) I'll be happy to reproduce the issue and review the logs, and post the details here if nothing stands out to me immediately.

Thanks again for fantastic software!
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

ScummVM is a normal user application. Nothing it does should be able to crash your operating system or hardware... that would point to an operating system, device driver or hardware stability issue. See here for help debugging this:
http://elinux.org/R-Pi_Troubleshooting

I would suggest that you ensure that you have updated your operating system packages and the RPi bootloader and firmware to the latest versions:
http://www.raspberrypi.org/documentatio ... pdating.md

If you have a B+ model with a good USB PSU, then you shouldn't have hardware issues, but earlier models can have problems with USB device power, especially if the PSU is underated and a powered hub such as a Pi Hub are not used.

Apart from this, you can try running ScummVM under a debugger such as gdb over an SSH link and see if this provides any output or backtrace at the point of failure:
http://wiki.scummvm.org/index.php/Debugging_ScummVM
Angelus3K
Posts: 79
Joined: Sat Nov 19, 2005 2:48 pm

Post by Angelus3K »

I can confirm ScummVM exits back to Emulation Station normally for me.
Is it possible for you to share your 1.7 build or does it need to be compiled on each Pi itself?
Suboshi
Posts: 5
Joined: Thu Mar 26, 2009 7:34 pm

Post by Suboshi »

Thanks again for your help! Sorry for the late response - the holidays are of course crazy, especially with having two little kids. :)

I will check on that suggestion for debugging scummVM over GDB tomorrow, I am usually SSH'd into the Pi B+ anyway while configuring it. That shouldn't be a problem. Are there any other logs that ScummVM generates I should be aware of on these? I checked /var/log/ and didn't see anything that stood out right after I replicated the issue - nothing in /var/log/messages or such.

It probably is something straightforward like a hardware misconfig that ScummVM gets mad about, possibly related to sound or video. I am typically able to exit any of the other emulators just fine - NES, Genesis, etc. from a ROM and back out to the main menu or OS without a problem. It's just ScummVM that is acting strange, but I am sure it is something specific to my system or configuration. I've used Scumm on my Windows machine before and it works just fine there too.

I also replicated the issue simply existing out of a particular game (in this case Quest for Glory III) rather than simply trying to exit out of ScummVM itself. I was trying to keep an eye on logs, but it locked up and killed my SSH session while I exited out, and nothing showed up in the logs afterwards, making me think the syslog daemon locked up simultaneously.

Thanks again for your help, and Happy Holidays to everyone!!
Angelus3K
Posts: 79
Joined: Sat Nov 19, 2005 2:48 pm

Post by Angelus3K »

I guess I'll have to try and figure out how to compile myself.
Angelus3K
Posts: 79
Joined: Sat Nov 19, 2005 2:48 pm

Post by Angelus3K »

Does anyone have any tips? I'm a Linux noob.

Cloned the ScummVM git
Ran "./configure"
Ran "Make clean"
Ran "Make"

After several hours I got make recipe for target failed and ScummVM === error 1

Any ideas what went wrong? ScummVM 1.4.1 is installed and working but I want the SCI engine.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Angelus3K: Well for a start, you could try reading the previous messages on this thread as the solution was clearly listed:
"One tip, if you want to try building the latest source code version on your RPi, you may need to pass CXXFLAGS="-Wl,--no-keep-memory" to the configure to ensure you don't get an Out Of Memory error while linking... This is a general issue with GCC ld linker on swapless/memory constrained systems. The other solution is to mount a swap device on external HDD."

This is also clearly listed on the unofficial ports page I also linked earlier:
http://wiki.scummvm.org/index.php/Platf ... _Platforms
Angelus3K
Posts: 79
Joined: Sat Nov 19, 2005 2:48 pm

Post by Angelus3K »

Apologies. I did see that someone else had that issue but was unsure if I had the same problem as I didn't see any out of memory errors but I'll try following the steps you mentioned.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Check /var/log/kern.log. You should see something like:
Jun 4 07:41:59 plumbr kernel: [70667120.897649] Out of memory: Kill process 29957 (java) score 366 or sacrifice child
Jun 4 07:41:59 plumbr kernel: [70667120.897701] Killed process 29957 (java) total-vm:2532680kB, anon-rss:1416

If this was OOM.
Angelus3K
Posts: 79
Joined: Sat Nov 19, 2005 2:48 pm

Post by Angelus3K »

Ok I typed

make clean (got a whole screen of jargon)
export CXXFLAGS="-WI,--no-keep-memory" (no messages where shown, is this normal?)
./configure
make

It's now starting to build again. I'll report back later. I'm assuming I might have done the flag export thing wrong as I typed it exactly as above and hit enter but no message were shown I just got the command prompt on the next line.

Sorry if I'm sounding really stupid but is that all I need to do? If someone could provide idiot proof steps on how to export the CXXFLAGS i.e. Exactly what to type.


I've got this far by myself. I can follow instructions but don't understand what is going on.

EDIT: I checked the kern log and YES it was an out of memory error. Hopefully I can this CXXFLAGS thing to work!!
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

No, that is completely normal and fine.

You are setting an Environment Variable:
https://en.wikipedia.org/wiki/Environment_variable

May I suggest that you should try going through a basic Unix/Linux starter course, so you have a familarity with the basic concepts?
http://www.ee.surrey.ac.uk/Teaching/Unix/
Post Reply