• 0 Votes
    7 Posts
    1k Views
    S

    @fadingrose said in How to add a custom port (Emby Theatre):

    BTW if i pop into /opt/retropie/configs/ports/emby-theater/emulators.cfg there isn't any emby files in this on either the pi or laptop?

    Right, so nothing that says runcommand in it is going to work.

    The first step is going to be to get it running, on your Pi4, with something typed in from the command-line. Does that work?

    To start emby theatre from the command line i just typed emby-theatre on the laptop and it loads.

    How about on your Pi4, does it work the same, there?

    I wanted to test emby-theater running in Retropi on my laptop first and then mirror the results on my actual Pi4 running Retropi once i know it worked

    Solid plan.

    so i created the emby-theater.sh file in /RetroPie/roms/ports on the laptop and included the following in the file which i copied from the Kodi.sh file.

    #!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "emby-theater" ""

    This then threw the error "no config found for system emby-theater" when i tried loading it in retropie,

    Right, because runcommand is set up for kodi but not for emby.

    I then updated the emby-theater.sh file and replace the above with the following.

    #!/bin/bash "/usr/bin/emby-theater"

    When i then booted retropi on the laptop and tried booting emby-theater it booted but has a long line at the bottom of the screen like in the photo.

    Okay so at least it starts...

    I then have to open a terminal on my second screen and xkill to get out of emby/retropie.

    ...doesn't sound like it works properly, though. And you don't have this same problem, when starting it from console?

    Anyway i then moved onto the Raspberry pi 4 with Retropie installed and did the following

    ...

    tried booting emby-theater and was greeted with

    Line 2: 1175 Segmentation fault /usr/bin/emby-theater

    And this is how far i have gotten at the moment?

    That "Segmentation fault" indicates that the script itself works, (inasmuch as it's getting run, anyway), just the program doesn't. So, we are back at the start. Can you launch it from console on the RPi4 with either emby-theater or /usr/bin/emby-theater, or anything else?

  • 0 Votes
    7 Posts
    943 Views
    J

    @ExarKunIv I attempted this unsuccessfully but will give it another shot.

    The configs in openbor are not user readable / not in any way like a retroarch.cfg.

    And like I referenced above, my openbor saves are for some reason saving to: /opt/retropie/configs/all/emulationstation/Saves

  • 0 Votes
    16 Posts
    2k Views
    mituM

    You should change the Audio Device in EmulationStation's settings to one of the entries listed by aplay. If you the option doesn't show up in the menu, then edit es_settings directly and fill in the AudioDevice there.

    front:CARD=Audio, DEV=0
    USB Audio, USB Audio
    Front Speakers

    surround21:CARD=Audio, DEV=0
    USB Audio, USB Audio
    2.1 Surround output to Front and Subwoofer speakers

    surround40:CARD=Audio, DEV=0
    USB Audio, USB Audio
    4.0 Surround output to Front and Rear speakers

  • 0 Votes
    2 Posts
    758 Views
    S

    @faided said in Baldur's Gate 1 & 2, Icewind 1 & 2, Planescape Port Walkthrough:

    ... Baldur (yes, both) ...

    You'll get much farther ahead in life if you turn off "hide extensions for known file types" now, rather than later.

  • 0 Votes
    5 Posts
    696 Views
    mituM

    @TheAutisticGamer said in Run Games that require a Desktop for SDL:

    EDIT. Is this how its suppost to be done in emulators.cfg?
    sonic3air = "XINIT:/home/pi/RetroPie/ports/sonic3air.sh"
    ports_sonic3air = "sonic3air"

    No, it should be

    sonic3air = "XINIT:/path/to/launch/script/or/program" default = "sonic3air"

    I don't think your game is installed as a port - you should have the emulators.cfg in /opt/retropie/configs/ports/sonic3air and the /home/pi/RetroPie/ports/sonic3air.sh should contain:

    "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "sonic3air"
  • 0 Votes
    5 Posts
    1k Views
    W

    @kazuuu
    You could install a port from the setup script and it’ll create one for you at /home/pi/RetroPie/roms/ports. I would assume you could just create your own folder there but not sure if there’s anything else that would need to be created for it work? Installing from the script would make sure everything was made and you could always delete the other game after the folder was made.

  • 0 Votes
    24 Posts
    6k Views
    mituM

    @TCM said in How can I add a game to Emulationstation?:

    So I can only play the game from Raspbian/Raspberry OS and not through Retropie OS?

    Using flatpak, yes. But since flatpak is just a runtime container, the game doesn't depend on it and there should be a method to install it natively on RaspiOS without the need for flatpak.

  • SM64PC Ports and Hacks

    Help and Support
    8
    0 Votes
    8 Posts
    2k Views
    W

    Well it was worth a shot. Maybe I’ll keep playing around and stumble across something. I appreciate the help though.

  • 0 Votes
    8 Posts
    737 Views
    S

    @NIGHTKILLER05 I'm not at my device right now to test it but I think quoting the actual "${0%.*}" should do it. You'll need to use "double-quotes", since 'single-quotes' prevent ${variable_expansion}. Since it's inside the (parentheses), I think it's okay to have the quotes inside the other quotes and you shouldn't have to \"escape them\". Try:

    ln -sf "/home/pi/.emulationstation/downloaded_media/ports/screenshots/$(basename "${0%.*}").png" /opt/retropie/configs/ports/doom/launching.png
  • 0 Votes
    11 Posts
    1k Views
    K

    @Lolonois Those are all excellent suggestions. Lots to try. Thank you. I like the idea of sshfs. I don’t use NFS for anything else so that’s one less service to run server side. That’s interesting about eduke. I just assumed install from source would be the latest. Guess not. Do you know does prboom also not install the latest from source?

    Alas shortly before your response I said enough and tossed Recalbox on my Pi. It’s playing Doom just fine from NFS which RetroPie was not. Another thing that points to it being a RetroPie problem. Next time I’m bored, which is pretty much always, I’ll toss RetroPie back on the Pi and try your suggestions. I had updated my RetroPie via retropie_setup. Did you do that? I always wondered if I reflashed and didn’t update if the ports would work fine. I’ll be sure to test that first thing before updating when i do flash.

  • 0 Votes
    2 Posts
    510 Views
    mituM

    Yes, you can create your own launchers if you wish and maybe a new system that would be used to launch the apps.
    If you know the command that starts the app from the CLI, then just add it in a shell script .sh file and create a system that would launch .sh files directly.

  • 0 Votes
    153 Posts
    58k Views
    hawkes_84H

    @sleve_mcdichael ah I'm an idiot. I forgot to run the game before running the cat command. Will be back!

  • External apps on Ports menu

    Help and Support
    3
    0 Votes
    3 Posts
    426 Views
    ?

    @mitu thank you

  • Error with libsdl2-mixer-dev

    Help and Support
    7
    0 Votes
    7 Posts
    811 Views
    ExarKunIvE

    @joaco glad that it was a easy fix.
    At the end of my first reply I rememberes that I had the same thing and doing a update fixed it.

    If you are looking for more ports. Take a look here these are new ones not in the main build

  • 0 Votes
    1 Posts
    475 Views
    No one has replied
  • 0 Votes
    9 Posts
    2k Views
    I

    @protocultor said in Problem with gamepad in ports (Duke\doom\quake):

    Enter in "Options" -> "Go to console", and in this console type:

    Ооооооооо, great, thanks!

    Well, with doom all fine, now need to find out how enable pad in lr-tyrquake
    And have dealings with the right stick in quake 2\3 and duke

    Maybe for those games need some same console command like in doom?
    ( i still not understood how work config in quake 2 - I'm change those values and the game apply it, but after quit from game - config stay the same original. And in game right stick only not work left direction, other up\down\right work well, and in option menu function "turn right" bind as trig_left, so maybe in console i need to write something about left-direction as trigger_right?? In options menu it's unable to bind to x axis left)

  • MapleStory on PI4

    General Discussion and Gaming
    1
    0 Votes
    1 Posts
    742 Views
    No one has replied
  • Suggestions for ports #2

    Ideas and Development
    367
    5 Votes
    367 Posts
    154k Views
    Striderx99S

    This is the last game I want to add onto the Ports section before I map the rest of these games to the joysticks I have (8-Bitdo and the Xbox 360). After that, I'll save this image of everything I got working on here. I'll move onto the Pi5 once that is done. If it doesn't work out, I'll just delete Lord of Destruction and add that once that gets ironed out.

    I was able to get the Rise of the Triad working (the wrong scriptmodule was in the RetroPie-Setup section for some reason, so I copied the updated one there), but from what I read a few posts ago, joystick controls don't seem to work. The GL port of Hexen 2 also gave me a small problem, but I found a missing pak3.pak file and it works perfectly now.

  • Installing OpenTTD from sources?

    Moved Help and Support
    1
    0 Votes
    1 Posts
    292 Views
    No one has replied
  • Ports and Launch Menu Art

    Help and Support
    5
    0 Votes
    5 Posts
    1k Views
    S

    I've done some more digging on this and I've come up with a solution that works for me. Though it's not exactly plug-and-play, it's pretty simple to implement on a case-by-case basis.

    What I tried above was never going to work, for a couple reasons. For starters, $IS_SYS and $IS_PORT are not, as I had assumed, mutually exclusive. "SYS" is anything that's not a special +Start system.sh script, and "PORT" is a subset of that. So, when I tried to make it "if IS_SYS, else if IS_PORT", that was never going to do anything. They're all SYS and when they're not, they're not PORT either, so the "else" part would never happen, in any case.

    So with that out of the way, I can just rewrite the test. If IS_SYS (that's basically everything), it checks the default paths. Doesn't find anything for ports, because their images are in the "ports" folder, not the individual "system." So instead of "else," I just added another "if IS PORT," then check for art in paths with ports instead of $SYSTEM dir: "If SYS, check $SYSTEM path; fi; if PORT, check 'ports' path, fi."

    But that still didn't work. Okay, so...why doesn't it work. Well. Runcommand is the part that displays the image. It looks for an image that's named the same as the game, right? But how does it know. It's looking at the %ROM% parameter that's passed to it by EmulationStation. Only for ports it doesn't work that way.

    With regular console systems, EmulationStation says (simplified):

    runcommand SYS [system] %ROM%

    ...and the "ROM" is the rom file. If Runcommand can find a picture in the "[system]" folder with the same basename then it's got a match.

    For ports, that doesn't happen. For ports, EmulationStation goes:

    bash %ROM%

    where "ROM" is the launch script. The launch script then calls up Runcommand with

    runcommand PORT [system] %FOO%

    ...where "FOO" is whatever weird stuff is used in the launch command for that particular port. It might be the path to a file or directory that may or may not share a basename with the launch script and image file, or it might be a long string of command-line flags that aren't even legal filenames. It's different for every "system." And this is what Runcommand is looking for when it tries to match a filename for the image to display. This is never going to work either. That's why they don't do it that way. That's why they have launching.png.

    So what do I do about it. As mentioned above, I can place a launching.png in the configs/ports or configs/ports/[system] dirs. Which works fine when a "system" only has one game on it, but for times when different games can all be launched with a shared system setup (like all the Doom expansions all using the same lr-prboom core), it means I would have to use the same image for all of them.

    Or would I? And in fact no, I would not. If it's looking for a launching.png I will let it find a launching.png. But I can decide what that looks like when it finds it.

    In my launch script, example (simplified):

    #! /bin/bash runcommand.sh PORT "[system]" "[%FOO%]"

    ...before the run-command, I add a line that symlinks (at first I copied, but symlink will shuffle less data around) the desired image to the expected location: ln -sf "/home/pi/.emulationstation/downloaded_media/ports/screenshots/$(basename ${0%.*}).png" /opt/retropie/configs/ports/launching.png:

    #! /bin/bash ln -sf "/home/pi/.emulationstation/downloaded_media/ports/screenshots/$(basename ${0%.*}).png" /opt/retropie/configs/ports/launching.png runcommand.sh PORT "[system]" "[%FOO%]"

    Using $(basename ${0%.*}) substitutes the name of the launch script (the one that this command is inside of) without path or extension, so I can just copy-paste this same line into every one of my scripts and they'll all link their own, individual launch art before calling Runcommand. It means that if I rename the script I'll have to rename the image, but this is just like how all the other systems work anyway, with the rom name being linked to the image name, and this way I didn't have to type out a different filename in each of my scripts.

    If you wish to use this method, you will need to substitute the path to your images based on your own configuration. Which is why it's not exactly plug-and-play, since it seems everyone has these in a different place.

    Here is an actual, non-simplified example of one in action:

    pi@retropie:~/RetroPie/roms/ports $ cat doom-sigil.sh #!/bin/bash ln -sf "/home/pi/.emulationstation/downloaded_media/ports/screenshots/$(basename ${0%.*}).png" /opt/retropie/configs/ports/launching.png "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "/home/pi/RetroPie/roms/ports/doom/sigil/DOOM.WAD"