Skip to content

PlayStation Portable

codingncaffeine edited this page Jul 17, 2026 · 3 revisions

PlayStation Portable (PPSSPP)

Visual Upgrades

The PSP renders natively at 480x272. PPSSPP's OpenGL renderer supports substantial upscaling:

Option Native Upscaled (suggested)
ppsspp_internal_resolution 480x272 1920x1088 (4x) or 2880x1632 (6x)
ppsspp_texture_filtering Auto Auto max quality
ppsspp_texture_anisotropic_filtering 16x 16x
ppsspp_texture_scaling_type xbrz xbrz
ppsspp_texture_scaling_level disabled 3x or 4x (AI texture upscaling)
ppsspp_texture_deposterize disabled enabled (smooths color banding)
ppsspp_mulitsample_level Disabled x4

All options take effect immediately without restarting the game. Texture scaling (xbrz 3x/4x) is the most GPU-intensive option — lower it first if performance drops.

Texture packs (early): right-click a PSP game → Install Texture Pack… to load a PPSSPP-format replacement texture pack (archives organized by the game's ID, e.g. a ULUS… folder). The pack is placed in PPSSPP's TEXTURES folder and enabled per game (ppsspp_texture_replacement); toggle it from the game card's menu. Applies at launch — packs only change the textures they include, so how visible the effect is depends on the pack's coverage.

Teardown

The OpenGL context_destroy callback is skipped on window close. Calling it crashes the libretro PPSSPP core — its GPU thread is still running cleanup and the callback interferes with that process.

The cleanup sequence:

  1. retro_unload_game — PPSSPP's GPU thread self-cleans after this
  2. Skip context_destroy
  3. Extended quarantine period (3–4 seconds) before wglDeleteContext — PPSSPP's GPU thread takes longer to fully exit than other cores

Clone this wiki locally