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 website: https://www.ppsspp.org/
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 the 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.
To download fresh development builds for Android, Windows and Mac, go to the /devbuilds page
For game compatibility, see community compatibility feedback.
-
User interface
- New feature: Proper support for Portrait Mode UI - you can now rotate your phone to vertical mode, and things will mostly work fine! ([#21185], [#21044]...)
- New feature: Separate touch controls and display layout configs for landscape/portrait, new default touch control layout for portrait mode
- New feature: Upload files via HTTP from devices on the same network
- Savestate count limit can now be configured ([#21112])
- UI icons are now vector-based, making them look sharper on high-DPI screens ([#20824], [#20870])
- Better handling of unsupported ISOs ([#21169], [#21166])
- Misc: Improved text rendering, chat box improvements ([#20653]), PIC0 is now visible on the game screen ([#20686]), ([#20611]), rotation fixes ([#21145]), input fixes ([#21248]), fixes for XBox FullScreen Experience, background stretch ([#21211]), handle savedata in main game browser ([#21277]), Discord Presence improvement ([#21246])
- Show ICON1.PMF on the game info screen ([#21303])
-
Regression fixes
- In 7th Dragon, voice-related crashes are fixed ([#20837])
- Soundtrack is working again in Tony Hawk's Project 8 ([#20775])
- Fix crash in StormBasic homebrew apps ([#20715])
- Built-in songs in Beats work again ([#20662])
- Fix adhoc in Syphon Filter games ([#20642])
- Fix strange cutscene speedups in Power Stone 2 (Power Stone Collection) ([#2124])
- Work around game bug to help more custom songs play again in GTA LCS ([#20692])
-
Multiplayer
- Support aemu relay servers for AdHoc multiplayer ([#21116], [#21271])
- Allow customizing the proAdhoc server list ([#20718])
-
Controller and touch screen input
- Native support for DualSense ([#20580], [#20620], [#21191]), DualShock and Switch Pro ([#20647]) controllers on Windows - including tilt controls for DualSense and Switch Pro
- Misc touch screen improvements ([#21195], [#21197], [#21258])
-
Graphics
- Fixed multiple graphical effects in Tales of Phantasia X
- Reworked the VSync setting to be more intuitive. It's now pretty much never a bad idea to turn it on.
- Fixes for various glitches in Tales of Phantasia X ([#21173], [#21141], [#21205])
- Some more framebuffer readback workarounds ([#20640], [#20631], [#20632])
- MMPX upscaling enhancements by crashGG ([#20622], [#20541])
- Huge rendering speedup in Brave Story ([#21151])
- Fix rendering bug caused by CPU emulation bug in ATV Offroad Fury: Blazing Trails ([#21238])
- Partially fix rendering problem in Mahjong Artifacts ([#21244]) and The Mystery of the Crystal Portal ([#21236])
- Boost the GPU in Outrun 2006 to avoid unnecessary slowdowns ([#21304])
-
Other game fixes
- Fix savedata problem in Silent Hill: Shattered Memories ([#21294])
-
Audio
- Added "Smooth" playback mode, which evens out glitches (while adding a very small amount of latency)
- Remove DirectSound support ([#20533]), add support for ultra-low-latency streams on WASAPI, available on some devices ([#20535])
-
Platform support
- Windows
- D3D9 support has been removed ([#19951], [#20490])
- ARM64 is now officially supported, and works great ([#20863])
- Correct fullscreen mode in Xbox Fullscreen Experience ([#21189])
- Assorted improvements ([#20778], [#20774])
- Android
- The minimum Android version has been raised for technical reasons, KitKat is no longer supported ([#19658])
- Shortcut widgets can now be created even if the app isn't running ([#20798])
- Support for Android devices with 16K page size. This is a technical change, required by Google Play, that unfortunately forced us to drop compatibility with the very oldest devices. ([#20788])
- Removed support for classic Moga controllers, these were only a thing on early Android ([#20762])
- iOS
- Support for portrait screen rotation (wasn't available previously).
- Linux
- Loongarch improvements by KatyushaScarlet ([#20683], [#20644], [#20599], [#20594]), text rendering improvements ([#21163])
- SDL fullscreen problems fixed ([#21300], more)
- Windows
-
Debugger
- ImDebugger improvements ([#20861], [#20779], [#20657], [#20637], [#20550], [#20523])
- Websocket debugger fixes ([#20749])
-
Other
- RetroAchievements: Upgrade the support library with perf fixes ([#21081]), various fixes and improvements
- Add workaround for infamous God of War crash ([#21148])
- Fix assorted minor UI bugs ([#21042], ...)
- Fixed crash on startup in Tony Hawk's Underground 2 (#20573)
- Fixed crash/hang when accessing the menu in FFII if readbacks were configured to copy-to-tex (#20573)
- Fix issue with detection of some types of saving, for the save reminders on exit (#20623)
- Fixed music and other audio in modded games (various football games, Crazy Taxi w/ original soundtrack, etc) (#20566, #20571)
- Fix exiting not functioning correctly on Windows in some circumstances (#20607)
- Minor UI and key binding fixes (#20604)
- Fix crash/blackscreen when switching from skip buffer effects to auto-frameskip rendering (#20605)
- Fix bug in Mac/Linux builds where the mouse got hidden and stuck if you enabled mouse input mapping (#20612)
- Fix black screen on save/load in the Football Manager Handheld games (#20616)
- Translation improvements
- In-game save/load not properly detected for saving reminder (#20500)
- Install savedata from ZIP was partially broken (#20498)
- Fixed module loader bug affecting a few games (#20513)
- Fixed some hangs in the Windows debugger (#20510)
- Fix performance problem in texture replacement (#20520)
- Assorted fixes (#20518, #20514, #20502, #20515)
- Fix selecting background image on Android (#20477)
- Fix RetroAchievements regression for multi-executable games (#20469)
- Possible fix for Mac audio device selection issue (#20482)
- Add workaround for Dragon's Lair not working with LLE scePsmf (#20468)
- Prevent trying to load obviously-corrupt CSO/CHD files (#20466)
- Fix regression for homebrew apps that request extra memory (#20457)
- Fix grid drawing in the various Robot Taisen games (#20456)
- Fix crash in UI when viewing a directory with multiple NPDRM ISOs (#20453)
-
Audio
- Brand new sceAtrac implementation, fixing Flatout and multiple other long-standing issues! (#20098, #20136, #20138, #20162)
- More correctly implemented sceAtrac-through-sceSas functionality, fixing voice in Sol Trigger and multiple minis (#20156)
- Better support for using sceAudiocodec directly, fixing music in some homebrew apps (#20199, #20246, #20253, #20209)
- Volume control improvement (#19969, #19971)
-
Rendering fixes and performance
- Important: This will be the last major version with D3D9 support. D3D11 will of course continue to be supported, along with Vulkan and OpenGL.
- Fix smoke effects in Jak'n'Daxter by re-using the fix from Ratchet & Clank (#20032)
- Software depth buffer rendering added to fix lens flares in multiple games efficiently (Midnight Club LA, Wipeout, Syphon Filter etc) (#19748, #19764, #20231, #19955, etc)
- Multiple rendering-related crash fixes (#20270, #20346, #20344)
- Texture replacement load speed corrected and can now be controlled (#20286), regression fix for zipped packs (#19860)
- Additional assorted compatibility and other fixes (#20376, #20070, #19685)
- Persona 1/2 readback fixes (#20067, #20068)
- Other correctness fixes (#20233, #20255, #19686)
-
General emulation
- Allow disabling HLE on a per-module basis (if games ship the module so we can load it). Enabled for sceCcc (#20218), and more importantly scePsmf (#20208), fixing multiple issues.
- Additional module loading improvements (#20114)
- More precise sleep function on Windows (#20054)
- More replacement texture improvements, allow replacing game icons (#19975, #19978)
- Disable certain features like fast-forward when networking is on, to avoid de-syncs (#20311)
- Fixes mono Atrac3 as video soundtrack (#19800)
- Improvements to RISC-V support (#20352)
-
Control and input
-
New "Dear ImGui"-based PSP debugger: ImDebugger
- Allows very rapid development of debugging features as-needed, and also implements a pretty good Ge debugger for stepping through draws.
- Unlike the old Win32 debugger (but similar to the unmaintained web debugger), works on all platforms (though cumbersome on touchscreens)
- Major commits (though there are many more): (#20242, #20240, #20294)
-
Multiplayer
- Added Infrastructure multiplayer support, with automatic DNS configuration (#19865, #19869, #20221, #20220, #19875)
- Note: Only games that people have made "revival servers" for will work. See here.
- Implement more of sceNet (prerequisite for the former feature).
- Socket re-mapping implemented (#19827)
- Assorted bugfixes, thanks ANR2ME (#20247, #20245, #19843, #19849, #19836)
- Added Infrastructure multiplayer support, with automatic DNS configuration (#19865, #19869, #20221, #20220, #19875)
-
UI
- Loading spinner now actually spins properly, the app no longer appears to hang (#20341)
- Minor features: Asks for confirmation on exit in most scenarios (#19996, #20023), DPI scaling (#20013), can pause without menu (#19883)
- As usual a lot of tweaks, perf fixes, and fixes for hangs and crashes (#20343, #20332, #20305, #20303, #20299, #20163, #20152, #20143, #20079, #20137, #20374)
- Two new color themes (#20334, #20335), related themability fixes (#19984, #19995, #20308)
- Improvements and bug fixes in the savedata manager (#19771, #20170)
- Add "Move to trash" deletion funcionality to multiple platforms (#20230, #20261)
- Add ability to take "raw" screenshots of gameplay (#20029)
- More files can be loaded directly from ZIP (#20243)
- Developer Settings are now tabbed for easier access (#20228)
- Switch to the full libpng API so we can disable gamma correction, like the real PSP (#20033)
- Support displaying the battery percentage on more platforms (#19973, #19967)
- Allow picking a background image on iOS (#20370)
-
Platform compatibility
- Exclude older Macs from using Vulkan (too many black screens, hangs) (#20236)
- Use portable-file-dialogs to provide file-open dialogs on Linux (#20175)
- "Cache full ISO in RAM" is now correctly hidden where it doesn't work (#20165)
- Now rendering at proper resolution on newer Macs (#20011)
- Mouse input improved on Android, including separate button mapping (#19915)
- Use the correct font again on Mac/iOS (#19874)
- Multiple file access optimizations made to make the most out of the flawed foundation called Android Scoped Storage (#19668)
- Platform support
- Improved iOS/Mac support, Game Mode support (#19287, #19281, #19269, #19270, #19257, #19254, #19244, #19227, #19224, #19213, #19200, #19187, #19184, #19161, #19118)
- IR Interpreter: work on correctness and optimizations (#19299, #19280, #19268, #19265, #19262, #19260, #19255, #19252, #19240, #19233, #19231, #19193, #19189, #19173, #19128)
- Interpreted Vertex Decoder optimizations: (#19243, #19241)
- SDL fixes: (#19131)
- Legacy Edition for old Android TV (only for download on the website): (#19401)
- Android and Windows shortcuts - add icons and bugfixes: (#19139, #19142, #19138)
- Improve performance of CHD loading (#18931)
- UI
- Many crash, hang and performance fixes around the UI (#18950, #19561, #19556, #19531, #19507, #19523, #19529, #19482, #19473, #19438 #19165)
- New post proc filter "Sharp bilinear" (#19530)
- Misc UI fixes (#19505, #19492, #19126, #19020)
- 3 new themes (#19504)
- Game info in-game (#19471)
- New remote iso UI (#19293)
- Install save games from ZIP file (#19443, #19436)
- More input-mappable actions like Reset, allow mapping Alt key (#19472, #19484, #19304)
- Homebrew Store: Added website links, license info: (#19425, #19426)
- RetroAchievements: Can now hash homebrew apps (#19096), RAIntegration support (#19002)
- Fix regression of the AxisSwap feature (#19059)
- Emulation
- Misc crash fixes: (#19563, #19546, #19491, #19358, #19347, #19198)
- Vulkan barrier fixes: ( #19009, #19017, #19018)
- Misc compatibility fixes (#19560)
- Misc filesystem fixes (FDs, date/time) (#19459, #19340)
- Workaround for The Warriors video playback (#19450)
- Expose GPI switches and GPO leds, accessible in developer settings
- Fix regression caused by the fix for UFC Undisputed (#18806)
- Broke out the Atrac3+ code from ffmpeg for easier debugging and maintenance (#19033, #19053, more)
- implement sysclib_sprintf (#19097)
- Rendering fixes
- Socom FB3 depth buffer problem in menu (#19490)
- Platypus: Glitchy transparency with OpenGL (#19364)
- Syphon Filter: Logan's Shadow: Dark lighting in OpenGL (#19489)
- MGS2 Acid errors on AMD GPUs (#19439)
- Fix regression in Genshou Suikoden (#19122)
- Fix HUD glitch in GTA LCS by emulating "provoking vertex" correctly (#19334)
- Debugging improvements
- MIPSTracer - a new (rough) debugging tool by Nemoumbra (#19457)
- VR
- Misc