The PlayStation 3 emulator RPCS3 has implemented its own version of "cellSysmodule," which manages the loading of system modules. Instead of executing Sony's libsysmodule.sprx that games call into, RPCS3 now handles this role itself. The change was merged on July 1, 2026, and in the current code HLE is now selected by default.
This doesn't mean users can immediately remove the PS3 firmware, however. RPCS3's official instructions still state that PS3 system software is required for other dependencies and proprietary libraries. This change doesn't indicate when firmware independence will be complete—it simply removes one area where the emulator relied on Sony's binaries.
What Changed in the July 1 Merge
PR #18962, submitted by developer Simon Capriotti under the username capriots, aimed to provide a "complete implementation" of cellSysmodule and set HLE as the default. It spans 7 commits, updates 12 files, adds 1,462 lines, and removes 342 lines. cellSysmodule.cpp, the file at the center of the change, alone gained 1,265 lines. This isn't a patch that merely fills in a few existing functions.
The new code handles initialization and termination, along with loading modules, unloading them, and querying whether a module is already loaded. It also includes a path that uses memory containers and exclusion handling to avoid conflicts with save states. During review, handling of save states and data residing within the firmware were refined, and the PR was approved after fixes.
The change in default value is small, but its effect is clear. In g_prx_list, which determines how firmware libraries are treated, the value for libsysmodule.sprx changed from 0 to 1. According to the definitions in the source, 1 means HLE is selected by default. Even when a game requests loading of the same-named library, Sony's SPRX is no longer executed—the call now leads to RPCS3's own functions.
cellSysmodule Bundles PS3's Libraries
cellSysmodule's job isn't to decode audio or video itself. Based on the module ID passed from the game, it loads the corresponding system library and manages its usage state. If required prerequisite libraries exist, it loads them first, and when unloading, it processes them in reverse order.
RPCS3's implementation table lists pathways to networking, HTTP/SSL, and the filesystem. Video and audio decoders and cameras are also managed. For example, if HTTPS is requested, SSL and HTTP become dependencies. cellSysmodule manages their order and reference counts, preventing the same library from being unloaded twice. It's an inconspicuous but critical intersection through which many system functions pass.
The difference between HLE and LLE lies in whose code operates at that intersection. HLE reproduces the functions and behavior visible to the game on RPCS3's side. LLE loads the original SPRX binary extracted from the firmware. By making cellSysmodule HLE, this management layer can now be traced within RPCS3's own source code.
67 vs. 76: The Remaining Distance to Firmware Independence
The reason switching cellSysmodule alone can't remove the need for PS3 system software is reflected in the numbers within the current code. Tallying g_prx_list as of July 17, 2026, out of 143 registered modules, 67 are HLE-default and 76 are LLE-default. libsysmodule.sprx has moved to the former group, but many pathways still read Sony's libraries, including audio/video codecs and SSL.
The official Quickstart guide reflects this state as well. RPCS3 still requires PS3 system software, which users install via the "Install Firmware" menu option. Sony Interactive Entertainment continues to distribute the PS3UPDAT.PUP file for system software version 4.93 on its official site, requiring over 200MB of free space. The current installation experience remains unchanged.
These numbers also don't allow for a linear calculation of a completion date. Each SPRX varies in scale and complexity, and for some—like codecs—the accuracy of an alternative implementation directly affects game behavior. The RPCS3 team has not published a deadline or roadmap for firmware independence.
Installation Effort and What Can Be Maintained via Open Code
For users, the future practical benefit would be skipping the process of obtaining a PUP file from Sony's site and installing it separately into RPCS3. This would make things less dependent on how the distribution site and update files are maintained going forward, and would simplify conditions for packaging and long-term preservation—assuming things progress that far.
By making libsysmodule.sprx HLE, RPCS3 developers can now verify and fix module management within open code. RPCS3 itself is released under GPLv2, allowing its processes to be read, modified, and ported to other environments. That said, RPCS3's legal disclaimer explicitly states that PS3's library programs are the copyrighted work of Sony Interactive Entertainment. In this case, it's simply that executing libsysmodule.sprx is no longer necessary, and that processing can now be maintained on RPCS3's side.
Even if firmware becomes unnecessary, however, obtaining and dumping games remains a separate process. RPCS3 requires legitimately owned games and provides guidance on extracting data using CFW/HEN on an actual PS3 console or a compatible Blu-ray drive. The cellSysmodule change is also not a patch that directly boosts processing speed or the number of supported titles.
Firmware independence can be judged as achieved once the number of LLE-default entries in g_prx_list decreases further and the "PS3 system software required" condition disappears from the Quickstart guide. This cellSysmodule implementation has removed libsysmodule.sprx from the set of modules executed by default.