Generated by tools/progress.py on every push to main. Raw numbers: progress.json.
| Library | Implemented | Total | % |
|---|---|---|---|
| libc | 671 | 677 | 99% |
| libkernel | 503 | 547 | 92% |
| libkernel_sys | 6 | 8 | 75% |
| libkernel_web | No exports | ||
| libReactNative.Modules.Vsh | 0 | 4 | 0% |
| libReactNative.Modules.Vsh.WebAppLauncher | 0 | 7 | 0% |
| libSceAcm | 6 | 8 | 75% |
| libSceAgc | 198 | 229 | 86% |
| libSceAgcDriver | 40 | 51 | 78% |
| libSceAgcVsh | No exports | ||
| libSceAjm | No exports | ||
| libSceAjm.native | 30 | 35 | 86% |
| libSceAjmi | No exports | ||
| libSceAmpr | 130 | 147 | 88% |
| libSceAppContent | 11 | 13 | 85% |
| libSceAudio | No exports | ||
| libSceAudio3d | 13 | 13 | 100% |
| libSceAudiodec | 6 | 6 | 100% |
| libSceAudiodec.native | Shared sources: libSceAudiodec | ||
| libSceAudioIn | 4 | 8 | 50% |
| libSceAudioOut | 31 | 47 | 66% |
| libSceAudioPropagation | 22 | 23 | 96% |
| libSceAvPlayer | 28 | 28 | 100% |
| libSceAvPlayer.native | Shared sources: libSceAvPlayer | ||
| libSceBluetoothHid | 5 | 8 | 62% |
| libSceCdlgG2P | 7 | 7 | 100% |
| libSceCdlgPlayerReview | 7 | 7 | 100% |
| libSceCesCs | 3 | 3 | 100% |
| libSceCommonDialog | 2 | 2 | 100% |
| libSceContentDelete | 2 | 4 | 50% |
| libSceContentExport | 2 | 10 | 20% |
| libSceContentSearch | 2 | 11 | 18% |
| libSceConvertKeycode | 2 | 3 | 67% |
| libSceErrorDialog | 6 | 6 | 100% |
| libSceFiber | 12 | 12 | 100% |
| libSceFont | 119 | 195 | 61% |
| libSceFont-module | Shared sources: libSceFont | ||
| libSceFont.native | Shared sources: libSceFont | ||
| libSceFontFt | 23 | 42 | 55% |
| libSceFontFt-module | Shared sources: libSceFontFt | ||
| libSceGameLiveStreaming | 3 | 4 | 75% |
| libSceGameUpdate | 6 | 7 | 86% |
| libSceHmd | 9 | 9 | 100% |
| libSceHmd2 | 1 | 17 | 6% |
| libSceHttp | 58 | 61 | 95% |
| libSceHttp2 | 35 | 42 | 83% |
| libSceIme | 13 | 14 | 93% |
| libSceImeBackend | Shared sources: libSceIme | ||
| libSceImeDialog | 8 | 8 | 100% |
| libSceJobManager | 11 | 12 | 92% |
| libSceJpegDec | 5 | 5 | 100% |
| libSceJpegEnc | 4 | 4 | 100% |
| libSceJson2 | 92 | 97 | 95% |
| libSceKeyboard | 6 | 6 | 100% |
| libSceLibcInternal | 9 | 9 | 100% |
| libSceLoginDialog | 7 | 7 | 100% |
| libSceMbus | 4 | 4 | 100% |
| libSceMouse | 4 | 4 | 100% |
| libSceMsgDialog | 10 | 10 | 100% |
| libSceMsgDialog.native | 10 | 10 | 100% |
| libSceNet | 46 | 50 | 92% |
| libSceNetCtl | 10 | 10 | 100% |
| libSceNetCtlApDialog | 0 | 6 | 0% |
| libSceNgs2 | Shared sources: libSceNgs2.native | ||
| libSceNgs2.native | 32 | 36 | 89% |
| libSceNpAuth | 5 | 8 | 62% |
| libSceNpCommerce | 10 | 11 | 91% |
| libSceNpEntitlementAccess | 15 | 21 | 71% |
| libSceNpGameIntent | 4 | 4 | 100% |
| libSceNpManager | 30 | 34 | 88% |
| libSceNpPartner001 | 0 | 2 | 0% |
| libSceNpSessionSignaling | 12 | 16 | 75% |
| libSceNpTrophy2 | 17 | 18 | 94% |
| libSceNpUniversalDataSystem | 41 | 41 | 100% |
| libSceNpUtility | 5 | 5 | 100% |
| libSceNpWebApi2 | 25 | 27 | 93% |
| libSceOpusCeltDec | 0 | 6 | 0% |
| libSceOpusDec | 6 | 6 | 100% |
| libScePad | 24 | 35 | 69% |
| libScePlayerInvitationDialog | 7 | 7 | 100% |
| libScePlayerSelectionDialog | 1 | 1 | 100% |
| libScePlayGo | 18 | 18 | 100% |
| libScePlayGoDialog | 7 | 7 | 100% |
| libScePngDec | 5 | 5 | 100% |
| libScePngEnc | 4 | 4 | 100% |
| libScePosixForWebKit | 10 | 10 | 100% |
| libSceProprietaryVoiceChatHelperPrx | 0 | 4 | 0% |
| libScePsml | Shared sources: libScePsml_debug | ||
| libScePsml_debug | 3 | 28 | 11% |
| libSceRandom | 1 | 1 | 100% |
| libSceRazorCpu | 9 | 9 | 100% |
| libSceRemoteplay | 3 | 3 | 100% |
| libSceRtc | 34 | 34 | 100% |
| libSceRudp | 17 | 17 | 100% |
| libSceSaveData | 9 | 9 | 100% |
| libSceSaveData.native | 25 | 28 | 89% |
| libSceSaveDataDialog | 8 | 8 | 100% |
| libSceSaveDataDialog.native | 10 | 10 | 100% |
| libSceShare | 16 | 17 | 94% |
| libSceShare.native | 9 | 13 | 69% |
| libSceSharePlay | 3 | 3 | 100% |
| libSceSigninDialog | 4 | 7 | 57% |
| libSceSsl | 8 | 17 | 47% |
| libSceSysmodule | 8 | 8 | 100% |
| libSceSystemGesture | 19 | 22 | 86% |
| libSceSystemService | 19 | 26 | 73% |
| libSceTextToSpeech2 | 1 | 8 | 12% |
| libSceUlt | 33 | 35 | 94% |
| libSceUsbd | 11 | 30 | 37% |
| libSceUserService | 21 | 21 | 100% |
| libSceVdecsw | 13 | 13 | 100% |
| libSceVideodec2 | 11 | 11 | 100% |
| libSceVideoOut | 40 | 41 | 98% |
| libSceVideoRecordingP | 2 | 9 | 22% |
| libSceVoice | 17 | 22 | 77% |
| libSceVoiceChat | 8 | 8 | 100% |
| libSceVoiceQoS | 1 | 13 | 8% |
| libSceVrSetupDialog | 6 | 6 | 100% |
| libSceVrTracker2 | 0 | 6 | 0% |
| libSceWebBrowserDialog | 7 | 10 | 70% |
| libSceZlib | 5 | 5 | 100% |
| ulobjmgr | 2 | 2 | 100% |
| Total | 2903 | 3383 | 85.81% |
A function is implemented when it no longer calls NotImplemented_nid_no_patch; comparison reports separately mark implemented functions whose body only returns a constant or throws. The total only includes functions already declared in core/libs/prx, not every function exported by the PS5 firmware. Shared-source libraries are counted only at their source library. Libraries with no exports only provide an empty module for titles that load them. Counting rules.
| Encoding | Implemented | Total | % |
|---|---|---|---|
| DS | 123 | 123 | 100% |
| EXP | 1 | 1 | 100% |
| FLAT | 54 | 54 | 100% |
| GLOBAL | 57 | 57 | 100% |
| MIMG | 130 | 130 | 100% |
| MTBUF | 16 | 16 | 100% |
| MUBUF | 75 | 75 | 100% |
| SCRATCH | 22 | 22 | 100% |
| SMEM | 20 | 20 | 100% |
| SOP1 | 65 | 65 | 100% |
| SOP2 | 51 | 51 | 100% |
| SOPC | 18 | 18 | 100% |
| SOPK | 27 | 27 | 100% |
| SOPP | 37 | 37 | 100% |
| VINTRP | 3 | 3 | 100% |
| VOP1 | 81 | 81 | 100% |
| VOP2 | 51 | 51 | 100% |
| VOP3 | 116 | 116 | 100% |
| VOP3P | 29 | 29 | 100% |
| VOPC | 190 | 190 | 100% |
| Total | 1166 | 1166 | 100.0% |
The total is the AMD RDNA 1 + RDNA 2 instruction list (tools/rdna_isa.txt). An instruction is implemented when the decoder recognizes it. Decoded opcodes not present in AMD's public list are not counted: VAddI32, VSubI32, VMulLoI32, VSubrevI32, DsAddSrc2U32, DsSubSrc2U32, DsRsubSrc2U32, DsIncSrc2U32, DsDecSrc2U32, DsMinSrc2I32, DsMaxSrc2I32, DsMinSrc2U32, DsMaxSrc2U32, DsAndSrc2B32, DsOrSrc2B32, DsXorSrc2B32, DsWriteSrc2B32, DsMinSrc2F32, DsMaxSrc2F32, DsAddSrc2F32, SCbranchCdbg, SDcacheWb, SDcacheDiscard, SDcacheDiscardX2.