返回资讯中心
外部精选
软件工程
#开发者实时流

Play your Steam library's Windows games on a jailbroken PS5

Play your Steam library's Windows games on a jailbroken PS5.

Hacker News 最新croes2026/10/27 · 今天30 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Play your Steam library's Windows games on a jailbroken PS5.

Playden is a launcher that runs on the PS5, adapted from Playden for macOS. You sign in to Steam with a QR code or your account name and password, browse your library, download games, and play them. The Windows games run through prospero-win, a port of Wine to the PS5. Each game gets its own private Windows environment and its own tile on the PS5 Home screen.

Alpha software. Playden is an early, experimental project. It signs in to your real Steam account, downloads games with your licenses, and reads and writes your Steam Cloud saves. Read Before you use it. If you are not comfortable with these risks, do not use it.

Steam sign-in with a QR code (approve it in the Steam mobile app), or with your account name and password. Steam Guard email codes, Steam Mobile app codes and approval in the app are supported. The sign-in screen opens on the method you used last.

Your whole Steam library. Search, sort, favorites, collections, ratings and notes, with cover art and store details. The library works offline from a cache.

Downloads from Steam. Queue games and watch progress. The Queue screen also lists the games being prepared, in the order they start; Prepare next moves a waiting game to the front.

Storage at a glance. Settings › Storage shows how much space is used and lists installed games by size or last played. Select several games and uninstall them together; saves are kept unless you choose otherwise.

Each game is its own PS5 app. It gets a tile on the Home screen, so you can start it without Playden.

A private Windows environment per game ("bottle"), so games do not share settings or files.

Steam Cloud saves. Playden checks your Cloud saves before a game starts and syncs them after it ends. If the console and the Cloud disagree, you choose which one to keep. You can turn the automatic sync off in Settings and sync by hand from the Saves tab.

Per-game settings. Graphics, frame rate, resolution, controller mapping, and how the game starts: pick any program from the game folder, edit its arguments and library overrides, or try a game Playden flagged anyway. A game's settings can be exported as a recipe (format).

Graphics. Direct3D 8–11 through DXVK, Direct3D 12 through vkd3d-proton (kit 0.11 and later), OpenGL through Mesa's Zink, and Vulkan, all on the PS5 GPU's Vulkan driver.

Gamepad support. XInput, DirectInput, Raw Input, Windows.Gaming.Input and the Windows multimedia joystick API, with rumble. Games see the DualSense as an Xbox controller.

Mouse and keyboard. Plug a USB mouse and keyboard into the PS5, or use a controller preset: the left stick as a mouse, or the D-pad as the arrow keys.

Import Windows games. Add game folders you already have, from a USB drive, an M.2 SSD or over FTP. No Steam account is needed. See Import Windows games.

Install to internal or external disks. Console storage, or an exFAT USB drive formatted on a Mac or PC.

See the compatibility list for the games we have tested.

Steam game updates

Other stores (GOG, Epic)

Support for game launches (Rockstar, EA, Ubisoft)

Community recipes in the preset chooser

Before you use it

Playden is alpha software. It is not affiliated with, endorsed by, or supported by Valve. Know these points before you sign in:

A jailbroken PS5 (for example with the WebKit autoloader). We test on firmware 13.60. Playden does not block other firmware versions, but they are untested. Please give your firmware in a test report.

These payloads loaded after each boot:

kstuff — required. Without it, every game fails with error CE-100008-9.

ShadowMountPlus 1.7-beta5fix1 — puts each game's tile on the Home screen. 1.7beta2 also works.

elfldr, the ELF loader on port 9021 — runs the root helper that gives a game access to its files. Most jailbreak loaders start it for you.

nanoDNS, if your console's DNS is set to 127.0.0.1 (as many jailbreak guides suggest) — without a local DNS server, Playden can't reach Steam.

For installing and updating Playden: an FTP server such as zftpd (port 2120), and optionally ps5-web-file-manager (port 8888).

Windows games: a Steam account with games, or game folders you already have (see Import Windows games).

A computer on the same network as the PS5, to copy Playden to it. Python 3 is needed only for the optional install tools.

To build it yourself (optional): a Mac with Apple Silicon. Linux should also work, but we have not tested it yet. See Build from source.

Tested with kstuff-lite 1.11, ShadowMountPlus v1.7-beta5fix1 and v1.7beta2, elfldr v0.26, zftpd 1.6.0 and ps5-web-file-manager v1.9. Other versions can work, but these are the ones we know.

Playden does not run games itself. It downloads a game, prepares it, and hands it to a separate PS5 app made for that game. That app starts Wine with the game's settings. Because each game is its own app, it has its own tile on the PS5 Home screen, and it is isolated: its files, settings and crashes stay inside it.

The runtime kit is separate from Playden. The kit holds Wine for PS5, the graphics drivers, a clean Windows environment and the per-game app shell. Playden checks that the installed kit is complete before it uses it.

Microsoft's MFC library. Wine doesn't include it. When a game needs it, Playden downloads Microsoft's Visual C++ redistributable (about 25 MB, once per console) and installs only its MFC files into that game's Windows folder.

Install

Download playden-ps5-<version>.zip from the latest release: the Playden app (FAKE77031) and the console tools used below. Unzip it into a folder of its own, playden-ps5-<version> (most unzip tools make it; with unzip on the command line, use unzip playden-ps5-<version>.zip -d playden-ps5-<version>). Installing takes one copy over the network, the app folder. Playden downloads its runtime kit on its first start, and after that it updates itself (see Update Playden).

Like other PS5 homebrew, Playden is a folder in /data/homebrew/, and ShadowMountPlus adds its tile to the Home screen.

Copy the FAKE77031 folder from playden-ps5-<version> into /data/homebrew/ on the console. Use any FTP client (FileZilla, Cyberduck, etc.) or the web file manager in a browser. Create /data/homebrew first if it isn't there. You do not need to chmod anything: Playden checks the folders it writes to and fixes their permissions before it writes. If it can't fix one, it names that folder. If your FTP client leaves out the empty logs and playden-data folders, Playden makes them again when it starts.

Or, from a computer with Python 3, run this in the playden-ps5-<version> folder. It creates the folders, copies only what changed, and keeps a backup of the files it replaces:

python3 tools/console_title_deploy.py --host <PS5 IP> deploy --install FAKE77031 --backup backups/<name>

From 0.6.0, Playden keeps its data outside the app folder and moves it there once, at startup:

The app folder keeps empty playden-data and logs folders, and a MOVED.txt in each old place says where the data went.

Wait about 10 seconds. ShadowMountPlus adds the Playden tile to the Home screen.

Start Playden. It offers to download the runtime kit (next section); choose Download.

Sign in to Steam while the kit downloads.

Since 0.3.0, Playden updates itself from this repository's GitHub releases:

Settings › Updates › Beta updates opts into test versions before their stable release. It is off by default; betas can have new bugs and use the same app and data. Turning it off keeps an installed beta until a newer stable version is available. Updates never downgrade Playden.

The previous app and kit are kept until the next update, in /data/playden/self-update/backup/ and /data/playden/kits/.previous-*. Settings › Updates › Go back to Playden puts them back: Playden closes, swaps the previous version and its kit in, and opens again. If the swap does not take and the previous version opens again, it says so and puts its kit back. If the new version itself fails to start, nothing can report it: reinstall Playden over FTP as described above (your games, sign-in and settings are kept), and, if the new kit is at fault, rename the previous kit folder (.previous-<id>-<time>) back to <id>, moving the installed folder of that name aside.

After the version that added import, going back to an older version keeps your old favorites, but loses the favorites and collections you changed since. The console's organization data now lives in one file that older versions don't read.

You can also update by hand: copy the new FAKE77031 folder over the old one, or run the install command without --install. The command copies only the changed files, keeps a backup of what it replaced, and puts those three folders' modes right if they changed.

The runtime kit is what runs Windows games: Wine, Mesa and DXVK. Playden downloads the kit its version was made for from this repository's releases, on its first start and whenever the installed kit isn't that one. It installs in the background, shows on the Queue screen, and games can be prepared as soon as it is in place. If you choose Later, or the download fails, Settings › About › Runtime kit starts it again. Games pick up a new kit when you press Play.

You can also install the kit by hand, with Python 3: download playden-kit-<version>.zip from the release, unzip it next to playden-ps5-<version>, and run this from the playden-ps5-<version> folder. A plain FTP copy does not work for the kit, because Playden checks each kit file's permissions against the kit's manifest.

python3 tools/console_kit_upload.py ../playden-kit-<version> --host <PS5 IP> --replace

The kit is built on a Linux x86-64 machine or VM from prospero-win, Wine, Mesa and DXVK. To build it yourself, see Build the kit. The scripts are a record of how we built it, not a turnkey build yet, so most people should use the release download.

Each game's Windows user folder holds its saves and most of its .ini configs:

/data/playden/games/steam-<Steam app ID>/library/prefixes/game/drive_c/users/prospero/

For Half-Life 2 that is steam-220. Look in AppData/Roaming, AppData/Local, Documents and Saved Games.

This needs the next runtime kit (it has the bottle-profile-shared capability); kit 0.10 keeps the whole folder private. With it, you can read and write everything in prospero. The folders above it can be entered but not listed, so type the full path in your FTP client instead of browsing to it. New saves a game writes are private at first. Playden opens them to FTP when it starts, when a game it started ends, and before it starts a game.

You can add Windows games you already have, without a Steam account.

The drive must be exFAT. The PS5 can't read NTFS, and FAT32 can't hold files over 4 GB.

You can import a game that plays from its folder later, with Import into Playden on its page. The PS5 adds the game's title to Home when Playden quits. Importing a game later keeps its saves.

Steam games copied from a PC usually run without Steam. If a game needs Steam, Playden uses the game's steam_appid.txt, or the Steam app ID in Game settings. Most games run without either.

Games that need their own launcher, or DRM beyond SteamStub (Denuvo, or the Ubisoft, EA or Rockstar launchers), won't run.

What you need

macOS on Apple Silicon. Linux should also work, but we have not tested it yet.

brew install cmake ninja pkgconf sdl2-compat llvm@18 python

About 2 GB of free disk space.

A checkout path without symbolic links (for example, not under /tmp).

git clone --recursive https://github.com/leolobato/playden-ps5.git cd playden-ps5 scripts/fetch-deps.sh

fetch-deps.sh downloads the prebuilt PS5 SDKs into deps/ and checks each download against the SHA-256 in dependencies.lock.json.

scripts/build-lapy-helper.sh scripts/build-homebrew-ps5.sh

The result is the Playden app, build/homebrew-ps5/dist/FAKE77031. Install it as in Install Playden, with that folder in place of FAKE77031:

python3

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →