It can even upscale textures that would otherwise be too blurry as they were made for the small screen of the original PSP.

Even on modern Android phones and tablets, you can often run at double the original resolution.

Features

  • Play in HD resolutions and more
  • Play on a tablet for big-screen mobile gaming
  • Customize on-screen touch controls or use an external controller or keyboard
  • Save and restore game state anywhere, anytime
  • Crank up the anisotropic filtering and texture scaling
  • Continue where you left off by transferring saves from your real PSP

PPSSPP is an open source project, licensed under the GPL 2.0 (or later). Anyone is welcome to contribute improvements to the code. Partly thanks to such contributions, PPSSPP's compatibility is steadily increasing, letting us all play our PSP games on the devices of our choice.

What's New

After nearly 12 years, PPSSPP has finally been approved for the iOS App Store! Thanks to Apple for relaxing their policies, allowing retro games console emulators on the store.

This initial App Store release of PPSSPP has some limitations compared to the earlier unofficial builds:

  • Vulkan support through MoltenVK is not yet enabled
  • Magic Keyboard (iPad Keyboard) is not supported
  • The JIT recompiler is not supported
  • RetroAchievements is temporarily disabled

In future updates, MoltenVK will be re-enabled (and I might even write a native Metal backend), and the Magic Keyboard will be supported through another method (the old method was using an undocumented API, so not usable in the App Store). RetroAchievements will be back as well, with a better login UI.

However, the JIT compiler cannot be restored without a change in Apple's rules. The loss of the JIT is unfortunate since without it, our CPU emulation performance is reduced. Fortunately, iOS devices are generally fast enough to run nearly all PSP games at full speed anyway, as the PSP CPU is not that expensive to emulate, thanks to our efficient IR-based caching interpreter, which also has further room for improvement.

Anyway, enjoy this new way of playing PPSSPP! And stay tuned for updates.

Previous Release Notes:

  • Fixed green rendering errors on some PowerVR GPUs (#18781)
  • Release all held keys on pause to avoid "stuck keys" after unpausing or in run-behind-pause (#18786)
  • UI fixes (#18785)
  • Update libchdr with zstd support, warn the user about bad CHDs (#18824, #18803). more info
  • Add workaround for AdHoc mode in Resistance (#18821)
  • Fix graphics in Tokimeki Memorial 4 (#18822)
  • Fix crash in UFC 2010 on Mali GPUs (#18813)
  • Temporarily disable MSAA on Adreno GPUs due to crashing (#18819)
  • Fixed some crashes and optimized the game metadata cache (#18794, #18775)
  • Additional crashfixes and similar (#18777, #18779, #18823)
  • Fixed playback of frame dumps with Vulkan (#18793)
  • Volume slider added for RetroAchievements sounds (#18772)

Previous Release Notes:

  • Assorted minor crash fixes ([#17374], [#17370], [#17392], [#17394])
  • Fix for non-png texture replacements when not listed in textures.ini ([#17380])
  • Fix for broken tilt d-pad controls ([#17393])
  • Workaround for Vulkan driver bugs on Mali-T8x0 series GPUs ([#17396])
  • Stutter caused by shader compilation has been reduced drastically ([#16873])
  • Parallelization: ([#16802], [#16804], [#16809], [#16812])
  • Shader variant reduction: ([#16773], [#16778], [#16770], [#16763])

Rendering performance and fixes

  • Integer scaling added ([#17224])
  • Post-processing fixes ([#17262])
  • SOCOM overlay glitch removed, night vision fixed ([#17297], [#17317])
  • PowerVR compatibility fixes ([#17232])
  • CLUT fixes ([#17212])
  • ToP - Narikiri Dungeon X: Avoid GPU readback ([#17181], [#17191], [#17192])
  • DTM / Toca: Avoid GPU readback ([#16715])
  • Fixed Dante's Inferno performance regression ([#17032], [#17035])
  • Fix wrong device selection on Poco C40 phones, causing broken UI ([#17027], [#17022])
  • Rainbow Six GPU performance fix ([#16971])
  • Subtitles fixed in The Godfather ([#17298], [#17314])

Texture replacement improvements

  • Less I/O on the main thread, leading to smoother frame rates ([#17078], [#17091], [#17120], [#17134])
  • Support for KTX2 files with UASTC compressed textures added ([#17111][#17104])
  • Support for DDS files with BC1-7 textures added ([#17083], [#17103], [#17097], [#17096], [#17095])
  • Improve default ini ([#17146])
  • Mipmaps now always used if provided ([#17144])
  • Additional optimizations ([#17139], [#17088])

Optimizations

  • Software renderer fixes and performance ([#17295], [#17214], [#17028], [#16753], [#16706], [#16690])
  • Vulkan texture upload optimizations ([#17052], [#17122], [#17121], [#17114], [#17011])
  • Depth readback added, fixing lens flares in Syphon Filter (at perf cost..) ([#16907], [#16905])
  • Async readback supported in Vulkan - currently only enabled in Dangan Ronpa ([#16910], [#16916])
  • Lighting shader optimizations ([#16791], [#16787])

Controls

  • Android tilt control has been overhauled and fixed ([#16889], [#16896])
  • You can now map combinations of buttons to single functions ([#17210], [#17215], [#17228], etc)
  • Custom buttons now support analog inputs ([#16855])

Note: As usual, the Android version will be rolled out gradually, you'll see it in the Play Store within the next few days.