In order to edit this wiki, you must register and verify your account.
System RPL Files
Description
RPL files are files that houses a bunch of important code functions that can be used by a software title to better interface with the Wii U OS. They essentially works as the Wii U's system libraries and drivers, and are critical to make the Wii U function correctly. The system RPL files are included with every Wii U. The system RPL files are located inside a separate storage chip inside the Wii U called the SLC or storage_slc
internally, which contains a lot of critical system files such as the Wii U's firmware and OS.
Cemu emulates parts of these system RPL files, however Cemu's implantation of many of these RPLs files is largely incomplete and as a result some features might not work correctly.
Providing Cemu with system RPL files can improve compatibility with some OS functions and features that Cemu doesn't emulate fully or correctly.
This wiki page provides information on how to dump the system RPLs files, how to use them in Cemu and which RPL files are considered compatible with Cemu.
Dumping
Using Ftpiiu
Ftpiiu is a program that hosts a FTP server from a Wii U. It allows an external PC to remotely upload, copy and delete files from the Wii U's system files or the inserted SD card. This option is only available on a modded Wii U with the Ftpiiu plugin installed. Additional software may be required to connect to a FTP server on a PC. You can use one of the programs below:
- FileZilla FTP Client. Download Page
- Windows File Explorer (Windows)
Windows has a build in FTP-server feature in File Explorer, however these features are disabled in Windows by default and need to be activated. This can be done very easily inside the "Turn Windows features on or off" section inside the Windows Control Panel. To activate, open the page in the Control Panel and expand "Internet Information Services" Then check the box "FTP-server". Press ok and restart if prompted. You can now use FTP features in Windows Explorer. To use this function typeftp://[ip-address]
into the address bar of the File Explorer and you will be connected to the FTP-server.
Enter the IP-address, seen in the Ftpiiu plugin settings, into your FTP client and navigate to the path below:
storage_slc/sys/title/00050010/1000400a/code
Copy all or some of the files of your choosing. DO NOT DELETE THEM FROM YOUR WII U AS THIS WILL BRICK YOUR WII U
You may find other folders containing similar files in the Wii U SLC, but they're old versions of the system RPL files that may not have up to date functions that Cemu aren't compatible with.
Using a Nand dump
The alternative, and more complicated, method is to use nanddumper on Wii U to dump the SLC nand image(slc.bin
) and then decrypt and extract the files from it via one of the options below:
- Nandextract (GUI)
You need the Wii U common key to decrypt a slc.bin
nand image. You can extract the key from your opt.bin
file used for online play. For more information follow this guide: Optaining Keys for Keys.txt.
Loading
Cemu normally emulates parts of the system RPLs in high level.
To force Cemu to load a system RPL file instead of emulating it, create a folder named cafeLibs
inside the same directory as the Cemu.exe file and then place the .rpl
files of your choosing inside the folder.
Make sure the "Load Shared Libraries" checkbox is set in the software's game profile or it won't use system RPL files and instead use Cemu's build in implementation (if available). Some predefined game profiles have this feature disabled by default, so make sure to check the game profile if you wish to use system RPL files.
- If you're planning to use native system libraries, please make sure you have made a full MLC dump from your Wii U as many of these libraries uses files from the Wii U system files.
- Do not copy all of the
.rpl
files because many of them will cause Cemu to crash or cause general compatibility issues.
- Cemu only loads the RPL file if the title uses code and functions from it.
- Some games are packaged with
.rpl
files in theircode
folder and are loaded by the game automatically and should therefore not be placed in thecafeLibs
folder.
Tested files
These below are the files tested and known to work. Other files will properly just lead to games crashing on boot or cause errors.
- Title data required, means that the RPL file expects some system files to be present and will cause issues or crash Cemu if not present.
Filename | Usage | Size in bytes | Cemu version |
---|---|---|---|
drmapp.rpl |
Digital rights management. Used by the Wii U Menu to check if the title that is being launched is legit. Required to boot downloaded software titles directly from the Wii U Menu (Title data required) | 603,968 | ? |
erreula.rpl |
Error System Applet (Title data required). Displays the Native error applet when an error code is being displayed, which may display more informative errors to the users. | 790,080 | ? |
nn_ec.rpl |
E-Commerce library. Used to interface whith Nintendo eShop to gather info about Add-On Content and your eShop balance and information as well as allowing in-game purchases and downloads via the AOC overlay app. Largely useless due to missing logic to tile switching in Cemu. | 176,128 | ? |
nn_fp.rpl |
Friend Presence (Friend list library). Uses the official native functions from the Wii U to use friend features. | 21,824 | 2.0-57+ |
nn_olv.rpl |
Olive (Miiverse) library (Title data required). Implements Miiverse features by adding support for the Miiverse API utilized by serveral Wii U titles and the system software. This library is hardcoded to connect to Nintendo's Miiverse servers. | 131,072 | 2.0-77+ Recommended |
nn_sl.rpl |
Title management for Wii U Menu. Includes a bunch of logic that the Wii U Menu uses to function correctly. | 403,904 | ? |
nsyskbd.rpl |
Keyboard driver for software keyboard, required by swkbd.rpl to type in letters from the software keyboard. Otherwise nothing will happen if you press the keys on the screen. | 20,416 | ? |
snd_user.rpl |
Extended sound effects for Sound driver 1. Fixes missing sound effects in affected software | 84,032 | 1.11.5+ |
snduser2.rpl |
Extended sound effects for Sound driver 2. Fixes missing sound effects in affected software. | 111,360 | 1.11.5+ |
swkbd.rpl |
Software keyboard (Title data required). Displays the native Wii U software keyboard on the screen when opened. Use together with nsyskbd.rpl to make the software keyboard function correctly. | 1,116,288 | ? |
Compatibility Notes
Title specific compatibility improvements
- The keyboard files make name entry work in Pokkén Tournament.
- Monster Hunter 3 Tri G(JP) requires
snd_user.rpl
,swkbd.rpl
,nsyskbd.rpl
andnn_sl.rpl
to boot - The
nn_ec.rpl
is required to successfully start Lego Dimensions whenerreula.rpl
is present. - The
drmapp.rpl
andnn_sl.rpl
system libraries allows Cemu to title switch from the Wii U Menu. - The
nn_olv.rpl
library fixes a crash in the Miiverse applet, as well as allowing a connection to the Miiverse servers in games that use it, however this just results in an error code since the service is discontinued.
RPL Compatibility warnings
- The
swkbd.rpl
being present will crash Cemu if the corresponding Title files for the Software Keyboard are not present inmlc01\sys\title\0005001b\1004F000
- The
erreula.rpl
being present will crash Cemu if the corresponding Title files for the ErrEula are not present inmlc01\sys\title\0005001b\10051000
- The
drmapp.rpl
being present will crash Cemu if the files are not present inmlc01\sys\title\0005001b\10058000
- The
nn_olv.rpl
library may have compatibility issues in a small amount of software. This library is broken in offline mode. If the proper files are not pressent in the MLC folder then this library will not work correctly. - The
nn_ec.rpl
library may have compatibility issues or cause crashes in a small amount of games that use it, such as "Minecraft: Wii U Edition" in online mode. This is partly due to missing logic in Cemu that this library uses.
Full list of system RPL files
Under here is a full list of system RPL files[1] and how compatible they are with the latest version of Cemu. Some information may be incorrect or out of date.
- Compatible means the RPL runs with full functionality and with little to no issues.
- Semi compatible means that the RPL runs with limited functionality, may spit out unsupported service calls and may cause general incompatibility issues or crashes in a limited amount of software titles.
- Incompatible means that the RPL file causes critical errors, such as OS Panics, IOSU errors or a lot of unsupported service call errors, in the Cemu log and sometimes crashes. They may break some emulated OS services managed by Cemu.
- Very incompatible means the system RPL will cause crashes immediately or shortly after boot or an infinite black screen.
Filename | Info | Size in bytes | Compatibility |
---|---|---|---|
avm.rpl |
Audio/Video manager. Manages audio and video config to external display. Causes errors and crashes. | 45.568 | Incompatible |
camera.rpl |
Wii U Gamnepad camera. Used togther with uvc.rpl. Useless do to Cemu not emulating the Wii U Gamepad's camera. Does however relay logging information when set up correctly. | 11.072 | Incompatible |
coreinit.rpl |
CoreInit. Handles some of the most important functions in a Wii U, such as System threads, filesystem, kernel, application management and much more. Without it the Wii U will refuse to boot or light up the screen. Causes crashes immediately and infinite black screens when booting any title. | 311.552 | Very Incompatible |
dc.rpl |
Display controller. Not usable due to how Cemu handles the display internally. | 47.552 | Incompatible |
dmae.rpl |
Direct memory acsess. Causes crashes in a bunch of titles. | 5.760 | Incompatible |
drmapp.rpl |
Digital rights management. Used by the Wii U Menu to check if the title that is being launched is legit. Required to boot downloaded software titles directly from the Wii U Menu. May incorrectly not be able to verify some titles due to incomplete/inaccurate emulation. | 603,968 | Semi Compatible |
erreula.rpl |
Error System Applet. Displays the Native error applet when an error code is being displayed, which may display more informative errors to the users. | 790,080 | Compatible |
gx2.rpl |
GX2 graphics API. The Wii U's graphics API. Infinite black screen in all titles. | 275.456 | Very Incompatible |
h264.rpl |
H264 video decoding. Breaks H264 video playback. | 31.616 | Incompatible |
lzma920.rpl |
Lzma920 support. | 24.832 | ? |
mic.rpl |
Gamepad Mic. Breaks microphone support. | 16.384 | Incompatible |
nfc.rpl |
NFC. Breaks Amiibo and other NFC figurines. | 18.816 | Incompatible |
nio_prof.rpl |
Profiling? Not used by any commercial software? | 3.584 | ? |
nlibcurl.rpl |
Modified Libcurl. Used for online connectivity. Wants to talk with nsysnet.rpl. May cause issues with online play or functions with some titles, such as infinite loading. | 122.560 | Semi Compatible |
nlibnss.rpl |
libnss support aka Network Security Services. Unsupported By IOSU kernel. | 7.296 | Incompatible |
nlibnss2.rpl |
More libnss functions. Unsupported By IOSU kernel. | 4.992 | Incompatible |
nn_ac.rpl |
Auto connection. Automaticly connects to the internet as well as managing the internet connection on the Wii U. Unsupported by IOSU kernel. | 22.720 | Incompatible |
nn_acp.rpl |
Access protection. Used by a lot of RPLs such as the nn_save.rpl to get acsess to some protected data in a Wii U. Causes crashes in a lot of titles. Unsupported By IOSU kernel. | 67.456 | Very Incompatible |
nn_act.rpl |
Account Library. Manages Wii U user accounts. Currently breaks all account features, and outputs a lot of unsupported services calls. | 37.824 | Incompatible |
nn_aoc.rpl |
Add-on content library. Currently braks all DLC support in Cemu | 8.640 | Incompatible |
nn_boss.rpl |
SpotPass API as well as some storage and account related functions. Breaks SpotPass. Causes a bunch of OS Panics. | 74.496 | Incompatible |
nn_ccr.rpl |
Wii U Gamepad communication library. Manages the Wii U Gamepad's NAND and config together with nsysccr.rpl. | 26.240 | Semi Compatible |
nn_cmpt.rpl |
Wii Mode switcher/handler. Unusable due to Cemu not emulating Wii Mode. | 27.200 | ? |
nn_dlp.rpl |
Download Play for Nintendo 3DS/DS? Is it even used by any software title? | 14.080 | ? |
nn_ec.rpl |
E-Commerce library. Used to interface with Nintendo eShop to gather info about Add-On Content and your eShop balance and information as well as allowing in-game purchases and downloads via the AOC overlay app. Largely useless due to missing logic in coreinit and title switching in Cemu. | 176,128 | Semi Compatible |
nn_fp.rpl |
Friend Presence (Friend list library). Uses the official native functions from the Wii U to use friend features. Causes errors when unsupported service calls are used. | 21,824 | Semi Compatible |
nn_hai.rpl |
Wii mode helper library. Used by Wii VC titles to properly go into Wii Mode. | 9.280 | ? |
nn_hpad.rpl |
? | 18.496 | ? |
nn_idbe.rpl |
Encrypted images downloading. Used by the Wii U Menu and Friend List and others to temporarily download game images and display them. Currently breaks game image downloads (can be seen in friend list by it making software that is being played by friends show up as "???"). Doesen't cause crashes | 17.920 | Incompatible |
nn_ndm.rpl |
Deamons? Unsupported in IOSU kernel. | 7.808 | Incompatible |
nn_nets2.rpl |
More Network functions. | 5.120 | ? |
nn_nfp.rpl |
Nintendo Figurine Platform (amiibo). Breaks amiibo support because of missing coreinit functions and likely other factors. | 38.464 | Incompatible |
nn_nim.rpl |
Network Installation Manager. Handles installing titles from the internet. Causes crashes in sotware that use it. | 40.128 | Incompatible |
nn_olv.rpl |
Olive (Miiverse) library. Implements Miiverse features by adding support for the Miiverse API utilized by serveral Wii U titles and the system software. This library is hardcoded to connect to Nintendo's Miiverse servers. | 131,072 | Compatible |
nn_pdm.rpl |
Play diary manager. AKA: Daily Logs. Unsupported by IOSU kernel. | 12.032 | Incompatible |
nn_save.rpl |
Saving API. Breaks Saving due to missing functions in nn_acp. | 29.824 | Incompatible |
nn_sl.rpl |
Title management for Wii U Menu. Includes a bunch of logic that the Wii U Menu uses to function correctly. | 403,904 | Compatible |
nn_spm.rpl |
USB storage device related. Causes crashes and black screens. | 17.728 | Very Incompatible |
nn_temp.rpl |
Temporary storage API. | 19.328 | Compatible? |
nn_uds.rpl |
Nintendo 3DS communication library. Unsupported in IOSU kernel. | 26.496 | Incompatible |
nn_vctl.rpl |
Gets information about game sizes online to determine weather or not there's enough space for downloading new software. Used by Nintendo eShop to display this information about game sizes on game pages. Doesn't work correctly due to missing logic in coreinit. Does however make the storage sections show up in Nintendo eShop however, with incorrect storage information. | 7.808 | Semi Compatible |
nsysccr.rpl |
Gamepad communication library. Causes crashes. | 18.624 | Incompatible |
nsyshid.rpl |
HID USB devices support. Breaks USB devises, such as the Skylander portal. | 7.616 | Incompatible |
nsyskbd.rpl |
Keyboard driver for software keyboard, required by swkbd.rpl to type in letters from the software keyboard. Otherwise nothing will happen if you press the keys on the screen. | 20,416 | Compatible |
nsysnet.rpl |
Wii U WiFi manager and config. BSD sockets, network configuration, and SSL. Causes crashes when called. | 38.784 | Incompatible |
nsysuhs.rpl |
? | 9.600 | ? |
nsysuvd.rpl |
? | 3.328 | ? |
ntag.rpl |
NFC related. | 17.216 | ? |
padscore.rpl |
Wii and Wii U Controller manager (excl. Wii U Gamepad). Causes an infinate black screen. | 112.768 | Very Incompatible |
proc_ui.rpl |
Process Manager. Used in transitions between titles (title switching). | 9.984 | Compatible |
snd_core.rpl |
Sound Core. General Sound manager/mixer for sound driver 1. Causes an infinate Black Screen. | 112.448 | Very Incompatible |
snd_user.rpl |
Extended sound effects for sound driver 1. Fixes missing sound effects in affected software | 84,032 | Compatible |
sndcore2.rpl |
Sound Core 2. General sound manager/mixer for sound driver 2. Causes an infinite black screen. | 129.152 | Very Incompatible |
snduser2.rpl |
Extended sound effects for Sound driver 2. Fixes missing sound effects in affected software. | 111,360 | Compatible |
swkbd.rpl |
Software keyboard (Title data required). Displays the native Wii U software keyboard on the screen when opened. Use together with nsyskbd.rpl to make the software keyboard function correctly. | 1,116,288 | Compatible |
sysapp.rpl |
System Application swither/initialzer. Useles due to missing logic to real title switching. Breaks Cemu's hacky title switching workaround by attempting to use real title switching. | 18.688 | Incompatible. |
tcl.rpl |
Texture Core Library. | 61.824 | Compatible? |
tve.rpl |
TV engine. Relies on the other video related rpl files. Useless. | 82.432 | Incompatible |
uac.rpl |
DRH communication (Gamepad microphone). | 5.312 | ? |
uac_rpl.rpl |
? | 26.304 | ? |
usb_mic.rpl |
USB microphones | 22.848 | ? |
uvc.rpl |
DRH communication (Gamepad camera) | 7.744 | ? |
uvd.rpl |
AMD's OpenVideo Decode library. Causes crashes when used together with h264.rpl. Likely used to verify if the titles are using correct meta data by checking the BootMovie.h264 file. | 18.176 | Incompatible |
vpad.rpl |
Wii U Gamepad controller input manager library. Breaks Wii U gamepad control. | 33.600 | Incompatible |
vpadbase.rpl |
Wii U Gamepad base library. Breaks Wii U gamepad control when used together with vpad.rpl. | 14.080 | Incompatible |
zlib125.rpl |
ZLIB 1.2.5 support. | 32.384 | ? |