mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-22 14:05:39 +00:00
Merge pull request #555 from XargonWan/feat/vita3k
Adding the first stage of Vita3K
This commit is contained in:
commit
979fe2c961
3
.github/workflows/cooker-selfhosted.yml
vendored
3
.github/workflows/cooker-selfhosted.yml
vendored
|
@ -70,6 +70,9 @@ jobs:
|
|||
continue-on-error: true
|
||||
|
||||
# Sometimes flatpak download fails, in this case it tries a second time
|
||||
- name: Run pre-build automation tasks (retry)
|
||||
if: steps.flatpak-download.outcome == 'failure'
|
||||
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
|
||||
- name: "Build flatpak: download only (retry)"
|
||||
if: steps.flatpak-download.outcome == 'failure'
|
||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# The proper format for this file is
|
||||
# ACTION^PLACEHOLDERTEXT^URL^REPO(Optional)
|
||||
# hash^DOOMSHAPLACEHOLDER^https://buildbot.libretro.com/assets/cores/DOOM/Doom%20%28Shareware%29.zip
|
||||
hash^VITASHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||
hash^DUCKSTATIONSHAPLACEHOLDER^https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage
|
||||
hash^SAMEDUCKSHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip
|
||||
hash^PPSSPPBIOSHASHPLACEHOLDER^https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip
|
||||
hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip
|
||||
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
|
||||
hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
|
||||
outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
|
||||
branch^THISBRANCH
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Please note that the PSVita support is still experimental, and for the way Vita3K is working the automation is limited.
|
||||
In order to install a PSVita games is needed to:
|
||||
|
||||
- Install a game opening the Vita3K emulator via Configurator, the supported formats are pkg, zip, vpk.
|
||||
- Upon installation the zRIF may be asked, it's different for each game, you can find it via web search.
|
||||
- Install DLCs and patches in the same way.
|
||||
- Create an empty file in roms/psvita/gamename.psvita, please mind the .psvita extension. For example: roms/psvita/WipEout 2048 (EU).psvita.
|
||||
- Edit the empty file adding the game Title ID (more below).
|
||||
- The game should appear in the game list after RetroDECK is re-opened.
|
||||
|
||||
How to find a title ID
|
||||
It can be found inside the Vita3K GUI in the Title ID column, or found via web search.
|
||||
For example the game WipEout 2048 (EU) has an ID that is PCSF00007.
|
||||
So simply add PCSF00007 to the WipEout 2048 (EU).psvita file and the setup for this game is complete.
|
||||
|
||||
Related wiki article can be found here:
|
||||
--
|
||||
|
||||
The RetroDECK Team
|
|
@ -19,3 +19,6 @@ how-to-install-Duckstation-textures.txt^$texture_packs_folder/Duckstation
|
|||
|
||||
# customs
|
||||
how-to-install-custom-emulators.txt^$rdhome/customs
|
||||
|
||||
# emulators
|
||||
how-to-install-psvita-games.txt^$roms_folder/psvita
|
||||
|
|
121
emu-configs/vita3k/config.yml
Normal file
121
emu-configs/vita3k/config.yml
Normal file
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
initial-setup: true
|
||||
gdbstub: false
|
||||
log-active-shaders: false
|
||||
log-uniforms: false
|
||||
log-compat-warn: false
|
||||
validation-layer: true
|
||||
pstv-mode: false
|
||||
show-mode: false
|
||||
demo-mode: false
|
||||
show-gui: false
|
||||
show-info-bar: false
|
||||
apps-list-grid: false
|
||||
display-system-apps: true
|
||||
stretch_the_display_area: false
|
||||
show-live-area-screen: true
|
||||
icon-size: 64
|
||||
archive-log: false
|
||||
backend-renderer: OpenGL
|
||||
gpu-idx: 0
|
||||
high-accuracy: true
|
||||
resolution-multiplier: 1
|
||||
disable-surface-sync: true
|
||||
screen-filter: Bilinear
|
||||
v-sync: true
|
||||
anisotropic-filtering: 1
|
||||
texture-cache: true
|
||||
show-compile-shaders: true
|
||||
hashless-texture-cache: false
|
||||
boot-apps-full-screen: true
|
||||
audio-backend: SDL
|
||||
ngs-enable: true
|
||||
sys-button: 1
|
||||
sys-lang: 1
|
||||
sys-date-format: 2
|
||||
sys-time-format: 0
|
||||
cpu-pool-size: 10
|
||||
modules-mode: 0
|
||||
delay-background: 4
|
||||
delay-start: 10
|
||||
background-alpha: 0.300000012
|
||||
log-level: 0
|
||||
cpu-backend: Dynarmic
|
||||
cpu-opt: true
|
||||
pref-path: RETRODECKHOMEDIR/bios/Vita3K/Vita3K/
|
||||
discord-rich-presence: true
|
||||
wait-for-debugger: false
|
||||
color-surface-debug: false
|
||||
show-touchpad-cursor: true
|
||||
performance-overlay: false
|
||||
perfomance-overlay-detail: 0
|
||||
perfomance-overlay-position: 0
|
||||
keyboard-button-select: 229
|
||||
keyboard-button-start: 40
|
||||
keyboard-button-up: 82
|
||||
keyboard-button-right: 79
|
||||
keyboard-button-down: 81
|
||||
keyboard-button-left: 80
|
||||
keyboard-button-l1: 20
|
||||
keyboard-button-r1: 8
|
||||
keyboard-button-l2: 24
|
||||
keyboard-button-r2: 18
|
||||
keyboard-button-l3: 9
|
||||
keyboard-button-r3: 11
|
||||
keyboard-button-triangle: 25
|
||||
keyboard-button-circle: 6
|
||||
keyboard-button-cross: 27
|
||||
keyboard-button-square: 29
|
||||
keyboard-leftstick-left: 4
|
||||
keyboard-leftstick-right: 7
|
||||
keyboard-leftstick-up: 26
|
||||
keyboard-leftstick-down: 22
|
||||
keyboard-rightstick-left: 13
|
||||
keyboard-rightstick-right: 15
|
||||
keyboard-rightstick-up: 12
|
||||
keyboard-rightstick-down: 14
|
||||
keyboard-button-psbutton: 19
|
||||
keyboard-gui-toggle-gui: 10
|
||||
keyboard-gui-fullscreen: 68
|
||||
keyboard-gui-toggle-touch: 23
|
||||
user-id: 00
|
||||
user-auto-connect: true
|
||||
dump-textures: false
|
||||
display-info-message: true
|
||||
show-welcome: false
|
||||
asia-font-support: false
|
||||
shader-cache: true
|
||||
spirv-shader: false
|
||||
current-ime-lang: 4
|
||||
psn-status: 0
|
||||
http-enable: true
|
||||
http-timeout-attempts: 50
|
||||
http-timeout-sleep-ms: 100
|
||||
http-read-end-attempts: 10
|
||||
http-read-end-sleep-ms: 250
|
||||
tracy-primitive-impl: false
|
||||
controller-binds:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- 6
|
||||
- 7
|
||||
- 8
|
||||
- 9
|
||||
- 10
|
||||
- 11
|
||||
- 12
|
||||
- 13
|
||||
- 14
|
||||
controller-led-color:
|
||||
[]
|
||||
lle-modules:
|
||||
[]
|
||||
ime-langs:
|
||||
- 4
|
||||
tracy-advanced-profiling-modules:
|
||||
[]
|
||||
...
|
12
emu-configs/vita3k/ux0/user/00/user.xml
Normal file
12
emu-configs/vita3k/ux0/user/00/user.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<user id="00" name="RetroDECK">
|
||||
<avatar>/app/retrodeck/retrodeck.png</avatar>
|
||||
<sort-apps-list type="4" state="1" />
|
||||
<theme use-background="true">
|
||||
<content-id>default</content-id>
|
||||
</theme>
|
||||
<start-screen type="default">
|
||||
<path></path>
|
||||
</start-screen>
|
||||
<backgrounds />
|
||||
</user>
|
|
@ -1337,7 +1337,7 @@
|
|||
<platform>psp</platform>
|
||||
<theme>psp</theme>
|
||||
</system>
|
||||
<!--
|
||||
|
||||
<system>
|
||||
<name>psvita</name>
|
||||
<fullname>Sony PlayStation Vita</fullname>
|
||||
|
@ -1347,7 +1347,7 @@
|
|||
<platform>psvita</platform>
|
||||
<theme>psvita</theme>
|
||||
</system>
|
||||
-->
|
||||
|
||||
<system>
|
||||
<name>psx</name>
|
||||
<fullname>Sony PlayStation</fullname>
|
||||
|
|
|
@ -667,6 +667,41 @@ prepare_emulator() {
|
|||
fi
|
||||
fi
|
||||
|
||||
if [[ "$emulator" =~ ^(vita3k|Vita3K|all)$ ]]; then
|
||||
# TODO: do a proper script
|
||||
# This is just a placeholder script to test the emulator's flow
|
||||
echo "----------------------"
|
||||
echo "Initializing Vita3K"
|
||||
echo "----------------------"
|
||||
|
||||
# extracting the emulator
|
||||
# NOTE: the emulator is writing in "." so it must be placed in the rw filesystem. A symlink of the binary is already placed in /app/bin/Vita3K
|
||||
rm -rf "/var/data/Vita3K"
|
||||
mkdir -p "/var/data/Vita3K"
|
||||
unzip "/app/retrodeck/vita3k.zip" -d "/var/data/Vita3K"
|
||||
chmod +x "/var/data/Vita3K/Vita3K"
|
||||
rm -f "/var/data/Vita3K/update-vita3k.sh"
|
||||
|
||||
# copying config file
|
||||
cp -fvr "$emuconfigs/vita3k/config.yml" "/var/data/Vita3K"
|
||||
# TODO: this step is to be done properly: Replacing RETRODECKHOMEDIR placeholder
|
||||
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "/var/data/Vita3K/config.yml"
|
||||
|
||||
# copying vita user config
|
||||
cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/Vita3K"
|
||||
|
||||
# prep saves folder
|
||||
dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata"
|
||||
|
||||
# Installing firmware
|
||||
# TODO: at the moment this is here instead of a tool because it seems like it cannot run without Firmware
|
||||
curl "http://dus01.psv.update.playstation.net/update/psv/image/2022_0209/rel_f2c7b12fe85496ec88a0391b514d6e3b/PSVUPDAT.PUP" -po /tmp/PSVUPDAT.PUP
|
||||
curl "http://dus01.psp2.update.playstation.net/update/psp2/image/2019_0924/sd_8b5f60b56c3da8365b973dba570c53a5/PSP2UPDAT.PUP?dest=us" -po /tmp/PSP2UPDAT.PUP
|
||||
Vita3K --firmware /tmp/PSVUPDAT.PUP
|
||||
Vita3K --firmware /tmp/PSP2UPDAT.PUP
|
||||
|
||||
fi
|
||||
|
||||
# Update presets for all emulators after any reset or move
|
||||
if [[ ! "$emulator" == "retrodeck" ]]; then
|
||||
build_retrodeck_current_presets
|
||||
|
|
|
@ -1261,6 +1261,30 @@ modules:
|
|||
|
||||
# Ryujinx - END
|
||||
|
||||
# Vita3K - START
|
||||
# Vita3K is writing some files in its own directory
|
||||
# So that is placed in /var/data/Vita3K and not in the readonly filesystem
|
||||
# This module is just fetching the file so it will be unique for this build
|
||||
|
||||
- name: vita3k
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
# Creating an empty symlink that will point to Vita3K binary
|
||||
- ln -s /var/data/Vita3K/Vita3K ${FLATPAK_DEST}/bin/Vita3K
|
||||
# Copying the user icon
|
||||
- mkdir -p ${FLATPAK_DEST}/retrodeck
|
||||
- cp retrodeck.png ${FLATPAK_DEST}/retrodeck
|
||||
# preparing the vita3k zip for later
|
||||
- mv ubuntu-latest.zip ${FLATPAK_DEST}/retrodeck/vita3k.zip
|
||||
sources:
|
||||
- type: file
|
||||
url: https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||
sha256: VITA3KSHAPLACEHOLDER
|
||||
- type: file
|
||||
path: res/retrodeck.png
|
||||
|
||||
# Vita3K - END
|
||||
|
||||
# External manifests end
|
||||
|
||||
- name: retrodeck
|
||||
|
|
|
@ -128,27 +128,3 @@
|
|||
# sha256: bc4d7076106d7aa59c3a3ea22b83c553e5fa1a897815831adcf18cc13d729e15
|
||||
|
||||
# Ryujinx Appimage - END
|
||||
|
||||
# Vita3K - START
|
||||
# Very broken, disabled
|
||||
# NOTE: this is a continuos release, it's provided but not supported
|
||||
# to update this module:
|
||||
# wget https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip -O rd-submodules/vita3k/vita3k-14-01-23.zip
|
||||
# sha256sum rd-submodules/vita3k/vita3k*.zip
|
||||
# change url and sha
|
||||
# check the branch in the url
|
||||
|
||||
# - name: Vita3K
|
||||
# buildsystem: simple
|
||||
# build-commands:
|
||||
# - |
|
||||
# mkdir -p ${FLATPAK_DEST}/vita3k
|
||||
# cp -r * ${FLATPAK_DEST}/vita3k
|
||||
# chmod +x ${FLATPAK_DEST}/vita3k/Vita3K
|
||||
# ln -s ${FLATPAK_DEST}/vita3k/Vita3K /app/bin/Vita3K
|
||||
# sources:
|
||||
# - type: archive
|
||||
# url: https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||
# sha256: VITASHAPLACEHOLDER
|
||||
|
||||
# Vita3K - END
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"name": "SDL2",
|
||||
"buildsystem": "autotools",
|
||||
"config-opts": ["--disable-static"],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.26.3.tar.gz",
|
||||
"sha256": "af0ff86e4a268bc12c915a0ea19ea1a16419ab1426d92bad5f4e26eb31583967"
|
||||
}
|
||||
],
|
||||
"cleanup": [ "/bin/sdl2-config",
|
||||
"/include",
|
||||
"/lib/libSDL2.la",
|
||||
"/lib/libSDL2main.a",
|
||||
"/lib/libSDL2main.la",
|
||||
"/lib/libSDL2_test.a",
|
||||
"/lib/libSDL2_test.la",
|
||||
"/lib/cmake",
|
||||
"/share/aclocal",
|
||||
"/lib/pkgconfig"]
|
||||
}
|
Binary file not shown.
BIN
res/retrodeck.png
Executable file
BIN
res/retrodeck.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -35,6 +35,7 @@ source /app/libexec/global.sh
|
|||
# - Primehack
|
||||
# - RPCS3
|
||||
# - Ryujinx
|
||||
# - Vita3K
|
||||
# - XEMU
|
||||
# - Yuzu
|
||||
# - Tools
|
||||
|
@ -441,6 +442,7 @@ configurator_open_emulator_dialog() {
|
|||
"Primehack" "Open the Metroid Prime emulator Primehack" \
|
||||
"RPCS3" "Open the PS3 emulator RPCS3" \
|
||||
"Ryujinx" "Open the Switch emulator Ryujinx" \
|
||||
"Vita3K" "Open the PSVita emulator Vita3K" \
|
||||
"XEMU" "Open the Xbox emulator XEMU" \
|
||||
"Yuzu" "Open the Switch emulator Yuzu")
|
||||
|
||||
|
@ -490,6 +492,10 @@ configurator_open_emulator_dialog() {
|
|||
ryujinx-wrapper
|
||||
;;
|
||||
|
||||
"Vita3K" )
|
||||
Vita3K
|
||||
;;
|
||||
|
||||
"XEMU" )
|
||||
xemu
|
||||
;;
|
||||
|
|
Loading…
Reference in a new issue