Version 1.7 is a major ShadowMountPlus update compared with 1.6.
It focuses on the game lifecycle, performance with large libraries, safe
release of mount resources, and new management features.
Warning
Mounting images can still cause shutdown problems and data corruption on
internal drives, especially on older firmware versions. Back up important
data and configuration before updating.
Highlights
New SceShellCore based runtime
- Game registration and runtime mount preparation now use the SceShellCore bridge.
- By default, images are mounted on demand before a game starts and released
after the application exits. - Games can be switched without leaving stale mount layers behind.
- Improved handling of
ExitSpawn/LoadExec, PID changes, game exit,
suspend/resume, and payload shutdown. - On FW 12.00+, individual games are registered through the TitleDir bridge;
forcingapp_install_allis no longer required. - Firmware versions up to 13.60 are supported.
Large libraries and faster scanning
- A reusable image index supports up to 8,192 games across 2,048 images.
- Faster metadata reading, staging, and game registration.
- Fewer file descriptors are open at the same time.
- Faster USB library recovery after rest mode.
- The new
persistent_image_mounts=1mode keeps discovered images mounted
between game launches. It is disabled by default. - Optional removal of unavailable games from the system library includes a
delay and cancels pending removal if the source returns. - Games with installed DLC are protected from automatic removal unless
auto_remove_games_with_dlc=1is explicitly enabled.
Web interface and HTTP/JSON API
- The built-in library interface offers search, filters, game cards, source
management, scanning, settings, and log viewing. - A Shadow Mount+ launcher is installed in the PS5 menu and opens the local
web interface. - HTTP/JSON API v1 provides access to images, games, and storage devices, as
well as game mounting, source management, settings, and scanning. - Background jobs can copy, move, unpack an image, or delete a source. Their
progress is available, and they can be cancelled before an irreversible stage. - The default address is
127.0.0.1:10101, so the API is accessible only to
applications running on the PS5. - Configure
api_bind_addressandapi_portto allow access from the local
network. - The release includes the API documentation,
OpenAPI schema, web page, and
tools/api_test.pytest client.
Caution
The API has no authentication. Do not use api_bind_address=0.0.0.0 on an
untrusted network.
Mount profiles and image performance
- For
.exfat,.ffpkg, and standalone.ffpfs, the optimized profile is used
only for direct paths under/data/...or/user/.... Other direct paths use
the 1.6 profile. Outer.ffpfscimages and nested
.ffpfs/pfs_image.datimages always use the new profile. - The optimized exFAT profile supports LVD
img_type=5and the BFS fast path
for images on internal storage. - The fast path requires the
lvdbackend, a 512-byte logical sector, and
64 KiB exFAT clusters. - The Linux, macOS, and Windows exFAT image creation scripts now use a fixed
64 KiB cluster size. - For nested PFS images,
nested_pfs_index_cacherequests the compressed
offset index cache before attachment. - Improved handling of asynchronous LVD/MD detach, deferred unmounts for busy
resources, and cleanup of incomplete attachments after mount failures. - Forced detach of MD devices was removed to avoid disrupting mounts that
are still in use.
fakelib and emulator updates
- Global and per-game
fakelibare now combined in a per-title cache with
configurablegameorglobalpriority. - Matching game emulator files can be replaced with files from
emulators_pathwithout changing the original game folder. - Unused fakelib caches are automatically removed seven days after the last
game launch. - Optional automatic checks and downloads for
libSceAmpr.sprxupdates. fakelib2always has the highest priority: it is mounted directly and is
not combined with globalfakelibor emulator updates.- Fixed fakelib remounting across
ExitSpawn/LoadExectransitions. - For installed PKGs, their own
fakelibis mounted before the game process
starts.
Localization, cooling, and diagnostics
- System notifications are localized into 31 languages.
language=autoselects the console's system language; a language can also
be selected explicitly.- Added
fan_target_temperature=system|50..91. The defaultsystemvalue
leaves fan control to the console. - Startup notifications show the active temperature and the result of
backport and emulator updates more clearly. - Expanded diagnostics for busy mounts, fatal game signals, and the reasons
behind runtime state transitions. - Improved the reliability of automatic Kstuff pause/resume and recovery
after a game exits early.
New configuration options
Key options added in 1.7:
# Notification language
language=auto
# HTTP/JSON API
api_enabled=1
api_bind_address=127.0.0.1
api_port=10101
# Runtime and library maintenance
persistent_image_mounts=0
auto_remove_missing_games=0
auto_remove_games_with_dlc=0
auto_remove_missing_delay_seconds=300
# fakelib and emulators
update_emulators=1
emulators_path=/data/shadowmount/emus
auto_update_ampr=0
# Cooling
fan_target_temperature=systemSee config.ini.example for the full list of options and valid values.
Upgrading from 1.6beta16
- An existing
/data/shadowmount/config.iniremains compatible and does not
have to be recreated. - New options are not added to an existing configuration file automatically.
If needed, copy the relevant lines from the newconfig.ini.example. - Back up
config.iniandautotune.inibefore updating. - Mount profiles are selected by source path. The old
legacy_mount_*options
are no longer supported and should be removed from the configuration.
nested_pfs_index_cacheremains available;legacy_gddr5_cacheis accepted
as its old name. - The default
lvd_pfs_sector_sizechanged from32768to4096. - The default
md_ufs_sector_sizeis4096. - For the exFAT fast path, do not set
image_sector=...:65536: 64 KiB is the
cluster/secondary-unit size, while the logical sector must remain 512 bytes. auto_remove_missing_games,persistent_image_mounts,auto_update_ampr,
and network access to the API are disabled by default.
Compatibility
- Supports jailbroken PS5 firmware running Kstuff-lite v1.07 or newer.
- UFS (
.ffpkg) is the recommended format for normal use. - PFS (
.ffpfs/.ffpfsc) remains experimental. - Running ShadowMountPlus alongside the separate BackPork payload is still
unsupported because their fakelib mounts conflict.
Full Changelog: 1.7alpha13fix1...1.7beta1