<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.gamebrew.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=K4idyn</id>
	<title>GameBrew - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://www.gamebrew.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=K4idyn"/>
	<link rel="alternate" type="text/html" href="https://www.gamebrew.org/wiki/Special:Contributions/K4idyn"/>
	<updated>2026-07-18T17:00:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.gamebrew.org/index.php?title=Moonlight_PSP&amp;diff=204982</id>
		<title>Moonlight PSP</title>
		<link rel="alternate" type="text/html" href="https://www.gamebrew.org/index.php?title=Moonlight_PSP&amp;diff=204982"/>
		<updated>2026-05-29T23:23:29Z</updated>

		<summary type="html">&lt;p&gt;K4idyn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox PSP Homebrews&lt;br /&gt;
|title=Moonlight PSP&lt;br /&gt;
|image=MoonlightPSP.png&lt;br /&gt;
|description=PSP-native H.264 Game Streaming Client.&lt;br /&gt;
|author=k4idyn&lt;br /&gt;
|lastupdated=2026/05/29&lt;br /&gt;
|type=Other&lt;br /&gt;
|version=1.3&lt;br /&gt;
|license=[https://github.com/k4idyn/Moonlight-PSP/blob/main/LICENSE GPL-3.0]&lt;br /&gt;
|download=https://github.com/k4idyn/Moonlight-PSP/releases&lt;br /&gt;
|website=https://github.com/k4idyn/Moonlight-PSP&lt;br /&gt;
|source=https://github.com/k4idyn/Moonlight-PSP&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!--MoonlightPSP.7z--&amp;gt;&lt;br /&gt;
Moonlight PSP is a Moonlight-compatible game-streaming client for Sony PSP systems, designed around a custom PSP-native networking, decode, audio, input, and rendering stack.&lt;br /&gt;
&lt;br /&gt;
The project streams H.264 video from a host PC running Sunshine, decodes video on the PSP main CPU, and uses the Media Engine for accelerated YUV-to-RGBA conversion.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Host discovery (mDNS, known-host probes, optional subnet scan).&lt;br /&gt;
* Pairing + TLS transport auth (Runtime identity, PIN flow, authenticated confirm).&lt;br /&gt;
* Game library + icons (Sunshine box-art download, static PNG decode, raw RGB565 cache).&lt;br /&gt;
* RTSP / RTP / FEC pipeline (PSP-native transport with CAVLC host profile required).&lt;br /&gt;
* OpenH264 decode + ME conversion (PSP-optimized software decode path).&lt;br /&gt;
* Audio (Opus playback when enabled; Performance preset disables local audio work).&lt;br /&gt;
* Input (Xbox and Browser modes, customizable PSP combo mapper).&lt;br /&gt;
* UPnP hotspot/remote assist (Temporary IGD UDP port mapping for stream ports).&lt;br /&gt;
* Multi-host support (Up to 8 paired hosts).&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
PSP:&lt;br /&gt;
* PSP-1000 / PSP-2000 / PSP-3000&lt;br /&gt;
* Custom firmware: ARK-4 on 6.60/6.61 is the supported target&lt;br /&gt;
* 2.4 GHz Wi-Fi&lt;br /&gt;
&lt;br /&gt;
Host PC:&lt;br /&gt;
* Sunshine current stable release recommended&lt;br /&gt;
* H.264 Baseline + CAVLC configured for PSP-compatible streaming&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
* Extract both files to ms0:/PSP/GAME/Moonlight/.&lt;br /&gt;
* Both EBOOT.PBP and moonlight_me_helper.prx must be in the same directory.&lt;br /&gt;
* Requires custom firmware.&lt;br /&gt;
* Host must run [https://github.com/LizardByte/Sunshine Sunshine] on the same LAN.&lt;br /&gt;
&lt;br /&gt;
For full setup, pairing flow, and troubleshooting, see [https://github.com/k4idyn/Moonlight-PSP/blob/main/INSTALL.md INSTALL.md].&lt;br /&gt;
&lt;br /&gt;
== Encoder settings guides ==&lt;br /&gt;
* [https://github.com/k4idyn/Moonlight-PSP/blob/v1.2/docs/AMD_SETTINGS_GUIDE.md AMD (AMF)] - 13 settings with Web UI locations and recommended values&lt;br /&gt;
* [https://github.com/k4idyn/Moonlight-PSP/blob/v1.2/docs/NVENC_SETTINGS_GUIDE.md NVIDIA (NVENC)] - 8 settings covering presets, rate control, and AQ&lt;br /&gt;
* [https://github.com/k4idyn/Moonlight-PSP/blob/v1.2/docs/QSV_SETTINGS_GUIDE.md Intel (QSV)] - 3 settings with generation-specific notes&lt;br /&gt;
* [https://github.com/k4idyn/Moonlight-PSP/blob/v1.2/docs/SOFTWARE_ENCODING_GUIDE.md Software (x264)] - CPU fallback preset and tune options&lt;br /&gt;
&lt;br /&gt;
These guides matter because the PSP&#039;s software H.264 decoder is extremely constrained - wrong encoder settings on the host will cause failed streams, visual corruption, or massive frame drops. The guides explain which settings work and why.&lt;br /&gt;
&lt;br /&gt;
== Preset guide ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Preset&lt;br /&gt;
! Use When&lt;br /&gt;
! Stream&lt;br /&gt;
! Audio&lt;br /&gt;
|-&lt;br /&gt;
| Performance&lt;br /&gt;
| You want the most responsive PSP-1000 profile&lt;br /&gt;
| 300x170, 30 fps, 384 kbps, 1056-byte packets&lt;br /&gt;
| Disabled&lt;br /&gt;
|-&lt;br /&gt;
| Balanced&lt;br /&gt;
| You want a middle point between detail and smoothness&lt;br /&gt;
| 360x204, 20 fps, 480 kbps, 1200-byte packets&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| Quality&lt;br /&gt;
| You want native PSP resolution&lt;br /&gt;
| 480x272, 10 fps, 576 kbps, 1200-byte packets&lt;br /&gt;
| Enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
https://dlhb.gamebrew.org/psphomebrew/images/MoonlightPSP4.png&lt;br /&gt;
&lt;br /&gt;
https://dlhb.gamebrew.org/psphomebrew/images/MoonlightPSP5.png&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* The PSP Wi-Fi radio is 2.4 GHz only and remains the main practical bottleneck.&lt;br /&gt;
* H.264 CAVLC is required for normal playback; CABAC is not recommended for PSP use.&lt;br /&gt;
* High resolutions above the native PSP display are outside the intended operating range.&lt;br /&gt;
* Some fast-motion content can still expose the PSP display and network limits.&lt;br /&gt;
&lt;br /&gt;
Detailed notes at [https://github.com/k4idyn/Moonlight-PSP/blob/main/docs/KNOWN_ISSUES.md docs/KNOWN_ISSUES.md]&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
&#039;&#039;&#039;1.2.0 2026/05/18&#039;&#039;&#039;&lt;br /&gt;
* Streaming Presets&lt;br /&gt;
** Added a dedicated Preset row with PSP-focused Performance, Balanced, and Quality defaults.&lt;br /&gt;
** Performance now defaults to 300x170 at 30 fps, 384 kbps, 1056-byte packets, and audio disabled.&lt;br /&gt;
** Balanced now defaults to 360x204 at 20 fps, 480 kbps, 1200-byte packets, and audio enabled.&lt;br /&gt;
** Quality now defaults to native 480x272 at 10 fps, 576 kbps, 1200-byte packets, and audio enabled.&lt;br /&gt;
** Built-in stream sizes use the PSP LCD aspect ratio so presets fill the display without fixed black bars.&lt;br /&gt;
** The Resolution row is independent from the Preset row, so manual resolution changes no longer reapply the whole preset ladder.&lt;br /&gt;
** Packet size is now configurable from the settings menu and is saved to &amp;lt;code&amp;gt;config.ini&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Pairing and Host Flow&lt;br /&gt;
** Pairing now completes the authenticated HTTPS &amp;lt;code&amp;gt;pairchallenge&amp;lt;/code&amp;gt; confirmation after the signed pairing secret.&lt;br /&gt;
** Failed or cancelled pair attempts now best-effort unpair from the host so later attempts do not inherit stale half-paired state.&lt;br /&gt;
** Stale paired-host entries are cleared when a host reports paired but returns an empty app list, allowing the user to pair again without manual config cleanup.&lt;br /&gt;
** App-list loading and launch transitions prime both display buffers to avoid stale host-list/loading frames during slow network work.&lt;br /&gt;
** Game-list fetch failure can fall back to a Desktop launch tile when the host app list is unavailable.&lt;br /&gt;
* Input&lt;br /&gt;
** Reworked the default PSP-to-Xbox mapping for full controller coverage:&lt;br /&gt;
*** L + Triangle/Cross/Square/Circle maps to right stick up/down/left/right.&lt;br /&gt;
*** L + D-pad Left/Right maps to LT/RT.&lt;br /&gt;
*** L + D-pad Down/Up maps to L3/R3.&lt;br /&gt;
** The Button Mapping UI now exposes the combo modifier, all virtual actions, and a right-stick source selector.&lt;br /&gt;
** Added an optional &amp;lt;code&amp;gt;modifier + analog nub&amp;lt;/code&amp;gt; right-stick mode.&lt;br /&gt;
** Mapping files are versioned and legacy defaults migrate to the new v2 map.&lt;br /&gt;
** Browser mode now sends mouse/keyboard input only, with stronger analog mouse acceleration.&lt;br /&gt;
** App-owned combos such as HUD toggle and stream exit are consumed locally instead of also sending host input.&lt;br /&gt;
* Telemetry and HUD&lt;br /&gt;
** Added diagnostics telemetry for CPU, GPU, ME, RAM, media bandwidth, usable video bandwidth, audio bandwidth, local drops, loss, and FEC.&lt;br /&gt;
** Diagnostics telemetry updates once per second even when the HUD is hidden.&lt;br /&gt;
** HUD layout now places decode timing alongside latency and shows loss/FEC values from the RTP/FEC path.&lt;br /&gt;
* Low-Work PSP Path&lt;br /&gt;
** Performance preset disables local audio decode/playback by default to reduce PSP CPU, memory, and audio-thread work.&lt;br /&gt;
** Audio Disabled remains client-side and can be changed from the PSP settings menu.&lt;br /&gt;
** Video rendering applies the stream color/dither adjustment only to decoded video output, not to menu UI or HUD text.&lt;br /&gt;
** Retail builds compile out diagnostics-only logging, telemetry formatting, and debug sampling at call sites so public XMB builds do less PSP work.&lt;br /&gt;
* Build and Documentation&lt;br /&gt;
** Public docs updated for v1.2 presets, packet-size setup, pairing behavior, and controller mapping.&lt;br /&gt;
** Generated local build artifacts and internal audit notes are ignored so release diffs stay focused.&lt;br /&gt;
** Added &amp;lt;code&amp;gt;scripts/smoke_checks.sh&amp;lt;/code&amp;gt; so &amp;lt;code&amp;gt;make smoke&amp;lt;/code&amp;gt; validates release prerequisites and fails fast on unresolved merge markers.&lt;br /&gt;
** CI now validates &amp;lt;code&amp;gt;release/**&amp;lt;/code&amp;gt; branches and uploads CI artifacts only; public release assets remain manual to preserve PSPSDK parity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.1.0 2026/05/06&#039;&#039;&#039;&lt;br /&gt;
* Networking&lt;br /&gt;
** Client-selected bitrate is now used directly for launch and transport bitrate setup (no implicit startup downscale).&lt;br /&gt;
** Connection quality classification now prioritizes transport-side loss/FEC recovery signals and no longer penalizes clean links for decode-side FPS stalls.&lt;br /&gt;
** RTCP Receiver Reports now use interval loss accounting and RFC3550-style jitter representation in RTP clock units.&lt;br /&gt;
** Adaptive bitrate fast-drop trigger now requires 3 consecutive drop signals before halving.&lt;br /&gt;
* Release&lt;br /&gt;
** Retail (non-dev) build artifacts are published manually for this release because CI uses a different PSPSDK and does not produce reproducible release binaries for this branch.&lt;br /&gt;
* Documentation&lt;br /&gt;
** Public docs refreshed for ARK-4-only CFW guidance.&lt;br /&gt;
** Installation guidance updated to remove risky flash-write install wording.&lt;br /&gt;
** Encoder setup instructions now present vendor-neutral CAVLC guidance for NVIDIA/AMD/Intel users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.0.0 2026/05/05&#039;&#039;&#039;&lt;br /&gt;
* Release Hardening&lt;br /&gt;
** Retail build mode is now the documented default for public packaging.&lt;br /&gt;
** Public docs were normalized from pre-release audit wording to release wording.&lt;br /&gt;
** CABAC compatibility documentation was clarified as normal-mode unsupported behavior with explicit CAVLC host guidance.&lt;br /&gt;
* Fixed (vs v0.2.3-beta)&lt;br /&gt;
** Pairing persistence now survives partial connection failures: successful pairing is saved even when launch/RTSP infrastructure fails later in the same attempt.&lt;br /&gt;
** RTSP/launch infrastructure failures now return a dedicated retryable status (&amp;lt;code&amp;gt;-3&amp;lt;/code&amp;gt;) distinct from user cancel (&amp;lt;code&amp;gt;-2&amp;lt;/code&amp;gt;) and pairing failure (&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;).&lt;br /&gt;
** Settings UI now flushes controller state after OSK/button-mapping flows to prevent stale Start-edge saves on return.&lt;br /&gt;
** Config bootstrap now remembers default-loaded config when no file exists so first-session host/pairing additions persist correctly.&lt;br /&gt;
* Documentation&lt;br /&gt;
** Updated README status badges and version history for public release posture.&lt;br /&gt;
** Reworked release-validation documentation to include retail build commands and git-tag comparison notes.&lt;br /&gt;
** Removed internal blocker/audit wording from user-facing docs (&amp;lt;code&amp;gt;docs/KNOWN_ISSUES.md&amp;lt;/code&amp;gt;, encoder settings guides, and UI/architecture headers).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial 1.0.0 publication 2026/05/04&#039;&#039;&#039;&lt;br /&gt;
* Release&lt;br /&gt;
** Stable v1.0 public documentation set.&lt;br /&gt;
** Security, memory, reliability, and architecture hardening work from the beta cycle is now integrated in the release branch.&lt;br /&gt;
* Networking&lt;br /&gt;
** UPnP IGD hotspot/remote assist is included for RTP/RTCP UDP mapping setup and cleanup during streaming sessions.&lt;br /&gt;
* Documentation&lt;br /&gt;
** Removed pre-release blocker workflow references and test-only publication content from public docs.&lt;br /&gt;
** Updated README, install flow, and known-issues content for v1.0 user-facing guidance.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* GitHub - https://github.com/k4idyn/Moonlight-PSP&lt;/div&gt;</summary>
		<author><name>K4idyn</name></author>
	</entry>
</feed>