Skip to content

Commit cc0bb5f

Browse files
committed
add shadps4
1 parent 5bf0894 commit cc0bb5f

5 files changed

Lines changed: 152 additions & 0 deletions

File tree

Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,21 @@ RUN \
223223
mv \
224224
squashfs-root \
225225
/opt/esde && \
226+
echo "**** install shadps4qt ****" && \
227+
mkdir /tmp/shadps4 && \
228+
SHADPS4_VERSION=$(curl -sX GET "https://api.github.com/repos/shadps4-emu/shadps4-qtlauncher/releases" \
229+
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
230+
SHORT_VERSION=$(echo "$SHADPS4_VERSION" | sed 's/shadPS4QtLauncher-//' | cut -c 1-18) && \
231+
curl -o \
232+
/tmp/shadps4/shad.zip -L \
233+
"https://github.com/shadps4-emu/shadps4-qtlauncher/releases/download/${SHADPS4_VERSION}/shadPS4QtLauncher-linux-qt-${SHORT_VERSION}.zip" && \
234+
cd /tmp/shadps4 && \
235+
unzip shad.zip && \
236+
chmod +x shadPS4QtLauncher-qt.AppImage && \
237+
./shadPS4QtLauncher-qt.AppImage --appimage-extract && \
238+
mv \
239+
squashfs-root \
240+
/opt/shadps4 && \
226241
echo "**** cleanup ****" && \
227242
apt-get autoclean && \
228243
rm -rf \

root/defaults/autostart_wayland

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,12 @@ if [ ! -f "${HOME}/.darkplaces/id1/pak0.pak" ]; then
5353
/pak0.pak \
5454
"${HOME}/.darkplaces/id1/pak0.pak"
5555
fi
56+
# shadPS4
57+
if [ ! -d "$HOME/.local/share/shadPS4" ]; then
58+
mkdir -p "$HOME/.local/share/shadPS4"
59+
cp \
60+
/defaults/config.toml \
61+
"$HOME/.local/share/shadPS4/"
62+
fi
5663

5764
dbus-run-session startlxqt > /dev/null 2>&1

root/defaults/config.toml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
[General]
2+
defaultControllerID = ""
3+
enableDiscordRPC = false
4+
isConnectedToNetwork = false
5+
isDevKit = false
6+
isPS4Pro = false
7+
isPSNSignedIn = false
8+
isTrophyPopupDisabled = false
9+
logFilter = ""
10+
logType = "sync"
11+
showSplash = false
12+
sideTrophy = "right"
13+
sysModulesPath = ""
14+
trophyNotificationDuration = 6.0
15+
userName = "shadPS4"
16+
volumeSlider = 100
17+
18+
[Input]
19+
backgroundControllerInput = false
20+
cursorHideTimeout = 5
21+
cursorState = 1
22+
isMotionControlsEnabled = true
23+
specialPadClass = 1
24+
usbDeviceBackend = 0
25+
useSpecialPad = false
26+
useUnifiedInputConfig = true
27+
28+
[Audio]
29+
mainOutputDevice = "Default Device"
30+
micDevice = "Default Device"
31+
padSpkOutputDevice = "Default Device"
32+
33+
[GPU]
34+
allowHDR = false
35+
copyGPUBuffers = false
36+
directMemoryAccess = false
37+
dumpShaders = false
38+
fsrEnabled = false
39+
Fullscreen = false
40+
FullscreenMode = "Windowed"
41+
internalScreenHeight = 720
42+
internalScreenWidth = 1280
43+
nullGpu = false
44+
patchShaders = false
45+
presentMode = "Mailbox"
46+
rcasAttenuation = 250
47+
rcasEnabled = true
48+
readbackLinearImages = false
49+
readbacks = false
50+
screenHeight = 720
51+
screenWidth = 1280
52+
vblankFrequency = 60
53+
54+
[Vulkan]
55+
crashDiagnostic = false
56+
gpuId = -1
57+
guestMarkers = false
58+
hostMarkers = false
59+
pipelineCacheArchive = false
60+
pipelineCacheEnable = false
61+
rdocEnable = false
62+
validation = false
63+
validation_core = true
64+
validation_gpu = false
65+
validation_sync = false
66+
67+
[Debug]
68+
CollectShader = false
69+
ConfigVersion = "6c1ca0800249cf5841a31937c74fae8dcd837114"
70+
DebugDump = false
71+
isSeparateLogFilesEnabled = false
72+
logEnabled = true
73+
showFpsCounter = false
74+
75+
[Keys]
76+
TrophyKey = ""
77+
78+
[GUI]
79+
addonInstallDir = "/config/.local/share/shadPS4/addcont"
80+
installDirs = ["/config"]
81+
installDirsEnabled = [true]
82+
saveDataPath = ""
83+
84+
[Settings]
85+
consoleLanguage = 1
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[Desktop Entry]
2+
Name=shadPS4 Qt Launcher
3+
Exec=/usr/bin/foot -e /opt/shadps4/AppRun
4+
Terminal=false
5+
Type=Application
6+
Icon=/opt/shadps4/net.shadps4.shadPS4
7+
Comment=Launcher for shadPS4 emulator
8+
Categories=Game;Emulator;
9+
StartupWMClass=shadPS4QtLauncher;

root/defaults/startwm_wayland.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,42 @@ if [ ! -f "${HOME}"/Desktop/PCSX2.desktop ]; then
1212
chmod +x "${HOME}"/Desktop/*.desktop
1313
fi
1414

15+
# shadPS4 loop to extract appimage
16+
monitor_shadps4_no_fuse() {
17+
local SLEEP_TIME="${1:-5}"
18+
local VERSIONS_DIR="$HOME/.local/share/shadPS4QtLauncher/versions"
19+
local TARGET_APPIMAGE="Shadps4-sdl.AppImage"
20+
local INTERNAL_BIN_PATH="usr/bin/shadps4"
21+
local MARKER_FILE=".nofuse_ready"
22+
while true; do
23+
shopt -s nullglob
24+
for folder in "$VERSIONS_DIR"/*; do
25+
if [[ -d "$folder" ]]; then
26+
if [[ -f "$folder/$MARKER_FILE" ]]; then
27+
continue
28+
fi
29+
if [[ -f "$folder/$TARGET_APPIMAGE" ]]; then
30+
(
31+
cd "$folder" || exit
32+
chmod +x "$TARGET_APPIMAGE"
33+
./"$TARGET_APPIMAGE" --appimage-extract >/dev/null 2>&1
34+
if [[ -f "squashfs-root/$INTERNAL_BIN_PATH" ]]; then
35+
rm "$TARGET_APPIMAGE"
36+
mv "squashfs-root/$INTERNAL_BIN_PATH" "$TARGET_APPIMAGE"
37+
rm -rf squashfs-root
38+
touch "$MARKER_FILE"
39+
fi
40+
)
41+
fi
42+
fi
43+
done
44+
shopt -u nullglob
45+
sleep "$SLEEP_TIME"
46+
done
47+
}
48+
49+
monitor_shadps4_no_fuse &
50+
1551
# Start DE
1652
ulimit -c 0
1753
export XCURSOR_THEME=breeze

0 commit comments

Comments
 (0)