RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    lr-scummvm: request for comments and testing

    Scheduled Pinned Locked Moved Ideas and Development
    retroarchscummvmcorescriptmoduletesting
    189 Posts 37 Posters 42.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      corezon
      last edited by corezon

      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.

      BadFurDayB 1 Reply Last reply Reply Quote 0
      • P
        patomax
        last edited by patomax

        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.

        1 Reply Last reply Reply Quote 0
        • BadFurDayB
          BadFurDay @corezon
          last edited by BadFurDay

          @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.

          1 Reply Last reply Reply Quote 0
          • retropieuser555R
            retropieuser555
            last edited by

            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.

            Pi 5 4GB

            Retroflag GPI with raspberry pi zero 2 w/ wifi

            Retroachievements:- lovelessrapture

            LolonoisL 1 Reply Last reply Reply Quote 0
            • LolonoisL
              Lolonois @retropieuser555
              last edited by

              @retropieuser555 here is what worked for me:

              Prerequisite: Installed lr-scummvm from experimental package section. If not done, run sudo 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. ;-)

              roslofR 1 Reply Last reply Reply Quote 2
              • roslofR
                roslof @Lolonois
                last edited by

                @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..
                
                LolonoisL 1 Reply Last reply Reply Quote 0
                • LolonoisL
                  Lolonois @roslof
                  last edited by

                  @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:

                  1. Change in /boot/config.txt: Disable dtoverlay=vc4-fkms-v3d (fake KMS) and enable dtoverlay=vc4-kms-v3d (KMS).
                  2. Reboot.
                  3. Recompile scriptmodule as usual: sudo ./retropie_packages.sh lr-scummvm.

                  With Kernel 4.19.97:

                  1. 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.

                  2. Change in /boot/config.txt: Disable dtoverlay=vc4-kms-v3d (KMS) and enable dtoverlay=vc4-fkms-v3d (fake KMS).

                  3. Reboot.

                  4. 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.

                  roslofR 1 Reply Last reply Reply Quote 1
                  • roslofR
                    roslof @Lolonois
                    last edited by

                    @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.

                    LolonoisL 1 Reply Last reply Reply Quote 0
                    • LolonoisL
                      Lolonois @roslof
                      last edited by

                      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.

                      BadFurDayB 1 Reply Last reply Reply Quote 0
                      • BadFurDayB
                        BadFurDay @Lolonois
                        last edited by

                        With the release of 2.5.0, when might we see an update to lr-scummvm?

                        LolonoisL 1 Reply Last reply Reply Quote 0
                        • LolonoisL
                          Lolonois @BadFurDay
                          last edited by

                          @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 a make clean before each actual make 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

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            ParadoxGBB @Lolonois
                            last edited by

                            @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:

                            https://retropie.org.uk/forum/topic/30769/lr-scummvm-freezes-shortly-after-launching-any-game/2?_=1636065648381

                            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.

                            LolonoisL 1 Reply Last reply Reply Quote 0
                            • LolonoisL
                              Lolonois @ParadoxGBB
                              last edited by

                              @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 commit 9703372cc8 (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

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                ParadoxGBB @Lolonois
                                last edited by ParadoxGBB

                                @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).

                                LolonoisL 1 Reply Last reply Reply Quote 0
                                • LolonoisL
                                  Lolonois @ParadoxGBB
                                  last edited by

                                  @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 have liba52-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 the lr-scummvm.sh scriptmodule of RetroPie-Setup).

                                  And of course let us know if the source build works well with libglew-dev (and liba52-dev) installed.

                                  HTH

                                  [1] https://files.retropie.org.uk/binaries/buster/rpi4/kms/libretrocores/lr-scummvm.tar.gz.asc

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    ParadoxGBB @Lolonois
                                    last edited by ParadoxGBB

                                    @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

                                    LolonoisL 1 Reply Last reply Reply Quote 0
                                    • S
                                      Stuffu
                                      last edited by

                                      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

                                      retropieuser555R P 2 Replies Last reply Reply Quote 0
                                      • retropieuser555R
                                        retropieuser555 @Stuffu
                                        last edited by

                                        @stuffu you get the little extras RetroArch offers, like the overlays (borders) and shaders

                                        Pi 5 4GB

                                        Retroflag GPI with raspberry pi zero 2 w/ wifi

                                        Retroachievements:- lovelessrapture

                                        S 1 Reply Last reply Reply Quote 1
                                        • S
                                          Stuffu @retropieuser555
                                          last edited by

                                          @retropieuser555 ok, never bothered much about those parts but maybe will look into it some day :) Thanks for clarifying!

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            ParadoxGBB @Stuffu
                                            last edited by

                                            @stuffu My biggest preference is having global retroarch controller settings with hotkeys in ScummVM.

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.