View unanswered posts | View active topics
|
It is currently Sat Dec 07, 2019 6:23 am
|
|
Page 1 of 1
|
[ 10 posts ] |
|
Author |
Message |
scarmona
|
Posted: Wed Nov 13, 2019 6:23 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Hi all, I've been trying to get The Longest Journey (using my copy from GOG) with the HD mod using the latest source build of ResidualVM for RetroPie ( https://github.com/retropie/retropie-setup/wiki/ResidualVM) without much luck. I cannot make it past the main menu screen, as soon as I start the game, ResidualVM exits to the RetroPie graphical frontend (EmulationStation in this case). I know it's not officially supported yet, but the daily build works in my Windows 10 setup, so I thought I would give this a try on the Pi. The latest ResidualVM built from source I used is 0.4.0git (Nov 12, 2019), see the script below: Code: rp_module_id="residualvm" rp_module_desc="ResidualVM - A 3D Game Interpreter" rp_module_help="Copy your ResidualVM games to $romdir/residualvm" rp_module_licence="GPL2 https://raw.githubusercontent.com/residualvm/residualvm/master/COPYING" rp_module_section="exp" rp_module_flags="dispmanx !mali !kms"
function depends_residualvm() { local depends=( libsdl2-dev libmpeg2-4-dev libogg-dev libvorbis-dev libflac-dev libmad0-dev libpng-dev libtheora-dev libfaad-dev libfluidsynth-dev libfreetype6-dev zlib1g-dev libjpeg-dev ) isPlatform "x11" && depends+=(libglew-dev) isPlatform "rpi" && depends+=(libraspberrypi-dev) getDepends "${depends[@]}" }
function sources_residualvm() { gitPullOrClone "$md_build" https://github.com/ResidualVM/ResidualVM.git }
function build_residualvm() { local params=( --enable-opengl-shaders --enable-vkeybd --enable-release --disable-debug --enable-keymapper --prefix="$md_inst" ) ! isPlatform "x11" && params+=(--force-opengles2) if isPlatform "rpi"; then CXXFLAGS+=" -I/opt/vc/include" LDFLAGS+=" -L/opt/vc/lib" ./configure "${params[@]}" else ./configure "${params[@]}" fi
make clean make strip "$md_build/residualvm" md_ret_require="$md_build/residualvm" }
function install_residualvm() { make install mkdir -p "$md_inst/extra" cp -v backends/vkeybd/packs/vkeybd_*.zip "$md_inst/extra" }
function configure_residualvm() { mkRomDir "residualvm"
moveConfigDir "$home/.config/residualvm" "$md_conf_root/residualvm"
# Create startup script cat > "$romdir/residualvm/+Start ResidualVM.sh" << _EOF_ #!/bin/bash renderer="\$1" [[ -z "\$renderer" ]] && renderer="software" game="\$2" [[ "\$game" =~ ^\+ ]] && game="" pushd "$romdir/residualvm" >/dev/null $md_inst/bin/residualvm --renderer=\$renderer --fullscreen --joystick=0 --extrapath="$md_inst/extra" \$game while read id desc; do echo "\$desc" > "$romdir/residualvm/\$id.rvm" done < <($md_inst/bin/residualvm --list-targets | tail -n +3) popd >/dev/null _EOF_ chown $user:$user "$romdir/residualvm/+Start ResidualVM.sh" chmod u+x "$romdir/residualvm/+Start ResidualVM.sh"
addEmulator 0 "$md_id" "residualvm" "bash $romdir/residualvm/+Start\ ResidualVM.sh opengl_shaders %BASENAME%" addEmulator 1 "$md_id-software" "residualvm" "bash $romdir/residualvm/+Start\ ResidualVM.sh software %BASENAME%" addSystem "residualvm" "ResidualVM" ".sh .rvm" Does anyone have any tips on what things to try to make this work? Thanks
|
|
Top |
|
 |
Botje
|
Posted: Wed Nov 13, 2019 8:10 pm |
|
 |
ResidualVM Developer |
Joined: Thu Feb 28, 2013 5:48 pm Posts: 204
|
This issue was already reported previously but we cannot debug it without access to a Raspberry Pi. If you are able to do either of the following, we might make progress on this front: - run ResidualVM in a debugger and capture a stack trace, or
- let it generate a core dump and provide us with said core dump + the executable (with debug symbols)
|
|
Top |
|
 |
scarmona
|
Posted: Thu Nov 14, 2019 6:20 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Unfortunately, the debug process ends up with an empty stack. When looking at the error logs from EmulationStation, this is what I see: Code: Parameters: Executing: bash "/home/pi/RetroPie/roms/residualvm/+Start ResidualVM.sh" WARNING: Invalid joystick: 0! Virtual keyboard pack 'vkeybd_default' loaded successfully WARNING: No hardware input were defined, using defaults! User picked target 'tlj-win' (gameid 'stark')... Looking for a plugin supporting this gameid... Stark Engine Starting 'Stark Game' INFO: OpenGL Vendor: Broadcom INFO: OpenGL Renderer: VideoCore IV HW INFO: OpenGL Version: OpenGL ES 2.0 INFO: OpenGL Red bits: 8 INFO: OpenGL Green bits: 8 INFO: OpenGL Blue bits: 8 INFO: OpenGL Alpha bits: 8 INFO: OpenGL Z buffer depth bits: 24 INFO: OpenGL Double Buffer: 1 INFO: OpenGL Stencil buffer bits: 8 INFO: GLSL version: OpenGL ES GLSL ES 1.00 WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! WARNING: Stem darkening is not available with this version of FreeType! ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred WARNING: Stark::XARC Member: "map inv.xmg" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "map cursor.xmg" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "april_crouch_pickup.ani" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "april_run.ani" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "april_swimming_idle.ani" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "april.xmg" has unknown=3 with unknown meaning! WARNING: Stark::XARC Member: "arkadianmale_sitting.ani" has unknown=2 with unknown meaning! WARNING: Stark::XARC Member: "arkadiafemale_sitting.ani" has unknown=2 with unknown meaning! No uniform named 'boneRotation'! No uniform named 'boneRotation'!
Does this help in any way? I'll continue to work on the debug/core dump, will post my progress here.
|
|
Top |
|
 |
Botje
|
Posted: Thu Nov 14, 2019 8:12 pm |
|
 |
ResidualVM Developer |
Joined: Thu Feb 28, 2013 5:48 pm Posts: 204
|
It shows that some shader failed to compile properly but not much more.
|
|
Top |
|
 |
scarmona
|
Posted: Thu Nov 14, 2019 8:36 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Maybe that's all I need to fix? I also had to disable the HD Mod as they didn't display at all, I would see a black screen and the mouse pointer, only the descriptions of the main menu options would show when I hovered over them.
If you tell me how to modify the script in the original post above I can compile from source and test again.
|
|
Top |
|
 |
Botje
|
Posted: Fri Nov 15, 2019 5:00 pm |
|
 |
ResidualVM Developer |
Joined: Thu Feb 28, 2013 5:48 pm Posts: 204
|
At a guess: first, change Code: --disable-debug to Code: --enable-debug in the Code: build_residualvm function, recompile ResidualVM. Then, modify the "+Start ResidualVM.sh" script to call Code: ulimit -c unlimited so that it produces a core dump on crash.
|
|
Top |
|
 |
scarmona
|
Posted: Fri Nov 15, 2019 9:00 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Hi @botje, I tried running ResidualVM from the debugger, still no stack and this is the output: UPDATE: I just noticed you left some instructions above, I'll commit the changes, recompile and let you know how it goes. Thank you
|
|
Top |
|
 |
scarmona
|
Posted: Sat Nov 16, 2019 3:59 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Hi @botje, the recompiled from source version is still not giving any dump or stack.
I've checked with the RetroPie dev team and they say the app is not crashing, just exiting, is that possible? Any hints on what's the component that may not be functioning?
Thanks
|
|
Top |
|
 |
Botje
|
Posted: Sun Nov 17, 2019 11:52 am |
|
 |
ResidualVM Developer |
Joined: Thu Feb 28, 2013 5:48 pm Posts: 204
|
From a bit of googling, I found that this can be caused by too many uniform slots used in the shader. The Raspberry PI GPU has a max of GL_MAX_VERTEX_UNIFORM_VECTORS = 136. The vertex shader for actors blows through that budget with just the bone uniforms (140 vec4 uniforms). As a quick test, can you try editing the stark_actor.vertex file and lowering the number to 30 in the line Code: const int maxBones = 70; If that works, it will very probably glitch some actors pretty badly but the game should play. You can try ramping that number back up, but the real solution is to rework the bone uniform passing, I'm afraid.
|
|
Top |
|
 |
scarmona
|
Posted: Fri Nov 29, 2019 2:15 pm |
|
Joined: Wed Nov 13, 2019 4:50 pm Posts: 6 Location: Toronto, Canada.
|
Thanks Botje, but that didn't work. Any other suggestions or tips?
|
|
Top |
|
 |
|
Page 1 of 1
|
[ 10 posts ] |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum
|
Powered by phpBB® Forum Software © phpBB Group
Forum design by ScummVM team, icons by raina, adopted for ResidualVM
|
|