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

    Request: add Duckstation PSX emulator

    Scheduled Pinned Locked Moved Ideas and Development
    duckstationplaystationretroarch
    38 Posts 15 Posters 8.1k 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.
    • dankcushionsD
      dankcushions Global Moderator @Norstein
      last edited by

      @norstein said in Request: add Duckstation PSX emulator:

      Any news on this?

      the latest update is here: https://retropie.org.uk/forum/topic/28851/general-duckstation-discussion/5?_=1608547611304

      1 Reply Last reply Reply Quote 0
      • DreamcastKidD
        DreamcastKid Banned @Norstein
        last edited by mitu

        @norstein said in Request: add Duckstation PSX emulator:

        since PBP has the best compression and is the easiest way to have 1 file per game.

        2nd Best ... CHD has better compression and is also a very easy way to have 1 file per game.

        Also, CHD is compatible with Duckstation :) FTW !

        alt text

        ClydeC 1 Reply Last reply Reply Quote 0
        • ClydeC
          Clyde @DreamcastKid
          last edited by Clyde

          @dreamcastkid Correct, and the reason for that is that CHD compresses data tracks with 7z's LZMA compression and audio tracks with FLAC, using the best compression for the resp. data type.

          And yes, easy it is, too. See here for a script and a one-liner for RetroPie's command shell bash to create CHDs from bin/cue files.

          George SpiggottG 1 Reply Last reply Reply Quote 0
          • George SpiggottG
            George Spiggott @Clyde
            last edited by

            @clyde I'm tempted to convert my collection to CHD. Ideally I'd need a way to convert my existing PBP collection back to BIN/QUE in bulk.

            Currently running:
            Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
            ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

            F 1 Reply Last reply Reply Quote 0
            • F
              Folly @George Spiggott
              last edited by Folly

              @george-spiggott

              It seems this tool can do this ( convert pbp to bin/cue ) ( bulk batch processing with wildcards seem also possible ) :
              https://github.com/RupertAvery/PSXPackager

              It seems to work only on windows, here you can find the binary :
              https://github.com/RupertAvery/PSXPackager/releases

              Found it in this thread :
              https://retropie.org.uk/forum/topic/28688/psx-psxpackager-a-tool-to-convert-from-7z-bin-cue-to-pbp

              1 Reply Last reply Reply Quote 1
              • ClydeC
                Clyde
                last edited by

                @george-spiggott I have no experience with PBP, but according to this and this, they are (mostly?) identical to ISO, and you may be able to "convert" them back to ISO simply by renaming them. At least it may be worth a try.

                1 Reply Last reply Reply Quote 0
                • ClydeC
                  Clyde
                  last edited by

                  I searched a little and found the QPSPManager. Its available for Windows, MacOS and (alas, only in an older version) Linux.

                  It requires a graphical desktop environment, so even its Linux version shouldn't run on RetroPie without installing one, or using another Linux distribution.

                  George SpiggottG 1 Reply Last reply Reply Quote 0
                  • George SpiggottG
                    George Spiggott @Clyde
                    last edited by George Spiggott

                    @clyde and @Folly I finally got round to sorting this. It took me (or rather the computer) an hour or so to convert the 45 games in PBPs to BIN/CUE and then to CHD.

                    CHD = 14.2 GB
                    PBP = 16.3 GB
                    BIN = 23.9 GB

                    Also I now need to create an M3U file for the one multi disk game I have.

                    Currently running:
                    Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
                    ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

                    F 1 Reply Last reply Reply Quote 1
                    • F
                      Folly @George Spiggott
                      last edited by Folly

                      @george-spiggott

                      Which programs did you use, eventually, for the conversions ?

                      George SpiggottG 1 Reply Last reply Reply Quote 0
                      • George SpiggottG
                        George Spiggott @Folly
                        last edited by

                        @folly PSXPackager and Chdman.

                        Currently running:
                        Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
                        ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Folly @George Spiggott
                          last edited by Folly

                          @george-spiggott said in Request: add Duckstation PSX emulator:

                          @folly PSXPackager and Chdman.

                          Nice to hear that my suggestion worked. 😊

                          George SpiggottG 1 Reply Last reply Reply Quote 0
                          • George SpiggottG
                            George Spiggott @Folly
                            last edited by

                            @folly I have had one failure, Tomb Raider, no doubt because of its unusual multi .BIN file system. I had to source a new copy of the .BINs and convert them directly to .CHD.

                            Currently running:
                            Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
                            ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              Folly @George Spiggott
                              last edited by

                              @george-spiggott
                              Looks like you have done pretty good then. 👍

                              1 Reply Last reply Reply Quote 0
                              • dankcushionsD
                                dankcushions Global Moderator
                                last edited by

                                duckstation now supports PBP, fyi

                                wmarcioW 1 Reply Last reply Reply Quote 1
                                • wmarcioW
                                  wmarcio @dankcushions
                                  last edited by wmarcio

                                  @dankcushions .pbp file not show all games in list.
                                  Linux mint 20.4 x64.
                                  Edit: Dont run any game in .pbp file...

                                  dankcushionsD 1 Reply Last reply Reply Quote 0
                                  • wmarcioW
                                    wmarcio
                                    last edited by

                                    Hello, does anyone know how to tell me how to compile the source code of the version for Linux?
                                    I've tried, but I don't have the necessary knowledge.

                                    E 1 Reply Last reply Reply Quote 0
                                    • dankcushionsD
                                      dankcushions Global Moderator @wmarcio
                                      last edited by

                                      @wmarcio said in Request: add Duckstation PSX emulator:

                                      @dankcushions .pbp file not show all games in list.
                                      Linux mint 20.4 x64.
                                      Edit: Dont run any game in .pbp file...

                                      i'm not sure what you're asking me. it was just added upstream but you'll have to manually build it yourself if you want to test the feature, but it is working for others. it is not part of retropie yet and we don't support it.

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        ericus858 @wmarcio
                                        last edited by

                                        @wmarcio create a file lr-duckstation-psx.sh inside your RetroPie-Setup installation:
                                        ~/RetroPie-Setup/scriptmodules/libretrocores/

                                        And paste this inside:

                                        #!/usr/bin/env bash
                                        
                                        # This file is part of The RetroPie Project
                                        #
                                        # The RetroPie Project is the legal property of its developers, whose names are
                                        # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
                                        #
                                        # See the LICENSE.md file at the top-level directory of this distribution and
                                        # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
                                        #
                                        
                                        rp_module_id="lr-duckstation-psx"
                                        rp_module_desc="PlayStation emulator - Duckstation PSX for libretro"
                                        rp_module_help="ROM Extensions: .bin .cue .cbn .img .iso .m3u .mdf .pbp .toc .z .znx\n\nCopy your PlayStation roms to $romdir/psx\n\nCopy the required BIOS files\n\nscph5500.bin and\nscph5501.bin and\nscph5502.bin to\n\n$biosdir"
                                        rp_module_licence="GPL3 https://raw.githubusercontent.com/libretro/duckstation/master/LICENSE"
                                        rp_module_repo="git https://github.com/libretro/duckstation.git master"
                                        rp_module_section="exp"
                                        rp_module_flags="!all 64bit"
                                        
                                        function depends_lr-duckstation-psx() {
                                            local depends=(libvulkan-dev libgl1-mesa-dev )
                                            getDepends "${depends[@]}"
                                        }
                                        
                                        function sources_lr-duckstation-psx() {
                                            gitPullOrClone
                                        }
                                        
                                        function build_lr-duckstation-psx() {
                                            mkdir build
                                            cd build
                                            cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBRETRO_CORE=ON ..
                                            ninja -t clean
                                            ninja
                                            md_ret_require="$md_build/build/duckstation_libretro.so"
                                        }
                                        
                                        function install_lr-duckstation-psx() {
                                            md_ret_files=(
                                                'build/duckstation_libretro.so'
                                            )
                                        }
                                        
                                        function configure_lr-duckstation-psx() {
                                            mkRomDir "psx"
                                            ensureSystemretroconfig "psx"
                                        
                                            addEmulator 0 "$md_id" "psx" "$md_inst/duckstation_libretro.so"
                                            addSystem "psx"
                                        }
                                        

                                        Now run retropie-setup.sh and navigate to "Manage packages -> exp"
                                        Scroll down and you should see "lr-duckstation-psx", go inside and "Install from source" like any other package.

                                        To set duckstation as your default psx emulator, run any psx game from RetroPie interface
                                        When this window appears, press any key, then you will be able to select duckstation.
                                        549d516e-80ee-4d1f-b131-0fad50d70bde-image.png

                                        Don't forget to save any state/memory card before switching just in case.

                                        dankcushionsD 1 Reply Last reply Reply Quote 2
                                        • dankcushionsD
                                          dankcushions Global Moderator @ericus858
                                          last edited by dankcushions

                                          @ericus858 said in Request: add Duckstation PSX emulator:

                                          rp_module_flags="!all 64bit"

                                          it runs on ARM, not just aarch64. in any case, i think this will suffer the same retroarch GLES bug as i fixed, but isn't in the retroarch version used in retropie (we're waiting for the next retroarch release).

                                          i really would suggest people just wait for this to be added properly.

                                          E 1 Reply Last reply Reply Quote 1
                                          • E
                                            ericus858 @dankcushions
                                            last edited by

                                            @dankcushions I agree, I just helped @wmarcio compiling duckstation code, as he's using Mint x64
                                            My script is just a temporary solution :)

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