lr-scummvm: request for comments and testing
-
Has anyone had any luck getting Phantasmagoria 2 to run on lr-scummvm? It runs fine under scummvm, but when I try to run it with lr-scummvm it just crashes back to ES.
-
hello, first of all the application has worked for me without problems on an Rpi3B +, I have only had one problem and that is that I cannot change the language in some games, for example in beneath a steel sky that supports several languages, I want to leave it with text in Spanish and I haven't found a way to do it.
Edit: nevermind, I already found the answer, I just had to create a subscript in the scummvm.ini file and add the language parameter.
the only ones that don't work are the discworlds, but I can change the language in the menu or force it by deleting the other language files.
-
@corezon lr-scummvm is an older version of the program itself, 2.1.0. Check compatibility on the official ScummVM website, the game might only be for 2.2.0 or even the development branch.
Edit: I've just had a check and it should work on 2.1.0 so it's not that.
-
Has anyone seen about this edit someone has made of the lr-scummvm core? https://github.com/diablodiab/scummvm
I don't quite understand it but I think the dev is saying he's edited the scummvm core so it's updated to 2.3.0 and has simplified it so it's easier to update to the newer scummvm version for retroarch?
I had a quick try but I hit the scummvm-libretro.so not found error, which someone mentioned further above can be due to a discrepancy in the makefile file in /backends/platform/libretro/build.
So if anyone smarter than me wants to take a dive with this and see if they can get this updated version of lr-scummvm working on pi4 let me know if they can figure it out.
-
@retropieuser555 here is what worked for me:
Prerequisite: Installed
lr-scummvm
from experimental package section. If not done, runsudo RetroPie-Setup/retropie_packages lr-scummvm
.Then:
git clone https://github.com/diablodiab/scummvm.git scummvm_ddiab cd scummvm_ddiab ./configure make -j$(nproc)
... wait
cd backends/platform/libretro/build make -j$(nproc)
... wait again, in the meantime backup of the official
scummvm_libretro.so
before copying it over if you want to. Finally:sudo cp scummvm_libretro.so /opt/retropie/libretrocores/lr-scummvm/
That's it!
Welcome to "here be dragons" (terra incognita) and good luck, my pal. ;-) -
@lolonois said in lr-scummvm: request for comments and testing:
That's it!
Welcome to "here be dragons" (terra incognita) and good luck, my pal. ;-)Thank you @Lolonois for the straightforward instructions. Jazzed to get this working.
So, I didn't have any trouble compiling, but I'm currently unable to run this core, getting:
Error(s): /opt/retropie/libretrocores/lr-scummvm/scummvm_libretro.so: undefined symbol: g_TRECISION_DETECTION_type
I've had pretty bad luck with lr-scummvm since recently upgrading RPi Software and RetroArch. Hopefuly I can get this beast running, so I don't have to use the stand-alone version.
Any advice?
Full runcommand.log:
Parameters: Executing: /opt/retropie/libretrocores/lr-scummvm/romdir-launcher.sh "/home/pi/RetroPie/roms/scummvm/Day of the Tentacle with Speech.svm" --verbose --appendconfig /dev/shm/retroarch.cfg [INFO] RetroArch 1.9.4 (Git c226bd8) [INFO] === Build ======================================= [INFO] Capabilities: NEON VFPv3 VFPv4 [INFO] Built: Jun 9 2021 [INFO] Version: 1.9.4 [INFO] Git: c226bd8 [INFO] ================================================= [INFO] [Input]: Found input driver: "udev". [INFO] [Core]: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-scummvm/scummvm_libretro.so" [ERROR] Failed to open libretro core: "/opt/retropie/libretrocores/lr-scummvm/scummvm_libretro.so" Error(s): /opt/retropie/libretrocores/lr-scummvm/scummvm_libretro.so: undefined symbol: g_TRECISION_DETECTION_type [INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds. [INFO] [Core]: Unloading core symbols..
-
@roslof I could reproduce the isssue (g_TRECISION...) but here's what worked for me. I tested it with the
lr-scummvm
current master (commit:6df2bdf
- https://github.com/libretro/scummvm), not with the diablodiab changes.Either way worked.
With Kernel 5.10.43:
- Change in
/boot/config.txt
: Disabledtoverlay=vc4-fkms-v3d
(fake KMS) and enabledtoverlay=vc4-kms-v3d
(KMS). - Reboot.
- Recompile scriptmodule as usual:
sudo ./retropie_packages.sh lr-scummvm
.
With Kernel 4.19.97:
-
If you want to revert from kernel 5.10 do this before:
(a): have/make a recent full backup and
(b):sudo rpi-update 993f47507f287f5da56495f718c2d0cd05ccbc19
The commit string relates to this message in this repo. NB: You can also jump to 5.10 again with commit
85bda3d8fd6a8b70d189aefd9234440ca99cb81c
.Follow the on screen instructions.
-
Change in
/boot/config.txt
: Disabledtoverlay=vc4-kms-v3d
(KMS) and enabledtoverlay=vc4-fkms-v3d
(fake KMS). -
Reboot.
-
Recompile scriptmodule as usual:
sudo ./retropie_packages.sh lr-scummvm
.
From my experience one needs only the "cutting edge" ScummVM for the recently added ResidualVM engines, but then this is also currently a moving target on the standalone ScummVM.
- Change in
-
@lolonois great information. Clarifying question (with kernel 5.10.43): Actually running kms vs. fkms will yield different results when compiling? I didn't realize this.
-
I did not dig into all details but the g_... error gave me a hint that the GPU driver may be causing the error. With NOT recompiling and changing from fkms to kms I got random freezes with retroarch scummvm with "Day of the Tentacle".
One thing I forgot to mention: I also installed the package
libglew-dev
before recompiling. -
With the release of 2.5.0, when might we see an update to lr-scummvm?
-
@badfurday I assume it will take some time. The recent comments on this issue [1] give some insights.
However, you are free to speed things up by contributing or dontating to those guys running the show.
In the meantime I was able to deploy ScummVM core 2.5.0 in retroarch 1.9.7 without worries. User diablodiab had updated the branch after the release of ScummVM 2.5.0.
I used the
9703372cc8
commit from [2]. Just make sure to issue amake clean
before each actualmake
to remove any leftovers from previous builds. FWIW Instructions here, a few posts above [3].If games have high graphic demands you might be better off with the native ScummVM.
[1] https://github.com/libretro/scummvm/issues/179
[2] https://github.com/diablodiab/scummvm
[3] https://retropie.org.uk/forum/post/260716 -
@lolonois, I'm really curious how you got lr-scummvm working at all, because I seem to have hit the following issue on my Pi4 (all titles graphically freezing either during or right after the retroarch "configuration loaded" notifications, as the screen is refreshing and pointer is rendered:
On my older Pi3B everything is fine on RetroArch 1.8.8, and works fine still when compiling from latest lr-scummvm binary or sources, but breaks when doing a full update that upgrades to RetroArch 1.9.x.
This indicates to me that it's likely not directly tied to RPi4's graphic settings but some sort of interaction with RetroArch. I did a diff between the two machine .cfg files and so far not seeing anything obvious, but might muck around with that later.
I also tried custom building from https://github.com/diablodiab/scummvm with your steps and swapping out the core, but that doesn't load at all and just boots me back to ES.
So the only solutions I see right now is to somehow downgrade Retroarch on my Pi4 or change my configuration to use Scummvm, not lr-Scummvm. I'd really not have to do either.
I'm really scratching my head, because even if I'm wrong, I verified that FKMS is enabled in /boot/config.txt and libglew-dev package is installed. Kernal 5.10 installed too.
I really must be missing something because this is so broken that if everyone else is hitting this for this long (~5 months?) there's not a lot information out there. Then again, maybe folks running the core is a niche thing and more folks are just running ScummVM natively.
-
@paradoxgbb positively, as I wrote before, when you deploy an inofficial branch in an experimental marked emulator expect the unexpected. It is terra incognita.
However, after compiling the latest commit (
da02041
) from [1] and deploying it, lr-scummvm does not work (thats what you noticed, too). So there is some issue introduced since my post [2].For the record (summary of my last posts):
I am on kernel 4.19.97 and fake KMS, retroarch 1.9.7 (binary, from Sept 8, 2021)
Important: Make sure to pick commit9703372cc8
(from Sun Oct 10 17:43:37 2021 +0200) of repo [1]. This worked on my setup. There may be later versions (of future commits after writing this) that work, but this hit and miss approach is left as a exercise to the reader.In a nutshell:
git clone https://github.com/diablodiab/scummvm scummvm_ddiab cd scummvm_ddiab git checkout 9703372cc8 ./configure && make clean && make -j$(nproc) cd backends/platform/libretro/build make -j$(nproc) strip scummvm_libretro.so sudo cp scummvm_libretro.so /opt/retropie/libretrocores/lr-scummvm/
[1] https://github.com/diablodiab/scummvm
[2] https://retropie.org.uk/forum/post/267782 -
@lolonois Thanks again for the help, but no go. I dug in a bit yesterday and oddly parsing the specific command from runncommand.log and then subsequently lr-scummvm's rom loader / directory translator, I get no output when running in the terminal at all. No errors, no hangs, no crashes, nothing. To clarify, that's now with your suggested commit head.
The best guess I have right now is that I'm missing some sort of dependency package. As folks noted before and it also surprised me, depending on what packages you have installed impacts compilation. It still seems like retroarch integration itself with recent versions is getting in the way of the cores either grabbed or compiled in the official repository, maybe around kms/fkms stuff given the nature of the freeze, seems graphical to me.
Also no, I'm not surprised that compiling from source for an experimental repository causes complications and requires work to get running. I am, however, surprised that the precompiled binary published at https://files.retropie.org.uk/binaries/buster/rpi4/kms/libretrocores/lr-scummvm.tar.gz.asc, with build timestamp 10/15/2021, is this broken with the defaults on my pi4, especially since none of the other cores I use has any problems with the latest retroarch bits. Does the precompiled binary work for anyone else or are folks getting freezes like me and the guy whose thread I referenced before?
If anyone would be so kind I'd love to windiff my output of ./configure with someone else who got the core to compile and work on a pi4 (EDIT: mine is https://pastebin.com/gNX24Urq).
-
@paradoxgbb thanks for providing the configure output and an elaborated answer: Your assumption was right.
After comparing with my configure output (http://ix.io/3ELs) which results in a usable build on my Rpi4, I assume the missing
libglew-dev
is the cause of the instant scummvm termination. Furthermore I haveliba52-dev
installed, but I assume this is less important. In contrast I don't have the GIF lib installed, so this difference is irrelevant.Would you mind testing the binary build your were mentioning [1] after installing
libglew
(not the-dev
package) first and report back if the pre-build binary then runs successfully? (If yes, this dependency should be noted to the maintainers of thelr-scummvm.sh
scriptmodule of RetroPie-Setup).And of course let us know if the source build works well with
libglew-dev
(andliba52-dev
) installed.HTH
[1] https://files.retropie.org.uk/binaries/buster/rpi4/kms/libretrocores/lr-scummvm.tar.gz.asc
-
@lolonois Thanks again for your time on this.
So according to as much as I can tell, I do have both libglew and libglew-dev installed. I uninstalled the -dev package and made sure things were clean on the binary side but I still see the initial problem, which is an instant freeze. On the off chance I was wrong I attempted to install liba52-dev (and confirmed attempting to re-install libglew) as well but same result.
pi@retropie4:~ $ apt-cache policy libglew* libglewmx-dev: Installed: (none) Candidate: 1.13.0-4 Version table: 1.13.0-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages libglew-dev: Installed: (none) Candidate: 2.1.0-4 Version table: 2.1.0-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages libglew1.5-dev: Installed: (none) Candidate: (none) Version table: libglewmx1.5-dev: Installed: (none) Candidate: (none) Version table: libglew1.6: Installed: (none) Candidate: (none) Version table: libglew2.1: Installed: 2.1.0-4 Candidate: 2.1.0-4 Version table: *** 2.1.0-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages 100 /var/lib/dpkg/status libglewmx1.13: Installed: (none) Candidate: 1.13.0-4 Version table: 1.13.0-4 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages libglew1.6-dev: Installed: (none) Candidate: (none) Version table: libglewmx1.6-dev: Installed: (none) Candidate: (none) Version table:
At the moment I'm not convinced this is one problem. There's the graphical freeze problem when using the binary, and there's the booting out / no output problem when attempting to build my own. The latter's ./configure output does seem to indicate that my machine does have a problem detecting libglew for some reason. Right now I'm focusing on the former binary problem because that seems the most egregious to me (and it's faster to iterate on).
I did some initial pre-publishing testing for this core at the start of this thread, so it's possible I have something lingering or causing problems with that, but not sure why that would now be triggered with a RetroArch update --- that was about 3 years ago so I'm light on what specific steps I might have taken that would have caused a problem. There being a config.txt problem seems a stretch too since I'm hitting this on both of my Pi3 and Pi4 on retroarch upgrade.
Both of these Pis have forked configuration copied and tweaked, so prehaps that has something to do with it. I'm about to get a new pi zero 2 w online, so I'm thinking about first trying to get this core working from scratch to see what datapoint that creates. After that, I'm a bit at a loss on how to proceed.
EDIT: My /boot/config.txt: https://pastebin.com/XCgGUERC
-
I'm have been using standard scummvm and have zero issues and the controllers work just fine, both gamepad and mouse/keyboard.
I'm curious what benefits there are with lr-scummvm over scummvm?
Thanks in advance
-
@stuffu you get the little extras RetroArch offers, like the overlays (borders) and shaders
-
@retropieuser555 ok, never bothered much about those parts but maybe will look into it some day :) Thanks for clarifying!
-
@stuffu My biggest preference is having global retroarch controller settings with hotkeys in ScummVM.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.