In order to edit this wiki, you must register and verify your account.


From Cemu Wiki
Jump to:navigation Jump to:search

Roadmap - Planned features in Cemu

This is the official list of planned features for Cemu. Some of these are already in the works, some are in the planning stage and some are hints at were Cemu might be going in the not-so-near future. Furthermore these are listed in no particular order. Something being at the top of the list does not mean it will be completed earlier than something at the bottom. This list also does not contain every small feature and idea, but rather only major subprojects. Think of this list as something that gives you a general idea where Cemu is heading in the next few years.

LLVM as a CPU JIT backend

Currently Cemu uses a custom solution for translating Wii U PowerPC code to native x86 code. This custom approach made sense when work on Cemu initially started for a variety of verbose reasons, but today LLVM is a good replacement candidate. Switching to LLVM would make it significantly easier to add support for additional host architectures, like ARM. LLVM's optimizer passes are also far more sophisticated than ours and thus the generated code should be more efficient, leading to improved CPU emulation performance.

Status: Idea stage

A new shader decompiler

To emulate shaders Cemu has to translate them from Wii U shader binary back to a higher level language that can be consumed by OpenGL/Vulkan. Our current shader decompiler is very simplistic and translates each machine instruction one-by-one to GLSL. This results in very bloated shaders with high compile time. Furthermore, for Vulkan an additional translation pass from GLSL to SPIR-V is required.

We have started work on a far more sophisticated shader decompiler which is able to output both optimized GLSL and SPIR-V. In theory, this should cut down on the compilation time of shaders and consequently reduce shader compilation stutter. No significant runtime (FPS) performance improvements are expected because GPU drivers are already very good at optimizing shaders regardless of whether the input is already pre-optimized or not.

Status: In very early stages of development

Compatibility with all games

The long-term plan for Cemu is to reach 100% compatibility with every Wii U game. A secondary goal is to support all homebrew and allow for pretty much everything a real Wii U does, although the scope of this secondary goal is quite enormous and hard to attain. Improving compatibility isn't one single thing. Rather, it's many unique problems with very different solutions. Since we cant list them all this entry acts as a placeholder.

Status: In progress

Completed tasks

Cross-platform compatible software H264 decoder
Introduced in version 1.26.2
Going open-source
As of 2.0, Cemu is open-source. Link to github
Linux port
A very experimental version was introduced with Cemu 2.0
Switching to cmake
Completed with version 2.0
Cubeb audio backend
Introduced in version 2.0