From 910f7370791c0b55c6db0b1de852ab415e12ca41 Mon Sep 17 00:00:00 2001 From: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com> Date: Sun, 11 Jan 2026 12:48:41 -0600 Subject: [PATCH] Core: Add libSceRtc, libSceJpegDec, libSceJpegEnc, and libScePngEnc LLEs (#3918) * Run libSceRtc LLE The more we've used our HLE, the more issues we've had with it. While we debug these bugs, re-enabling LLE will address any regressions the swap caused. * libSceJpegDec LLE Needed for Trackmania until we implement HLE for this library * libScePngEnc LLE Needed for Minecraft until we implement HLE for this library * Update documentation appropriately * libSceJpegEnc LLE By @georgemoralis's request --- README.md | 4 ++-- src/core/libraries/libs.cpp | 4 ---- src/emulator.cpp | 5 +++++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index dbb890f87..69ee64b13 100644 --- a/README.md +++ b/README.md @@ -148,9 +148,9 @@ The following firmware modules are supported and must be placed in shadPS4's `sy | Modules | Modules | Modules | Modules | |-------------------------|-------------------------|-------------------------|-------------------------| | libSceCesCs.sprx | libSceFont.sprx | libSceFontFt.sprx | libSceFreeTypeOt.sprx | -| libSceJson.sprx | libSceJson2.sprx | libSceLibcInternal.sprx | libSceNgs2.sprx | +| libSceJpegDec.sprx | libSceJpegEnc.sprx | libSceJson.sprx | libSceJson2.sprx | +| libSceLibcInternal.sprx | libSceNgs2.sprx | libScePngEnc.sprx | libSceRtc.sprx | | libSceUlt.sprx | | | | - > [!Caution] diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp index 9867d132d..7f679e7c2 100644 --- a/src/core/libraries/libs.cpp +++ b/src/core/libraries/libs.cpp @@ -48,7 +48,6 @@ #include "core/libraries/random/random.h" #include "core/libraries/razor_cpu/razor_cpu.h" #include "core/libraries/remote_play/remoteplay.h" -#include "core/libraries/rtc/rtc.h" #include "core/libraries/rudp/rudp.h" #include "core/libraries/save_data/dialog/savedatadialog.h" #include "core/libraries/save_data/savedata.h" @@ -72,7 +71,6 @@ #include "core/libraries/web_browser_dialog/webbrowserdialog.h" #include "core/libraries/zlib/zlib_sce.h" #include "fiber/fiber.h" -#include "jpeg/jpegenc.h" namespace Libraries { @@ -130,7 +128,6 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) { Libraries::RazorCpu::RegisterLib(sym); Libraries::Move::RegisterLib(sym); Libraries::Fiber::RegisterLib(sym); - Libraries::JpegEnc::RegisterLib(sym); Libraries::Mouse::RegisterLib(sym); Libraries::WebBrowserDialog::RegisterLib(sym); Libraries::Zlib::RegisterLib(sym); @@ -143,7 +140,6 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) { Libraries::CompanionHttpd::RegisterLib(sym); Libraries::CompanionUtil::RegisterLib(sym); Libraries::Voice::RegisterLib(sym); - Libraries::Rtc::RegisterLib(sym); Libraries::Rudp::RegisterLib(sym); Libraries::VrTracker::RegisterLib(sym); diff --git a/src/emulator.cpp b/src/emulator.cpp index 4947beeb8..44f8b0e72 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -34,6 +34,7 @@ #include "core/libraries/disc_map/disc_map.h" #include "core/libraries/font/font.h" #include "core/libraries/font/fontft.h" +#include "core/libraries/jpeg/jpegenc.h" #include "core/libraries/libc_internal/libc_internal.h" #include "core/libraries/libs.h" #include "core/libraries/ngs2/ngs2.h" @@ -523,6 +524,10 @@ void Emulator::LoadSystemModules(const std::string& game_serial) { constexpr auto ModulesToLoad = std::to_array( {{"libSceNgs2.sprx", &Libraries::Ngs2::RegisterLib}, {"libSceUlt.sprx", nullptr}, + {"libSceRtc.sprx", &Libraries::Rtc::RegisterLib}, + {"libSceJpegDec.sprx", nullptr}, + {"libSceJpegEnc.sprx", &Libraries::JpegEnc::RegisterLib}, + {"libScePngEnc.sprx", nullptr}, {"libSceJson.sprx", nullptr}, {"libSceJson2.sprx", nullptr}, {"libSceLibcInternal.sprx", &Libraries::LibcInternal::RegisterLib},