# PPortal

Windows · Desktop app · Windows Native

Sony ships Remote Play for Windows as an afterthought. This is what it should have been: WPF on the system Fluent theme, ten-bit colour composed by DirectComposition, and hardware decode on the card the machine already has. It reads the consoles and pairings you set up before, so the first run is not a setup.

- Platform: Windows 10 / 11, x64
- Licence: AGPL-3.0
- Product site: https://alegauss.github.io/pportal/
- Documentation: https://alegauss.github.io/pportal/docs/
- Download: https://github.com/alegauss/pportal/releases/latest
- Source: https://github.com/alegauss/pportal

## What comes next

From docs/ROADMAP.md at d376f56.

### Block B — Native interop

- ⏳ a DualSense feels what a PS4 pad feels: the console's haptic stream is folded to rumble rather than played
- ⏳ the pad stops driving the console after the window loses focus, and every layer this port can see stays healthy

### Block E — Windows-only build

- 📋 no MSVC toolchain has ever compiled this tree, so the CI workflow's first push is the first time it is tried
- 📋 nothing signs the host or the installer, so SmartScreen warns on the first run of every release

### Block F — Managed core

- ⏳ no history packet reaches the wire in a live session, so a button press is the one input the console never hears

### Block H — Performance and telemetry

- ⏳ the claim that dropping the bundled browser makes startup and the installer smaller is untested
- 💭 PP46's before costs two multi-gigabyte installs for a number about an application this port is not a version of
- 💭 nothing reads DXGI's frame statistics, so present timing is what the client believes rather than what the panel did

### Block I — NVIDIA path

- ⏳ the console sends SDR on most titles and an HDR display shows it flat, with nothing in the client trying
- ⏳ frames arrive with network jitter and are presented against a fixed refresh, so each waits for a vblank it missed

### Block K — The site on the design system

- 📋 The site keeps its own copy of the template that eight product sites share

## Recently shipped

- 2026-10-12 · PP63: nothing in the tree can configure a Qt build carrying WebEngine, so PP46's before cannot be produced at all
- 2026-10-11 · PP858: the rumble intensity and haptic override sliders change nothing in a session
- 2026-10-11 · PP857: a console set to haptics Off still drives the pad, because the intensity it raises is held and never read
- 2026-10-11 · PP856: no workflow builds the installer or attaches it to a GitHub release, so every installer comes off one desk
- 2026-10-11 · PP855: the picture smears for the rest of a scene and nothing asks for a keyframe, because no loss the port counts occurred
- 2026-10-11 · PP852: RawBody reads a block-commented function as a real one, and nothing checks that the C contains none
- 2026-09-09 · PP850: a call-shaped check names the whole argument list, so an added argument breaks checks about something else
- 2026-09-09 · PP849: the prose census states its four per-verdict counts in a docstring, and the method deriving them has no caller

All entries: https://alegauss.github.io/changelog/pportal/
