Created by Henrik RydgĂĄrd
Additional code by many contributors, see the Credits screen
Originally released under the GPL 2.0 (and later) in November 2012
Official PPSSPP website: https://www.ppsspp.org/
Join our Discord for Help & More https://dsc.gg/launchpass
Official PPSSPP Discord: https://discord.gg/5NJB6dD
No BIOS file required to play, PPSSPP is an "HLE" emulator. Default settings balance good compatibility and speed.
To contribute, see the development page. Help testing, investigating, or fixing is always welcome. See the list of issues.
For latest official source code, see PPSSPP GitHub page.
For our latest source code, see Our GitHub page.
For documentation of all kinds (usage, reference, development), see the documentation on the main website
For build instructions and other development tutorials, see the wiki.
If you want to download regularly updated builds for Android, Windows x86 and x64, visit Orphis' buildbot
For game compatibility, see community compatibility feedback.
- Tilt controls: Restore "Low end radius" control ([#17489])
- Android: Restore the ability to choose "display" (hardware scaler) resolution ([#17473])
- Improve the workarounds for the DJ Max games ([#17467])
- Android: Fix running some file formats directly from the Downloads folder ([#17466])
- OpenGL: Restore most of the lost performance on low-end hardware from the shader variant reduction ([#17440, [#17439]])
- Add a simple profiling tool to check CPU usage by the GL backend ([#17475])
- Loader: Fix bug preventing WWE 2009 from starting ([#17435])
- Misc minor fixes and optimizations ([#17442], [#17457], [#17486], [#17446], more)
- Assorted minor crash- and other fixes ([#17406], [#17414], [#17415], [#17422])
- Android: Allow launch by content URI (for frontends) ([#17425])
- Control mapping: Fix bugs in mapping UI causing trouble with some controllers ([#17412], [#17420])
- Assorted minor crash fixes (#17401, #17399)
- Fix Android 12 support in the Android VR build (avoid scoped storage) ([#17398])
- 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)
-
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 framerates (#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
-
VR features
-
Other
- Windows Dark Mode support (#16704)
- GLSL shader compatibility fixes (#16710, #16709)
- GTA math issue on macOS/iOS fixed, playable again (#16928)
- More accurate VFPU emulation has been added, though not all enabled yet (#16984)
- Debugger features and fixes (#17270, #17269, #17263, #17260, #17203, #17190, #17042, #16994, #16988, #16818 etc)
- Rewind savestates no longer slows things down a lot (#17291)
- Chat window bugfixes (#17241)
- IR Jit fixes - helps iOS when native jit is unavailable (#17129)
- Depth-related rendering fixes (#17055, #16880)
- More RISCV support work (#16976, #16957, #16962, #16832, #16829)
- macOS native menu bar (#16922)
- Font fixes (#16859)
- Rockman 2 audio glitch fix (#16810, #16798)
- UI fixes: Vertical use of space (#16795), scrollbars (#16785), touchpad scroll on Windows (#16699)
- Multiple shader compatibility fixes for older devices/drivers: (#16710, #16709, #16708)
- A few other minor fixes: (#16703, #16706)
- Several crash/hang fixes (#16690, #16689, #16683, #16685, #16680, #16697, #16681, more)
- Minor UI fixes (#16698, #16684, #16674, #16677)
- Fix confirm/cancel button reversal (#16692)
- Fix Toca/DTM and others (culling) on Mali again (#16645)
- Fix line rendering bugs in the homebrew Tempest clone Webfest (#16656)
- Assorted cleanup and bugfixes (#16673, #16662, #16655, #16644, #16636, #16639 etc)
- Fix black screen in Vulkan on some older Android devices (Android version 7) (#16599)
- Fix error message in Medal of Honor (#16614)
- Various minor bugfixes (#16617, #16609, #16608, #16615, #16619)
- Add an option to turn off the new transparent menu background (#16595)
- Massive number of rendering fixes
- Water in Outrun 2006 and DiRT 2 now renders correctly (logic op fixes) (#15960, #16208, #16032, #16024, #15967)
- Split/Second now renders all effects correctly
- Multiple fixes workarounds for clipping/culling, both through clip planes and geometry shaders, fixing graphical issues in many, many games and getting rid of hacks (#16142, #16504, #16442, #16383, #16165, #16162, #16049, others)
- Killzone color effect now renders efficiently and correctly (in-game only, not title screen) (#15934)
- Ridge Racer speedometers and lens flares fixed (#16084, #16188, #16115)
- Lens flare effect fixed in Burnout Dominator, Ridge Racer, Colin McRae, several others (#16014, #16081, #16076, #16073)
- Shadows in Colin McRae are no longer flickering (side effect of other fixes)
- Spongebob: Yellow Avenger renders correctly (previously very broken) (#15907, #15903)
- Cars: Race-o-Rama, and MX vs ATV Reflex render correctly (at 1x resolution only) (#15898, #15907)
- Asphalt 2 depth occlusion problems fixed (#15854, #15853)
- Fix performance regression in Juiced 2 while also fixing the graphics (#15888)
- Silent Hill games are less broken (#16127)
- Depth occlusion and other problems fixed in Kurohyou (both games) and Ratchet & Clank (#16454, #15772, #15728, #15859)
- Misshitsu no Sacrifice intro animation and Macross water rendering fixed (3D texture) (#15727)
- Tekken 6 Nancy laser beam fixed, plus line rendering fixes in rRootage and other games (#16067)
- Tiger & Bunny, Yu-Gi-Oh, GEB, and PlayView games - JPEG image display issues (#16179, #16184, #15924)
- Many, many others like Hunter x Hunter, Crash: Mind over Mutant, Boundless Trails, etc. (#16265, #16043, #16379, #15822, #16358)
- Software renderer performance and accuracy improvements
- New features
- Initial VR support added (Quest and PICO only for now, PC in the future) (#15659, #15901, #16246, #16262, #16273)
- MSAA antialiasing added to the Vulkan backend (desktop only) (#16458)
- New API for plugins to access aspect ratio, scaling and fast-forward (#16441), other new APIs & improvements (#15748, #16121, #16187, #16198, #16389)
- Read texture replacement packs directly from ZIP files (#16304)
- UI improvements
- New interactive Display Layout & Effects screen, replacing the old Display Layout Editor (#16409, #16415, #16417, #16445)
- Add default shader for LCD persistence simulation (#16531)
- Game being played can now be seen as a background in most menus (#16404, more)
- Reorganize speed hack settings (#16346, #16347, #16348, #16432)
- Stability fixes
- IR interpreter (iOS, etc.) bug fixes
- Performance improvements
- Vulkan bandwidth and synchronization optimizations (#16434, #16099, #16090, #16072, #16061, #16060, #16035, #15917)
- Lighting "ubershader" optimization to prevent hitches (#16104, #16111)
- Assorted minor other improvements (#15589, #15843, #16190)
- Improve texture replacement memory usage (#15884, #16304, #16314)
- Texture upscaling speedup and fixes (#15803, #16125)
- Other
- HLE/CPU accuracy improvements helping Brooktown High, Frontier Gate, Madoka Magicka, some language patches (#16413, #16070, #16052, #15952, #15957, more)
- Many GE debugger improvements (#15839, #15851, #15894, #15925, #15974, #16007, #16047, #16096, #16201)
- Optional memory alignment validation in IR mode (#15879, #15880)
- Fix netplay assertion in Cars (#16089)
- Crashfix on Android 12 when playing certain background music (#15990)
- Fix Star Ocean battles in D3D backends (#15889)
- Minor fixes that might fix some other crashes
- Confirmation dialog added before change of MAC address (#15738)
- IR interpreter regression fixed (#15739)
- Fix clearing of replacement texture cache (#15740)
- Improved Portuguese-pt translation (#15734)
- Fix graphical regression in Split/Second (#15733)
- Couple of minor crash fixes
General
- Fix assorted Android "scoped storage"-related bugs and performance issues (#15237, #15487), etc.
- Analog mapping for fast-forward (#15645)
- Major softgpu accuracy fixes and speedups, including a JIT (#15163, #15345, #15389, #15529, #15440, #15410, #15405, #15400) and many, many more
- Fixed some NEON code paths (#15481)
- Fix performance of texture uploads with Vulkan (#15474)
- Don't include the large font atlas when we don't need it
- Improved upscaling shaders (#15566)
- Vulkan texture upscaling performance improvements (#15238), etc.
- Vulkan correctness fixes (#15217, #15211), use the VMA allocator (#15162), etc.
- Fixes to depth culling (#15106), many more
- Background loading of texture replacement (#15025)
- Threading manager improvements and fixes (#15470), etc.
- Added search in settings (#14414)
- Added fast button repeats on custom touch buttons (#15613)
- Two new bicubic upscaling shader: Catmull-Rom and Mitchell-Netravali (#15569)
- Allow to change screen rotation per game and to bind a key to change it (#15494, #15510)
- Re-enabled software rendering option on Android (#12958)
Game fixes
- Add more workarounds for Mali driver bugs (#15016)
- Vortex in God of War: Ghost of Sparta can now be passed (#15640)
- Various proAdhoc fixes (#15213, #15215), and many more
- Correct flickering text in Sol Trigger and Last Ranker. (#15549)
- Fix and improve line drawing in Echochrome (#15583), after line refactoring (#15073, #15075)
- Fix HUD graphics in Split/Second (#15500, #15501)
- Fix bad screen overlay issues in Clone Wars and Force Unleashed (#15691, #15696, #12949, #9572)
- Zettai Zetsumei Toshi 3 no longer hangs on character select screen (#15687)
- Juiced 2: Bloom effect no longer covering the screen (#7295, #15717)
- Fix keyboard shift issue in a few games (#15698)
UI
- Windows/Xbox UWP directory navigation improvements (#15652)
- Color change and basic theme support (#15396, #15394)
- Fix input focus bug (#15560)
- New GE debugger features and other UI fixes (#15393, #15324, #15377, #15424, #15402, #15378, #15338), etc.
Looking for older news?
Not fully functional, but some games work. Check the Ad-Hoc section of the forum for help.
Credit goes to:
- ANR2ME
- Igor Calabria
- coldbird's code
- Kyhel
- And more, of course.
[#17398]: hrydgard#17398 "OpenXR - Cleanup unsupported features, support Android 12"[#17406]: hrydgard#17406 "Even more crash fixes" [#17414]: hrydgard#17414 "GPU: Remove JumpFast/CallFast" [#17415]: hrydgard#17415 "Misc fixes and checks" [#17422]: hrydgard#17422 "Windows: Fix initial window show for all displays" [#17425]: hrydgard#17425 "Android: Explicitly allow content URI intents" [#17412]: hrydgard#17412 "Controller mapping fixes" [#17420]: hrydgard#17420 "Fix glitch when mapping analog inputs, caused" [#17489]: hrydgard#17489 "Restore "low end radius" (inverse deadzone) for tilt input" [#17473]: hrydgard#17473 "Revert "Remove the Android display resolution selector"" [#17467]: hrydgard#17467 "Make the DJ Max workaround more aggressive about hiding stuff." [#17466]: hrydgard#17466 "Fix running some file formats from the Downloads folder" [#17440]: hrydgard#17440 "Revert lmode variant reduction" [#17439]: hrydgard#17439 "Revert "Merge pull request #16628 from hrydgard/remove-fog-fshader-flag"" [#17475]: hrydgard#17475 "Add a trivial profiling tool to the OpenGL backend" [#17435]: hrydgard#17435 "ElfLoader: Don't scan for functions in zero-length sections" [#17442]: hrydgard#17442 "Shrink the GLRRenderCommand struct from 152 to 88" [#17457]: hrydgard#17457 "UI: Fix thread error on zip open failure" [#17486]: hrydgard#17486 "Build fixes for OpenBSD" [#17446]: hrydgard#17446 "OpenGL: Combine some render commands"