Different versions of PPSSPP simultaneously
-
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.
-
-
Moved to the proper forum, this is not a 'Project & Themes' topic.
ppsspp
honors theXDG_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
. -
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
-
No idea then. Maybe overriding
$HOME
would work ?HOME=/home/pi/ppsspp-verX ...
-
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 emulatorppsspp-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
-
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%"
-
@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
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.