ps5upload changelog
v10.7.6 · Nov 3, 2026
- Saved cheats and patches are applied the moment a game starts (For #627). Some patches only work if they are in place before the game reads the setting they change, which it does once in its first seconds: Red Dead Redemption 2's "Unlock FPS" patch is one. The helper used to look for a running game every 3 seconds, so it wrote such a patch 3 to 9 seconds in: it read back as applied and did nothing. Now the helper hears the game start and, for its first minute, tries the cheats still waiting for the game's code every few milliseconds, so they land as soon as the code is there. With the engine on and no game running, it also looks for a game every half second, in case it missed a start.
- A cheat that landed late says so. When a saved cheat was applied more than about 3 seconds after the game started, or after a start the helper didn't see (it was sent while the game was already running, or the engine was turned on mid-game), the line under its switch says "Applied N s after the game started — if it has no effect, restart the game with it on." In the apps and on Minion's Cheats page.
- Timings in the helper's log, for a bug report: when the game started, when its eboot.bin loaded, each cheat's waits, and "applied 180 ms after launch (code ready at 150 ms)".
- A PS4 game's DLC is no longer listed as a second copy of the game. For #638. Some DLC packages, mostly the small ones that only unlock something already in the game, have no data of their own, and the library did not recognise that kind of package, so it counted it as the game itself and marked the game as a duplicate. These are now recognised as DLC, a package's own "this is DLC" note is believed even when its header says otherwise, and two items only count as the same game stored twice when they are the same release (the same content ID): a game and its DLC, or two DLCs, never are. Libraries are re-read once, so games marked as duplicates by mistake are cleared on the next scan.
- **Remote Play keeps showing while you use other screens, and over other apps on Android (For #637).** Leave Play while a stream runs and the picture stays in a small mini player in a corner of the app, on the desktop, phone and tablet apps and in the browser: drag it to any corner (remembered), tap it to go back, mute it, or hide it with ×. The controller and keyboard still play only while Play is in front, so they work the app's menus elsewhere. In the Android app, going to the home screen while you play shrinks the stream into Android's picture-in-picture window, which floats over other apps with its sound; tap it to come back. Both can be turned off in Play › Settings › Session.
- Remote Play sound the browser held back starts on the next click or key. A session that did not start right after a click (a launch that first woke the console or started the game) could play no sound at all, the stats reading "sound 0 ms": the browser holds sound back until you click. Now any click or key in the app starts it, also when the browser stops it later, and the picture shows a Turn on sound button meanwhile.
v10.7.5 · Nov 2, 2026
- Remote Play sound no longer turns to static after the app has been open a long time. In the desktop and phone apps the game's sound was played 10 ms at a time from the app's page itself (its sound player could not load under the apps' security settings), so anything that kept the page busy broke it up into crackles, and restarting PS5Upload only helped for a while. The sound now plays from its own buffer, decoded in the background, and stays clean while the page is busy.
- Each Remote Play session gives back its graphics memory when it ends. Every session kept its picture's graphics context (and its sound player) until PS5Upload was restarted, so an app left open through many sessions held more and more of them.
- Smoother sound when the PS5 and this computer keep slightly different time. Instead of skipping single samples to catch up, the sound now plays a hair faster or slower (under 0.5 %, too little to hear) until its buffer is back to size. It also starts at the buffer size you set instead of catching up for the first seconds.
- Picture in picture as a video stops copying the picture when it closes.
- Sound in the stats and the logs. With stats on, the line on the picture says how many times the sound ran dry. The line logged at the end of a session now says how the sound was played, how full its buffer was on average and at its lowest, how long its speed was corrected, and how many lost frames were covered: handy in a bug report.
v10.7.4 · Nov 2, 2026
- Updates install when you quit, with no click (For #611). On Windows, macOS and the Linux AppImage, a new release is now downloaded in the background (never while something is transferring) and installed as you quit PS5Upload. The update bar then just says "v10.7.4 ready · installs when you quit", with Restart now if you'd rather not wait. This needs **Check for updates automatically** and Install updates when I quit (both on unless you turned them off) in Settings › Updates. A
.deb/.rpminstall, which asks for your password, still waits for you. - Fewer update notices. Releases sometimes come several in a day; the notification center now says "update available" at most once a day. A newer release inside that day only updates the update bar and the sidebar dot.
- "What's new" covers every version you skipped. Going from 10.7.1 straight to 10.7.3 now shows the notes of 10.7.2 too, newest first, with a link to the full changelog when there are many.
- Closed to the tray with an update waiting. With "close to tray" on, closing the window doesn't quit, so the update doesn't install yet. The first time that happens for a release, PS5Upload tells you to quit from the tray icon (or choose Restart now) to install it.
- Open update log (For #611). Settings › Updates has a button that opens the updater's own log, which now keeps what the last installs did, including the ones that worked. Bug reports include it.
v10.7.3 · Nov 2, 2026
- Pause a conversion, and the queue with it (For #631). Workshop's ④ now has Pause beside Cancel while a game is being made: a package, a game image (
.ffpkg,.ffpfs,.exfat), a compressed.ffpfsc, LZ4 asset packs, a game folder, or an archive being unpacked. Paused, the work stops at its next chunk and uses no processor or disk until you press Resume; Cancel still works while paused. The queue waits for it (⑤ says Paused — the queue waits), and the speed and time left leave the paused time out. Over the API:POST /api/jobs/{id}/pauseand/resume. - Use less of this computer (For #632). One switch, in Settings › Workshop and under ④: while it is on, converting uses about half your processor and runs at low priority, which also puts its disk reads and writes behind other apps'. Your computer stays quick for other things; the conversion takes longer. It applies to a conversion that is already running, and it is kept by the engine, so the web UI and Docker follow it too. This is used instead of a "use N% of my CPU" slider, which Windows, macOS and Linux can't hold to the same way.
- Load a save file: clearer, and more files work (For #633). Picking a save backup (the zip that sits beside a save file and looks alike) said only "this is not a shared save (no manifest)"; it now says it is a backup, which only works on the PS5 that made it, and how to make a save file to move a save to another PS5. The error also names the file you picked. A save file that was unpacked and zipped again still loads: by its parts' folder names when its manifest was lost, and with the extra folder Windows' "Send to › Compressed folder" puts around it.
- SMB: a share typed with folders now connects.
Media/Games/PS5(or a pasted\\nas\Media\Games) in Share gaveSTATUS_BAD_NETWORK_NAME: the server only knows the share's own name. Now the first name is the share and the rest is where browsing starts, for new and already saved connections, and a wrong share name gets a plain explanation.
v10.7.2 · Nov 2, 2026
- Switched-on cheats now apply once the game is ready, and stay applied (For #627). The helper used to try a game's saved cheats once, right when the game started. When the game's code was not loaded yet, that try failed quietly and nothing tried again, so a switch could read On while nothing was applied, until you switched it Off and On. Now each switched-on cheat is tried again every few seconds until the game is ready for it, checked after it is written, and put back if the game undoes it (a loading screen or coming back from rest mode; at most 5 times in 2 minutes). Cheats that don't match the game version, or that the game changed itself, are left alone; a game patch whose code isn't found gives up after about a minute. The crash guard now also watches a cheat that only applies later in the game, and paused games and the engine switch work as before. A cheat its file switches on by itself now stays Off once you turn it off.
- See what actually happened to each cheat. Under each switched-on cheat (Cheats, the game's page, Play's Game panel and Minion › Cheats) a short line says Applied ✓, **Waiting for the game to load…, **Couldn't apply: and why, or The game changed this; not touched. The TV shows one notification when the game's cheats are applied and one for each cheat that couldn't be, with the reason, and the helper's log says why too.
- Thanks to jass4l for the very detailed report, down to the exact patch, the code path and the logs from the console.
v10.7.1 · Nov 2, 2026
- Pairing with the PIN shown on the PS5 tries again by itself (#609). On a PS5 Pro with FW 11.60 the console dropped the connection on the first try (sometimes showing CE-110024-8 "Something went wrong") and accepted the same PIN on the next. The app now retries a dropped connection twice, two seconds apart; a refused PIN is never retried. If it still fails, the message says to press Pair again, since the same PIN works while the PS5 shows it.
- Tested by the #609 reporter on FW 11.60: native keyboard & mouse devices start and stop cleanly there too.
v10.7.0 · Nov 1, 2026
- Add games to Workshop's queue while one converts (For #621). While a game is being made, games picked or dropped under ① Game, picked On the PS5… or sent with Convert first now go into ⑤ Queue (dropping and the PS5 picker did nothing before) and are made after it, one at a time and in order, without pressing Start. A dropped folder of games adds each game in it, and the game being made is not added again. The first queued game starts once you put the finished game's result away (Convert another game), so its Install, Launch and Delete buttons stay until then; after a build that failed, the queue waits for you. This follows Start the queue when you add something; with it off they wait for Convert N queued. Installs still go on to Upload & Install's queue as before.
- Rebuild AMPR index (For #621). A backported game that reads its files through libSceAmpr needs an
ampr_emu.indexthat matches its files, or it can crash or stop at start. Workshop's new Rebuild AMPR index makes it again from the game's files, without converting: a folder on this computer or on the PS5 gets it in place (the old one kept once asampr_emu.index.bak, and you are told how many files it lists and whether the old one differed); an.exfat,.ffpkgor.ffpfsimage gets an edited copy with it (the image is not changed); a.ffpfscis compressed and read-only, so it offers to convert it again (rebuilding the same image again makes-edited (2)). A folder on the PS5 that is a mounted image is refused, so the image is never changed by it. It is only offered for a game that uses libSceAmpr. Thanks to Constantine-HD for both ideas.
v10.6.0 · Nov 1, 2026
- Remote Play Unlock (earthonion) in the payload catalogue. Lets Remote Play stream games and apps that forbid it (refused at start, a "can't be streamed" notice, or a black picture) by patching the PS5's Remote Play service in memory. Firmware 3.20, 10.01, 12.00, 12.70 and 13.60; load it again after every reboot, or add it to your autoloader. Payloads whose only release is a pre-release (like its rolling
latest) now download too. - Save Data is laid out around what you do with a save. Each game shows one row per user with when it was last backed up ("Backed up 2 hours ago", or "Not backed up yet" in amber) and four actions: Back up now, Restore… (the game's backups, newest first), Copy to… and Open. A short "How saves work here" card explains them once; dismiss it when you know. Backing up to a
.zipon this computer and the USB actions are under More (desktop app). - Copy a save to another user on the same PS5 (For #612). **Copy to… › Another user on this PS5** lists the console's other users: those with a save of the game can be picked, the others say what to do first (start the game once as them and save). The engine shares the save and puts it into theirs in one go, so no file lands in your Downloads; their save is backed up first and put back if anything fails, and it is refused while the game runs. A console with two or more users shows a tip pointing to it.
- Restore a backup to another user (For #612). Restore… › Restore to another user… puts a backup of one account's save into another account's save of the game on the same PS5, with the same rules.
- A game's save is one thing. Many games keep several parts (
sdimg_STARBOARD,sdimg_sce_sdmemory, …). Share (now **Copy to… › Save as a file for a friend or another PS5) puts every part in one.zip, and **Load a save file puts each part into the part of the same name, all backed up first and all put back on failure. If the target lacks a part, nothing changes and the message names it ("…'s STARBOARD isn't on Ben yet: start the game once as Ben and save"). No more picking a raw image name. Files shared by earlier versions still load; a file saved by 10.6.0 needs 10.6.0 or later. - Fixed: picking a save in "Which save of PPSA…?" did nothing, and it listed the console's own backup copies (
sdimg_sce_bu_…). The picker is gone from sharing and loading; Open, the only place a single part is still chosen, names the parts ("STARBOARD", "main save") and never offers the console's backup copies. - A restore that fails part way puts the save back as it was, from the backup taken just before it.
- A failed save copy never leaves the old save under one still open. Closing the save is tried again a few times (a dropped connection included); if the PS5 still holds it open, the save there before is not put back over it, and the message names the backup to restore with Restore… once the PS5 can be reached.
- A save too big for the other user's save is refused before anything changes. A PS5 save has a fixed size; the message gives both sizes and what to do.
- Backups made on another PS5 are refused. An encrypted save only opens on the PS5 that made it, so new backups note their console and Restore… refuses one from another PS5 up front (use Save as a file on that PS5). Older backups are not checked.
- Automatic backups wait for the game to close. A running game's save is skipped and backed up on the next pass after it closes, never copied while the game may be writing it.
- PS1 emulator saves. PSSwanStation's (PPSA99248) memory cards and saved states are listed, backed up and restored in Save Data like the PS2 emulators'. Thanks to EnriqueWood (#618).
- Save Data rows wrap instead of squeezing. A save's buttons move to a new line when they don't fit, instead of crushing its details to one letter per line. Thanks to EnriqueWood (#619).
- Scripts and AI agents can see and play Remote Play without taking it over (#615). On the engine's computer,
GET /api/ps5/rp/framereturns the picture the app shows now (PNG or JPEG, with its size and age),POST /api/ps5/rp/inputholds buttons, sticks and triggers for up to 5 seconds as one more controller next to yours, and/api/ps5/rp/input/releaselets go.GET /api/ps5/rp/sessionnow gives the session's id, and a request naming an old session is refused. Nothing on screen changes, no second stream starts, and none of it is reachable from other machines. See AUTOMATION.md; not a stable API yet (#430). - Local-only endpoints refuse requests that don't address localhost. The automation routes and the keyboard & mouse socket answer only requests to
localhost,127.0.0.1or[::1], so a web page can't reach them by pointing its own name at this computer. - The Remote Play microphone no longer switches off when a button is pressed. Any controller change (yours, a phone's) turned the experimental mic off; now only leaving the stream does.
- Save Data shows the games' names and covers. A game is named the way Games names it (the console's own name, then the online one), in the list and in every dialog and message. A cover that can't load shows the game's initials (or a controller) instead of a broken image, and the name no longer shrinks to a few letters on a phone.
- No more "changed Dec 31, 1969". A save the console gives no date for shows none, in Save Data and in the PS1, PS2 and Switch emulator saves.
- Contributors' tests now also run on Windows (#620). Thanks to EnriqueWood.
v10.5.1 · Nov 1, 2026
- Pressing Play no longer crashes the Linux app (#610). On WebKitGTK 2.54 (Fedora 44 and other current distros) the whole window died the moment Play checked which video formats it can decode, whenever WebKit's DMA-BUF renderer was off, which the app does on most AMD and Intel machines. WebKit wanted a graphics display the page had not made yet; the app now makes it first.
- If Play ever crashes while the picture starts, the next launch recovers (Linux). The app notices, decodes the picture without the graphics card from then on, and says so once.
- Settings › Window › Graphics › Hardware video decoding (Linux). Off decodes Remote Play's picture in software (GStreamer's graphics-card decoders are ranked out; applies after a restart). Safe graphics mode turns it off too, and
PS5UPLOAD_SOFTWARE_VIDEO=1does for one launch. The startup log says which is used ([linux] video decoding: …). - Updating the Windows zip copy works again, and leaves nothing behind (#611). "Install and restart" (and installing updates automatically) closed the app without installing anything and without opening it again, and every launch downloaded the same update once more. The install ran in a hidden PowerShell script after the app had quit, the same pattern the Windows setup stopped using in 9.0.1 because security software and policies can block it. PS5Upload now puts the new PS5Upload.exe in place itself before it closes, starts the new version, and the new version tidies up. If anything goes wrong the app stays open on the old version and says why.
- Updates no longer pile up in Downloads (#611). An update the app installs itself is downloaded into its own folder, reused if it's already there, and deleted once the new version starts. Only a download you install by hand still goes to Downloads. Old update downloads that earlier versions left there are listed in Settings → Updates with a Remove button; nothing is deleted without asking.
- A failed update is said once and not retried in a loop. If an install didn't take (on any system), the next launch says so with the reason, and that version isn't installed by itself again. Settings → Updates and the update bar offer Try again and Download page.
v10.5.0 · Nov 1, 2026
- Home's Recent games shows more games, at a sensible size. The covers keep about the size of a console's home screen instead of three filling the whole width, so a wide window shows six or seven; up to twelve of your newest games are there, the row scrolls sideways, and with a mouse the arrow buttons beside it page through.
- Pause an upload, send something else, carry on. A running upload has a Pause button, on the Upload & Install queue and on the Files screen alike. It stops the upload keeping what already reached the PS5, marks it Paused, and the next item goes. Resume puts it back in line where it was and it continues from where it stopped (nothing is sent twice); with nothing else running it starts at once. Paused stays paused after you leave the screen or restart the app. Asked for by Marc.
- Send now. A waiting item has Send now: the upload running on that console pauses, this item goes, and the paused upload carries on by itself when it's done (or fails). Several Send nows run in the order you clicked them, and the paused upload continues after the last one. An upload you paused yourself is never resumed for you. Still one transfer at a time per console.
- Remote Play asks for your PS5 passcode instead of giving up (#608). If the user you play as has a sign-in passcode, a box over the stream asks for its four digits when you press Start (a number pad on phones), and asks again if it was wrong. It goes straight to the console and is never saved. Cancel ends the start. Wake & sign in asks the same way (Cancel leaves the PS5 at its sign-in screen); automatic wakes for uploads don't ask and just wake the console. After five wrong passcodes the app stops asking and says to enter it on the PS5.
- "The PS5 is waiting at sign-in" (#608). Playing a game, the native keyboard & mouse or a new avatar with nobody signed in now says so once, with a Sign in button (Wake & sign in, and the passcode box if the user has one). Nothing changes while a user is signed in.
- The passcode stays on the device that started the stream (#608). A phone used as a controller or watching shows "Waiting for the passcode on <computer>" instead; watchers never get the box or the code. The FAQ has a short "My PS5 profile has a passcode" answer.
- Pair with the PIN shown on the PS5 (#609). Play › Set up's pairing step (and Wake & sign in, when pairing fails) can now pair the way PS Remote Play and chiaki-ng do: open Settings › System › Remote Play › Link Device on the PS5 and type the 8-digit number it shows. It needs no helper, so it works on any firmware, including ones where the app can't make a pairing PIN itself.
- A failed pairing says why (#609). Instead of "the Remote Play request failed on-console", you see the console's own reason and code (for example "sceRemoteplayGeneratePinCode failed: 0x…"), with the PIN pairing offered right there.
v10.4.1 · Nov 1, 2026
- Keyboard & mouse in Remote Play now works on every firmware, not only FW 13.60 (still the one it's tested on). A firmware without the PS5's virtual keyboard and mouse says it isn't available and keeps Controller. If it doesn't start on your console, it isn't tried again on its own: turn Keyboard & mouse (or Mixed) on again to retry, and tell us your firmware.
v10.4.0 · Nov 1, 2026
- Your computer's keyboard and mouse as the PS5's own, in Remote Play (FW 13.60). Settings › Controls has three modes, kept per game: Controller (the keys and mouse act as a controller, exactly as before, and the default), Keyboard & mouse (the PS5 gets a real keyboard and mouse, for games and apps that support them) and Mixed (a real mouse; the keys act as a controller, WASD moves). A button on the stream bar shows the mode and switches it, and Ctrl+Option+M (Ctrl+Alt+M on Windows and Linux) does too. Tested end to end on FW 13.60; other firmwares say it isn't available yet and keep Controller.
- **Click the picture to give the PS5 your keyboard and mouse; press and let go of Ctrl+Option (Ctrl+Alt) to get them back.** Ctrl+Option with another key still goes to the PS5. They also come back when the window loses focus, Settings or the text box opens, or the stream stops, and everything held on the PS5 is let go first. While they're released, keys work in the app again.
- Hard to miss the way out. The first capture shows a card with the keys to press; a faint "⌃ ⌥ to release" stays at the top while captured, and the card comes back when you seem to be trying to get out (Esc twice, ⌘ or the Windows key, pushing against an edge, clicking where the bar is).
- Both shortcuts can be changed in Settings › Controls › Shortcuts: press the new keys, or Reset. A shortcut the app already uses, a single letter, or Esc alone is refused. Hold Esc to release is an option there too.
- Phones and tablets as the PS5's touchpad and keyboard. A Controller / Touchpad switch over the picture: drag moves the pointer, tap clicks, a two-finger tap right-clicks, a two-finger drag scrolls, tap then drag selects. ⌨ opens the phone's keyboard and types on the PS5. The phone-as-controller page has a Touchpad & keyboard tab as well.
- How it works: the console side is a small companion process the helper starts through the PS5's payload loader (port 9021), so a problem there never takes the helper down. The PS5 lets go of every key and button by itself if the computer goes quiet for 2 seconds. To turn it off on a console, create
/data/ps5upload/vinput.disable. - Type into the PS5's on-screen keyboard during Remote Play (experimental). When a game or the PS5 opens its keyboard, a text box shows over the stream (in full screen too) with the console's text in it, ready to type, and a phone opens its own keyboard. What you type reaches the PS5 as you go; Enter or Done keeps it, Esc or Cancel drops it, and the box closes when the PS5 closes its keyboard. The game gets no keys or controller presses while you type. Needs the engine from this version; not yet tried on a console.
- Fixed: play time went to the wrong game. The helper credited the first game it found running, so a game left in the background collected the hours of the one being played, and the one being played showed minutes. It now counts only the game that is actually running in front, nothing while the console sleeps, and bringing a game back to the front is not a new launch. Times recorded before stay as they were; Reset play time on the Games tab clears them.
- After an AppImage update the app starts again through PS5Upload.sh when it sits beside the AppImage, so its rescues for FUSE and the picture apply to the new version too.
- Workshop: save each next to its source. A new option under Options puts every package, image or folder in the folder that holds its game or image (never inside a game folder), instead of the one Output folder. It is remembered. If the name is taken there, " (2)" is added; nothing is overwritten. Games on a server or the PS5 still go to the Output folder.
- Workshop: Convert to folder. A game image (.exfat, .ffpkg, .ffpfs, .ffpfsc) or a debug package now shows a Convert to folder button under ① Game. Pick where it goes; the run shows its progress and Cancel under ④, and it stops before writing when that drive is short of room.
- Workshop is more compact. Smaller drop area, one-line choices under ② What to make, compression levels in one row on a wide window, and tighter spacing. While ④ is scrolled out of view, a slim bar at the bottom keeps its main button in reach.
- Remote Play on Linux: the picture arrives sooner. The engine held each frame back until the app acknowledged the one before, and Linux delays that while the app is sending your presses: about 10-30 ms more delay, the high "net" figure in the stats on Linux. Frames now go out at once.
- Remote Play's stats estimate input delay: "input ≈ X ms, plus the game's own time", from the round trip to the engine, the engine's round trip to the PS5 and the picture's own delay. Hover it for what is and is not counted.
- Fixed: Remote Play reported sound loss that never happened. A late or repeated sound packet made a whole moment's sound count as lost, which can make the PS5 lower the picture's bitrate, and could bring up the 720p offer on a good network.
- Drag to reorder the queue. Hold the grip at the left of a waiting row and drop it where it should go, with a mouse, pen or finger. The same rules as the arrow buttons apply: a row moves only among the waiting rows of its own console and kind (base game, update, DLC). The arrows stay for the keyboard; Esc cancels a drag.
- Archive installs say where they unpack, and check the space first. Before you start, the card shows the PS5 folder the packages go to, how much they need and how much is free on that drive. When they certainly cannot fit, Install is refused with a clear message; when they may not fit, it warns.
- The unpacked packages are deleted after a fully successful run. When any install fails the folder stays, so a retry works, and the message says where it is.
- Leftovers from earlier runs can be removed. The card shows "N leftover unpacked folder(s)" with their size and a Remove button; folders a queued install still reads are never touched.
- A more compact Upload & Install. The drop area is shorter (a small icon beside its title, what each kind becomes in two columns), so Choose file and Choose folder are on screen without scrolling. Once something is chosen it shrinks to one slim row that still takes drops and adds more. Cards are tighter, and the Upload / Stream & install buttons stay at the bottom of the window however long the options above them are.
- Fixed: "Install and restart" did nothing in the Linux AppImage on some systems. The update script inherited the AppImage's own library paths, so on Arch the system shell loaded the bundled, older readline and quit at once: the app closed and the update was never installed. The script now starts with the system's own libraries. Thanks to aypro (#604).
- PS2 saves are backed up. The memory cards and saved states of the PS2 emulators Crux2 (PPSA99249) and PS5SX2 (PPSA99203) are backed up with the PS5 saves, locally and to a server, each as one save under the emulator's title; "after a game closes" means after the emulator closes. Where PS5SX2 keeps them loose in
/data/PCSX2, only its.ps2and.p2sfiles are taken, never its BIOS, games or caches. Thanks to EnriqueWood (#602). - PS2 saves in Saves. "PS2 emulators (Crux2, PS5SX2)" lists each emulator's memory cards and saved states with Back up now and their backups, so you can restore them in the app. Close the emulator first: a restore is refused while it runs, and a restore into
/data/PCSX2is refused if the backup holds anything other than that save's own files. - Short guides in the FAQ and on the website: using PS5Upload from a phone (the app, a browser, the console's own page) and getting started on iPhone, playing away from home over a VPN such as Tailscale (and what doesn't work that way), waking the PS5 without the TV turning on (HDMI-CEC), and reading Play's delay stats (net · queue · decode · screen).
v10.3.0 · Nov 1, 2026
- Remote Play's Settings open over the stream. Every Settings button (on the picture's bar, beside Start, in the menu) opens the same panel: at the right edge on a computer or tablet, a sheet from the bottom on a phone. In full screen it opens inside full screen, so the game keeps showing and playing next to it, and nothing leaves full screen any more.
- Easy to close: ✕, Esc, a click or tap beside it, the Settings button again, or a swipe down on a phone. Esc closes Settings instead of pressing ○, and never leaves full screen.
- Settings in four tabs: Picture, Sound, Controls (with controllers, controller buttons and keyboard keys) and Session. It opens on the last tab you used, and the arrow keys move between tabs.
- While Settings is open, the game gets no keys or controller presses, so arrows and typing work in the settings; play goes on as you close it.
- **Picture, frame rate, video decoding, video format and Keep playing can be changed during a stream.** They say "Applies when you start again"; everything else applies at once.
- Switch saves are backed up. The saves of ProsperoEden, the Switch emulator (PPSA99008), are backed up with the PS5 saves, locally and to a server; "after a game closes" means after ProsperoEden closes. Thanks to EnriqueWood (#600).
- Switch saves in Saves. "Switch games (ProsperoEden)" lists each game's save per profile, with Back up now and its local and server backups, so you can restore one in the app. Close ProsperoEden first: a restore is refused while it runs.
- A refused restore says why under the game's backups, not only in Notifications.
- Fixed: a restore could leave old files in a big save. A save folder with more than 256 files was emptied only in part before the backup went in, so stale files stayed mixed with the restored ones. The whole folder is emptied now.
v10.2.0 · Nov 1, 2026
- Updates are checked before they install. Each release now publishes the SHA-256 of every download, and the app checks the file against it; a file that doesn't match is deleted and nothing is installed.
- One-click updates for a .deb or .rpm install on Linux. Install and restart asks for your password with the desktop's own prompt, installs the package and opens the new version. If you close the prompt (or your desktop can't show one), the command to run is shown as before. rpm-ostree systems (Bazzite, Silverblue) still get the command, since the change applies after a reboot.
- Install updates when you quit (Settings › Updates, on by default). A downloaded update is installed as you quit PS5Upload, never while something is transferring, and the app stays closed. Not for a .deb or .rpm, which needs your password.
- What's new after an update: the first launch of a new version shows its release notes once.
- Skip this version in the update banner and in Settings › Updates: no banner, badge or automatic install for that version until a newer one comes out.
- Linux: the "keep the PC awake" hold ends with the app. A transfer's sleep block outlived an app that was killed and kept the PC awake until a reboot; it now ends when PS5Upload does.
- Remote Play runs at 60 fps in the Linux app. WebKitGTK converted every frame to RGB on the CPU as it was drawn (12 ms of each 16.7 ms frame at 1080p), so frames backed up: about 40 fps and over 100 ms of delay. The app now hands the GPU the frame's own YUV planes and converts there (about 1 ms a frame).
- Convert checks that a folder is a whole game (#596). A folder without
sce_sys/param.json(or a PS4 game'sparam.sfo) is refused up front, with a hint to pick the game's own folder, instead of becoming a package or image that never launches. - The web UI says when a new release is out. A page served by a self-hosted engine (Docker, a NAS) shows the update bar too; Details has what's new and, for Docker, the command to copy.
- Remote Play explains any refusal at the start. A code nobody has explained yet (such as 80108b26) now comes with what to check: the console's Remote Play switch, Allow for this user, and pairing.
- Android updates install from inside the app. Tap Download and install: the app downloads the APK for your phone (with progress), checks it, and Android asks "Update?". The first time, Android asks you to allow PS5Upload to install apps. Open download page stays as the fallback.
- Controllers work in Remote Play on Linux where the system webview can't see them. On distributions whose WebKitGTK is built without controller support (Ubuntu 26.04, for one), the app now reads plugged-in controllers itself, so a DualSense or Xbox pad drives the console.
- Full GPU rendering on current NVIDIA Linux setups. With NVIDIA driver 555 or later on Wayland and WebKitGTK 2.46 or later (the .deb and .rpm), the app no longer turns off WebKit's GPU compositing and DMA-BUF renderer: lists scroll smoothly, Remote Play's picture has less delay, and Sharpen and upscaling work in the Linux app. Every other setup, and the AppImage, keeps the white-window workarounds as before; on those Remote Play draws without WebGL, as it did in 10.0.3, because WebGL lags there.
- Safe graphics mode for a white or blank Linux window. Settings › Window › Graphics turns the workarounds on whatever the app detected, from the next launch. If the window can't be used, start the app with
--safe-graphicsorPS5UPLOAD_SAFE_GRAPHICS=1. What the app read and chose is in the startup log. - The Linux app quits cleanly when it is sent SIGTERM, SIGINT or SIGHUP. Stopping it with
killleft WebKit's web process crashing, and Ubuntu showed a crash report each time. - Remote Play shows where its delay goes. The stats overlay adds each frame's stages, measured rather than estimated: network (engine to app), queue, decode and draw, as medians over the last 2 s. The same numbers go into the app's logs (and so into a bug report) once a minute.
- A Remote Play picture that freezes while the stream runs comes back by itself. When the video decoder stops giving pictures without an error, the app starts a new one and asks the PS5 for a fresh keyframe. After three tries it says so instead of trying forever.
- Fewer lost Remote Play keyframes on macOS and Linux. The engine now asks every system for a large network receive buffer (it did on Windows only), and logs the size it got.
v10.1.0 · Oct 31, 2026
- Remap controller buttons in Play. Settings › Controller buttons: choose which PS5 button each button on your controller sends (swap ✕ and ○, turn a button off, put Create on L3...). It works for every controller, and Reset to defaults puts it back.
- Sharpening and upscaling is one choice in Play's picture settings: Off, Sharpen (AMD FidelityFX RCAS) or Upscale to the screen (AMD FSR 1), with Sharpen setting how strong. Your earlier Sharpen and Upscale settings carry over.
- The picture is drawn on the graphics card (WebGL) all the time, so turning a picture tool on or off no longer changes how it is drawn. With every tool off it looks exactly as before. A device without WebGL keeps the old way.
- HDR in Play (experimental). Settings › Video format › HDR asks the PS5 for its HDR stream and shows it in HDR. It is offered only where it can work: an HDR screen, a device that decodes HEVC Main10, and a browser that draws HDR (WebGPU, as in Chrome or Edge). If HDR doesn't work, the app tells you and goes back to Auto. Sharpening, upscaling and colour stay off in HDR.
- Play: a DualSense's adaptive triggers (desktop app). With a DualSense connected to the computer, the console is told it is one, and games set the triggers' resistance as on the PS5. They are let go when the stream ends or the app quits. Settings › Controls › DualSense effects.
- Play: DualSense haptics over USB (desktop app). PS5 games' haptics play on the controller plugged in with a cable; over Bluetooth they become rumble instead. On a Mac, set the controller to 4 channels in Audio MIDI Setup for haptics.
- Play: motion controls with a DualSense (desktop app): its gyro and accelerometer reach the console, for gyro aiming and tilt.
- A new look for the on-screen controller in Remote Play: thin light outlines with a faint fill over the game, so the picture shows through. Shoulders stacked in the top corners, a four-key D-pad and the face buttons at mid height, the sticks lower toward your thumbs, Create and Options in the bottom corners. A key fills in while you press it.
- The controller fits the screen: bigger keys on a tablet, smaller on a small phone, and every key stays at least finger-sized. Size (Small, Medium, Large) and opacity (now down to 25%) are in Remote Play settings.
- Phone held sideways in full screen: the menu button is at the bottom middle, under PS.
- Hush is in the Payloads catalogue: it turns off the PS5's background gameplay recording (by disco-trooper). The download is checked against the release's SHA256SUMS.
- Hush has a card on "On your PS5" that shows whether it runs, whether it is on, its mode and the newest lines of its log, with an On/Off switch that changes only
enabled=in its config. - Play works with Hush (#561): Hush also turns off the encoder Remote Play needs, so a stream had no picture. Start now asks to pause Hush while you play (about 20 s) and turns it back on when the stream ends; Settings › Always pause Hush for Remote Play skips the question. If the app closes mid-stream, Hush's card offers to turn it back on. A stream that fails while Hush was on names it as the cause and suggests restarting the console.
- Play › Set up has a new step, No payload blocks Remote Play, that ticks by itself when Hush is off or not loaded.
- "Remote Play is switched off" is said plainly. When the PS5's own Remote Play switch is off, Start showed "session init refused (HTTP 403): 80108b12". It now says to turn on Settings › System › Remote Play › Enable Remote Play on the console, and the setup guide says that switch is the one that counts.
- Fixed: Download couldn't be tapped in the Files ⋮ menu on a phone. With the menu opened upwards, its first item sat under the status bar, where Android takes the tap. The menu now stays between the status and navigation bars.
- Details on "Update available" shows what's new. It opened Settings, where the release notes were far down the page as raw text; it now opens the notes, with a link to the release on GitHub.
- "Helper updated" in plain words. The notice says which version the PS5 starts after its next restart, without file paths, and only once per console and version.
v10.0.3 · Oct 31, 2026
- Fixed: after waking the PS5 from rest mode, the app said the helper was down (#593), and sending it again left two copies running. The helper survived rest mode but stopped listening; it now listens again right after the wake, and sending it again always leaves exactly one copy.
- The helper shows as
ps5upload.elfin Payload Manager, neverpayload.elf(the name the loader gives anything sent to it) or one of its own thread names. - The helper is steadier when it is replaced: a running backported game keeps its fakelib overlay, a Sony call in progress is finished instead of cut off, cheats applied just before aren't paused, and a crash can no longer leave it spinning with its port held.
- Clearer delete and copy errors: they name the file or folder and the reason ("Permission denied"), and deleting a folder removes everything it can instead of refusing the whole folder.
- PS5Upload Minion can open on Cheats (#584): Settings › Start page. With a game running you land on its cheats.
- Linux app: Play shows the picture in H.264, which stayed black. The Linux app's video decoder takes H.264 only in the form MP4 files use, so the stream is now handed over that way (on every system, which changes nothing elsewhere).
- Linux app: Picture in picture opens. It said it couldn't, because the Linux webview refused to open the small window.
- Linux app: game icons show, and the microphone works in Play.
- Back up saves to a network share (#592). Saves › Backups to a network share: pick a folder on an SMB server (or any server under Connections), then back up every few hours or each time you close a game, for the consoles and users you choose. Each copy is read back from the share and checked before it counts, and a bad one is deleted. Restore any version from the game's page; the current save is backed up first.
- The DualSense touchpad works in Play (#589), finger and click, in the desktop app on macOS, Windows and Linux (read straight from the controller), and in Chrome or Edge with Settings › Controllers › Use the DualSense touchpad.
- Remote Play holds up better on Windows and Wi-Fi. A passing network error no longer ends the stream, Windows gets the same larger video buffer other systems had, and lost control messages are sent again. A stream whose connection really dies now says so instead of freezing on the last picture, and one slow check no longer flashes "engine unreachable".
- RAR sets past
.r99extract (.s00,.t00…). Old-style sets go.rar,.r00….r99, then.s00…; only the.rpart was picked up, so extraction stopped a third of the way. A failed extraction no longer leaves temporary files on the computer (Windows kept them when a file was still locked for a moment); leftovers from earlier runs are cleared at start. - Installer: updating it no longer fails the first install afterwards. The old installer could not let go of its port in time. It also can't be stopped in the middle of an install any more, recovers by itself when its connection breaks instead of using a whole CPU core, and shows in the console's process list as
ps5u-installer. - Fixed: a payload from a repo you added was stored in Payload Manager as "Custom <code>". Store in Payload Manager uses the name the app caches a download under, and with no name given for a custom repo that was its internal id (
custom-3fa9c21b04de.elf). It now keeps the release's own file name (MyPayload_v1.2.elf). Download it again to get the new name.
v10.0.2 · Oct 31, 2026
- Fixed: watching the stream on a phone never showed the picture ("The picture could not be played here."), in H.264 and HEVC alike. A phone opens the watch link as plain
http://, and browsers offer the video decoder the page used only on secure pages, so it worked on the computer itself and nowhere else. Phones and tablets now play it through the browser's own video player, sound included, a fraction of a second behind the computer. - The phone link doesn't open on Android 17? Android now asks before a browser may reach devices on your network: allow your browser Nearby devices (Settings › Apps › Chrome › Permissions). The phone panel says so under the link.
v10.0.1 · Oct 31, 2026
- Share a save with a friend (experimental). Saves › Share saves a PS5 save's contents as a
.zip; on another PS5, Use a shared save puts it into that user's own save of the game, so the console keeps it as theirs: no account ID change needed. Your save is backed up first and put back if anything fails. Both consoles need PS5Upload; PS5 saves only. - Stream & install is back for several packages at once, and leads for one. Since 8.7.0 (when Upload and Install Package became one screen), packages picked or dropped together could only be uploaded first. The list's main button is now Stream & install with how many packages there are: they install one after another, a game before its update and DLC whatever order they were picked in (as before 8.7.0), and anything else in the list uploads in the same click. One package's main button is Stream & install as well, with Upload & install next to it as the fallback.
- AppImage downloads. Each release now also has the bare
.AppImage(x64 and ARM64) next to the Linux.zip, for AppImage managers. On Wayland with an NVIDIA card it restarts itself with the system Wayland library, as the zip'sPS5Upload.shdoes. - Play: the Console picker is gone from the stream bar (Play uses the console you have selected), Start is first in the row, and Set up Play stands out with its progress until it's done.
- Fixed: on Windows, Play showed the picture enlarged and cut off on the right and bottom, in every picture size, in the app and in Chromium browsers (Edge, Opera GX). Their hardware HEVC decoding on Windows reports each frame's visible picture smaller than it is, so only its top-left part was drawn (720p was fine; 1080p, coded 1920×1088, was not). The app now reads the real picture size from the stream itself and draws all of it; where a decoder's picture cannot be put right, it switches to software decoding by itself.
- Play › Settings: Video decoding (Graphics card / Software) and Video format (Auto / H.264). A way out if a graphics driver's decoder shows the picture wrong on some device.
- Play picture: with Upscale on, turning Crop to 21:9 on or off now reshapes the picture right away (it kept the old shape). The logs now say how the picture is laid out against what it draws, so a report of a picture cut off on Windows shows which it is.
- Fixed: on macOS the engine could stop after an update and stay stopped ("Connection refused" on 127.0.0.1:19113). The engine program is now replaced in one step instead of rewritten in place, the app restarts an engine that stopped on its own, and the notice says why it stopped.
v10.0.0 · Oct 30, 2026
- Remote Play is now Play, at the centre of the app. It sits right under Home in the sidebar and in the phone tab bar (Activity moved to More), with a Play card at the top of Home: one press to play (it wakes the console if it's resting), Continue the last game, or Set up Play with how far along you are. The card can be hidden; nothing else needs Play.
- Play › Set up: a checklist that ticks itself. Connect, sign in to a user, an account ID, the offline sign-in (np-fake-signin, run from the list; it ticks once the restarted console is back), Remote Play on, rest-mode settings, pairing (one button, right there) and the first picture. The console is read every few seconds, so each step ticks by itself and the next one opens. It replaces the guide that was in Accounts.
- Play wherever a game is. A game's page has Play (start it and stream it here) next to Launch on PS5; without Play set up, Play here opens the setup. Search has "Play {game}" for what the console has installed, and an install's notification opens the game with Play ready. "Remote Play" stays the name of Sony's own setting and app.
- Fixed: one odd health-check answer could crash Home. A report without its list of checks took the whole app down; it now counts as nothing to report.
v9.11.0 · Oct 30, 2026
- Per-game controls in Remote Play. The Game panel's new Controls tab sets the running game's own controls, kept per game on this device and switched by themselves with the game: turbo on any face button, shoulder, trigger or arrow (2–30 presses a second while held), mouse aim (with the pointer captured, the mouse moves the right stick, left click is R2 and right click L2; sensitivity and invert), and macros (a key plays a few presses in a row; pressing one of its buttons yourself stops it).
- Picture tools in Remote Play. Remote Play › Settings › Picture: sharpen, brightness, contrast, colour, Crop to 21:9 (cuts the black bars off a game made for ultrawide screens) and Sharp pixels (hard-edged scaling for retro games). They apply at once, on the GPU, and screenshots and replays show them; with all of them off the picture is drawn exactly as before. A device that cannot keep up, or has no WebGL 2, gets the plain picture back with a notice.
- Watch party in Remote Play. The phone panel on the stream's bar now has a second code, To watch: anyone on your network scans it and watches the stream on a phone, tablet or computer browser, with sound after a tap (up to four). Watchers only watch until you press Hand the controller next to one of them; Take the controller back returns it. Each watcher gets its own copy of the stream, so on a busy network fewer watchers keep your own picture smooth.
- Remote Play screenshots and clips go to Photos on a phone. The iPhone and iPad app adds them to Photos (it asks once, for adding only), the Android app to the gallery's PS5Upload album, and a phone's browser offers Save to Photos (the share sheet's Save Image / Save Video) or a plain download. Remote Play › Settings › Save screenshots and clips to Photos turns it off; if Photos access is refused, they still save to Downloads and the app says so.
- Fixed: an SFTP or FTP server's start folder outside your home folder said "No such file". Paths were taken as inside the folder the server signs you in to, so
/mnt/gameswas looked for as/home/you/mnt/games, and nothing above home could be browsed, even as root. New SFTP and FTP servers now use the server's own paths (Browse the whole server, on by default) and open in your home folder when no start folder is given. A server saved before keeps the old paths until you edit it and turn that on (re-add any games or favorites saved from it then). - Upscale the Remote Play picture to your screen (experimental). Remote Play › Settings › Picture › Upscale to the screen (FSR 1) brings the 720p/1080p stream up to the picture's own size on your screen, on the graphics card, with AMD FidelityFX Super Resolution 1: edge-aware upscaling, then sharpening (Sharpen sets how much). It is plain shader code, so it works the same on AMD, NVIDIA, Intel and Apple GPUs and on phones. Measured against plain smoothing it comes clearly closer to the original picture, with crisper edges. A device that can't keep up gets the plain picture back with a notice.
- Remote Play pop-out on Windows: the picture showed only its top-left part. The desktop app's pop-out window could lay its page out bigger than the window, so every picture size looked the same and the picture was cut. The pop-out now fits the player to the part of the window that shows. If it still happens for you, a bug report now includes the sizes involved.
- Security: moving saves from a PS4 reads only from the save backup folder. The engine took the folder to copy from straight from the request, so something on your network could have pointed it at any folder on this computer and had its files copied onto the PS5 (found by code scanning). It now has to be inside the save backup folder, where the wizard puts the PS4's files, with links and
..resolved first.
v9.9.0 · Oct 30, 2026
- Move saves from a PS4 (experimental). Saves › Move saves from a PS4 reads a jailbroken PS4's saves over its FTP server (GoldHEN's, usually port 2121), copies the games you pick to this computer, then puts them into a PS5 user's PS4 save folders. It is built to be safe:
- The PS4 is only read; nothing is written, renamed or deleted there.
- Everything is copied to your save-backups folder first and checked against the PS4's sizes; nothing reaches the PS5 until that is done.
- On the PS5 only saves are written, only for the games you pick, and only into a save folder the console already made (start the game once on the PS5 and save, if a game is not ready). No users, system files, folder names or trophies are touched.
- Each game's PS5 save is backed up first (marked "Before a PS4 save"), a running game is refused, and anything that does not look like a PS4 save is refused.
- A save follows the account ID: the wizard shows the PS5 user's ID and stops if you enter a PS4 account ID that differs. PS4-format saves on a PS5 have mixed reports, so try one game first.
v9.8.0 · Oct 30, 2026
- Instant replay in Remote Play. Turn it on in Remote Play › Settings › Instant replay (the last 15, 30 or 60 seconds), and Save replay on the stream's bar (and in the phone's menu) saves what just happened as an MP4, with sound. The picture is saved exactly as the PS5 sent it, never re-encoded; the sound is turned into AAC where the device can (so Apple's Photos takes it), Opus elsewhere. While it is on, the console is asked for a fresh keyframe every few seconds so a replay starts close to where you want it; nothing is saved until you press the button, and it works the same in the desktop apps, on phones and in the web UI.
v9.7.0 · Oct 30, 2026
- Play any game on Remote Play, in one press. A game's page has Play on Remote Play next to Play (for the connected console, once it is set up for Remote Play): the stream starts, waking the console and signing you in, the app waits for its helper to come back, then starts the game on the stream. Each step shows on the picture, with a Cancel. In the stream, the Game panel's Play something else lists the console's games (with a search) and starts the one you pick, closing the running one first with your say-so. Anything the console has installed or registered can be started: PS5 and PS4 games, folder games and fake packages.
- Drop a package on the stream to install it. Drag a .pkg or .fpkg onto the picture (the desktop app, or the web UI in a browser): it is installed on the streamed console **when you stop playing** (an install shares the network with the stream and can make it stutter), or at once with Install now.
- The on-screen controller's touchpad can be pressed. A finger held on the touchpad strip is now the DualSense's touchpad button, so combos like L1 + R1 + touchpad (to get back to an emulator's menu) work; a finger that slides is still a swipe only.
v9.6.0 · Oct 30, 2026
Remote Play gets a Game panel. A Game button on the stream bar (and in the phone's ⋯
menu) opens a panel over the picture without stopping the game. It reads the console only while
it is open.
- Game: what is running, with a Snapshot save now button that backs up the game's save while you play. It waits for a moment when the save is not being written and checks the copy did not change mid-way, then keeps it with the game's save backups, marked Taken while playing. Snapshots are kept apart from the automatic backups (five of each), so they never push the automatic history out. Choose a folder in Saves › Automatic backups first.
- Cheats: the running game's cheats with their switches, the cheat engine switch, and the paused notice when a game closed right after its cheats were applied.
- Console: CPU and system chip temperatures (and the expansion SSD's), what the fan works to, the fan speed on request, and Fan boost: the fan keeps the console at 55 °C for 30 minutes. The boost always undoes itself: when you turn it off, when the stream ends, after 30 minutes, or, if the app closed in between, as soon as the console answers again. It never makes the fan quieter than it was.
Fixes
- Restoring a save while its game runs is refused. The game would overwrite it (or mix its next save with it); close the game, then restore.
- Remote Play's microphone starts in the apps. In every app (macOS, Windows, Linux, Android, iOS) pressing the mic ended in an amber dot: the apps' security rules refused how the mic loaded a part of itself. It now starts, and if it ever cannot, the button says why.
- The Remote Play pop-out shows the whole picture (#566). On Windows the small always-on-top window cut the picture on the right and bottom in every picture size.
- Phone controller QR code on a computer with two networks. When the PS5 is on one network and the phone's Wi-Fi on another, the link pointed at an address the phone could not reach. The panel now lists each of the computer's networks under the code: pick the phone's.
- Remote Play's Microphone and Motion controls are marked experimental, without "not yet tried" notes.
v9.5.3 · Oct 30, 2026
- Back up your users' information (Accounts). A new Back up user information card downloads a text file with every user on the PS5: their names, user IDs, account IDs (in hex, decimal and the base64 form Remote Play uses), how each account is activated, its sign-in details (online ID, date of birth, age), and step-by-step instructions for giving a new user an old account ID. Saves are tied to the account ID, so after a console reset, or a crash that loses a user, the file is what you need to get your saves back. It holds no passwords or Remote Play keys; keep it private all the same.
- Phone screens scroll all the way down. Payloads, Tasks and Help (FAQ, About, What's new) now leave room under their last row, so nothing stays stuck behind the bottom tab bar.
v9.5.2 · Oct 30, 2026
- Remote Play full screen fits the screen, on every app. Full screen now sits exactly on the window's edges. Before, it was placed in the page instead, so the top and bottom of the picture could be cut off even with Fit. The picture is now sized the way a video player sizes its video: Fit shows the whole picture at its own shape, with black bars where the screen's shape differs; Fill covers the whole screen and crops the edges; Stretch stretches the picture to the whole screen. Each one now looks different on every app (Fill and Stretch could look the same before).
- Picture size is a menu in full screen. The button on the full-screen bar now shows the current size and opens a list (Fit, Fill, Stretch), instead of stepping through them. On phones, the Fit / Fill / Stretch row in the ⋯ menu is unchanged.
- On a screen the same shape as the picture (16:9), the three look the same: there is nothing to add bars to, crop or stretch.
v9.5.1 · Oct 30, 2026
- Remote Play full screen shows the whole picture. With Fit (the default), the picture is now sized to the screen by the app itself, the way video players letterbox: always the whole picture, with black bars where the screen's shape differs, never cut off. Before, Fit relied on the browser scaling the picture, and full screen could be wider than the visible area (a scrollbar's width on Windows), so an edge could be cut off. Fill still crops on purpose and Stretch still stretches.
v9.5.0 · Oct 30, 2026
- The cheat engine stays on after a restart (#550). The helper remembers the cheat engine switch: once it's on, your switched-on cheats and the game's patches apply by themselves when their game starts, also after a reboot, with only the autoloaded helper. Before, it started off with every helper start, so after a reboot Minion showed the switches as On while nothing was applied. Turning it off is remembered too. Tested on a PS5: the switch held across helper restarts, on and off.
- Minion tells "saved" from "applied". While the engine is off (or the game is paused), switched-on cheats read Saved, not On, and Minion › Cheats has a button to turn the engine on or off, even before a game is running.
- A crashing cheat can't crash its game on every start. If a game closes within 30 seconds of its cheats being applied, twice in a row, or the console or helper stops in those 30 seconds, the helper pauses that game's cheats and says so on the TV and in the app. Switch any of its cheats to resume.
- Remote Play: picture size in full screen. Fit, Fill and Stretch change in full screen, without leaving it: a Picture size button on the full-screen bar (desktop) and a Fit / Fill / Stretch row in the ⋯ menu (phones). Before, Settings left full screen to change it, and on the page, whose box is the picture's own shape, all three look the same, so the change seemed to do nothing. Settings no longer says picture size waits for the next start: it applies at once.
- Remote Play: microphone for voice chat (experimental). Turn on Microphone (experimental) in Remote Play › Settings (off by default; sessions without it start exactly as before), and a Microphone button on the picture's bar (and Mic in the phone ⋯ menu) sends your voice to the PS5 for party and game chat. It's off until you press it, asks for permission the first time, shows a red dot while it's on, and turns off when you press it again or the stream ends. It follows chiaki-ng's microphone code and is tested on our side, but has not been tried on a real PS5 yet, so it's marked experimental.
- Game Mode for Remote Play. In full screen the Mac app turns on Game Mode, and so do the iPhone and iPad apps (iOS 18 and later). While you play, the desktop app keeps the computer and screen awake, on Linux it turns on GameMode (
gamemoded) if it's installed, and the Android app asks for steady performance and a TV's game mode over HDMI. Windows doesn't let an app turn on Game Mode; the FAQ says how to mark the app as a game in Game Bar. Remote Play › Settings says what applies on your device. - Remote Play in the web UI names the browser it's made for. In Firefox, Safari and others it says Chrome or Edge work best and what this browser misses (Esc as the controller's ○ in full screen, picture in picture). It can be dismissed.
- Every phone controller, and any controller the browser doesn't know. Phone controllers (Backbone, Razer Kishi, GameSir, Scuf Nomad, ELO Vagabond...) and other pads play Remote Play like any controller. One the browser doesn't recognise used to do nothing; it now plays in the usual layout, and Remote Play › Settings › Controllers maps any controller by pressing its buttons in turn, and gives extra back buttons any PS5 button. The Android app also forwards controllers to the page itself, and the iPhone app keeps the page focused, so they reach Remote Play there.
- Your phone as the controller for Remote Play on a computer. Scan the QR code from the stream's bar, or tap Use this device as its controller in the phone app and allow it on the computer: the phone becomes a full-screen controller that plays along with the computer's. Only the controller page is open to the network, and only with the code's key or your OK.
- Motion controls (experimental): a phone's gyro and tilt as the controller's motion sensors, in the apps.
- Remote Play: screenshots and clips. A Screenshot button on the picture's bar (and in the phone's ⋯ menu) saves the picture as a PNG at the stream's own size. Record a clip records the picture and the game's sound, with a recording light and its time on the picture; stop it to save the clip (MP4 where the device records it, else WebM). The apps save into Downloads (the Files app on iPhone); the web UI downloads them.
- Remote Play shows its latency. With Stats on, a Latency line shows the round trip to the engine and the decode time. The PS5's own leg can't be measured (no shared clock), so it isn't guessed at.
- Remote Play: Low latency. A new setting (off by default) for the least delay: the smallest sound buffer and a 2-frame picture queue instead of 6. On a busy network it drops more frames.
- Remote Play offers 720p on a busy network. When a 1080p stream keeps losing frames for about 10 seconds, the picture offers Switch to 720p (once per session, never back up by itself). It restarts the stream, waiting out the ~12 s the PS5 holds its last session. **Lower quality on a busy network** in Settings turns the offer off.
v9.4.1 · Oct 30, 2026
- Remote Play on Linux shows the picture without extra installs (#548). The Linux
.zip(AppImage) now carries GStreamer with its H.264 decoder: before, on Arch, CachyOS and other distributions without that decoder, Remote Play failed with "No decoder found for codec avc1…", and installing it on the system didn't help the AppImage. The.deband.rpmnow recommend the decoder packages, so a normal install brings them. - No decoder, no wake. The app checks for an H.264 decoder before it wakes the console. Without one it ends the session cleanly (it used to retry forever) and says what to install, with the command for Arch, Debian/Ubuntu and Fedora.
v9.4.0 · Oct 30, 2026
- Backporting uses ShadowMount+'s own controls (1.7beta8 and later). To write the backport into a game image, the app now asks ShadowMount+ to mount that one game read-write and to unmount it after: it takes well under a second instead of half a minute or more, and no longer fails with "has not mounted" when the image isn't mounted, which with ShadowMount+'s default settings is every idle image. ShadowMount+ postpones its scans while the image is held, and
config.iniis left alone. Tried on a PS5 Pro with ShadowMount+ 1.7beta11. Older versions, or one set to answer only on the console, still get the previous method. - The ShadowMount+ panel shows its exact version (for example 1.7beta11), read from ShadowMount+ itself.
- The FAQ explains what ShadowMount+ 1.7beta8+ changed: its control interface is open to the local network by default, and 1.7beta10 stopped closing self-made packages on rest mode.
v9.3.1 · Oct 30, 2026
- The real CPU clock. Read sensors now measures how fast the CPU actually runs ("CPU clock (measured)"): the helper times a short run of simple instructions on each core it may use. The number 9.2.1 showed was only the speed the power controller had set, and on top of that the row mixed in the game cores' idle level, so at the home screen it read "0.80–3.20 GHz". Measured on a PS5 at the home screen, the system cores run about 2.8–3.2 GHz against a 3.2 GHz target. The target is still shown as "CPU target clock", now over the same cores, and hovering lists every core. The four game cores are reserved for games and can't be measured. The measurement runs only when you press Read sensors (about 20 ms per core) and uses no privileged instruction.
v9.3.0 · Oct 29, 2026
- Esc no longer throws you out of full screen. In Remote Play, Esc is Circle (back in most games), and in full screen it also left full screen, so backing out of a menu ended full screen. Now a quick Esc in full screen is Circle, and holding Esc leaves full screen. Chrome and Edge get the same through the browser's keyboard lock; Safari and Firefox still leave full screen on any Esc (Backspace is Circle there).
- Every device knows who is using Remote Play. A PS5 plays Remote Play with one device at a time. When a phone or another computer is playing a console, the Remote Play page on your other devices says so before you start ("starting here ends it there"), each of them gets a short note when someone starts, and Connection › Devices shows it as that device's activity.
- On phones and tablets the Remote Play page is view only. The on-screen controller now only appears in full screen, and the page says so; taps and scrolls on the page never press a button on the console. A controller or keyboard connected to the phone or tablet still plays there.
v9.2.2 · Oct 29, 2026
- Remote Play Settings always show. On a wide window the picture grew taller than the screen and Settings opened below it, out of sight, so the button seemed to do nothing. The picture now fits the window height and Settings open above it.
- Picture in picture opens in the Mac app. When the app's own picture-in-picture window didn't open ("Picture in picture did not open"), it now uses the system's picture in picture instead: the picture only, and the controller plays while the app is in front.
v9.2.1 · Oct 29, 2026
- Send helper also updates the copy your PS5 starts at boot (#540, #541). If Payload Manager, the WebKit Autoloader or an autoload folder starts ps5upload's helper at every boot, it kept starting the old version: Send helper only replaced the copy running in memory, so the "helper is older than this app" message came back after every restart. Now, once the new helper answers, the app finds the stored copies (Payload Manager's storage,
ps5_autoloaderfolders on the PS5 and its USB drives, etaHEN's payloads folder) and replaces them under the same name, so your boot order stays as it is. It tells you what it updated, and how to update by hand anything it couldn't. Only files named like the ps5upload helper are touched. The outdated-helper banner now says when the old version came from a stored boot copy. - GPU clock and real CPU clocks on the Hardware screen. Read sensors now also shows the GPU clock and each CPU core's clock (the row shows the slowest and fastest core; hover for all eight), read from the console's power controller. The old "CPU frequency" row was a fixed reference rate (800 MHz on every console), not the CPU's speed, so it is now called "Reference clock". The clocks are only read when you press Read sensors, the helper never changes them, and if the console's firmware doesn't answer, the rows say so and the helper doesn't ask again until it restarts. Tried by others only on firmware 13.20 and 13.60 so far: please report odd numbers.
v9.2.0 · Oct 29, 2026
- Nothing is in beta any more. Remote Play was still a beta screen, so it only showed once "Beta features" was turned on in Settings, which is why people couldn't find it. It is now in the sidebar (Console › Remote Play), in More on phones, and behind Play Here in Accounts › Remote Play. The Beta features switch is gone with it, and the "Beta" marks on the direct console-to-console copy route and on Stream & install / link installs are removed.
- Remote Play on phones, redone.
- Held upright, the picture sits on top and its controls sit below it instead of on it: Full screen, Stop and a ⋯ menu with Stats, Picture in picture, Settings and volume. Nothing is squeezed or hidden any more.
- Turn the phone sideways while playing and it goes full screen; turn it back and the page returns. In full screen the only control is a small ⋯ handle at the top.
- Tapping or double-tapping the picture or the on-screen controller never leaves full screen or stops the stream. Back leaves full screen and keeps playing; Stop is in the ⋯ menu.
- The screen stays awake while you play, the page can't scroll or zoom under your fingers, and the on-screen controller has a size and an opacity setting. Create, the touchpad and Options sit in a row at the top, as on the controller.
- Desktop: double-click full screen works again.
- Android app: full screen hides the status and navigation bars (swipe from an edge to see them) and holds the phone in landscape; leaving full screen brings both back.
- The whole Remote Play picture shows on Windows (#538). The picture was enlarged from its top-left corner, cutting off the right and bottom, because Windows drew it through a low-latency path that skipped scaling it to the window. It is now drawn like on the other systems and always fits its box. New Picture size in Remote Play › Settings: Fit (the whole picture, the default), Fill (no bars, edges cropped) or Stretch. Devices without a hardware video decoder showed no picture at all; they now fall back to the default decoder.
- The queue runs the whole queue (#536). Adding a package used to start only that install and leave the games queued before it waiting. Now one setting decides: **Start the queue when you add something** (on by default) runs the console's whole queue from the top, in order; turned off, nothing runs until you press Start queue. Adding while the queue runs puts the new item at the end. The buttons are named Start queue and Stop queue; the switch is on the queue panel and in Settings › Uploads.
- A damaged .zip can't keep the upload busy for hours. A zip entry that kept being re-read from the start (each re-read decompresses it again) now fails after three tries with a clear message.
v9.1.0 · Oct 29, 2026
- Upload & Install (was Send to PS5). One drop zone takes everything: packages (installed as a game, update or DLC), game folders and dumps, disk images, archives and any other file. Installs from a link or from the PS5 and USB drives are a small row in it. Convert first sends a game, folder or image to Workshop. The note about fake packages is at the top: PS5 fake packages do not start on firmware later than 11.60; PS4 fake packages are fine. A failed Stream & install says what to check (the PS5 has to reach this computer) and offers Retry via upload.
- Play from the Games grid. Every installed game's card has Play (or Close while it runs), on phones too; the table view has a Play column.
- Dump this game is on the game's own page, with its options and progress there. The Manage menu and the Dump games view are gone.
- Clearer Games filters. "Update available" and "DLC missing" are one chip, **Updates & DLC to install** (a newer update or DLC on this computer for a game the PS5 has), and every chip says what it counts.
- The progress bar shows what is happening: the running job, its percentage, speed and time left. Click it for everything running, waiting and just finished, with Cancel and Retry and a link to each one's screen. Phones get it as a pill above the tab bar. Helper sends, playlists, the app's own update, cheat downloads, moves and queued items now show there too.
- Notifications are one feature: the bell (now on phones as well) shows the newest of This app's list; the Notifications screen has This app, On the PS5 and Settings. Looking at a list marks it read. The bell and messages stay inside the screen on phones.
- Workshop is one column. Games are added in one place, and its queue hands installs and uploads to Upload & Install's queue instead of repeating its controls.
- Files: a drop starts right away. The first drop of a session used to wait for Resume.
- Settings › Backups is shorter: grouped by device, repeated copies folded into one row, the newest three shown.
- Windows: Install and restart works (#533). The update used to go through a hidden PowerShell script that security software can block (and that broke on user folders with non-English letters), so the app closed and nothing installed. The installer now starts directly, with a progress bar and its own error if something goes wrong, and starts the new version. On 8.6.1–9.0.1, install this update by hand once (download the setup from the release).
- Games on a NAS from the phone (#534). Adding a games folder offers your saved servers (NAS, SMB, FTP, SFTP, WebDAV) right away, on Android too: before, a phone with no folder yet could only pick one on the phone. Their games show with covers and install from the game's page.
- AVA1 1.0.5 (the protocol library's history in one commit; no code changes).
- README: Remote Play section; credits without license names.
- Translations: every new string in all 21 languages.
v9.0.1 · Oct 29, 2026
The first 9.0 release. (9.0.0 was tagged, but its Windows build failed to link the new RAR
helper, so it was never published; 9.0.1 is the same release with that fixed.)
- Every game on one page. Installed games and Games on the PS5's drives are no longer views of their own. The Games grid shows every game once: your copies, what the PS5 has installed, and games found on its drives (a new On the PS5's drives filter, and Never seen played). Open a game for everything about it:
- On <console>: Play or Close game, Uninstall, Hide or Show on the home screen, Fix permissions, Backport, Copy to Collection, Suspend and Resume while it runs, and a warning when a disk-image game needs ShadowMount+.
- On the PS5's drives: each folder and image of the game, with Mount, Unmount, Edit files, Add to home screen, Download, Move, Delete, Convert, Make smaller and the rest.
- On this computer: your copies, as before. Files on the PS5 that no game links to yet are one line under the grid. Old links to the removed views land on the grid with the matching filter.
- Accounts, without the duplicates. Each user is one row: picture (click it to change the avatar), name, account ID, and whether it is active. A user and its account slot used to be two rows, each with its own name field.
- Remote Play
- Picture in picture: the stream in a small window that stays on top while you use other apps (desktop app; Chrome and Edge; picture only on Safari). A controller keeps playing in the background on Windows and in Chromium browsers; on macOS and Linux, click the small window first.
- A volume slider on the picture's bar.
- With two consoles, the page shows the one selected in the app. The other console's stream keeps running and is offered there; Start on this one stops it first.
- A setup guide in Accounts › Remote Play: seven steps from signing in to playing, each with its status and the button that fixes it, plus what to do when it still does not work.
- Send helper means send. When the PS5 runs an older helper, the banner's Send helper sends it right there instead of opening Connection, and it waits for the new version to answer (the old one used to answer first and count as done).
- Screenshots download again (#531). On consoles where /user is /original_user (kstuff with ShadowMount, for example), downloads from there were refused; reading it is allowed again.
- The app fills the window. Screens no longer sit in a narrow column on a wide monitor; long lists of cards flow into more columns. Phones are unchanged.
- AVA1 1.0.4, the transfer protocol's first releases as a standalone library: fixes for a download retried right as it finished, a manifest that never arrives, and duplicate small-file records, plus faster resumes. A transfer cancelled and resumed straight away could send everything and then never finish; it now does. A resumed 7z or RAR transfer now reports the data it skips.
- Licenses. RAR extraction now runs in its own small program (
ps5upload-unrar) next to the engine, so UnRAR's license no longer applies to the rest of the engine. The credits in the README say what each project contributes (included, ported, library, fetched, reference), and the required notices are inLICENSES/. The ShadowMount+ metadata self-healer was rewritten from scratch. - Translations: every new string in all 21 languages, and about 200 strings that were still English or used an older wording are translated.
v8.10.0 · Oct 29, 2026
- Games is one grid. The list and its Everywhere / Installed / On PS5 drives / Your copies views are gone: Games is the cover grid that "Your copies" was, plus the games the selected PS5 has installed that you have no copy of ("On the PS5 only"). An Installed filter sits beside Not installed, Update and DLC. Installed games, PS5 drives and Dump games stay under Manage.
- Remote Play (renamed from Play) keeps playing when you leave its screen: a bar on every other screen leads back to it or stops it, and closing or reloading the window keeps the session for a minute (setting) to come back to. A dropped connection to the engine reconnects by itself, and stopping no longer says "The connection to the engine dropped". Two windows can show it; the one you look at takes the picture.
- Less delay: the picture never queues behind a slow page (it skips ahead instead) and sound is sent ahead of the picture.
- Cleaner sound: it plays at the console's 48 kHz through one steady buffer, late packets are put back in order, and a lost one is covered instead of clicking. The buffer is a setting (Lowest delay / Balanced / Steady on Wi-Fi).
- Full screen (double-click or the button; Esc leaves), a toolbar on the picture with stats on/off, mute, settings and Stop, and a settings panel: picture, frame rate, sound, how long to keep playing, pointer capture, vibration, the on-screen controller and your keys.
- An on-screen controller on phones and tablets (sticks, D-pad, buttons, touchpad); it hides when a controller connects.
- Send to PS5 says it installs packages. It opens with its three jobs: Install a package (.pkg/.fpkg, streamed or uploaded), Copy a game or files, and Install from a link or a drive.
- Dumping is built in. Games → Manage → Dump games copies an installed game (and its DLC) to a USB drive or the console with ps5upload's own helper; ps5-app-dumper is no longer needed. The game is started for it. A plain copy is the default; decrypting the executables (and fake-signed copies for backporting) is an option that says what it risks, for firmware up to 13.60. Based on ps5-app-dumper (EchoStretch, slopmaster33) and ps5-self-pager (idlesauce).
- Send to PS5's Upload goes through the queue. Upload adds the item to the console's queue and starts it, like Upload & install always did for a package. Its progress, install, mount and result show on its queue row with the rest, and a running queue no longer blocks Upload: the new item starts after what is being sent. The Override / Resume question when the destination already has files is unchanged.
- Volumes: Free up space on each drive opens "What takes space?" for it. Once a drive is 80% full it is the card's main button.
- Minion: the running game's Saves. Home's "Now running" card has Saves beside Close game and Cheats, to back up (or restore) that game's save.
- CI: a payload self-test that hangs now fails by name after 4 minutes, with its stacks.
v8.9.0 · Oct 29, 2026
- Games is one list. Every game shows once, wherever its copies are, and each row names the places: Installed, a PS5 drive (ext0, usb0, internal), This computer, or a saved server by name, with how many copies are there. Narrow it with Everywhere, Installed, On PS5 drives or Your copies. An installed game has Play (or Close game) right on its row.
- The five tabs are gone. Their tools are under Manage: Installed games, Games on the PS5's drives, Your copies (folders, servers, organize, clean up, export) and Dump games. Old links to the tabs still land there.
- Play and Close game are now one implementation everywhere. The game page's Play gains what Installed games already had: when the console refuses homebrew (0x80940033) it says why, and repairs a folder that was sent without execute permission.
- Dump installed games, decrypted, with ps5-app-dumper. Under Games → Manage → Dump games: unlock the dumper once with the code your TV shows, then dump a game (or a queue of them) to a USB drive or the console, start a game for it, and open finished dumps in Files or Workshop.
- Remote Play in the app (beta). Turn on beta features to get a Play screen that streams the console to this computer, with keyboard, controller and touchpad input. Accounts has a Play Here button for a console that is set up for Remote Play.
- Send to PS5 is shorter.
- Each queue row shows its steps on one line, "Upload ✓ › Install 62%", or Upload › Mount › Add to Home, with the step that failed or did not take marked.
- What was found in a source (game details, folder size, the time estimate) and the rarely used options (speed limit, files to skip) fold to one line each. The folded line still shows the essentials, and says so when files are being skipped.
- "From a link or an archive" and "Already on the PS5" fold to their headings.
- Send helper wherever it is missing. Home's console card, Send to PS5 and every screen that needs the helper offer Send helper in place, instead of sending you to Connection.
- Connection holds Devices and Health Check as tabs. The sidebar has two fewer entries.
- Shared Folders: deleting syncs without asking. Deleting a folder no longer waits for a confirmation unless it would empty more than half the drive. Its files go to the other side's trash, and the emptied folders go too. Sync now looks at both sides at once, so a file deleted on the console with Files syncs straight away. The drive's marker file is hidden in Files, with a note on the folder not to move or rename it.
- Screenshots and clips show their thumbnails again (they stayed on a placeholder).
- Smaller things. Files' "What takes space?" moved into the folder's ⋯ menu. The Remote Play account ID field shows the signed-in account's ID. Workshop's compression tiles no longer stretch to the tallest one.
- Minion: Fan, Processes and Clean up are one System section, with a switch under the title like Games. The Rail goes from 9 entries to 7.
- Security: Remote Play's key exchange moves to k256 0.14, which drops crypto-bigint 0.5 (RUSTSEC-2026-0387, timing side channels).
- AVA1, the transfer protocol, is its own open-source project. It now lives at github.com/phantomptr/ava1 (MIT or Apache-2.0), with its specification, test vectors, a Rust crate and the C library, so other tools can use it. ps5upload builds it from the
third_party/ava1submodule: clone withgit clone --recurse-submodules, or rungit submodule update --initin an existing checkout (makedoes it for you). Nothing changes on the wire: an 8.9.0 app and an 8.8 helper still talk to each other. - The benchmark switches are now
AVA1_LANES,AVA1_CHUNK,AVA1_LANES_FIRST,AVA1_LOG_SMALLandAVA1_TIMING(they werePS5UPLOAD_AVA1_*).
v8.8.0 · Oct 28, 2026
- XML game patches, without CheatRunner (#527). Cheats now also takes game patches in the PS-Game-Patch
.xmlformat (the one GoldHEN, etaHEN and CheatRunner read): 60 fps unlocks, resolution and debug-menu patches and the like. - Find them in the cheat browser under PS-Game-Patch: the latest release of the repo, one file per game. They download to
/data/ps5upload/cheats/xml/, or import your own<TITLE ID>.xmlwith Import. - Patches you already have for other tools show up too, from
/data/cheatrunner/patches/xmlandxml_prospero,/data/elf-arsenal/patches/xmland/data/GoldHEN/patches/xml. The app only reads those folders; removing a game's cheats never deletes from them. - Each patch in a file is its own switch, off until you turn it on, and turned back on when the game starts again. A patch only goes on for the game version and executable it was made for; one for another version is marked and refused. Pattern-scan (
mask) patches andmask_jump32detours are supported. As with cheats, a patch is written whole or not at all, and only into the game's own code. - Minion: back up saves to a USB drive (#528). With a USB drive plugged in, Saves offers Backups on: Internal drive / USB drive. Backups, the list of them, Restore and Delete follow the place you pick, so a stick can carry backups off the console and back; you still pick which backup to restore. The save a restore replaces is always kept on the internal drive.
- Tests: the AVA1 transfer tests no longer fail now and then on a loaded CI runner (their 500 ms timeouts were meant for the dead-connection tests only).
- Tests: the browser tests follow 8.7.0's new screen names (Activity & Logs, Send to PS5, Workshop); four of them were waiting on the old ones.
v8.6.1 · Oct 28, 2026
- Undo sign-in covers every account slot used. The copy kept before np-fake-signin now also takes a later slot's settings, untouched, when the account moved to another slot since the first copy; Undo puts those back too.
- Restoring a save gives back exactly the save backed up. A save-details folder that was not there at backup time is emptied on restore instead of mixing newer details with the older save (the automatic safety backup keeps them).
- A save's own icon shows for games no longer installed in Minion's Saves.
- Download to PS5 from an .lz4 link: an image that ends before the size its header gives is filled out instead of failing after the whole download, and a stream in several parts announces the image's full size.
- "Unpack on the way" switches the folder back and forth again once the PS5's drives are known.
v8.5.1 · Oct 27, 2026
- **Packages with Windows bookkeeping folders convert to game images again (#523, thanks frzzyone).** An empty
System Volume Informationfolder made the read-back check fail after compression. Package sources now omit the same OS junk as game folders and image readers, while keeping real empty game folders and the original package's file offsets. - Sidebar sections make more sense. Games & content comes first, then Files & storage; Console holds the console, its payloads and processes, its profile and Remote Play; Connect holds Connection, Devices and the Health Check; Diagnostics holds Activity & logs, Notifications and Shell; App holds Settings and Help. "Edit image on this computer" is now Game images.
- Hundreds of untranslated labels translated in every language, Mesh Drive among them, and a few wrong ones fixed (Chinese "running" read as jogging). Persian is now checked like the other languages.
v8.5.0 · Oct 27, 2026
- A shorter sidebar. Screens that belong together now live together; every old link still opens the right place.
- Games has three tabs: On this PS5, Everything (the former Collection: every game on your drives, NAS and consoles) and Files. Game Activity's play time moved into Games: a "Recently played" sort, and each game's page says how long it was played.
- Payloads & processes holds the payload catalogue and sender, what runs on the PS5 and which ports are open (the former Processes & ports).
- Files takes in Search (a search box over all drives), Disk usage ("What takes space?" on any folder or drive) and Console snapshots ("Snapshot…" on any file or folder, several at once too).
- Console checks for firmware spoofing on its own card, in plain words: spoofed, not spoofed or can't tell, and what to do.
- Shell moved to Diagnostics. Servers is now Network shares.
- Activity & logs holds Tasks, Logs and the Audit log; Help holds the FAQ, About and What's new. After an update Home says so for a few days, with a link to what's new.
- A pinned screen shows once. Pinning a screen moves it to Pinned instead of listing it twice.
- Home greets the console's signed-in user by name, with their picture.
- Coffee or tokens got a warmer button.
- The fan target shows what the console keeps (#522). Opening Console › Hardware again put the slider back at 65 °C, which looked like the setting had been lost (the console kept it). It now starts at the target the console holds; a target changed from another device or the console's own Fan page replaces "Set to …" here; after applying, the slider follows the console again.
- The ShadowMount+ metadata poll slider no longer jumps while it is held (a refresh moved it under the finger).
- OS reads as the system software. It showed the kernel's own "FreeBSD 0.0-prototype" (the same on every PS5); it now says "PS5 system software 13.60", the kernel's answer on hover.
- Power telemetry never takes the Hardware screen down when a field is missing.
- Devices names every app that uses the console. A phone or computer that only checked the console's status (without opening Devices or Mesh Drive) never said who it was, and showed as "PS5Upload (older version)". Every new connection now introduces itself.
v8.4.0 · Oct 27, 2026
- Games copied from a mounted NAS share no longer arrive with made-up names. A Samba share mounted by the OS (a Windows mapped drive, a share mounted in Finder) shows files whose real names hold
:?*asC69YSY~1.TXT; copied that way a game does not start. Uploads and Convert now stop on such a folder and say to copy it over SFTP/FTP instead (the app's own SMB connections already did since 7.5.3). - Bug reports from an iPhone say iOS. They were filed as macOS (an iPhone's browser says "like Mac OS X").
- Convert queue: add and change games while it runs (#518). Games can be added at any time, and each waiting game has an options button to change what it becomes (package, game image, folder) and what happens after (keep, install, upload).
- Each console remembers its screen (#518). Switching console tabs goes back to the screen you last used with that console, across restarts.
- Installed Apps: a failed uninstall says so. It showed under "Couldn't read installed apps" with advice about installs (Sony's 0x80B2 codes). Uninstall and hide/show failures now have their own message, and a refused uninstall says to close the game or remove it from the PS5's Settings → Storage.
- Activity says why a job failed in words. A queue that failed because the PS5 was not answering showed
ava1_unreachable; it now reads "The PS5 could not be reached…". - Convert explains an LZ4 image that saved nothing. A game whose files are already compressed came out at 101% with no word why; the result now says LZ4 found nothing to compress and the image works as usual.
v8.3.0 · Oct 26, 2026
Updates install and restart, every time
- **"Install and restart" no longer freezes the app (macOS, and the same code on Windows and Linux).** Quitting waited on its clean-up with no limit; when that clean-up could not finish, the app sat "not responding" and the update waited for it. Quitting now gives the clean-up a few seconds, then stops the engine itself and exits. The update also closes an app that still has not quit after 30 seconds, instead of opening the old one again.
- "Downloading…" no longer sticks after the download finished. The app waited for Finder to show the Downloads folder before it said the download was done, and Finder can take as long as it likes (half an hour with the screen locked, measured). A copy that installs updates itself no longer opens the folder at all, and on Windows no longer starts the setup on its own next to Install and restart.
Keep running in the system tray (#516)
- Settings → Window → System tray: close or minimize to the tray on Windows and Linux; on macOS, keep running in the menu bar when the window is closed (the Dock icon hides too). The tray icon brings the window back and has Quit. Transfers and Mesh Drive keep going.
Pop-ups on iPhone and Android (#517)
- Menus that open near the bottom of a short screen (a phone held sideways) now fit the room there is and scroll, instead of keeping a minimum height that ran past the edge. Checked on every page in the browser engine iOS uses, upright and sideways.
v8.2.0 · Oct 26, 2026
Mesh Drive when a console sleeps or is off
- A console going to rest mode mid-sync no longer hangs the sync. The copy in flight waited for the console forever, holding every drive behind it, and each file it gave up on counted as failing (three times and it sat out for ten minutes after the wake). The sync now stops within about a minute, keeps what it copied, and blames no file.
- It says what's wrong, not "Problem". A folder shows Console asleep, **Helper not running** (just woke, the helper does not survive rest) or Console away (off, other network), since when, and that changes made here are kept. Wake console and Send helper are on the card.
- Back within a round. A sleeping console is checked over the network each round; when it wakes, syncing resumes in about half a minute instead of after a growing wait. A console that is away is not asked again and again by every folder (each ask used to cost seconds).
- Your folders, even with the console asleep. The Mesh Drive page lists this device's folders and their state when the selected console cannot be reached.
- Much faster uploads of many files. New and changed files go up in batches instead of one job each: 520 files took 25 s instead of about four minutes in a test on a PS5.
Pop-ups stay on screen on phones
- Notifications open fully on Android and iPhone. The panel from the bell in More grew off the left edge of the screen; it now slides back to fit, and on a short or landscape screen it scrolls instead of running off the bottom.
- Menus open the way they fit. The Browse ▾ menu, the Files recent-folders list and the console picker move back on screen and open upwards when there is no room below (above the tab bar on a phone). The ⋯ menus no longer open under the top bar in landscape.
- Dialogs scroll on short screens. Confirmations, the "already on your PS5" question and the file-conflict question now scroll in landscape instead of being cut off top and bottom.
v8.1.1 · Oct 26, 2026
Smoother syncing between devices
- No more "settings arrived — reload" prompts. A setting changed on another device now applies at once. Before, the running app kept the old value, and on the next start it could write it back and sync it out again, so two devices traded the same setting back and forth (and you saw the prompt again and again). The startup copy from settings.json now only fills in settings the app has never stored.
- Sync now no longer fails now and then. A drive password saved by another version could make the whole drive list unreadable for a moment ("missing field"). Fields this version does not know are now tolerated.
Mesh Drive
- No more repeated copies. After a file synced, the next pass could see it as changed again and copy or compare it once more (a big file twice). The agreed state is now taken from a fresh listing at the end of a pass.
- Saving a file while it uploads no longer turns your newest edit into a conflict copy: it is simply sent again on the next pass.
- Linked consoles: a passing network error reading the link's record stops that pass instead of starting over (which re-hashed everything and could bring deleted files back); the record now lives in the trash folder, where older versions never sync it; nothing is re-listed on either console while nothing changed; one console's lock is no longer left held for 10 minutes when the other console's was lost; "Let the deletes through" is used only by a pass that ran; a console that was unlinked can be linked again (to the copy it kept).
- Failover waits for a second missed reply before syncing through a linked console, and never does so for a paused folder.
- Conflicts from devices whose names have brackets ("Bob (PC)") are listed and settled like any other; odd file names no longer break the list.
- Phones: the ⋯ menu stays on screen (and above the tab bar), and a drive's buttons fit on one line.
v8.1.0 · Oct 26, 2026
Mesh Drive across consoles
- Consoles are the masters of their circles. A drive lives on a console, which keeps its home folder, its devices and their reports; devices sync only through a console, never with each other, and a device can use several consoles.
- Link a drive with another console (the drive's ⋯ menu › Link to another console…): pick a console from your list and a home folder on it. That console gets its own copy and becomes the drive's master for the devices that sync through it; a computer or Docker in the drive keeps the two consoles the same, the files going straight from console to console. Each console holds a drive once, so links form a tree and a change never comes back around.
- Away is fine. A device whose console is off syncs through a linked one (a separate record of what agreed with which console, so nothing is deleted on the switch), and a console that was off catches up when it is back. Unlink leaves each console with its copy as a drive of its own.
- Linked consoles on the drive card: each with its state, how many devices sync through it, when it last synced and which device carried it.
Conflicts
- Settle conflicts on the drive card lists every conflict copy beside the file it is a copy of (who made it, sizes and times) with one choice each: Keep the original, Keep the copy or Keep both (the copy gets a name of its own). It is settled on the console and every device and linked console follows; what goes is moved to the drive's trash for 30 days.
Also in this release
- No red "cannot reach its engine" flash at launch (#515). On Windows the engine can take a few seconds to start, and the app showed the error banner until it answered. The app now waits up to 20 seconds for a starting engine before calling it down; a real start failure or crash still shows at once.
- Restart engine in Settings. Settings › Engine has a Restart engine button (desktop app) to stop and start this computer's engine without closing the app.
- Devices and Mesh Drive say when the engine is too old (an engine elsewhere, such as an older Docker container) instead of showing "request failed (404)".
Mesh Drive, reworked
- Making a drive is guided. Nothing is picked for you any more: name the drive, then either make a new folder on the console (you choose where and its name) or pick one that is already there, and pick the folder on this device. Every choice is checked as you make it (a name that is taken, a folder inside another drive, a file instead of a folder, the app's own data folder) and Create stays off until both are usable.
- No more "let in" step. Joining used to wait for a device already in the drive to approve it, which locked everyone out once that device was gone. Now any device joins from the Mesh Drive page. To keep others out, give the drive a password (when you make it, or later from its ⋯ menu); a device joining types it once. Only a salted Argon2id hash is kept on the console, and any device in the drive, or anyone who knows the password, can change or remove it.
- Every device in the drive, as the console sees it. Each device's engine reports to the console after a pass: its state, how many files and how much it holds, its app version, and when it last synced. The drive card lists them all with who is online, so you see who is in the drive and how each is doing from any device; a device that is gone can be removed by any other.
- Rename a device from the drive's list (or in Devices): the console keeps the name, so every device shows it at once. Each device has its kind's icon: a phone, Docker or a computer.
- What you'd want to know about the folder: files, total size, conflict copies, free space on the console, live progress (file 12 of 40 and its name), and files that were left out and why.
- Open folder opens this device's copy in Finder or Explorer (desktop app); **Open on console** opens the drive's home in Files. Files lists every Mesh Drive next to
/dataand the USB drives in its Drives row, as a shortcut to its folder on the console. - Steadier syncing. A pass skips re-reading the console's folder when nothing changed (until two minutes pass); waits while a game installs; rests a file that keeps failing for ten minutes instead of retrying it every pass; leaves out names this device cannot store (Windows) and names that differ only in case (macOS, Windows); never overwrites a file you saved while it was being synced; keeps both copies when the same file is trashed twice in a day or conflicts twice in a minute; ignores a half-finished upload's
.ava-part; and holds the drive's lock for however long one big file takes. A drive deleted from another device stops syncing here by itself and frees the folder. - Console locks follow a clock that never jumps, so setting the console's date no longer frees (or keeps) a lock early.
Several devices
- The same PS5 from two devices is one console, not two. Connecting from a second device no longer adds a duplicate to the console list.
- Settings and the console list sync with a CRDT (a last-writer-wins map with hybrid logical clocks): the newest change wins on every device whichever syncs first, a removal stays removed, and a change made on one device never undoes another's. A device's set-up from before it shared takes what your other devices already agreed on instead of overwriting it.
- Settings backups. The app backs up its settings once a day, and before a sync from your other devices or a restore changes several at once. The engine keeps the last 14 (in Docker, in the container's data volume, so the web UI's backups outlive the browser); each console you use keeps every app's latest, so a wiped device gets its set-up back from there. **Settings › Backup** lists both, with Back up now and Restore; a restore keeps a copy of what it replaces first.
- Downloads to a NAS: replacing a file on the server is safe even when the server cannot rename over a file (the old one comes back if the swap fails).
- More devices from one address. The console allowed 12 connections per IP address, which about three engines fill; a computer running the app and a Docker engine (Docker Desktop shows every container as the host) could be refused with "too many connections from this address". Now 24.
- Mesh Drive refuses a whole disk, a phone's whole storage or a home folder (and the console's
/dataor a whole USB drive) as a drive's folder: everything on it would be synced. - Check for updates has its own icon; a Reload page button sits in the top bar (on a phone, in More).
v7.5.3 · Oct 25, 2026
- Android: bug reports and exports no longer leave a 0-byte file. The save dialog created an empty file where you pointed it, while the real file went to Downloads, so the report looked empty. Bug reports, logs, settings and other exports now go straight to Downloads (the report screen shows the exact name), with no dialog and no empty file. Every report save is now written to the app log with where it went and its size, and a report that comes out empty says so instead of looking saved.
- The web UI keeps the screen on during transfers. In a browser (Docker), the page now holds the screen on while an upload, download or install runs, so a laptop or phone does not sleep and stop the tab that drives the queue, and Settings offers Keep screen on there too. The desktop apps already kept the computer awake, the phone apps the screen, and every platform can keep the PS5 awake (Settings › Uploads).
- Docker: settings follow you between browsers. In the self-hosted web UI, pinned and hidden tabs, upload, install, convert and link settings, the save path, beta features and a few facts about each console (helper stopped on purpose, Minion off) are now kept in the container, so every browser and device sees the same set-up. Pinned tabs update in an open page as soon as another browser changes them. Theme, language, text size and which console is on screen stay per device. The desktop and phone apps are unchanged.
- Minion notices a USB drive. Plug a USB stick into the PS5 with Minion open and Home offers Find games on it (Library scans it for packages, game folders and images to install or copy) or Open in Files: a PS5-only workflow with no computer.
- Clean up points at the biggest wins. Clean up now also counts the installed games and apps never seen running and opens Installed Apps on exactly that list, where each can be uninstalled. Home shows a Clean up card when one of the PS5's drives is nearly full (under 10% or 20 GB free).
- Extracting on the PS5, made easier. A
.zip,.7zor.raron the console now has an Extract button right on its row in Files (it was only in the menu before). The dialog can delete the archive afterwards (only when every file came out), warns when the drive has less room than the archive itself, and the finished notice opens the new folder and says what to do next: install the packages inside, or register the game folder. Minion's Extract can delete the archive afterwards too. - An iOS source for AltStore, SideStore and Feather. Add
https://github.com/phantomptr/ps5upload/releases/latest/download/altstore.jsonas a source and the iPhone app updates from there; it always names the newest full release (#512). - Install and restart. After an update downloads on Windows, macOS or a Linux AppImage, one button installs it and opens the new version: the app closes, the update goes in (the Windows installer runs silently), and PS5Upload starts again. If anything goes wrong, the old version starts instead. A
.deb/.rpminstall still shows the one command to run; phones are unchanged. New in Settings › Updates, off by default: Install updates automatically, which waits until nothing is transferring before it restarts the app (#513). - A NAS that renames files no longer breaks games. A Samba share (most Linux NAS boxes) shows a file whose name Windows cannot hold, with a
:or?in it or a trailing dot, under a made-up short name likeC69YSY~1.TXT. Uploading or converting a game folder from such a share copied those made-up names, and the game would not start. Such a folder is now refused before anything is sent, naming a renamed file, with the fix: add the server over SFTP or FTP, which keep the real names. - A display error no longer fails an install. On Android a stream install could end in "Didn't finish … (React #185)" while the transfer itself was fine: a screen stuck in a redraw loop made the queue's next progress write throw, and the queue took that for a failed transfer. The write has already happened when that error comes, so it is now logged (with the details a bug report needs to find the screen) and the install carries on.
v7.5.2 · Oct 25, 2026
- Uploads wake a sleeping PS5. When an upload is waiting for a PS5 in rest mode, the app now sends it a wake signal, re-sends the helper once it is up, and carries on. Only for a console with wake set up on the Connection screen; turn it off under Settings › Uploads ("Wake the PS5 for a waiting upload").
- Convert reads big Sony-compressed packages. Some large PS5 packages (Astro Bot, for one) failed in Convert with "the package's inner image uses a layout this reader does not know". Their layout table marks stretches with no stored data, 256 KiB each, and the reader took them for blocks, so every offset after the first one was wrong. It now steps over them: Astro Bot's 166,714 files open in seconds and read back correctly.
- Save backups skip the console's own folders. The PS5 lists its empty
sce_backupfolders among the saves, and automatic backups saved each one as an empty zip (one of them twice, since PS4 and PS5 both have one). Only games' saves are backed up now. - Where to get the PPR patch for fake packages. Installing a fake package needs
a53_ppr_install_fast.elf, which has no published download, so the payload catalogue cannot offer it. Install Package and the catalogue now link its source, drakmor/ppr-patch. - Start all no longer spins on a sleeping PS5. With two or more uploads queued for a console in rest mode, Start all restarted that console over and over without end. The uploads now wait for the wake.
v7.5.1 · Oct 24, 2026
- Security scan clean-up. Every finding of the new code scan was reviewed. A damaged game image can no longer make the converter reserve a huge buffer before reading it. Every GitHub Action the builds use is pinned to an exact commit, and the scan now skips tests, examples and developer tools, which never ship. The rest (the engine opening files you choose, and fixed protocol constants) are by design and were closed with the reason recorded. So they stay fixed: the PR gate now fails on any workflow action not pinned to a commit, a CodeQL gate fails any change that leaves a new open alert, and the release script refuses to tag while one is open.
v7.5.0 · Oct 24, 2026
- A new look. PS5Upload has a new logo: a PS5 Pro drawn in black and white, with the name set in Titan One. It is the app icon on every platform (macOS, Windows, Linux, Android, iPhone), the in-app logo, the PS5 home-screen tile for Minion (it updates the next time the helper is sent), the website and its screenshots, and the README. The masters and every image are in
branding/.
v7.4.3 · Oct 24, 2026
- Check for updates from anywhere. A button in the top bar (desktop and tablet) shows your version and checks GitHub when you press it: it says when you are up to date, or the update bar appears. With an update waiting it lights up and opens Settings → Updates. On a phone the version at the foot of More is the same button, and "Check for updates" is in the command palette (Cmd/Ctrl+K). The web UI updates with its engine, so it has no button.
v7.4.1 · Oct 24, 2026
- Dependency updates: Tauri 2.12.5, Tauri CLI 2.12.4, Vite 8.3.5, lucide-react 1.61.0 and crc32fast 1.5.3.
- The new security scan no longer flags the Wake screen's made-up sample key, and a test no longer trips the repository's old-port check.
v7.2.0 · Oct 24, 2026
- PS5Upload on iPhone. Every release now includes an iPhone app (
PS5Upload-7.2.0-ios-unsigned.ipa): the same app as on Android, with the engine built in. It is not on the App Store, so you install it yourself with AltStore or Sideloadly and an Apple ID (a free one works, no jailbreak). The FAQ walks through both. Put games in the app's folder with the Files app, keep the app open while it sends, and tell us how it goes: it is new and has had little testing on real iPhones. - Text size on the console page (#505). PS5Upload Minion's Settings has a Text size row (75% to 130%), kept per screen so the TV and a computer browser can each have their own. Update the helper for this one.
- Converting a big game shows its progress from the start. On a very large game the "Check source" step could sit for many minutes with nothing moving; it now shows how far it is, and Stop works there too.
v7.1.19 · Oct 23, 2026
Update the helper for everything below.
- Files on a disc download now (#497). Downloading a file from a data DVD or Blu-ray in the drive (/mnt/disc) failed with "not allowed". It works now; the disc stays read-only.
- Bring up automatically (#479, desktop). A new switch on Connection's Quick bring-up (and in Settings → Console) lets the app connect a saved PS5 by itself: when the console's loader (elfldr) is up and the helper isn't running, it runs your bring-up playlist, sends the helper and runs your auto-loader, with no clicks. Once each time the console starts, about 90 seconds after the loader appears so the console's own autoloader finishes first; after rest mode only the helper is sent again. Off by default.
- Stream several packages at once everywhere (#479). Picking a game, its update and DLC together now also works from a saved server, on Android and from "From this device" in the browser, and they are queued base game first, then the update, then DLC.
- Queue icons show right away (#479). An install that starts as soon as you add it now shows the game's icon and name while it runs, not only after it finishes.
- Look inside any game image on your computer (#479). Edit image on this computer now opens every kind ps5upload reads (.exfat, .ffpkg, .ffpfs, .ffpfsc and debug .pkg) without mounting it, on Windows too and in the browser version. Browse folders with their sizes and save any file or folder to the computer (checked against the image). For images (not packages) you can also add, replace or delete files and write an edited copy next to the original; the copy is read back and checked, and the image you opened is never changed.
- Game Library on the PS5 (#498). PS5Upload Minion has a new Library section: press Scan and it looks through your network shares (NAS or PC) and this PS5's drives for games — .pkg files, game folders and disk images — and shows them as a cover grid with title, version, type and the system software they need. From the TV, install a package (from a share it is copied to the PS5 first and the copy removed after), or copy a game folder or image to a drive's homebrew folder and add the folder to the home screen. Results are kept on the PS5 so the grid opens at once; scans stop at a size limit so a huge share cannot hang them. On the PC, the Servers screen has a new "Shares on the PS5" card to add, edit and remove the shares Minion uses, or copy a server you already saved.
- Sort screenshots and clips (#499). Both tabs in Screenshots & clips can be sorted by date (newest or oldest first) or size. Thanks @tanner02.
- Dependencies updated, including the zip library (8 → 9); zip entries whose names can't be decoded are now read with a best-effort name instead of stopping the archive.
v7.1.18 · Oct 22, 2026
Update the helper for everything below.
- Clean up: get space back on the PS5. A new Clean up screen (desktop, browser and PS5Upload Minion) finds what takes space for no reason: updates of games that are gone, leftover .pkg files on any drive (your package library is skipped), PS5Upload's own temp files, download files of removed games and leftovers of removed games. Updates of games you still have are listed too, unticked, with a warning that the game goes back to its base version. You see sizes and a total first, nothing is removed without a confirm, and saves are never touched.
- Fan control is safer and holds better. The helper now changes only the target temperature in the fan settings (it used to overwrite the rest with zeros), checks it took, and puts your target back within about 2 seconds when the system resets it (it was up to 15). Targets go from 45 to 85 °C and never above the console's own. The fan speed shown was about 4× too high; it's right now.
- Minion: new Games page. Start, close, hide or uninstall your games from the TV, with each game's version, size and where it's stored.
- Minion: new Fan page. Temperatures, fan speed, and the fan target as big buttons (Console default, 85, 80, 75, 70, 65 °C) or one degree at a time.
- Minion: new Processes page. See what's running and stop a game or payload. System processes can't be stopped from here.
- Minion: install a .pkg from Files. Pick a package on internal storage or USB to see its icon, title, version and type, then install it. USB packages are copied to internal storage first and the copy is removed afterwards.
- Minion: load a payload from Files. Send an .elf or .bin on the console to the payload loader, after a confirm.
- Extract archives on the PS5. .zip, .7z, .rar (including multi-part) and .tar archives on the console can be extracted into a folder there, from Minion Files and from File system on the desktop. Password-protected .zip and .7z work; password-protected .rar can't be extracted on the console.
- Minion: network shares. Add an SMB share in Minion Files, browse it like a drive, and copy files and folders between it and the PS5, without the desktop app.
- Load payload from File system. The desktop's File system can send an .elf or .bin on the console to the payload loader too.
- The PS5Upload tile no longer turns into a grey ghost (#480). ShadowMount+ took the tile over and unmounted it a few seconds after it was added; the helper now keeps it. Removing the tile checks for longer, a grey tile left behind by an older helper is cleaned up when the helper starts, and the result says whether the tile was removed or could only be hidden.
- Turn PS5Upload Minion off completely. Settings → PS5Upload Minion has an On/Off switch, and Minion's own Settings has "Turn off PS5Upload Minion". Off removes the home-screen tile (no grey icon left behind) and stops the page on the console, and it stays off after restarts. The PC app keeps working, and you can turn Minion back on from it any time.
- Minion: Circle on Home. When the PS5 browser won't let the page close itself, a note says to press the PS button to go back to the home screen.
- HyperHEN's built-in ShadowMount+ counts everywhere. 7.1.10 taught Installed games about it; the setup wizard no longer sends a second ShadowMount+ on top of it, a refused launch no longer says ShadowMount+ is missing, and the Payloads "On your PS5" card shows it running.
- "elfldr is stuck" now names the other cause. A jailbreak's own payload listener on port 9021 looks the same from the app: the message now says to send elfldr-ps5.elf through it first (Payloads → elfldr), then the helper.
v7.1.16 · Oct 22, 2026
- Pin the screens you use most. Hover a screen in the sidebar and press the pin, or use the pin on its row in More, or "Pin …" in the command palette (Cmd/Ctrl+K). Pinned screens appear in a Pinned group near the top, in the order you pinned them; drag them in the sidebar, or use Edit in More, to reorder. Up to 12. Nothing changes until you pin something.
- The install queue shows each game's icon and whether it fits. Queued packages, game folders and images now show the game's own icon before they install. The queue header shows how much is waiting to install and how much space is free on the PS5 drive it installs to, and warns "May not fit" when it clearly won't. It's an estimate only; each install still checks the PS5's space itself.
- .ffpfsc images build faster and come out smaller (#479). Convert's compressed .ffpfsc now has three levels: Fast, Balanced (the default) and Smallest. On an 18 GB test game, Balanced took about a third less time than before and came out 2–3% smaller; how much smaller depends on how much the game's files can compress. Smallest takes several times as long for a little more. A Smallest image was built, launched and played on a PS5 (FW 13.60, ShadowMount+).
v7.1.13 · Oct 21, 2026
- SMB collection moves. Close metadata readers before moving inspected game folders, and wait for pending closes before renames and directory removal. Denied SMB operations no longer appear as failed sign-ins. CI checks intact folder moves and Undo on an authenticated Samba share with Apple metadata streams.
- Adjustable avatar crop (#491). Position a crop horizontally or vertically and center it again. Preview and Apply use the same framing in both browser and desktop clients.
- Files and payloads from a browser (#489). Choose or drop files from your device, upload them to the engine, and review them before sending to the PS5. Send a selected ELF payload through the engine to a running loader after an explicit Send action. Archive intake remains available in the native app.
- Reverse proxy hosting (#490). Docker healthchecks, package uploads, and remote downloads respect the configured URL path prefix; console package downloads remain at the root. New setup instructions cover dedicated hostnames, subpaths, proxy limits, allowlists, and the direct connection the PS5 needs for package downloads.
- Queue sizes. Show known sizes on individual pending rows and label unknown sizes clearly. These are estimates, not a promise that the destination has enough free space.
Version 7.1.12 was stopped during release validation; these changes ship in 7.1.13.
v7.1.11 · Oct 21, 2026
- Browser avatar upload (#486). Choose an image from the browser device, preview crop or fit, and confirm applying it to the selected console user. Works with Docker engines too.
- Remote conversion inspection (#485). Allow slow console image reads to complete beyond the ordinary one-minute request deadline, including build preflight and size estimates.
- Organize the whole collection. Include supported images and extracted game folders as well as packages. File them under each configured collection root, preserve image formats and intact game folders, and report skipped items without claiming they are already organized.
v7.1.10 · Oct 20, 2026
- Compressed images in Game files.
.ffpfscfiles now appear, including images beyond the first directory page. Open their folder in Files to decompress before editing; compressed images use ShadowMount+ for playback. - Truthful tile removal (#480). Removing PS5Upload's own tile now waits for the removal result and reports save/uninstall failures. Update the helper for this fix.
- Bulk conversion and copying (#479, #481). Convert recognizes packages inside game subfolders, names generic
game.pkgimage outputs after the game folder, and accepts supported image/package sources for image conversion. Files can queue further picks during a copy; desktop Stream can select multiple packages and queues bases before updates and DLC. - Payload setup. Repair the LZ4 Compression catalogue source, add the upstream elfldr download, recognize HyperHEN's specific mount process, and make Quick bring-up easier to find.
- Back navigation. Duplicate Back requests now share one pending history navigation. Firmware-specific controller mapping still needs the reporter's input log.
- Conversion diagnostics. Record stage timings and compression settings for performance reports. No compression or small-file speed improvement is claimed.
- Keep Rename first in the Files menu. Properties and permissions remain available just below it, with Delete last. The phone menu now preserves its familiar action order.
- Reliable coverage checks. Transfer speed thresholds run on normal builds; instrumented coverage builds continue to check the transfers without comparing their speed.
v7.1.9 · Oct 19, 2026
- File properties and custom permissions (#478). In Files, open Properties to see a file or folder's size, modification time and permissions, and set the permissions you need. Applying to a whole folder is optional; drives that cannot keep Unix permissions are called out.
- Restore a hidden Minion tile (#478). Settings can show, restore or hide PS5Upload Minion on the PS5 home screen through your paired connection, even when Minion's LAN access is off. Update the helper to use this control.
- Import a local JSON cheat. Cheats can now import a trainer from your device or engine computer. Imports are checked, never replace existing files and leave toggles off. Use the exact title ID and game version; renaming a trainer does not make its patches compatible.
- Clearer save backup guidance. Android shows where backups are saved. Save guidance now explains account and title restrictions, and no longer presents restarting as a verified fix for PS4 restore errors.
v7.1.8 · Oct 19, 2026
- Convert reads more Kraken-compressed PS5 packages (#477). Some packages compressed at the highest Kraken level stopped Convert with "kraken: chunk too short" although they were fine: a small piece at the start of a block was refused. They convert now.
v7.1.6 · Oct 19, 2026
- Uploading many files from Files is much faster. Picking several files now sends them to the PS5 together instead of one at a time: 240 small files went from over 2 minutes to about 5 seconds, and 5,000 small files from 44 minutes to under 30 seconds. A pick shows as one task with one Cancel, and a stopped upload resumes where it left off.
- Choose what happens when a name is taken. Instead of one all-or-nothing Overwrite question, each clash offers Skip, Keep both or Replace (Merge for a folder onto a folder), with "do the same for the rest". Keep both is the default, so Enter never overwrites, and names that differ only in upper and lower case count as the same name.
- Uninstall tells you whether the game is really gone (#476). Uninstall used to say "Unregistered" whatever the console answered, and then quietly showed the game again if the console had kept it. The helper now checks that the game has actually left the console. If the PS5 refused, you see an error with its code, and a game that is still installed stays in the list with a note instead of disappearing and coming back.
- Organize packages finds packages that sit loose in a collection folder. A .pkg placed directly in a collection folder (not in a subfolder) was skipped, and with only loose packages Organize said no folder held any. They are now organized into the same Platform › Game ID - Title layout inside that folder.
- The server folder browser opens in front. In Collection → Folders, "Add a folder on …" opened its folder browser behind the dialog.
v7.1.5 · Oct 18, 2026
- Uploading many small files no longer gets stuck (#475). Picking hundreds of files in Files (for example a Switch firmware folder) stopped after about 30 files with "the console is busy" and never recovered. The console now lets go of each finished upload, so every file goes through: a 240-file, 347 MB folder uploaded in about 2 minutes 20 seconds in testing.
- PS5Upload Files is now PS5Upload Minion. Same page and tile, new name; the tile on the home screen picks up the new name the next time the helper starts.
- Payload catalog fixes. websrv's newest release showed an error instead of the release, because its release notes are empty. A payload whose GitHub page has been taken down (such as Ghostpad) now says so plainly and keeps offering the version saved in the app. How long ago a release was saved reads like "saved 3 days ago" instead of a count of seconds.
v7.1.4 · Oct 18, 2026
- Cheats no longer crash the console. Switching a cheat on or off could crash the game or the whole console on newer firmware (seen with Marvel's Wolverine). Cheats are now written straight into the game's memory, the way that works on these firmwares, instead of changing the game's memory protection. A cheat now goes on completely or not at all: if any part can't be written, the parts already written are put back. Cheats can only change the game itself, never the system, and turning one cheat off no longer breaks another that shares code with it. Cheat files too large to read are refused instead of being applied in part.
- Find and download cheats on the console. In PS5Upload Files, Cheats has Find cheats: it lists the cheat files for the running game from the same collections the PC app uses, marks the one for your game's version, and downloads it straight to the console, where its cheats show up at once. If the PS5 can't reach GitHub (for example when DNS blocking is on), the page says so.
- Save backups are named after the game too. A backup saved on your computer is now named like
PPSA01234-Game Name-User.zip.
v7.1.3 · Oct 18, 2026
- Payloads: one place for what's on your PS5. The Payloads screen now has three tabs: Catalog, Send and On your PS5. On your PS5 shows a card for each payload that is running or installed on the console, with its status, Open (for payloads with a web page), Update when a newer release is out, and Stop. Manage opens that payload's tools in the card: ShadowMount+ mounts, the nanoDNS editor, Payload Manager and HearBridge. Old links to the separate tabs still work.
- HearBridge in the catalog and on your PS5. HearBridge plays the PS5's audio on ordinary Bluetooth headphones or speakers. Its card shows the connected headset, battery, link quality, latency, volume and the game's profile; Manage sets volume and mute, reconnects, switches between saved headsets, scans for new ones, turns night mode on or off, sets latency, and stops it. Pairing, EQ and everything else open in HearBridge's own page.
- Processes & ports. The Processes screen now has a Ports tab next to it, showing which ports are open on the console and what usually listens there (HearBridge and PS5Upload Files included).
- PS5Upload Files: permissions, new files and text editing. Info → Permissions sets read, write and execute for owner, group and others (or the number, like 755), for a folder's contents too; drives that don't keep permissions (exFAT, FAT) say so. Create a new file, and edit text files up to 1 MiB with the on-screen keyboard. Saving never leaves a half-written file, keeps the file's permissions and line endings, and warns when the file changed since you opened it.
- PS5Upload Files: upload and download from your phone or computer. When you open the page from another device (Settings → Allow other devices), Files has Upload here to send files and folders to the console and Download for a file, or a whole folder as one .tar file. The usual Skip / Replace / Keep both choices apply, a cancelled upload leaves nothing behind, and a stalled connection is let go so the page stays responsive. On a home network this moved about 75 MB/s up and 110 MB/s down.
v7.1.2 · Oct 18, 2026
- Save data on a shared PS5 shows whose save is whose. Each save is labelled with its owner's name instead of a number, and the screen starts on the user who is signed in at the console; "Whose saves" switches to another user or to everyone. Back up all and Restore all act on the saves shown. A backup saved on your computer is named after the game and the user (
PPSA01234-Alice.zip). - USB backups are kept per user. Backups to a USB drive on the console now go into a folder per user (
<game>/<name>-<user id>/<date>/). Before, every user's backups of a game shared one folder, so on a shared console "Restore all from USB" could put one user's latest backup into another user's save. Backups made before this update are still used when only one user on the console has a save of that game.
v7.1.0 · Oct 17, 2026
- PS5Upload Files: manage your files from the couch. A new PS5Upload Files tile on the PS5 home screen opens a page in the PS5 browser that fills the TV. It has four sections: Home (the running game with Close game, the tasks that are running with Cancel, and your drives), Files, Cheats (switch the running game's cheats on and off) and Settings. The PS5Upload helper must be loaded. If it isn't, the page tries to show a note that says so (from a copy the PS5 browser keeps) and opens by itself once the helper answers. After an update, a banner offers to reload.
- Made for the controller. ✕ selects, ○ steps back, △ opens an item's actions, and the PS5's own pointer works too. Every action also has a button on screen. Three short tips show the first time, Help lists the buttons that work on the current screen, and Controls shows which buttons your PS5 passes on to the page. Dark, Light, OLED and Peach themes, high contrast, the language and full screen are in Settings.
- Browse and organise. A path bar with Go to path, pinned and recent folders, and your drives, with Eject for USB drives and Unmount for game images (refused while a game is running). Sort, filter, show hidden files and select all. Copy, cut and paste, with Replace, Keep both or Skip when a name is taken (and Apply to all); rename one item or many at once with a pattern (a change of letter case alone works too); new folder; delete; Fix permissions.
- Look inside files. Info with folder size; Verify (BLAKE3 and CRC32); Decompress a
.ffpfscback to its image, with progress. The viewer shows text (with find), JSON, a summary of a game'sparam.json, hex, and pictures (step through a folder's images); a game folder shows its banner. Search finds files by name in this folder or on all drives (the first search builds an index), and Disk usage shows what takes the space. - Works with the app on your PC. File System shows the folders pinned on the console ("Pinned on console"), and Show on console opens a folder on the TV; Show on PC on the console opens it in the PC app. Files being uploaded from your PC show an Uploading badge. These need the 7.1.0 helper; with an older one the app simply doesn't show them.
- Only the console can open it by default. Settings → Allow other devices lets a phone or computer on your network open the page too. There is no password, so anyone on your network can then manage your files; turn it off when you're done. While it's on, text boxes on the console show a "Continue on your phone" code to type there instead.
- The tile is yours to remove. Settings → Show PS5Upload Files on the home screen removes or restores it. The tile is left out of the app's game list (an older engine or Docker image may still list PSUP00001).
- Big app databases no longer hide installed games. The console's app database was read only up to its first 256 entries, and a long list could be cut shorter still, with nothing saying so. On a console with many entries, a game installed by a homebrew installer (no home-screen metadata folder) that sorted past that point was missing from Games. The app now reads the whole database page by page. If the database still can't be read in full, games whose folder and registration are on the console are listed anyway, and the app logs a warning that the list may be incomplete (#473).
v7.0.34 · Oct 17, 2026
- Unity games no longer crash when they run as a folder. Some game dumps name a file
Il2cppUserAssemblies.prxwhile the game loadsIl2CppUserAssemblies.prx. An exFAT image ignores the difference, so the game played from its.exfat. The console's internal storage does not: the same game uploaded as a folder, or converted to one, crashed a second after it started. Uploading a game folder, and Convert's game-folder and.ffpkgoutputs, now give each such file the spelling the game loads. Your copy on the computer is left as it is, and Convert's checks list what was renamed. Affected games launched and stayed running on a PS5 Pro (FW 13.60) once renamed.
v7.0.33 · Oct 17, 2026
- A PS5 update package installs even when its base game isn't there. The app refused any update whose base game wasn't installed ("Install the base game first"), but some PS5 updates carry the whole app: a YouTube update package installed fine through the PS5's own debug Package Installer while ps5upload refused it. For PS5 packages the app now warns ("the PS5 may still accept it") and lets the PS5 decide; if it can't, the PS5's own error still shows. PS4 updates are still refused, since there Sony accepts the request and installs nothing. Stream-installed on both consoles (FW 13.60) with YouTube removed first.
- An install counts as done when its exact bytes are on the console. Such a package lands as the app, not in the updates folder, so the app looked in the wrong place: it called an installed copy "not installed" and could not confirm a finished install.
- About links to the website. About now has a Website link to ps5upload.phantomptr.com, and the author's name opens phantomptr.com.
v7.0.32 · Oct 17, 2026
- Rest mode is found on a computer with Wi-Fi and a cable at once. A Mac on both, sending through Wi-Fi, got "Host is down" from a sleeping PS5 and showed it as not answering, though the same console answered "standby" over the cable. The app now asks every network connection on the computer that shares the console's network, and treats "Host is down" as a reason to ask. Wake goes out the same way, so it now reaches a sleeping console from such a computer too (Mac, Linux and Android; Windows still uses its default connection).
- Wake is offered whenever the console isn't awake. The PS5 power card showed Wake only when it had confirmed rest mode; it now shows whenever wake is set up and the console isn't known to be awake. The card says "In rest mode" or "Not answering", and greys out Rest mode, Reboot and Shut down while the console sleeps, since those need the helper.
v7.0.31 · Oct 16, 2026
- Rest mode is shown as rest mode, not as a problem. A PS5 in rest mode used to look the same as one that was off or broken: a red "Not connected", "Helper isn't running" on every console screen, and Connection's Check blaming the jailbreak or a VPN. The app now asks the console the way Remote Play does (it answers "standby" while it sleeps), and shows a calm, blue "In rest mode" in the status bar, the console tabs, Home and the game page. Console screens say "Your PS5 is in rest mode" with a Wake button when wake is set up. A console that answers nothing at all reads "Not answering", with the setting it needs to stay reachable in rest mode (Settings › System › Power Saving › Features Available in Rest Mode).
- Nothing fights a sleeping console. The automatic reconnect no longer pokes a console in rest mode every 30 seconds all night; it waits, and sends the helper again once the console is awake. Uploads that meet rest mode wait ("Waiting for the PS5 to wake") and carry on after the wake, without using up their retries; in the browser version they used to fail. Keep-awake skips a sleeping console. Measured on both consoles on FW 13.60, including a full rest → wake → helper back → rest cycle on the Pro.
v7.0.30 · Oct 16, 2026
- Files fits on a phone (#470). On a narrow screen every file and folder row carried up to nine action buttons, which pushed the name out entirely, even at the smallest text size. Each row now shows its name and size with one ⋮ button that opens the same actions as a menu. The selection bar stays on one line, with its actions in a strip you can scroll sideways. The Recent paths list is solid instead of see-through (on every screen size). The toolbar, drive chips and path bar are tighter, so the list starts higher up. The desktop layout is unchanged.
- Stop helper (#471). Connection has a "Stop helper" button next to Send helper. It turns the helper off on that console and keeps it off: the automatic reconnect leaves the console alone until you send the helper again or start something that needs it. The loader stays up, so sending payloads still works. It is refused while an upload, download or install is running on that console. Measured on a PS5 Pro: the helper exits in under a second.
v7.0.29 · Oct 16, 2026
- Turn a game image or package back into a folder (#469). Convert → What to make has a third choice, "A game folder". It takes any image Convert reads (
.exfat,.ffpkg,.ffpfs,.ffpfsc) or a.pkgmade with the default debug passcode (Convert's own packages, and fake packages from other tools when they used that passcode), wherever it is: this computer, a saved server or the PS5. It writes the game's files as a plain folder on this computer, empty folders and the package's icons included, checks them against the source, and only then gives the folder its name, so a stopped or failed run never leaves a folder that looks finished. A 125 GB exFAT image unpacked in 81 s, and a Minecraft package came back file-for-file equal however it was compressed. A retail package, or a fake one made with another passcode, can't be opened and is refused with that reason.
v7.0.28 · Oct 16, 2026
- **Android: transfers keep going when you leave the app, and you get told when they finish (#457).** Android pauses an app soon after it leaves the screen, and the notices that a job finished lived in the app's page, which pauses with it. Now, while anything is uploading, downloading or installing, ps5upload runs as a foreground service with a progress notification ("Uploading … 42% · 1.2 of 2.9 GB · 38 MB/s"), and posts "Upload complete" or "Upload failed" when it ends. A queue moves on to the next item in the background too. Measured on Android 16: a 1.8 GB upload with the screen off for 12 minutes finished, with one "complete" notification. On a computer, a finished job is announced right away while the window is minimised or hidden, and the queue no longer waits for the window to come back.
- Decompress a .ffpfsc on the console (#453). Files → right-click a
.ffpfsc→ "Decompress to .exfat…" writes the game image it holds next to it, on the console, with progress and Stop: no download and re-upload through a computer. The console's own kernel does the decoding (the way ShadowMount+ reads these files), so nothing extra runs in the helper; a first version that decoded in the helper made it crash and was pulled from 7.0.23. Measured on both consoles: a 4.5 GB image in 40-65 s, byte-identical to the source. Needs the 7.0.28 helper. - **Console to console: pick up a send from another device, and test the connection first (#444).** Tasks lists sends between your consoles that another phone or computer started, with Watch (follow a direct send), Take over, and Resume here for one that was paused or whose device went away. Pausing now stops both consoles' halves, so any device can resume it straight away. "Test connection" in Send to another console checks that the sending console can reach the other one on the route and address you chose (handy for a ps5-tailscale forward), optionally with a small real send. Watching or taking over a send that is still running needs the 7.0.28 helper on both consoles.
- **A large .7z upload is no longer called "damaged" when the phone just failed to read it (#446).** The 7z decoder turns any failed read of the archive file into "dist overflow", the same error a broken archive gives, and since 7.0.22 a broken archive is never retried. So one read that failed on a busy phone ended a 70 GB upload as corrupt. A failed read is now reported as itself, and the upload retries it. An 84 GiB single-block archive made with 7-Zip's defaults decoded cleanly well past 40 GB in testing.
- "Helper not running" says what to do next everywhere. Status checks used the old "not running or an old version" text; they now say, like a job does, whether the app can send the helper (the loader is up) or the jailbreak's loader needs starting first.
v7.0.27 · Oct 16, 2026
- A stream install no longer fails on the PS5 after ps5upload says it's done. The PS5 downloads a package in pieces and re-reads some of them; ps5upload added up every byte it sent, repeats included, and took that total as "the console has it all". On a small package the repeats made up the size of a part never sent, so ps5upload closed the download link first: the app's tile appeared and could even open, but the PS5's Downloads showed it failed, Retry failed too and Cancel removed it. ps5upload now keeps the link open until every byte has been sent at least once. Seen with a 37 MB package on FW 13.60; any size could hit it.
- **"Nothing answered on the ELF loader port :9021" when starting a stream install, then fine on a retry, is fixed.** When an install starts, the app also replaces the console's stock elfldr with its own fixed build, and the loader port is closed for about a second during that swap. An install that started in that second failed. It now waits for the swap to finish, and a loader port that is closed for a moment is tried again for a few seconds before the install gives up.
v7.0.26 · Oct 16, 2026
- Uploaded game and homebrew folders show up with ShadowMount+ again. ShadowMount+ registers a folder as soon as its
sce_syshas been still for 10 seconds; an upload sends those small files first, so it tried whileeboot.binwas still on its way, failed twice and gave up on the title for good (measured on a 13.60 console). A game'sparam.json(and a PS4 game'sparam.sfo) is now put in place only when everything else has arrived, so the folder becomes a game exactly when it is complete. Needs the 7.0.26 helper. - A stalled or stopped upload can be continued. A row that has moved no data for 90 seconds says so and offers Restart transfer; a row that was stopped, or interrupted by closing the app, says so and offers Resume. Both pick up from what the PS5 already has. **Retry failed uploads** now runs them (it only put them back in the list), and its label no longer reads "the retry failed" in most languages.
- Large solid .rar uploads no longer fail over and over on a retry. Resuming one reads through everything the PS5 already has before sending anything new; the console took that silence for a stalled sender and ended the job after 15 minutes, every time. The app now tells the console it is still working. Needs the 7.0.26 helper.
- A .rar's unpacked size is right when it holds entries of unknown size (RAR5), which made the free-space check before an upload add up to nonsense.
- Payload Manager: update what you stored. Payloads stored from the Catalog are remembered, and the Payload Manager tab offers Update when the catalogue has a newer release: it stores the new one in its place and keeps its spot in the boot list. Payloads Payload Manager installed from its own repository are left to it. (Desktop and Android, where the catalogue is.)
- Files: drag to move. Drag a folder onto another folder, or onto the path above the list, to move it there (across drives it copies, then removes). Files move the same way in the web UI and on Android; on the desktop a dragged file still goes out to your computer. Not in the Windows app, where the window takes every drag for its own file drop; use Move to… there.
- A deleted Collection folder no longer breaks the Collection (#461). Saving the folder list checked that every folder still existed, so once one was gone nothing could be saved, removing that folder included. Only a folder being added is checked now. A scan skips a folder it can't open instead of failing, and Collection names it, marked "Not found" in Folders, so you can remove it or plug the drive back in.
v7.0.25 · Oct 15, 2026
- Profile no longer offers "Create User" (#460). The PS5 has no create-user call a payload can use, and the old button only ever tried to rename the console's first user, which fails on a jailbroken console with "sceUserServiceGetInitialUser failed". Profile now says to add users on the PS5 (Switch User, then Add User). Renaming and deleting users are unchanged.
v7.0.23 · Oct 15, 2026
- Payload Manager 0.6 works again (#458). 0.6 refuses changes without its request marker and wants POST for launch and delete, and keeps payloads in slots. The fallback launch, storing, deleting and "Load at boot" now work with 0.6.1 as well as 0.5.2.
- Games is smooth with a big library (#450). Covers come as small cached thumbnails (about 20 KB instead of 300-700 KB), and screenshot thumbnails load two at a time and stop when you leave the screen instead of filling every connection to the console.
- Hidden home-screen icons stay hidden (#450). The console shows an app's icon again every time it starts; the helper now hides it again a couple of seconds later. Icons hidden with earlier versions are picked up.
- The game page shows where the game runs from (#452): the image on your external drive, not a leftover folder in /data/homebrew.
- Sending the helper no longer hangs for 15 s when an old copy is stuck and serving nothing.
- Android save backups are no longer 0 bytes (#451). They go to Downloads as
<title>-<date>.zip, and the message says where. - Tasks shows speed and ETA (#444) for transfers, like the Files queue.
- Convert: "backported" only for real backports (an older SDK than declared is no longer called one), the game's ampr_emu 0.3.x version is read (#449), and when LZ4 needs the newer runtime it points at the checkbox that adds it.
- Fast verification by default (#459, thanks quer3q). Convert checks structure, sizes and small files in full and a seeded sample of the rest; "Full verification" re-reads every byte.
- "Last seen" is translated (#454, thanks EnriqueWood).
- Payloads: export and import playlists, with the auto-loader choice and your custom repos, to share a working setup.
- Linux packages: the update command to copy (#456). On Bazzite and other rpm-ostree systems, Settings → Updates shows
rpm-ostree uninstall ps5-upload --install <rpm>; dnf and apt installs get theirs. - Helper crash reports say where. A fault now logs the address and instruction.
v7.0.22 · Oct 12, 2026
- HDR PNG carries the capture's ICC profile (#448). 7.0.15 wrote the cICP tag only; viewers that go by the ICC profile (and the reporter's) showed the image as SDR. Sony's "ScreenCapturePQ" profile is now read out of the .jxr and embedded as iCCP in both HDR variants, with cICP beside it in the tagged one.
v7.0.20 · Oct 12, 2026
- Convert remembers what it is making. Leaving the screen during an image build and coming back showed "A package" selected and package stage names while the image kept building. What to make and the image choice are now remembered, follow the build that is running, and an image build's stages read "Plan image", "Write image", "Read the image back".
- Fix: the game page could crash on "Measure how it plays". When the engine's reply had no state (an engine without the route, or a test stand-in), the card threw and the whole game page fell back to the error screen. It now treats that as nothing recorded.
v7.0.17 · Oct 12, 2026
- Open a save and edit its files. Save data has an Open save button per save: the helper copies the save image under
/data, unseals its key through the console's own pfsmgr and mounts the image decrypted, and Files opens on it. Read, replace or add files; Close & write back unmounts it and copies the image back into the real save only if something changed, so a look leaves the save untouched. One save open at a time. PS5 saves verified on FW 13.60 (an untouched open keeps the image's timestamp); PS4 saves (sdimg_*with the key in<name>.bin) follow the same path but have not been tried. The recipe is earthonion's garlic-savemgr, credited in the README. Needs the 7.0.17 helper.
v7.0.13 · Oct 12, 2026
- Game image builds: the read-back check is no longer the slow part. After writing an .exfat image the engine reads it back and hash-checks every file. The exFAT reader fetched one 64 KiB cluster per read and, for a big file, walked its chain from the start on every read, so the check crawled on fast drives. It now keeps the FAT in memory, continues where the last read stopped and reads whole runs of clusters in one call, and hashing uses every core. Measured on a 10 GB image in cache: 169 MiB/s before, 3.7 GiB/s after. Convert has a new read-back check, per read choice (1 to 32 MiB) for anyone whose disk prefers a different size; 8 MiB measured fastest and is the default. The check itself is unchanged.
- The game page is lighter. The Overview card that repeated the hero (title id, name, size, path) is gone: the path, last played and Screenshots & clips now sit in the hero. Each copy on your drives is one compact row: its facts on one line, the path under it, the one action most people want (Send to PS5 or Install) as a button and the rest (copy path, copy install link, Convert, show in file manager, move to Trash) behind a ⋯ menu.
- 7z uploads: a damaged archive stops instead of retrying (#446). When the LZMA decoder gives up on a cut-short or corrupt stream ("dist overflow"), the job used to fail as if the connection had dropped, so the queue retried it again and again, decoding the same bytes to the same end. It is now a corrupt-archive failure that names the entry and how far into it the decoder got, and asks you to test the archive with 7-Zip before trying again. The archive in the report was not available to us; if yours passes 7-Zip's test and still fails, say so on the issue.
- Console to console: choose the route and the address (#444). Send to another console… has a Change… link under the route note: Auto (as before), Direct only (never through this device, for a phone on mobile data; if the consoles cannot connect the send fails and says why) or Through this device. With Auto or Direct only you can also give the address the sending console dials to reach the other one, for setups where the address this device uses is not the one the consoles use between themselves: with ps5-tailscale, a local forward on the sending console (127.0.0.1:19120 → the other console:9120). The choice is remembered per pair of consoles. The consoles' keys and the one-time ticket still decide who may send, not the address. Taking over a running send from another device, and a "test direct connection" button, are not in this release.
v7.0.12 · Oct 11, 2026
- Convert: a "Stored" package option (no compression). Reports of packages that install but will not start on FW 8.60 and 10.40 arrived while compressed packages have only been proven to play on FW 5.10. Stored writes the same block layout with every block uncompressed, the one form that has played on hardware; the package is the game's size. Pick it under Compression if a compressed package installs but will not launch, and please say so on GitHub, with your firmware, so the default can be set right.
- Helper mismatch notice now says there is nothing to do on the PS5 itself: Reload helper sends the matching helper from the app.
- RAR errors keep the library's reason after the advice, so a report can be diagnosed.
v7.0.10 · Oct 11, 2026
7.0.9 was tagged but never published: its Android build failed on a desktop-only permission
(the file drag-out plugin), caught before the release existed. Everything below ships here.
- The app no longer sends the helper into a console that is still booting. With the app open while the PS5 started, the automatic helper restore fired the moment the loader port answered, which on a cold boot is before kstuff and the rest of the jailbreak chain are loaded; an FW 11.40 console crashed three times out of three. The automatic restore now waits 90 seconds after the loader first appears. Your own sends from the Connection screen are not held.
- Payloads → Payload Manager. A new tab for itsPLK's Payload Manager on the console: what it stores, Launch and Delete, and its boot list (load at boot, order). On the Catalog tab, Store in Payload Manager keeps a downloaded payload on the PS5 under its own name; an existing folder is confirmed first, because Payload Manager replaces that folder's other files. Payload Manager itself and LZ4 Compression (on-console game compression by theghostonline) are in the catalogue, and the Connection screen's scene tools open their web pages.
- Files: drag a file out of the window onto your desktop or file manager (desktop app). The first drag fetches the file into a staging folder; keep holding the mouse button, or drag it again once it says it is ready. Files over 4 GB keep using right-click → Download.
- Volumes: Eject a USB drive. Unmounts
/mnt/usbNso it can be unplugged safely. The PS5's own services usually hold the drive open, so the app offers "Eject anyway", which flushes the drive first; just make sure no game or app is reading from it. - Stopped uploads resume for 7 days, and Stop says so (#440). Stop has kept what already reached the PS5 and Start continued from there since 6.0; the app forgot a one-shot upload's resume id after 24 hours though, while the console keeps the data for 7 days. Both now agree on 7 days, and the Stop buttons explain what is kept.
- Home at a large Text size. The action tiles squeezed their labels to one letter per line ("U p l o a d") once the text was big enough. Home's grids now answer to their own width, so they drop to fewer columns, and a tile too narrow for icon and label side by side stacks them.
- "Coffee or tokens" replaces "Buy me a coffee" on Home, About and the site.
- README and DISCLAIMER say how the project is built (with AI coding tools, directed and tested by the maintainer) and what that means for you.
v7.0.8 · Oct 11, 2026
- Hide an icon from the PS5 home screen. For shortcuts and loaders you set up once and never open again: Games → ⋯ → Hide from home screen. It stays installed and playable, a "Hidden" badge marks it, "N hidden from the home screen" at the top finds them, and ⋯ → Show on home screen brings it back. Only the icon's visibility changes (the same flag the PS5 uses for its own hidden apps); system apps can't be hidden, and the console's app list is backed up before the first change. The home screen updates the next time you open and close any app.
- Upload: "Limited by" names the right cause. When the console was idle waiting for data, the upload said "console memory"; it now says "network" (for example a PC sharing its connection with the PS5 while it is busy converting).
v7.0.6 · Oct 11, 2026
- Your PS5 got a new address? The app finds it. When the router gives the console a new IP, the saved address stops answering. While it does, the desktop and Android apps look for the same paired console on your network and, once it proves who it is, show "Your PS5 now answers at …" with Switch. A different PS5 is never offered. (It needs the helper running at the new address; after a reboot, use Find PS5s on Connection.)
v7.0.1 · Oct 11, 2026
- Collection scans show their progress: what the scan is doing (finding games, reading each item, finding names and covers, saving), how far it is, the item it is reading and how long it has taken; afterwards, when the last scan finished and how long it took.
- One scan at a time, shared: pressing Scan while one is already running (the automatic refresh, or another window) follows that scan instead of saying the collection could not be read.
- "Import from PS Game Library" is gone.
v7.0.0 · Oct 11, 2026
A new look for the whole app, a better Android app, and a long list of fixes.
- New look, modelled on macOS 27. Light and dark themes with a calm neutral window, a sidebar that runs to the window edge, rounded cards, one blue accent and your system's own typeface. Home has simple action tiles and a console panel that stays beside the page; every screen, desktop and phone, was brought into the new style. Your old theme choice carries over.
- Android catches up. Install or download from a link, install straight from a saved server, community cheat search and online covers now work on Android too, and the app icon is the PS5Upload logo. Layout fixes for phones throughout.
- Convert: AMPR LZ4 asset packs for exFAT game images (for games that use ampr_emu 0.4 or newer), one place to choose what to make and what happens after, and a queue that only adds real games and takes several game folders at once.
- Captures: view the app's own screenshots large, page through and delete them; delete PS5 screenshots and clips too.
- Game page: install updates and DLC right where they are listed.
- Sturdier: uploads, installs, builds, link downloads and PS5 to PS5 copies recover from missed checks, crashes and interruptions instead of failing or hanging; status checks no longer slow transfers down.
- Easier to use: keyboard focus stays inside dialogs, right-to-left languages are mirrored, narrow windows no longer clip, error cards have Retry, and every string is translated into all 21 languages.
- Under the hood: the payload is built with PS5 Payload SDK v0.44 (
make update-sdkmoves to the latest), and the engine refuses console actions that don't name a console.
v6.8.2 · Oct 10, 2026
A clean-up release: every screen was gone through for things that no longer make sense, and
the code nothing used was removed.
Fixed
- The upload speed limit was up to 8× too high. It held each of a transfer's connections to the limit instead of the whole transfer, so 10 MB/s could run at 80. It now limits the whole upload, and also applies to uploads from Files and to single files, which ignored it before.
- Stop on Upload and on Files downloads now really cancels. It only stopped watching before; the transfer kept running.
- First-time setup and "Bring up PS5" now pair with a new console instead of timing out: they send the helper the same way the rest of the app does.
- Home's Servers card could show twice or vanish once you had activity; it shows once.
- Kill on Running apps now uses the same close as Close game, which works on firmware where the plain close fails. The game page can close a running game too.
- Fan presets were labelled backwards (the quiet one said it was louder). Fixed, and fan changes ask first.
- Profile, Shell and Payloads in the web UI: Profile's confirms work there, Shell is hidden there (it can't run), and Payloads offers the ShadowMount+ and nanoDNS tabs that do work.
- Send payload no longer says an unreadable or empty file "looks OK".
- Cheats: Refresh only re-reads the list; re-applying to the running game is its own button.
- Reset all settings & data now names everything it deletes (pairings, the Collection, saved servers and passwords, backport libraries and more).
- Search results open the folder in Files.
Changed
- Bug report sits right under Home in the sidebar and can't be hidden.
- Removed screens that only repeated others: Dashboard (Home has it all), Fan Curve (the console only takes one target temperature; the Console screen sets it), the speed test (Health has it), and the typed "From another PS5" card on Upload (Files → Send to another console does it better). Stats is a tab of Tasks.
- Game page: fewer tabs (Media, Storage and Play Time repeated the overview); play time everywhere comes from the console's helper.
- Settings: grouped by what they affect (Console, Installs, Files & saves, Backporting); options that did nothing (Color blind palette, Screen reader hints, Density, the PS5 power tick) are gone; desktop-only options are hidden in the web UI.
- "Connections" is now Servers; "Backup" is Console snapshots, and says the snapshots stay on the PS5.
- Many texts were corrected to say what the app does today (no FTP, current screen names).
- Removed dead code across the app, engine and console helper, including the old FTP server and the FTX2 upgrade shims, and 415 unused translations.
v6.8.1 · Oct 10, 2026
Fixed
- Convert's queue always made a package. Picking a game image (.ffpkg, .exfat or .ffpfs, or compressed into a .ffpfsc) and then queueing the game still built a .pkg: the queue only ever made packages. The queue now has a Make choice, a package or a game image, and choosing image options under ③ switches it to the image you picked. Each queued game shows the file it becomes (.pkg, .ffpfsc, ...) and is built as exactly that. A queued image can be kept or sent to the PS5 through the Upload queue. Only game folders on this computer can become images; others are skipped with a note.
v6.7.4 · Oct 10, 2026
Fixed
- Send helper took 20 to 40 seconds. The console showed the helper arriving at once, but the app kept waiting. When you pressed Send helper while the app was also re-sending the helper on its own (after a reconnect, or to update it), two helpers started together and spent that time fighting over which one stays. The app now sends one helper per console at a time: a press during an automatic send waits for that helper instead of starting a second.
v6.7.3 · Oct 9, 2026
Fixed
- A failed or interrupted conversion no longer leaves files behind (#432). Making a game image wrote a temporary
.partialfile the size of the image into the output folder. If the build failed (on Windows the cleanup often lost to an antivirus still reading the file) or was cut short, it stayed there, taking up the drive with nothing showing where. Each conversion now clears those leftovers and unpacked archives that no running job is using, before it starts and after it fails. Only the app's own temporary files are touched.
v6.7.1 · Oct 9, 2026
Fixes: Collection covers, multi-part RAR uploads, and a full drive's leftover file.
Fixed
- Collection covers. The engine refused the app's requests for the covers it had read out of your games, so a game with no online cover showed its initials and the game's page showed a broken image. They show now.
- Cheats on a game's page no longer shows "no cheat files found" as an error when a game simply has none.
- Multi-part RAR uploads (#429). Resuming an upload from a
.part1.rar/.r00set failed with "the archive lists its entries in a different order than it extracts them" whenever a file already sent was split across two parts. Resuming works now. - When the PS5's drive fills up during an upload, what was sent is kept so Retry continues it, but nothing said so and it holds its whole size. The failed upload now names that partial file and offers to delete it.
- Stopping a stream install right after it started removed it from the list but left it running; it is stopped now.
- 0x80B21104 explains that this console will not take this package, and links to the FAQ.
- Can't reach the PS5? The Connection screen now suggests turning a VPN off.
- Sending a new helper now also ends any stray copy of the old one still running on the PS5, once the old one has had time to finish exiting.
v6.7.0 · Oct 9, 2026
One page per game: every console and every copy, wherever you open it from.
New
- A page for every game. Open a game from Ready to play, Game files, the Collection, Upload, Install Package's package menu, or the command palette, and you get one page that shows:
- Each of your consoles: installed or not, which version, and how old that is ("now" for the one you're connected to, "as of 2 h ago" for the others). A refresh button checks a console again.
- Every copy on your drives, with Send, Convert, Copy install link and Move to Trash.
- What each console could take from your drives: the game with its update and DLC, a newer update, or missing DLC. Install it on any console, not only the connected one. The console's row shows how it's going, and Open goes to that console's activity.
- The app remembers what each console has, so the page works while a console is asleep. It forgets a console you remove or move to a new address.
- Updates and Add-ons on a game's page now also list newer packages from your drives.
- The command palette finds games in your Collection by name or title ID.
Changed
- Clicking a game in the Collection opens its page instead of a pop-up.
- "Open library" now says "Open Games". Install Package says "screen" (not "tab") for the Connection and File System screens.
- On a phone, the Games tab stays highlighted while you're in the Collection, and screen readers are told which section is open.
Fixed
- The Collection's "Progress shows in Install Package" link went to Home.
v6.6.3 · Oct 9, 2026
Housekeeping. No changes to the app. The engine's own tests now clean up their temporary
files when they finish.
v6.6.1 · Oct 9, 2026
**A new Bug report page that gathers everything we need, and two or more consoles no longer
step on each other.**
New
- Bug report. Open it from the command palette, or from the link on any error. One page: say what went wrong, add screenshots, check your setup (filled in for you), and pick how far back the logs go (the last 15 minutes up to the last 7 days, or a time you choose). Everything the app, the engine and the PS5 recorded in that time goes in. Then post it as a GitHub issue, copy it for the Discord #bugs-report channel, or download the zip. IP addresses, serials, MAC addresses, home folders and keys are removed before anything leaves your computer.
- Screenshots for reports. The Capture button at the bottom right of the desktop app takes a picture of any screen. The Bug report lists your captures to pick from and adds one you take while writing it. You can also add, drop or paste any image.
- The app now keeps a timeline. Connection drops, reconnects, helper crashes, failed installs and engine restarts are noted as they happen, along with the helper's own log from each PS5, so a report shows what happened even when the console has since restarted. It also notes when the web UI reloads itself and why (#418).
- Buy me a coffee is now on Home too, under the connection badge.
Fixed
- Switching consoles mid-task. A check, a payload send, a bring-up or a folder pick that finishes after you switched to another PS5 now lands on the console it started on, not the one on screen.
v6.5.1 · Oct 8, 2026
Send games from the Collection in one click, and stop an install you no longer want.
New
- Collection: Send to PS5. A game kept as a folder, image or archive goes to the PS5 from its details: pick the copy, send a game folder as it is or as one compressed image, choose the drive and folder (it tells you if it won't fit), and it starts right away. The details and the game's card show how it is going.
- Bring this PS5 up to date is now a bar on the Collection whenever updates or DLC are waiting, not hidden in a menu.
Fixed
- Stop an install that is running. A running install now has Stop, and the queue lets it go within seconds. Use it after cancelling the download on the PS5, which the app can't see: it no longer stays stuck until you restart the app. After a minute with no data asked for, the install says so and points to Stop.
- Starting one thing doesn't start everything. Installing, sending from the Collection, Upload's "add and start", retrying a task and uploading a built image start only what you just added; other uploads waiting for Start keep waiting.
- Covers show after a scan even when the first try came too early.
- Screens no longer freeze (can't scroll) after a dialog closes on one console while you look at another, for example with an upload running on one PS5 and the other PS5's Upload open.
- Pair another device from a paired one: Connection → Let another device pair opens the PS5 to a new device for five minutes, the way out when a web UI (or a new phone) is refused with "not accepting new pairings". When the PS5's loader isn't running, Send helper now says so instead of "Connection refused". For Docker: map
/datato a host folder so the pairing key survives a container update (FAQ).
v6.5.0 · Oct 8, 2026
**The Collection, Move to…, and a big round of fixes: Android connects again, the helper starts
on FW 5.50, and the web UI can pair.** Update the app; it updates the helper by itself.
New
- Collection: every game in the folders you add (packages, game folders, game images, archives, PS3 packages), grouped by game with its updates and DLC, duplicates and their size. Search, filters, grid or table, covers, exports, automatic rescan. Folders on a NAS (SMB, FTP, FTPS, SFTP) are scanned in place without mounting. Import from PS Game Library brings its index over; PS Game Library is now part of ps5upload.
- What this PS5 has: each game shows whether the selected console has it and at which version. Install a game with its update and DLC, just the update or the missing DLC, or Bring this PS5 up to date in one go.
- Copy install link: host a package for a console (or any device you allow) to fetch itself; Serving lists the links and stops them.
- Organize packages renames and files packages the way PS Game Library does, with a preview and undo. Move to Trash, Keep the largest copy and Clean up junk files (
._,.DS_Storeand friends) tidy the drives. - Send a game folder as one image: Upload builds a compressed
.ffpfsc(or.ffpkg/.exfat) and uploads it by itself. Convert writes.ffpkg,.ffpfsand.exfat, compresses while writing and checks every image afterwards (writers from PS5 Dump Forge, thanks quer3q). - Files: Move to… picks a drive's homebrew folder, a recent folder or any folder and tells you first whether it moves instantly or copies to another drive, and whether it fits.
- Files: Set permissions (777) for any file or folder.
- Sign in to PlayStation Network (offline) in Profile, for Remote Play.
Fixed
- Android: 6.x could not connect on Android 17 ("Port 9021 is not open"). The app now asks for local network access and shows a red bar until you allow it.
- Helper on FW 5.50: every 6.x helper stopped before it started on some firmware (5.36 worked). Fixed for the helper, the installer and the patched elfldr.
- Web UI pairing: the self-hosted web UI can now send the helper (which pairs it), and no longer says "ready" while it isn't paired.
- Screenshots crash loop on Linux: a damaged capture can no longer close the app; each one is decoded on its own.
- Installs started your queued uploads: an install now runs by itself; uploads you queued wait for Start.
- Moves to another drive check each copied file before removing the original (Cut and Paste too), so a short copy never costs the original.
- An install that finished while the app was closed shows as done instead of "interrupted".
- The app can't reach its engine: every screen now says why and offers Restart engine.
- Health check starts the package installer if it isn't running yet.
Better
- "The PS5 declined the install" now shows Sony's error code with what it means, and how far the console got (refused at once, part-way, or after downloading everything).
0x80B21104explains what to try. Free space a big upload seems to lose is explained in the FAQ (it's the PS5's own reserve).- Connection screen: a failed step shows its full message, and Load elfldr first is hard to miss.
- Keep awake covers every upload and install, Stream installs included.
- Games cards are larger, with Play and Close up front and the rest in one menu.
v6.4.0 · Oct 8, 2026
**Install is two tabs, links say what they ask of you, and Home tells you when something is
wrong.** Update the app; the helper only gets a small timing fix.
- Install: Stream & install and Upload & install are separate tabs, each saying when to use it. Progress stays in the queue and in Tasks when you open another screen.
- Install from a link shows the three ways side by side with what each one needs (this computer awake or not, disk space or not, where progress shows). The warning now matches the way you picked, and Skip the certificate check appears only where this computer makes the connection, and now really takes effect there. Picking a way also works again while a second console is open (the choices used to fight each other across consoles).
- Name your links (optional). The name shows in the queue, in Tasks and in recent links, so you can find and retry the right one.
- "Stream through this computer" really streams through this computer, so it works for links only this computer can reach. PS5 packages from a link are recognised as packages.
- Archives: install packages from a .zip, .7z or .rar, including multi-part RARs with a password. The archive can also come from download links, one per part.
- Convert Games (was Convert to FPKG) can also write a game folder as a game image (
.exfat, or the smaller.ffpfsc) that ShadowMount+ mounts. - Health check on Home: Home shows anything unhealthy for the selected console. The check now covers ports, the connection in both directions, the installer and the web/Docker setup. A speed test measures the real transfer speed to and from the PS5, and Clean up removes leftovers ps5upload made and no longer needs.
- FAQ: section tabs, topics, ranked search with excerpts, and a link to any answer.
- Captures: screenshots and video clips are one screen with two tabs. Payloads moved under Setup. The Saves automatic-backups card fits the page.
- Plainer words: Volumes says what the package-copy drive is for, and every screen's description says what it is and how to use it.
v6.3.1 · Oct 7, 2026
"The PS5 declined the install" (0x80B2116F) is fixed. Update the app; it sends its new
installer to the console by itself on the next install.
0x80B2116Fwas our bug. The install request ps5upload handed the PS5 was a few bytes short, so the PS5 read leftover memory and sometimes took a full package for a patch. That refused every Upload & install, and made Stream installs fail at random after a few attempts. Measured on two consoles on FW 13.60: refused every time before, accepted every time after, including a 3.6 GB game installed over itself and its patch. FW 9.60, 11.20 and 5.10 showed the same refusal and should be fixed by the same change; we could not test them.- Console tabs keep their screens: switching to another console and back keeps what you typed, opened and loaded for each one (the last three consoles).
- Volumes: "Kept by ps5upload" lists the folders the app itself writes on each drive and how much they hold, with Clean up for temp and test files. Your package library and save backups are only opened from there, never deleted.
- Play closes a running game first from every Play button (Game hub, Game files, Backport, Convert), not only in Games.
- Games: a failed Download can be resumed, and a stopped or failed Move offers Try the move again.
- Pairing (Android and desktop): after Resend helper in the pairing dialog, the app waits for the PS5 to accept instead of asking once and leaving "not accepting new pairings" on screen. An app upgraded from 5.x is a new device to the PS5; this is the one-tap way in.
- Remote Play: how to unlock the PS5's own Remote Play setting with np-fake-signin v1.4.
- The on-console package server keeps its connections open and logs what the PS5 asked for, so a refused install can be read from a bug report.
v6.3.0 · Oct 7, 2026
Switching screens no longer loses what you were doing. Update the app; the helper is
unchanged apart from its version.
- Screens keep their state: going to another screen and back keeps what you typed, what you selected, open panels and where you had scrolled.
- Operations keep running and stay visible when you switch screens or console tabs: copying files into Files (drag-in, Add files, Add folder), downloading a link to the PS5, a game's Download and Move in Games, and Send helper. They also show in Tasks.
- Resume a copy into Files after you stop it, after it fails, or after the app closes or crashes part-way. What already reached the PS5 is kept, so Resume sends only the rest. A dropped connection is retried by itself, and the copy carries on when the PS5 comes back from rest mode.
- Storage that adds up: the PS5's internal drive holds back about a fifth more than you write (measured on two consoles). Volumes and the Upload screen now show what is likely to fit, and an upload over that says it may not fit but lets you go ahead. Only a real shortfall still refuses an upload. The FAQ explains it, and what fills "Other" on the PS5.
- Play while another game is running asks to close that game first, closes it, then starts yours. Before, the running game closed and the new one never started.
- Clearer messages: a game the PS5 refuses to start while kstuff is running points at ShadowMount+; Mount on an image ShadowMount+ manages says it mounts when the game starts; on a Mac, "No route to host" names the Local Network permission; "not accepting new pairings" has a Resend helper button.
- Connections: closing a package you viewed returns to the same folder.
- Payloads: ps5debug-NG is in the catalogue.
v6.2.3 · Oct 7, 2026
The 6.2.2 fixes, with a more reliable CI test run. No app or helper behavior changed.
v6.2.1 · Oct 6, 2026
Retrying a big file continues where it stopped. Update the app and the helper together.
- Retrying a single-file upload: starting the same file again (Start, or adding it to the queue again) now continues the copy the PS5 kept, instead of asking for room for the whole file a second time while the partial copy still takes up that room.
- Fan Curve: the screen now says what it really sets. The PS5 has one fan setting, the temperature at which the fans go to full speed, and cannot follow a curve; the screen shows the temperature your points give.
- "The PS5 declined the install": now shows Sony's error code, so a report can say which refusal it was.
v6.1.2 · Oct 6, 2026
Game folders upload all the way through.
- Uploads: a folder with many mid-sized files could freeze part-way on the console (seen at about 13,000 of 35,000 files). Fixed in the helper, so update the helper too.
- Errors: when the console refuses a connection, the app shows the console's reason (for example, not paired) instead of "broken pipe".
v6.1.1 · Oct 5, 2026
Smoother recovery after a stalled upload.
- Uploads: an upload that stalls now releases the console's destination, so the retry resumes instead of being refused as busy.
- Docker web UI: can be served under a sub-path with
PS5UPLOAD_BASE_URL.
v6.1.0 · Oct 5, 2026
Files works like FileZilla.
- Files: add whole folders, drag files and folders in from your computer, right-click any item (open, download, cut, copy, paste into, rename, copy path, delete), keyboard shortcuts, sort by name, size or date, and type a path to jump to it.
- One console at a time: the upload queue and Activity show only the selected console.
- Re-pairing: a console that got a new identity opens the "forget and re-pair" dialog instead of retrying for 20 seconds.
- Fixed: a resumed zip download from the console could fail on a file that was already complete; a connection could drop right after it was made on a busy console; a stopped console-to-console copy could leave work running in the background.
v6.0.0 · Oct 5, 2026
Release 6.0.0.
See CHANGELOG.md for details.
v5.41.0 · Oct 1, 2026
Installs that the PS5 used to decline now go through. On FW 13.60 the
console refuses a package it serves to itself — every "Upload & install",
every install from a USB drive, every install from the phone app — with
"The PS5 declined the install" (0x80B2116F), especially when the app was
already installed. ps5upload now notices that refusal and serves the same
package to the console itself, which the console accepts. Nothing to set;
it happens inside the same install. Tested on a 13.60 PS5 Pro with stream,
Upload & install (fresh and over an installed app) and USB.
- Fake packages do work above FW 11.60. 5.40.0 said they didn't; that was wrong — PS4 and PS5 fake packages install and start on 13.60. The warnings are gone from Install Package, Games and Convert.
- Folder games register on FW 13.60. Sony removed the call we used; we now use the one that's still there, and uninstalling a folder game no longer leaves hidden entries behind.
- Payload Manager as a backup loader. When the console's ELF loader on port 9021 stops answering (the stock elfldr wedges easily), ps5upload starts its installer — and puts its helper back after a disconnect — through itsPLK's Payload Manager, and replaces the stuck elfldr with its own fixed one. Your Payload Manager list is never touched.
- Firewall problems are named in seconds. Before a stream install the console checks it can reach this computer; if it can't, you're told why (a firewall dropping the connection, or a network that keeps devices apart) instead of waiting 30 seconds for "The PS5 declined the install".
- The phone app can stream installs. It now serves the package to the PS5 directly, the same way the desktop app does.
- A clearer "installing from the PS5's storage was refused" message, pointing at Stream & install, instead of "The PS5 declined the install".
- Setup won't load kstuff twice. The setup wizard skips payloads that are already running and has a Send only ps5upload button for consoles that load kstuff themselves.
- A remote engine reads the engine's files. With the desktop app pointed at another machine (a homelab, say), file pickers browse that machine's disk, and From this device uploads a package to it first.
- The app reaches its engine even behind a proxy. A proxy set in the environment (common with VPN tools) no longer swallows the app's connection to its own engine; errors now say what actually failed.
The Docker images work out of the box. The 5.40 images built fine but
had never been run in CI, and it showed:
- Uploads work. The image had no writable
/tmp, so uploading a package through the web UI failed with "Permission denied" (#346). It now has one. - The engine can save its state. Saved servers, install history and the artwork cache now live in
/data(the engine's home). Put a volume on it so they survive upgrades:-v ps5upload-data:/data. This also works when you run the container as another user (user: "1000:1000").PS5UPLOAD_DATA_DIRis not needed. - A clear "not allowed" message. A request from a computer that isn't allowed used to get a bare
403 loopback only. It now names the address it refused and the setting to change.PS5UPLOAD_ALLOW_IPalso takes a whole network now, e.g.192.168.1.0/24, so phones and laptops that change address keep working. - Stream installs on a server. The ready-made [
engine/compose.yaml](engine/compose.yaml) uses host networking, which stream installs need: on Docker's default network the PS5 can't reach the engine to download the package. The engine now warns about this when it starts, instead of letting every install fail. - A built-in health check, so Docker and Compose can tell when the engine is up.
- Every release is now started and tested in CI before the images are published.
Coming from 5.40? The TMPDIR / HOME workaround from the FAQ can be
removed after updating.
v5.40.0 · Sep 30, 2026
Refreshed for FW 13.60. Tested on two consoles running 13.60 (a launch
PS5 and a PS5 Pro): uploads and downloads at full speed, folders and .zip
files, file management, mounting disk images, save backups, hardware
readings and every screen in the app.
- Games lists your apps again. On 13.60 the Games screen was empty: apps installed by homebrew installers (Payload Manager, Shadow Mount+, WebKit Autoloader…) keep their details somewhere the list didn't look. They now show up with their names and icons. Menu entries and preinstalled tiles that were never downloaded are left out.
- Honest about fake packages above FW 11.60. Fake-package support (kstuff's FPKG build and a53_ppr_install_fast.elf) only exists up to FW 11.60 so far. On newer firmware, Install Package says so up front instead of listing payloads that don't exist for your console, Convert warns before you spend time building, and Games no longer claims installs are good to go.
- A launch that didn't happen is no longer reported as a success. When the console refused to start an app, the app still said "launched". It now checks the app is actually running and shows the console's refusal.
- File names inside .zip files keep their characters. Names in other languages (名前, é, …) were garbled on upload, because most zips mark them as UTF-8 only implicitly. File contents were never affected.
- Backing up an empty save no longer leaves an empty backup in the list.
- The app reopens where you left off. This had quietly stopped working when Home became the start screen. Opening or refreshing What's New by its address also no longer jumps back to the previous screen.
**Known issue on FW 13.60: waking the console from rest mode doesn't work
yet.** The console refuses Remote Play when the signed-in account is an
offline-activated one, and network wake depends on Remote Play — Sony's own
Remote Play app can't wake it either. Being worked on.
v5.39.1 · Sep 29, 2026
- Activating an offline account works again in the desktop app. It failed every time with "invalid type: string … expected u64": the account id is sent as text (a 64-bit id doesn't fit a JavaScript number), and the desktop app still expected a number. The web UI was not affected.
v5.39.0 · Sep 29, 2026
Cheats, redesigned around your games.
- Start from your game, not a file name. The Cheats screen now lists the games on your PS5 with their covers, grouped by what you can do next: Playing now, Cheats ready, Cheats to download, and (folded away) games nobody has published cheats for. Each game shows how many cheats exist for it, and whether any are made for the version you have.
- Game details. Pick a game to see its cover, version, size, install date, when it was last opened, and its content ID.
- Downloading is obvious. Every cheat file has its own Download button, with the one made for your installed version first and marked Your version. If nothing matches your version, the screen says so and warns that cheats for other versions usually do nothing or crash the game.
- Switch cheats on in the same place. Once downloaded, the game's cheats appear as switches right above. The screen now says up front that the game has to be running for them to work, instead of failing when you try, and warns when your cheats were made for a different version.
- The cheat engine explains itself. The bar at the top says whether it is on, what is running, and that it turns on by itself when you switch a cheat on.
- Browse all cheats (for games that aren't on this PS5) is now a labelled button instead of a small icon, and shows covers too.
- A three-step guide shows until your first download.
On-screen messages can be marked read.
- Every message on the PS5 on-screen messages screen used to show as unread, with no way to change it. Each one now has Mark read / Mark unread, and there is Mark all as read. The choice is remembered per console.
v5.38.0 · Sep 29, 2026
Install queue: everything about an install, in its own row.
- The running install shows its own progress. Phase (copying, sending to the PS5, installing on the PS5), a progress bar, bytes done of total, speed and time left now sit inside the item being installed, instead of in a separate line further down the page. A link install shows both speeds: downloading from the link and sending to the PS5.
- What it's waiting on is said in the row. "Waiting for the PS5 to be ready", "Verifying the installed package" and similar notes appear under the bar, and before the first numbers arrive the row says it is getting ready instead of showing a stuck 0%.
- Grouped the way you read it. The queue is split into Now, **Up next** (numbered in the order they will run: base game → update → DLC) and Finished (failures first). The header shows only the counts that matter, e.g. "1 in progress · 1 waiting".
- Tidier rows. Waiting rows are compact, with move up/down only where a move is possible. Updates and DLC are labelled, and a finished install says how big it was plus any closing message from the installer.
- Less repetition on the Install page. A stream or link install's result is shown only on its queue row, not in extra cards as well. The page now reads top to bottom: queue, link install, USB drives, options, then notes. The fake-package (FPKG) checklist folds away until you open it.
- Works on phone-width screens too: titles wrap instead of being cut to one letter, and the percentage moves next to the phase label.
v5.37.2 · Sep 29, 2026
- No crash screen after an update. A web UI tab left open while the app was updated could crash when you opened a screen (for example Files) — "Importing a module script failed". The page now reloads once and opens the screen from the new version.
- FAQ and What's New load again when running the app from source.
- Building from source (
make run-client,make run-android, …) no longer reinstalls the client's packages every time, which broke a dev app already running.
v5.37.1 · Sep 28, 2026
(5.37.0 was tagged but never published; everything it had is here.)
No more loading elfldr again.
- The stock elfldr on port 9021 could get stuck for good when a connection dropped mid-send — Wi-Fi hiccups, a computer going to sleep, or the PS5 entering rest mode — and then ignored everything until you loaded it again. ps5upload now carries an elfldr that recovers by itself, and swaps it in whenever the console's helper comes up. (Only the standard elfldr is replaced; any other loader on port 9021 is left alone.)
- The app no longer sends into a stuck loader: it waits for one that is recovering, and says plainly when elfldr needs loading again.
Add several games at once. (#335)
- Upload several sources together. Pick several files or folders, drop several at once, or use Add games from a folder…: they appear in a review list that checks each one, shows where it will land and flags problems, then queues them all with one button.
- Tick several in the in-app browser. In the browser build, on Android and when browsing a saved server, the file browser now has checkboxes that stay ticked while you move between folders, and an Add N button.
Nothing hidden behind More.
- The sidebar lists every screen, in its sections, from the first launch. Hover a screen to hide it; fold a section you don't use. Hidden screens come back from More, where each has a show/hide switch. (Favorites are retired: starring screens is no longer needed to reach them.)
Convert, more ways.
- A convert queue. Queue several games; they're converted one after another, and each finished package can go straight to the console's install queue.
- More sources. Convert from a
.zip,.7zor.rar(including a password-protected or multi-part.rar), from a.ffpfscimage, or straight from a game on a saved server or on the PS5, without copying it first. - Convert & replace. Swaps a game dump on the console for its package: the dump is set aside, the package installs, and the dump comes back if anything fails.
- Game language. For a game that stays in English on a console set to another language, Convert can declare one language in the package. Most games follow the console's language and aren't affected.
- Closer build times. The time on each compression level now covers the whole build — compress, write and verify — using measured drive speeds, instead of the compression step alone (which read 17 minutes for a 71-minute build). It can still read short for a game the computer read very recently, while that game is in the system's file cache.
Stream & install first.
- Stream & install (renamed from Stream install) is now the main way to install: it's the first, highlighted button on Install Package, dropping a package onto the screen streams it, and a .pkg picked on Upload offers it as the recommended route. Nothing is copied to the PS5 first.
- Upload & install (renamed from Add package) copies the package to the PS5 first, for when the console can't reach this computer.
See what a package is before you install it.
- Package viewer. Click View details on a package in Install Package, or on Upload's package card, to see its cover, version, region, minimum firmware, SDK and build date, the update's "What's new" notes, and every field in its PARAM. It also says plainly whether this PS5 can run it, whether it's already installed (and if this one is newer or older), and whether it fits. Works for .pkg files (including split sets), .exfat and .ffpkg images, and game folders.
One queue for each console.
- Queue stream installs. Stream installs, links, library installs and External Packages now all go into the console's queue and run one after another — no more "Another install is in progress", and a running install no longer greys out the buttons for the next one. A game's update and DLC always install after the game itself, whatever order you queue them in.
- See the queue where you install. Install Package shows the console's queue at the top: what is installing, and each waiting item's place in line. The console tab shows how many items are waiting.
- Retry via upload. If the PS5 can't reach this computer for a stream install, its queue row offers to upload the package and install it instead.
- An install that was running when the app closed is never re-run by itself — check the game, then retry if needed. Queued links aren't saved to disk.
Package viewer, everywhere.
- The viewer now has Files, Images and Related tabs, and opens packages and games on a saved server or on the PS5 as well as on this computer — from Install Package, Upload, Convert, the queue, File System, the server browser, or by dropping a file on the app.
Fixes.
- Retrying an interrupted single-file upload could write past the end of the file; it now resumes exactly where the PS5 left off.
- Uninstalling a game folder the app registered no longer leaves it listed in Games.
- Force-quitting or crashing the desktop app no longer leaves its engine running and holding its port.
- A save backup folder (such as
PPSA17221.bak) shows its game's icon and name. - Every screen uses the same layout, buttons never squeeze their labels, and phones wrap long titles and button rows.
- Section headers, tabs and small buttons show at their intended size; they were all drawn at body-text size.
- The web UI Docker image builds again (its FAQ and Changelog screens were missing from the build).
- In the browser build, the FAQ and changelog load, and options a web page can't provide are hidden.
v5.36.0 · Sep 27, 2026
Choose which drive install packages are kept on.
- Keep packages off the internal drive. In Volumes, press **Use for packages** on a drive and uploaded install packages are kept there (in
ps5upload/pkg_libraryon that drive) instead of filling internal storage. The choice is remembered for each console. - Always a safe fallback. If the chosen drive isn't connected, packages go to internal storage, and the app tells you.
- One list for every drive. Install Package lists packages from all your drives and shows which drive each one is on, and External Packages no longer lists them a second time.
- A stalled install no longer blocks the next one. If the console stopped fetching a package partway, every retry used to fail with "an install is already in progress" until the helper restarted. Retrying now works straight away.
v5.35.0 · Sep 27, 2026
One install path for everything, and Convert can install either way.
- **Every install now goes through one engine route and PS5Upload's own installer.** Stream installs, upload & install, links and server sources all report the same progress and the same result, and an install is only called finished once the console has actually pulled the whole package.
- Convert to FPKG, then choose how to install. After a conversion you get Stream install (straight from this computer) or Upload & install (copied to the PS5 first, for when the console can't reach this computer). A failed install offers both.
- Clearer failures. When the PS5 can't reach this computer, or its proxy setting blocks the stream, the app says so and suggests Upload & install — in your language.
- More reliable installs. A failed stream no longer blocks the next one, a reinstall of the same package works straight away, an installer that is shutting down gets replaced instead of trusted, and installing no longer restarts the helper.
- Fully translated. Every screen, including Convert, Backport and Connections, is now translated in all 19 languages.
- A PS4 package is now labelled as a PS4 package on the Upload screen.
Our own package installer.
- PS5Upload now ships its own on-console install daemon (
:9115) in place of the third-party DPI daemon it used before. It runs alongside the helper, and for an "upload & install" it serves the staged package to the console's installer over a local connection — the same path a stream install uses — so both routes now behave the same. - The etaHEN
:12800install bridge is no longer used; every console installs through our own daemon, for consistent behaviour everywhere.
Convert to FPKG compresses, like Sony's own packages.
- Compressed packages. Converted games are Kraken-compressed, the format the PS5 decompresses in hardware. Spider-Man 2 comes out within a few percent of Sony's own package size.
- Choose Fast, Balanced or Smallest in Convert. Balanced is the default; Fast is about four times quicker for a slightly bigger package.
- Converting needs about the package's size free, not twice the game: the compressed data goes straight into the package.
- Games that need
ampr_emu.indexget one made for them. No more copying it from another release. Large games that need it are also detected reliably now. - An install keeps going if the app restarts while the PS5 is still downloading the package.
- Free space is checked on Windows too.
