RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Different versions of PPSSPP simultaneously

    Scheduled Pinned Locked Moved Help and Support
    ppsspp
    7 Posts 2 Posters 384 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
      Cesarpuig
      last edited by

      Hello.

      I have duplicated and modified the original PPSSPP installation script, to be able to install different versions, as if they were independent emulators.

      So far everything is correct. But I find that I don't know how to make the configuration folders independent. All versions share the following address for configurations /home/pi/.config/ppsspp.

      Does anyone know if PPSSPP supports setting this address?

      Thank you.

      1 Reply Last reply Reply Quote 0
      • mituM mitu moved this topic from Projects and Themes on
      • mituM
        mitu Global Moderator
        last edited by

        Moved to the proper forum, this is not a 'Project & Themes' topic.

        ppsspp honors the XDG_CONFIG_HOME environment variable, so you can 'rewrite' /home/pi to something else. Run it like so:

        XDG_CONFIG_HOME=/home/pi/ppsspp-ver-X /opt/retropie/emulators/ppsspp/PPSSPP-SDL ...
        

        and it will create the configuration folder in /home/pi/ppsspp-ver-X/.config/ppsspp.

        C 1 Reply Last reply Reply Quote 0
        • C
          Cesarpuig @mitu
          last edited by

          Hello @mitu and happy new year.

          I run the command XDG_CONFIG_HOME=/home/pi/.config/ppsspp-1.10.3 /opt/retropie/emulators/ppsspp-1.10.3/PPSSPPSDL and get the following message:

          I: VulkanLoader.cpp:268: VulkanMayBeAvailable: Device allowed ('SDL:Linux')
          I: VulkanLoader.cpp:275: VulkanMayBeAvailable: Library loaded ('libvulkan.so.1')
          I: VulkanLoader.cpp:328: VulkanMayBeAvailable: Enumerating instance extensions
          I: VulkanLoader.cpp:339: VulkanMayBeAvailable: Instance extension count: 2
          I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (00000009)
          I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000001)
          E: VulkanLoader.cpp:365: Surface extension not found
          DEBUG: Vulkan is not available, not using Vulkan.
          Info: We compiled against SDL version 2.0.10 and we are linking against SDL version 2.0.10. :)
          I: Config.cpp:527: Longest display side: -1 pixels. Choosing scale 1
          19:51:775 Core/Config.cpp:1642 E[LOADER]: Failed to read /home/pi/.config/ppsspp-1.10.3/ppsspp/PSP/SYSTEM/controls.ini. Setting controller config to default.
          19:51:782 Core/Config.cpp:1284 E[LOADER]: Error saving config - can't read ini '/home/pi/.config/ppsspp-1.10.3/ppsspp/PSP/SYSTEM/ppsspp.ini'
          19:51:803 Core/Config.cpp:1343 E[LOADER]: Error saving config - can't read ini '/home/pi/.config/ppsspp-1.10.3/ppsspp/PSP/SYSTEM/controls.ini'
          Pixels: 960 x 544
          Virtual pixels: 960 x 544
          I: gpu_features.cpp:175: GPU Vendor : Broadcom ; renderer: V3D 4.2 version str: OpenGL ES 3.1 Mesa 19.3.2 ; GLSL version str: OpenGL ES GLSL ES 3.10
          I: gpu_features.cpp:292: OpenGL ES 3.1 support detected!
          
          I: SDLMain.cpp:117: SDL: Trying a different device
          loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
          Control pad device 0 not supported by SDL game controller database, attempting to create default mapping...
          Added default mapping ok
          found control pad: Universal Human Interface Device Universal Human Interface Device, loading mapping: SUCCESS, mapping is:
          0300000009d200000115000011010000,Universal Human Interface Device Universal Human Interface Device,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4
          pad 1 has been assigned to control pad: Universal Human Interface Device Universal Human Interface Device
          I: NativeApp.cpp:810: NativeInitGraphics
          I: Core.cpp:190: pixel_res: 1600x1200. Calling NativeResized()
          I: NativeApp.cpp:1340: NativeResized - setting flag
          I: thin3d_gl.cpp:967: Linking shaders.
          I: thin3d_gl.cpp:967: Linking shaders.
          I: NativeApp.cpp:905: NativeInitGraphics completed
          I: NativeApp.cpp:1068: Resized flag set - recalculating bounds
          I: screen.cpp:131: ScreenManager::resized(dp: 1600x1200)
          I: GLRenderManager.cpp:201: Running first frame (0)
          

          The directory /home/pi/.config/ppsspp-1.10.3/with the default configuration files is created, But when I run the emulator it does not use that address for the configurations and even when it is executed if it does not exist it creates the following directory for the configurations /home/pi/.config/ppsspp/.

          Is it necessary to execute an order or carry out any other configuration?

          Thank you

          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by

            No idea then. Maybe overriding $HOME would work ?

            HOME=/home/pi/ppsspp-verX ...
            
            C 1 Reply Last reply Reply Quote 0
            • C
              Cesarpuig @mitu
              last edited by

              Hi

              @mitu said in Different versions of PPSSPP simultaneously:

              No idea then. Maybe overriding $HOME would work ?
              HOME=/home/pi/ppsspp-verX ...

              The same behavior, it creates a directory with the configuration, but when you run the emulator it uses the default directory

              When I execute the command XDG_CONFIG_HOME=/home/pi/.config/ppsspp-1.10.3 /opt/retropie/emulators/ppsspp-1.10.3/PPSSPPSDL, the emulator is executed, it only occurs to me to enter this command in the command line that executes the emulator ppsspp-1.10.3 = "pushd /opt/retropie/emulators/ppsspp-1.10.3; /opt/retropie/emulators/ppsspp-1.10.3/PPSSPPSDL --fullscreen %ROM%; popd", can you tell me how the command line would look like?

              Thank you

              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by mitu

                The easiest would be to create a separate .sh script with the commands to run another version:

                ppspp-ver.sh:

                pushd /opt/retropie/emulators/ppsspp-1.10.3
                XDG_CONFIG_HOME=/home/pi/.config/ppsspp-1.10.3 ./PPSSPPSDL "$@"
                popd
                

                and then reference that script in emulators.cfg:

                ppsspp-other-ver="/path/to/ppsspp-ver.sh --fullscreen %ROM%"
                C 1 Reply Last reply Reply Quote 0
                • C
                  Cesarpuig @mitu
                  last edited by

                  @mitu Hello.

                  I have modified the emulator installation script as follows:

                  addEmulator 0 "$md_id" "psp" "pushd $md_inst; XDG_CONFIG_HOME=$home/.config/$md_id ./PPSSPPSDL ${extra_params[*]} %ROM%; popd"
                  

                  So that emulators.cfg looks like this:

                  ppsspp-1.10.3 = "pushd /opt/retropie/emulators/ppsspp-1.10.3; XDG_CONFIG_HOME=/home/pi/.config/ppsspp-1.10.3 ./PPSSPPSDL --fullscreen %ROM%; popd"
                  

                  And the operation is as desired, I have separate configuration files for the specific version of ppsspp.

                  Thank you

                  1 Reply Last reply Reply Quote 0
                  • 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.