Skip to content

ps5-theme 1.80

Latest

Choose a tag to compare

@Blaze414 Blaze414 released this 30 Oct 03:29
· 1 commit to main since this release

Custom home-screen themes for jailbroken PS5 consoles on firmware 13.60 and below. Runs as an etaHEN plugin or on its own from any ELF loader. Tested on firmware 13.42, both with etaHEN 2.5B (unified build) and from PS5 Payload Manager.

Which file?

  • ps5-theme.plugin: for etaHEN. Copy it to /data/etaHEN/plugins/ and turn on auto-start.
  • ps5-theme.elf: the same program for PS5 Payload Manager or any ELF loader (port 9021). No etaHEN needed. New: Payload Manager can install it from this project's repository, with its name, logo and version: add https://raw.githubusercontent.com/Blaze414/ps5-theme/main/pldmgr/repository.json.
  • ps5-theme-stop.elf: only for when the manager can't be reached. Start it from Payload Manager or a payload loader, then start ps5-theme again. It stops the plugin and leaves your theme on the screen. Put it in a folder of its own under /data/pldmgr/payloads/.

Updating

  • From 1.23 or later: put the new file in /data/ps5-theme/update/ (or copy it over the old one). Within about 10 seconds the running plugin finds it and hands over, keeping your theme on the screen. No restart needed. The new version then takes the place of the older copies in etaHEN's and PS5 Payload Manager's folders, and the update folder empties itself. If your copy tool fills a file in after making it, upload it as ps5-theme.elf.part and rename it when it's done.
  • From 1.22 or older: copy the new file and restart the console once.

New since 1.64

Making themes

  • Mix and match (1.65): a new theme made of parts of your others, down to single interface pictures and sounds.
  • Icon style (1.66): every game's and app's icon in one shape (circle, rounded square, square, diamond, hexagon, triangle) over a colour, the theme's background or a picture of yours, and the console's own home tiles too (1.74): Welcome, PlayStation Store and Plus, Game Library, Media Gallery, the Media home's tiles and the disc tiles, each drawn as it will look. Games installed later are styled by the plugin itself, 2 minutes after their install settles, and the console says so by name (1.73, 1.76).
  • The console's own icons in the manager (1.66): the edit page's parts list is drawn with the console's own interface icons, read from the console as the page runs.
  • The manager follows the console: games installed or removed show without reloading (1.72). A theme can change files in up to 256 folders (1.75).

Faster

  • Applying the same theme again takes about 2 seconds, from 36 on 1.77: no waits on folders the home screen keeps open, a game's folder read only when it changed, and the list of overlays written a line at a time. The home screen shows its own look for under 2 seconds while a theme switches. Activity's apply line now says how long each step took.
  • The manager's page is sent compressed (a third of the size), and pictures are re-sent only when they changed. Through an apply, the library no longer redraws every second: the progress bar slides and nothing under the pointer changes.

Safer

  • Rest mode: nothing of a theme goes into any app's sandbox while the home screen restarts, and an app's new folder views are covered only once the system has finished making them (1.80; 1.79 didn't wake once because of this). Since 1.68, nothing goes into the home screen's own sandbox until it runs, and everything comes out the moment it stops.
  • Discard can no longer leave a theme empty when an upload or the icon styler is writing at the same moment, and a Discard cut off by a crash or a power loss is put right at the next start.
  • An update copied in half is no longer missed; ps5-theme-stop asks the plugin over its web port first; a theme nested very deep can't crash the plugin; timers survive the console setting its clock; opening another theme while icons are being styled waits until they're done.

Everything in 1.64 is included. What each problem was and how it was solved: Challenges; how the bugs were found: Testing.

Checked

72 end-to-end tests on the host, each run in full, with mounts emulated and under ThreadSanitizer (no data race), including a seeded test of every combination of the manager's actions (12,000 requests over 10 runs); 15 parsers fuzzed (about 35 million inputs). On a PS5 with 13.42: the update from 1.79, Apply again in 2.0 seconds, and three rest-mode cycles in a row, each waking with the theme.

Checksums (SHA-256)

91b8143abcf4a54ee84f3de6c167d95f07002b3f8cf5f51ff6508e9f245534de  ps5-theme.plugin
e27473f0f5d3a9c544ed075f3f0a0e831377e0ab5e6316dce81ad732a99c04eb  ps5-theme.elf
90a1ee926eba4277e1ed2827191151872e4d113de0c566614db51d1b4506230c  ps5-theme-stop.elf