Difference between revisions of "Cemu"

From Emulation General Wiki
Jump to navigation Jump to search
m
 
(134 intermediate revisions by 72 users not shown)
Line 1: Line 1:
{{Infobox
+
{{Infobox emulator
|image = Cemu-Logo.png
+
|logo = Cemu-Logo.png
|first = v1.5.5c
+
|version = {{Version|Cemu}}
|second = Yes
+
|active = Yes
|third = Windows
+
|platform = [[Emulators on Windows|Windows]]</br>[[Emulators on Linux|Linux]] (experimental)</br>[[Emulators on macOS|macOS]] (experimental)
|fourth = Exzap
+
|architecture = x86_64
|fifth = [http://cemu.info Cemu]
+
|target = [[Wii U emulators|Wii U]]
|sixth = Closed Source}}
+
|developer = Exzap, Petergov
'''Cemu''' is a closed-source Windows only [[Wii U emulators|Wii U]] emulator. Currently, the GamePad, Classic, and Pro controllers are emulated. It also requires a high-end PC to run games at full-speed, although there are numerous bugs that can crash games due to unimplemented features.
+
|website = [http://cemu.info Cemu]
 +
|license = MPL-2.0
 +
|compatibility = [https://compat.cemu.info Compatibility list]
 +
|support = [https://www.patreon.com/cemu Patreon]
 +
|source = [https://github.com/cemu-project/Cemu GitHub]
 +
|bios = [[Emulator_files#Wii_U|Optional]]
 +
}}
  
==Downloads==
+
'''[[wikipedia:Cemu|Cemu]]''' is a [[Wii U emulators|Wii U emulator]], first released in 2015 and eventually made open-source in 2022. It's known for being the first Wii U emulator to successfully boot a game.
* [http://cemu.info/index.html#download Latest Release]
 
* [http://docs.google.com/spreadsheets/d/19WV2YQvS2PkiHnQTlYP7cE2eHOPl06Rx4tCvfud_Hpw/edit?pref=2&pli=1#gid=0 Compatibility List]
 
  
Currently DonationWare, with about two major releases a month. Patreon backers have a one-week exclusive early access to the latest version for $5, then that version has further improvements and bugfixes added (hence the .5 in the version number) and released publicly for free on the emulator's site.
+
==Download==
 +
{| cellpadding="4"
 +
|align=center|{{Icon|Win}}
 +
|'''[http://cemu.info/index.html#download Latest public release]'''<br/><small>Available one week after the Patreon builds release</small><br/>
 +
|-
 +
|align=center|{{Icon|Win|Lin|Mac}}
 +
|'''[https://github.com/cemu-project/Cemu/releases GitHub release]'''<br/><small>Experimental</small><br/>
 +
|}
  
===System Requirements===
+
==System requirements==
* OS: Windows 7 (64-bit only) or above
 
* GPU: OpenGL 3.3 or above, Intel iGPUs are not recommended
 
  
===Source Code===
+
* Windows 7 (x64) or above
CEMU is currently closed source, though its author Exzap wants to eventually make it open source after enough work is put into it.
+
* macOS 12 Monterey or above
 +
* OpenGL 4.5 or Vulkan 1.1
 +
* RAM: 4 GB minimum, 8 GB or more recommended
  
Some open-source advocates can't seem to get over this delay, and have accused this emulator of having malware, stolen code lifted directly from Nintendo's SDKs (as in, a crime), stolen findings from Decaf, shoddy emulation sacrificing accuracy for speed, and destroying the feels of emulator devs and emulation's future as a whole. These allegations are advanced without proof in the hopes of smearing the dev's reputation and pressuring him to release the source code to them, or to a courthouse investigating the aforementioned SDK allegation, to "prove them wrong". Decompiling the closed source CEMU executable is still possible to confirm or refute these claims, though the people behind these accusations don't wan't to bear the burden of proof, and as of now (17/8/2016) there's still no tangible proof released of any wrongdoing of CEMU.
+
'''NVIDIA GPU:''' Runs as expected on most recent driver.<br>
 +
'''AMD GPU:''' Runs as expected on most recent driver. Avoid OpenGL due to bad performance<br>
 +
'''Intel GPU:''' Limited support. Vulkan is recommended
  
For these reasons, one can see people online recommending Decaf over CEMU despite the stark difference in compatibility, not out of concern for the end user gaming experience but rather that of promoting open source and taking the whole deal too seriously. As of today, CEMU isn't cancer, and doesn't have malware. Use personal judgement when deciding which emulator to play depending on what games you want to play and what you expect out of emulators.
+
==Game formats and needed files==
 +
===Physical dumps===
 +
You'll first need to fill in the "keys.txt" file in Cemu's directory. It has a sample line with a bogus key and a comment, which you may as well delete.  
  
==Running Games in CEMU==
+
Your file must have many lines like this, one for the Wii U Common Key (D7B00402659BA2ABD2CB0DB27FA2B656), and one line for the Game Key of each game. Sharing these keys isn't exactly safe legally, but ROM sites at least share [http://pastebin.com/GWApZVLa the Game ones]. Note that for games using the Loadiine format, you won't need a Game Key at all, but those will need Cemu versions from 1.4.0 onward.
===Before opening the ISO===
 
You'll first need to fill in the "keys.txt" file in CEMU's directory. It has a sample line with a bogus key and a comment, which you may as well delete.  
 
  
Your file must have many lines like this, one for the Wii U Common Key (D7B00402659BA2ABD2CB0DB27FA2B656), and one line for the Game Key of each game. Sharing these keys isn't exactly safe legally, but romsites at least share [http://pastebin.com/GWApZVLa the Game ones]. Note that for games using the Loadiine format, you won't need a Game Key at all, but those will need CEMU versions from 1.4.0 onwards. Loadiine format is just the ISO contents unpacked as directories of files, with an executable RPX file you'll need to open in CEMU.
+
Your ISO must be either uncompressed, compressed using WUD format, or in Loadiine format (only possible for versions 1.4.0 onward) to boot in Cemu. Here's a [http://docs.google.com/spreadsheets/d/19WV2YQvS2PkiHnQTlYP7cE2eHOPl06Rx4tCvfud_Hpw/edit?pref=2&pli=1#gid=0 compatibility list]. Dump your discs using [https://gbatemp.net/threads/wudump-dump-raw-images-from-a-wiiu-game-disc.451736/ Wudump].
  
Your iso must be either uncompressed, compressed using WUD format, or in Loadiine format (only possible for versions 1.4.0 onwards) to boot in CEMU.
+
===Digital copies===
 +
Cemu supports either physical games dumps in WUD, or compressed WUX format, as well as game dumps converted to the Loadiine format. Loadiine games come as multiple directories with game files and a .rpx file.
  
===Dumping Games and Getting Game Keys Yourself===
+
Nintendo's CDN for Wii U and 3DS digital games is rather poorly secured, due to a huge oversight when designing the software protection for these consoles. As such, with tickets proving you bought the game (but which you can get through less legit ways), there are downloader utilities like NUSGrabber, FunKiiU, UWizard, or jnus among others, and decryption tools like UWizard and CDecrypt, to obtain a functional copy. The process of how to exactly acquire those files is detailed elsewhere on this wiki.
You need the game in Loadiine format (directory of files with RPX executable), the Wii U Common Key, and Uwizard. First, you use the tool [http://gbatemp.net/threads/ddd-wiiu-title-dumper.418492/ here] to create a Loadiine dump from games on your Wii U.  
 
  
Open the Loadiine folder generated, then "code", then "app.xml" in your favorite text program. Copy the 16-char ID before "<title_id>", that's your Title ID. Open Uwizard and go to the "Settings" tab. Fill in the blanks with the Wii U Common Key, and if possible the other ones. Now go to the "NUS Downloader U" tab and paste that Title ID from earlier. You'll need to add the game as well. Check "Decrypt", and press "Start Download". A long log will appear, scroll down for a while and you'll find your game key under "Decrypted Title KEY".
+
Load the .rpx file from [Your gamelocation]/code/[yourgame].rpx with Cemu.
  
The other way, used before to dump Wii U games, isn't public and requires hardware modding to the Wii U optical drive.
+
===Updates and DLC===
 +
Prior to 1.7.3, only updates were supported though pasting update files on the main game's folders (keeping in mind the main game is in Loadiine format) and overwriting any files. DLC wouldn't work at all through this method, though with some specific games there were workarounds and some could play DLC tracks in Mario Kart 8 through swapping of specific files. From 1.7.3 onwards, proper support for DLC and updates was included in Cemu.
  
[http://www.ps3hax.net/showthread.php?t=73858 This] is the method used to get the Wii U console keys from your own Wii U, not that there's much reason to.
+
The Update installation method has been reworked since 1.11.0 simplifying the installation method a lot.
 +
To install updates and DLC on Cemu on (1.11.0)+ versions you need to follow these steps :
  
===Installing Updates===
+
*On Cemu interface, select File → Install game update or DLC
To install updates under CEMU, you need to open the rpx file for that specific update in CEMU. Your save data will be apparently lost, that's because CEMU treats the game now that it's updated as a separate new game so you'll need to copy your games over.
+
*Select the meta.xml in the meta folder of the update or DLC
 +
*Run the game to update the UI and show the update and/or DLC version
  
In order to make that rpx file yourself, you'll need a proper version of NUSGrabber with a ckey.bin, as well a Wii U Console Key (that common key from earlier works) and a Game Key for your version of the game. Then you follow [http://www.reddit.com/r/cemu/comments/4of2x6/guide_on_how_to_update_wii_u_games/ this guide].
+
===Amiibo support===
 +
[[Amiibo]] are figurines unlocking various on-disc content in select 3DS and Wii U games. They use the NFC technology. Nintendo Amiibo data is distributed online as NFC tags (.bin files). There's a regularly updated complete set of the official ones, but there are also unofficial spoofed packs on various other sites.
  
===Installing Downloadable Content===
+
Recent versions of Cemu include Amiibo support. Simply go to NFC / Scan NFC Tag from file, and load the relevant .bin file. Keep in mind Amiibo support in Cemu is incomplete right now and not all figurines are compatible yet - though incompatibilities may be caused by bad Amiibo dumps as well.
Installing DLC is not yet possible with CEMU because of further checks done besides the presence of the DLC data that are not emulated yet. Some videos online show DLC tracks in Mario Kart 8 being emulated on CEMU, but that was just modding the base game to replace some of the base tracks.
 
  
 +
==Setting up Cemu==
 
===Controls===
 
===Controls===
* '''Wii U Gamepad:''' Gamepad touch control emulation can be done by holding TAB then using the mouse. Microphone is mapped to a button for now, and tilting doesn't work yet.
+
Cemu added native support for Wii Remote controllers as of 1.12.0.
* '''Wii U Classic Controller''': Up to 7 besides the Gamepad can be connected for multiplayer.
 
* As of 1.5.5, the Wiimote isn't emulated yet.
 
  
 +
Cemu cannot connect to a real (or emulated) [[Nintendo 3DS emulators|3DS]].
 +
 +
===Shader caches===
 +
When your game is loaded, check for its ID on the title bar in front of "SaveDir:" and note it down. The directory where transferable shader caches are stored is <code>.\Cemu\shaderCache\transferable</code>. They're generated the first time you play through a game and at that time cause noticeable stuttering. You can download a complete cache from places like [https://chriztr.github.io/cemu_shader_and_pipeline_caches/ here] and rename them to match your game version's ID to spare yourself most of that unpleasant experience. Just keep in mind that shader caches from versions older than 1.8.0 are incompatible with later versions of Cemu.
 +
 +
At startup, Cemu will prepare a compiled version of that cache under <code>.\Cemu\shaderCache\precompiled</code> and that one depends on your GPU driver, so you might want to erase it if any problems or crashes when compiling shaders at startup occur.
 +
 +
==Troubleshooting/speeding up==
 +
===Shader caches===
 +
Shaders are normally cached as you play the game. This can cause a lot of stutters and slow the game down. However, as of version 1.19.0, Cemu added support for Asynchronous Shader Compiling on their Vulkan API which can make shader compiling near instantaneous on modern hardware, so try enabling that before hunting for shader caches.
 +
 +
Cemu accepts other shader caches that can be traded online. It's often very difficult to generate a complete cache for large games, and will not completely eliminate stuttering, which is why using Asynchronous Shader Compiling is recommended instead.
 +
 +
[[File:Shadercachestuff.png|thumb|Some settings in the Nvidia control panel might help.]]
 +
 +
Some games' transferable caches may cause slowdowns on some graphics cards, like the GeForce GTX 970. If this is the case, you will have to generate your own shaders and delete the ones you downloaded. In the case of the GeForce, also consider deleting the .bin and .toc file in your GLCache at <code>%APPDATA%\NVIDIA\GLCache\(hexstring)\(hexstring)</code>.
 +
 +
==Graphic Packs==
 +
To work around emulation bugs and other problems the way [[Dolphin]] does, "Graphic Packs" are title-specific property sheets which define advanced settings you might not be able to change in the interface. Basic rendering options including shadow resolution and quality, post-processing effects like bloom, lighting and god rays, custom antialiasing, and such can be applied here. You can even use them to ''reduce'' the internal resolution for an increase in the framerate. This is not to be confused with '''Texture Packs''', which are replacement textures; Cemu doesn't support that, but it is planned.
 +
 +
The "Graphic Packs" themselves are folders under the <code>graphicPacks</code> directory. They can be named anything, but they should contain the "<code>rules.txt</code>" file. A bare-bones example of a "Graphics Pack", called "Bayo_1080p", would look like this:
 +
 +
[Definition]
 +
titleIds = 0005000010172600,0005000010172700,000500001011b900,000500001014db00,0005000010157e00,0005000010157f00
 +
name = "Bayonetta 1 + 2 - 1080p"
 +
 +
[TextureRedefine]
 +
width = 1280
 +
height = 720
 +
overwriteWidth = 1920
 +
overwriteHeight = 1080
 +
 +
Whenever the titleId matches the current one, Cemu will show the Graphics Pack under Options → Graphics Pack. If you don't know what the titleId of the game you want is, check the <code>logs.txt</code> file. You can safely delete it in the event that it gets too big for a text editor to parse.
 +
 +
The overwriteWidth and overwriteHeight properties used in this example will upscale the game from 720p to 1080p. But if the game doesn't have all of its textures in the specified resolution, they won't be upscaled and could look messy as a result. In this case, this problem is seen in some FMVs in the game. This is the purpose of the TextureRedefine rule.
 +
 +
Since 1.13.0, the graphic packs system and interface was overhauled for better use and many bugs when using multiples graphic packs were fixed.
 +
For 1.15.1 and now on, users can download the community's graphics packs linked below directly from Cemu user interface and just check the graphics packs they want to enable. That update completly removed the need to manage files for the user.
 +
 +
See some of the community graphics packs at [http://slashiee.github.io/cemu_graphic_packs/ this page].
 +
 +
==External links==
 +
* [https://wiki.cemu.info/wiki/Main_Page Wiki]
 +
* [https://discord.gg/5psYsup Official Discord]
 +
 +
<references/>
 +
 
[[Category:Emulators]]
 
[[Category:Emulators]]
 +
[[Category:Console emulators]]
 +
[[Category:Home console emulators]]
 +
[[Category:Wii U emulators]]
 +
[[Category:Windows emulation software]]

Latest revision as of 07:55, 22 January 2024

Cemu
Cemu-Logo.png
Developer(s) Exzap, Petergov
Latest version 2.0-80 [+]
Active Yes
Platform(s) Windows
Linux (experimental)
macOS (experimental)
Architecture(s) x86_64
Emulates Wii U
Compatibility Compatibility list
Website Cemu
Support ($) Patreon
License MPL-2.0
Source code GitHub
BIOS/Keys Optional

Cemu is a Wii U emulator, first released in 2015 and eventually made open-source in 2022. It's known for being the first Wii U emulator to successfully boot a game.

Download[edit]

Windows Latest public release
Available one week after the Patreon builds release
Windows Linux macOS GitHub release
Experimental

System requirements[edit]

  • Windows 7 (x64) or above
  • macOS 12 Monterey or above
  • OpenGL 4.5 or Vulkan 1.1
  • RAM: 4 GB minimum, 8 GB or more recommended

NVIDIA GPU: Runs as expected on most recent driver.
AMD GPU: Runs as expected on most recent driver. Avoid OpenGL due to bad performance
Intel GPU: Limited support. Vulkan is recommended

Game formats and needed files[edit]

Physical dumps[edit]

You'll first need to fill in the "keys.txt" file in Cemu's directory. It has a sample line with a bogus key and a comment, which you may as well delete.

Your file must have many lines like this, one for the Wii U Common Key (D7B00402659BA2ABD2CB0DB27FA2B656), and one line for the Game Key of each game. Sharing these keys isn't exactly safe legally, but ROM sites at least share the Game ones. Note that for games using the Loadiine format, you won't need a Game Key at all, but those will need Cemu versions from 1.4.0 onward.

Your ISO must be either uncompressed, compressed using WUD format, or in Loadiine format (only possible for versions 1.4.0 onward) to boot in Cemu. Here's a compatibility list. Dump your discs using Wudump.

Digital copies[edit]

Cemu supports either physical games dumps in WUD, or compressed WUX format, as well as game dumps converted to the Loadiine format. Loadiine games come as multiple directories with game files and a .rpx file.

Nintendo's CDN for Wii U and 3DS digital games is rather poorly secured, due to a huge oversight when designing the software protection for these consoles. As such, with tickets proving you bought the game (but which you can get through less legit ways), there are downloader utilities like NUSGrabber, FunKiiU, UWizard, or jnus among others, and decryption tools like UWizard and CDecrypt, to obtain a functional copy. The process of how to exactly acquire those files is detailed elsewhere on this wiki.

Load the .rpx file from [Your gamelocation]/code/[yourgame].rpx with Cemu.

Updates and DLC[edit]

Prior to 1.7.3, only updates were supported though pasting update files on the main game's folders (keeping in mind the main game is in Loadiine format) and overwriting any files. DLC wouldn't work at all through this method, though with some specific games there were workarounds and some could play DLC tracks in Mario Kart 8 through swapping of specific files. From 1.7.3 onwards, proper support for DLC and updates was included in Cemu.

The Update installation method has been reworked since 1.11.0 simplifying the installation method a lot. To install updates and DLC on Cemu on (1.11.0)+ versions you need to follow these steps :

  • On Cemu interface, select File → Install game update or DLC
  • Select the meta.xml in the meta folder of the update or DLC
  • Run the game to update the UI and show the update and/or DLC version

Amiibo support[edit]

Amiibo are figurines unlocking various on-disc content in select 3DS and Wii U games. They use the NFC technology. Nintendo Amiibo data is distributed online as NFC tags (.bin files). There's a regularly updated complete set of the official ones, but there are also unofficial spoofed packs on various other sites.

Recent versions of Cemu include Amiibo support. Simply go to NFC / Scan NFC Tag from file, and load the relevant .bin file. Keep in mind Amiibo support in Cemu is incomplete right now and not all figurines are compatible yet - though incompatibilities may be caused by bad Amiibo dumps as well.

Setting up Cemu[edit]

Controls[edit]

Cemu added native support for Wii Remote controllers as of 1.12.0.

Cemu cannot connect to a real (or emulated) 3DS.

Shader caches[edit]

When your game is loaded, check for its ID on the title bar in front of "SaveDir:" and note it down. The directory where transferable shader caches are stored is .\Cemu\shaderCache\transferable. They're generated the first time you play through a game and at that time cause noticeable stuttering. You can download a complete cache from places like here and rename them to match your game version's ID to spare yourself most of that unpleasant experience. Just keep in mind that shader caches from versions older than 1.8.0 are incompatible with later versions of Cemu.

At startup, Cemu will prepare a compiled version of that cache under .\Cemu\shaderCache\precompiled and that one depends on your GPU driver, so you might want to erase it if any problems or crashes when compiling shaders at startup occur.

Troubleshooting/speeding up[edit]

Shader caches[edit]

Shaders are normally cached as you play the game. This can cause a lot of stutters and slow the game down. However, as of version 1.19.0, Cemu added support for Asynchronous Shader Compiling on their Vulkan API which can make shader compiling near instantaneous on modern hardware, so try enabling that before hunting for shader caches.

Cemu accepts other shader caches that can be traded online. It's often very difficult to generate a complete cache for large games, and will not completely eliminate stuttering, which is why using Asynchronous Shader Compiling is recommended instead.

Some settings in the Nvidia control panel might help.

Some games' transferable caches may cause slowdowns on some graphics cards, like the GeForce GTX 970. If this is the case, you will have to generate your own shaders and delete the ones you downloaded. In the case of the GeForce, also consider deleting the .bin and .toc file in your GLCache at %APPDATA%\NVIDIA\GLCache\(hexstring)\(hexstring).

Graphic Packs[edit]

To work around emulation bugs and other problems the way Dolphin does, "Graphic Packs" are title-specific property sheets which define advanced settings you might not be able to change in the interface. Basic rendering options including shadow resolution and quality, post-processing effects like bloom, lighting and god rays, custom antialiasing, and such can be applied here. You can even use them to reduce the internal resolution for an increase in the framerate. This is not to be confused with Texture Packs, which are replacement textures; Cemu doesn't support that, but it is planned.

The "Graphic Packs" themselves are folders under the graphicPacks directory. They can be named anything, but they should contain the "rules.txt" file. A bare-bones example of a "Graphics Pack", called "Bayo_1080p", would look like this:

[Definition]
titleIds = 0005000010172600,0005000010172700,000500001011b900,000500001014db00,0005000010157e00,0005000010157f00
name = "Bayonetta 1 + 2 - 1080p"

[TextureRedefine]
width = 1280
height = 720
overwriteWidth = 1920
overwriteHeight = 1080

Whenever the titleId matches the current one, Cemu will show the Graphics Pack under Options → Graphics Pack. If you don't know what the titleId of the game you want is, check the logs.txt file. You can safely delete it in the event that it gets too big for a text editor to parse.

The overwriteWidth and overwriteHeight properties used in this example will upscale the game from 720p to 1080p. But if the game doesn't have all of its textures in the specified resolution, they won't be upscaled and could look messy as a result. In this case, this problem is seen in some FMVs in the game. This is the purpose of the TextureRedefine rule.

Since 1.13.0, the graphic packs system and interface was overhauled for better use and many bugs when using multiples graphic packs were fixed. For 1.15.1 and now on, users can download the community's graphics packs linked below directly from Cemu user interface and just check the graphics packs they want to enable. That update completly removed the need to manage files for the user.

See some of the community graphics packs at this page.

External links[edit]