-
Notifications
You must be signed in to change notification settings - Fork 0
PlayStation Portable
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 |
Internal Resolution, Texture Filter, Anti-Aliasing, and Texture Upscaling are surfaced in the cog menu; the rest are in the full Core Options panel. 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.
On Linux, PPSSPP requests a GL 3.1 core context but initializes GL through glewInit(), which fails on any core-profile EGL context ([G3D] glewInit() failed. → black screen). The PSP handler therefore forces a compatibility GL profile (effectively a GLX context) per-console — see ForceCompatibilityGlProfile in PspHandler.cs. This is handled automatically; no user configuration is needed. The core then renders into an FBO read back through the never-blocking PBO ring and presented on the native Wayland toplevel (X11/SDL fallback).
The PSP hardcore carve-out applies on Linux exactly as on Windows: if you launch a PSP game with RetroAchievements Hardcore enabled, the session drops to softcore for that game (PPSSPP can't satisfy hardcore's requirements). Achievements still unlock, just without the hardcore badge.
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:
-
retro_unload_game— PPSSPP's GPU thread self-cleans after this - Skip
context_destroy - Extended quarantine period (3–4 seconds) before releasing the GL context — PPSSPP's GPU thread takes longer to fully exit than other cores
Console Notes
- Nintendo 64
- Nintendo 3DS
- GameCube
- Sega Saturn
- Dreamcast
- PlayStation
- PlayStation Portable
- TurboGrafx-CD
- Neo Geo
- Arcade
- Vectrex
- Philips CD-i
- Atari Jaguar
Features
- Artwork & Metadata
- Cheats
- Cloud Sync
- Controllers
- Disc-Based Systems
- Disk Swapping
- Portable Mode
- RetroAchievements
- ROM Hacks
- Hardcore Compliance
Technical
Platforms
Legal