Merge pull request #1894 from r3claimer/next

Clean up some emulators, update vulkan
This commit is contained in:
r3claimer
2025-10-02 06:22:34 -07:00
committed by GitHub
8 changed files with 112 additions and 139 deletions

View File

@@ -383,6 +383,7 @@ fi
# Debugging info:
echo "GAME set to: ${GAME}"
echo "PLATFORM set to: ${PLATFORM}"
echo "CPU CORES set to: ${EMUPERF}"
echo "AA set to: ${AA}"
echo "ASPECT set to: ${ASPECT}"
echo "AUDIOBE set to: ${AUDIOBE}"

View File

@@ -369,10 +369,12 @@ fi
# Debugging info:
echo "GAME set to: ${GAME}"
echo "PLATFORM set to: ${PLATFORM}"
echo "CPU CORES set to ${EMUPERF}"
echo "AA set to: ${AA}"
echo "ASPECT set to: ${ASPECT}"
echo "AUDIOBE set to: ${AUDIOBE}"
echo "CLOCK set to: ${CLOCK}"
echo "DOLPHIN_BACKEND set to: ${DOLPHIN_BACKEND}"
echo "ENBCHEATS set to: ${ENBCHEATS}"
echo "GRENDERER set to: ${GRENDERER}"
echo "IRES set to: ${IRES}"

View File

@@ -6,15 +6,19 @@
. /etc/profile
set_kill set "-9 flycast"
# Conf files vars
SOURCE_DIR="/usr/config/flycast"
CONF_DIR="/storage/.config/flycast"
FLYCAST_INI="emu.cfg"
#Check if flycast exists in .config
if [ ! -d "/storage/.config/flycast" ]; then
mkdir -p "/storage/.config/flycast"
cp -r "/usr/config/flycast" "/storage/.config/"
cp -r "${SOURCE_DIR}" "${CONF_DIR}"
fi
#Move save file storage/roms
if [ -d "/storage/.config/flycast/data" ]; then
mv "/storage/.config/flycast/data" "/storage/roms/dreamcast/"
if [ -d "${CONF_DIR}/data" ]; then
mv "${CONF_DIR}/data" "/storage/roms/dreamcast/"
fi
#Make flycast bios folder
@@ -34,7 +38,6 @@ FPS=$(get_setting show_fps "${PLATFORM}" "${GAME}")
IRES=$(get_setting internal_resolution "${PLATFORM}" "${GAME}")
GRENDERER=$(get_setting graphics_backend "${PLATFORM}" "${GAME}")
VSYNC=$(get_setting vsync "${PLATFORM}" "${GAME}")
CHEEVOS=$(get_setting retroachievements "${PLATFORM}" "${GAME}")
#Set the cores to use
CORES=$(get_setting "cores" "${PLATFORM}" "${GAME}")
@@ -50,82 +53,79 @@ else
fi
#AspectRatio
if [ "$ASPECT" = "4/3" ]
then
sed -i '/^rend.WideScreen =/c\rend.WideScreen = no' /storage/.config/flycast/emu.cfg
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = no' /storage/.config/flycast/emu.cfg
fi
if [ "$ASPECT" = "w" ]
then
sed -i '/^rend.WideScreen =/c\rend.WideScreen = yes' /storage/.config/flycast/emu.cfg
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = no' /storage/.config/flycast/emu.cfg
fi
if [ "$ASPECT" = "sw" ]
then
sed -i '/^rend.WideScreen =/c\rend.WideScreen = yes' /storage/.config/flycast/emu.cfg
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = yes' /storage/.config/flycast/emu.cfg
if [ "$ASPECT" = "w" ]; then
sed -i '/^rend.WideScreen =/c\rend.WideScreen = yes' "${CONF_DIR}/${FLYCAST_INI}"
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = no' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$ASPECT" = "sw" ]; then
sed -i '/^rend.WideScreen =/c\rend.WideScreen = yes' "${CONF_DIR}/${FLYCAST_INI}"
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = yes' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/^rend.WideScreen =/c\rend.WideScreen = no' "${CONF_DIR}/${FLYCAST_INI}"
sed -i '/^rend.SuperWideScreen =/c\rend.SuperWideScreen = no' "${CONF_DIR}/${FLYCAST_INI}"
fi
#AutoFrameSkip
if [ "$ASKIP" = "off" ]
then
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 0' /storage/.config/flycast/emu.cfg
fi
if [ "$ASKIP" = "normal" ]
then
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 1' /storage/.config/flycast/emu.cfg
fi
if [ "$ASKIP" = "max" ]
then
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 2' /storage/.config/flycast/emu.cfg
if [ "$ASKIP" = "normal" ]; then
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 1' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$ASKIP" = "max" ]; then
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 2' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/^pvr.AutoSkipFrame =/c\pvr.AutoSkipFrame = 0' "${CONF_DIR}/${FLYCAST_INI}"
fi
#Internal Resolution
if [ "$IRES" = "0" ]; then
sed -i '/rend.Resolution =/c\rend.Resolution = 240' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 240' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$IRES" = "2" ]; then
sed -i '/rend.Resolution =/c\rend.Resolution = 720' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 720' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$IRES" = "3" ]; then
sed -i '/rend.Resolution =/c\rend.Resolution = 960' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 960' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$IRES" = "4" ]; then
sed -i '/rend.Resolution =/c\rend.Resolution = 1200' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 1200' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$IRES" = "5" ]; then
sed -i '/rend.Resolution =/c\rend.Resolution = 1440' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 1440' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/rend.Resolution =/c\rend.Resolution = 480' /storage/.config/flycast/emu.cfg
sed -i '/rend.Resolution =/c\rend.Resolution = 480' "${CONF_DIR}/${FLYCAST_INI}"
fi
#Graphics Renderer
if [ "$GRENDERER" = "opengl" ]; then
sed -i '/^pvr.rend =/c\pvr.rend = 0' /storage/.config/flycast/emu.cfg
sed -i '/^pvr.rend =/c\pvr.rend = 0' "${CONF_DIR}/${FLYCAST_INI}"
elif [ "$GRENDERER" = "vulkan" ]; then
sed -i '/^pvr.rend =/c\pvr.rend = 4' /storage/.config/flycast/emu.cfg
sed -i '/^pvr.rend =/c\pvr.rend = 4' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/^pvr.rend =/c\pvr.rend = @GRENDERER@' /storage/.config/flycast/emu.cfg
sed -i '/^pvr.rend =/c\pvr.rend = @GRENDERER@' "${CONF_DIR}/${FLYCAST_INI}"
fi
#ShowFPS
if [ "$FPS" = "0" ]
then
sed -i '/^rend.ShowFPS =/c\rend.ShowFPS = no' /storage/.config/flycast/emu.cfg
fi
if [ "$FPS" = "1" ]
then
sed -i '/^rend.ShowFPS =/c\rend.ShowFPS = yes' /storage/.config/flycast/emu.cfg
if [ "$FPS" = "1" ]; then
sed -i '/^rend.ShowFPS =/c\rend.ShowFPS = yes' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/^rend.ShowFPS =/c\rend.ShowFPS = no' "${CONF_DIR}/${FLYCAST_INI}"
fi
#Vysnc
if [ "$VSYNC" = "0" ]
then
sed -i '/^rend.vsync =/c\rend.vsync = no' /storage/.config/flycast/emu.cfg
fi
if [ "$VSYNC" = "1" ]
then
sed -i '/^rend.vsync =/c\rend.vsync = yes' /storage/.config/flycast/emu.cfg
#Vsync
if [ "$VSYNC" = "1" ];then
sed -i '/^rend.vsync =/c\rend.vsync = yes' "${CONF_DIR}/${FLYCAST_INI}"
else
sed -i '/^rend.vsync =/c\rend.vsync = no' "${CONF_DIR}/${FLYCAST_INI}"
fi
#Retroachievements
/usr/bin/cheevos_flycast.sh
# Debugging info:
echo "GAME set to: ${GAME}"
echo "PLATFORM set to: ${PLATFORM}"
echo "CONF DIR: ${CONF_DIR}/${FLYCAST_INI}"
echo "CPU CORES set to: ${EMUPERF}"
echo "ASPECT RATIO set to: ${ASPECT}"
echo "AUTO FRAME SKIP set to: ${ASKIP}"
echo "INTERNAL RESOLUTION set to: ${IRES}"
echo "GRAPHICS RENDERER set to: ${GRENDERER}"
echo "FPS set to: ${FPS}"
echo "VSYNC set to: ${VSYNC}"
echo "Launching /usr/bin/flycast ${1}"
#Run flycast emulator
${EMUPERF} /usr/bin/flycast "${1}"

View File

@@ -3,20 +3,27 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
. /etc/profile
set_kill set "-9 ppsspp"
SOURCE_DIR="/usr/config/ppsspp"
CONF_DIR="/storage/.config/ppsspp"
PPSSPP_INI="/PSP/SYSTEM/ppsspp.ini"
PPSSPP_INI="PSP/SYSTEM/ppsspp.ini"
# Check if conf dir exists
if [ ! -d "${CONF_DIR}" ]
then
cp -rf ${SOURCE_DIR} ${CONF_DIR}
fi
# Check if savestate dir exists
if [ ! -d "/storage/roms/savestates/psp/ppsspp-sa" ]; then
mkdir -p "/storage/roms/savestates/psp/ppsspp-sa"
fi
#Emulation Station Features
GAME=$(echo "${1}"| sed "s#^/.*/##")
PLATFORM=$(echo "${2}"| sed "s#^/.*/##")
FSKIP=$(get_setting frame_skip "${PLATFORM}" "${GAME}")
ASKIP=$(get_setting auto_frame_skip "${PLATFORM}" "${GAME}")
FPS=$(get_setting show_fps "${PLATFORM}" "${GAME}")
IRES=$(get_setting internal_resolution "${PLATFORM}" "${GAME}")
GRENDERER=$(get_setting graphics_backend "${PLATFORM}" "${GAME}")
@@ -25,52 +32,23 @@ VSYNC=$(get_setting vsync "${PLATFORM}" "${GAME}")
#Set the cores to use
CORES=$(get_setting "cores" "${PLATFORM}" "${GAME}")
if [ "${CORES}" = "little" ]
then
if [ "${CORES}" = "little" ]; then
EMUPERF="${SLOW_CORES}"
elif [ "${CORES}" = "big" ]
then
elif [ "${CORES}" = "big" ]; then
EMUPERF="${FAST_CORES}"
else
### All..
unset EMUPERF
fi
#Frame Skip
if [ "${FSKIP}" = "0" ]
then
sed -i '/^FrameSkip =/c\FrameSkip = 0' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
#Auto Frame Skip
if [ "${ASKIP}" = "1" ]; then
sed -i '/AutoFrameSkip =/c\AutoFrameSkip = True' ${CONF_DIR}/${PPSSPP_INI}
else
sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${FSKIP}" = "1" ]
then
sed -i '/^FrameSkip =/c\FrameSkip = 1' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${FSKIP}" = "2" ]
then
sed -i '/^FrameSkip =/c\FrameSkip = 2' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${FSKIP}" = "3" ]
then
sed -i '/^FrameSkip =/c\FrameSkip = 3' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${FSKIP}" = "auto" ]
then
sed -i '/AutoFrameSkip =/c\AutoFrameSkip = True' ${CONF_DIR}/${PPSSPP_INI}
fi
#Graphics Backend
#Default to OpenGL / GLES if no option is set.
sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' ${CONF_DIR}/${PPSSPP_INI}
if [ "${GRENDERER}" = "opengl" ]; then
sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' ${CONF_DIR}/${PPSSPP_INI}
elif [ "${GRENDERER}" = "vulkan" ]; then
@@ -80,58 +58,53 @@ fi
fi
#Internal Resolution
if [ "${IRES}" = "1" ]
then
sed -i '/^InternalResolution/c\InternalResolution = 1' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${IRES}" = "2" ]
then
sed -i '/^InternalResolution/c\InternalResolution = 2' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${IRES}" = "3" ]
then
sed -i '/^InternalResolution/c\InternalResolution = 3' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${IRES}" = "4" ]
then
if [ "${IRES}" = "2" ]; then
sed -i '/^InternalResolution/c\InternalResolution = 2' ${CONF_DIR}/${PPSSPP_INI}
elif [ "${IRES}" = "3" ]; then
sed -i '/^InternalResolution/c\InternalResolution = 3' ${CONF_DIR}/${PPSSPP_INI}
elif [ "${IRES}" = "4" ]; then
sed -i '/^InternalResolution/c\InternalResolution = 4' ${CONF_DIR}/${PPSSPP_INI}
else
sed -i '/^InternalResolution/c\InternalResolution = 1' ${CONF_DIR}/${PPSSPP_INI}
fi
#Show FPS
if [ "${FPS}" = "0" ]
then
sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 0' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${FPS}" = "1" ]
then
sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 2' ${CONF_DIR}/${PPSSPP_INI}
if [ "${FPS}" = "1" ]; then
sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 2' ${CONF_DIR}/${PPSSPP_INI}
else
sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 0' ${CONF_DIR}/${PPSSPP_INI}
fi
#Skip Buffer Effects
if [ "${SKIPB}" = "0" ]
then
sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${SKIPB}" = "1" ]
then
sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = True' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${SKIPB}" = "1" ]; then
sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = True' ${CONF_DIR}/${PPSSPP_INI}
else
sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = False' ${CONF_DIR}/${PPSSPP_INI}
fi
#VSYNC
if [ "${VSYNC}" = "0" ]
then
sed -i '/^VSyncInterval =/c\VSyncInterval = False' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${VSYNC}" = "1" ]
then
sed -i '/^VSyncInterval =/c\VSyncInterval = True' ${CONF_DIR}/${PPSSPP_INI}
fi
if [ "${VSYNC}" = "1" ]; then
sed -i '/^VSyncInterval =/c\VSyncInterval = True' ${CONF_DIR}/${PPSSPP_INI}
else
sed -i '/^VSyncInterval =/c\VSyncInterval = False' ${CONF_DIR}/${PPSSPP_INI}
fi
#Retroachievements
/usr/bin/cheevos_ppsspp.sh
ARG=${1//[\\]/}
set_kill set "-9 ppsspp"
# Debugging info:
echo "GAME set to: ${GAME}"
echo "PLATFORM set to: ${PLATFORM}"
echo "CONF DIR: ${CONF_DIR}/${PPSSPP_INI}"
echo "CPU CORES set to: ${EMUPERF}"
echo "AUTO FRAME SKIP set to: ${ASKIP}"
echo "GRAPHICS RENDERER set to: ${GRENDERER}"
echo "INTERNAL RESOLUTION set to: ${IRES}"
echo "FPS set to: ${FPS}"
echo "SKIP BUFFER EFFECTS set to: ${SKIPB}"
echo "VSYNC set to: ${VSYNC}"
echo "Launching /usr/bin/ppsspp ${ARG}"
${EMUPERF} ppsspp --pause-menu-exit "${ARG}"

View File

@@ -3,7 +3,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-headers"
PKG_VERSION="1.4.323"
PKG_VERSION="1.4.328"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Headers"
PKG_URL="https://github.com/KhronosGroup/Vulkan-Headers/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -3,7 +3,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-loader"
PKG_VERSION="1.4.323"
PKG_VERSION="1.4.328"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Loader"
PKG_URL="https://github.com/KhronosGroup/Vulkan-Loader/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -3,7 +3,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-tools"
PKG_VERSION="1.4.323"
PKG_VERSION="1.4.328"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Tools"
PKG_URL="https://github.com/KhronosGroup/Vulkan-tools/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -333,12 +333,9 @@
<cores>
<core name="ppsspp-sa" features="cheevos">
<features>
<feature name="frame skipping">
<feature name="auto frame skip">
<choice name="on" value="1"/>
<choice name="off" value="0"/>
<choice name="1 frame per second" value="1"/>
<choice name="2 frames per second" value="2"/>
<choice name="3 frames per second" value="3"/>
<choice name="auto frame skip" value="auto"/>
</feature>
<feature name="graphics backend">
<choice name="opengl" value="opengl"/>
@@ -359,8 +356,8 @@
<choice name="no" value="0"/>
</feature>
<feature name="vsync">
<choice name="off" value="0"/>
<choice name="on" value="1"/>
<choice name="off" value="0"/>
</feature>
</features>
</core>