Cemu roadmap reveals open-source plans, Linux port and more

cemu_header.jpg

Team Cemu have revealed a roadmap that details their future plans for the popular Wii U emulator in 2022 and beyond.

The proposed targets include a native Linux version of Cemu which they state is currently about 70% complete but is reliant on other proposed changes (which they document) to see completion. They go on to commit to making the project open-source which they say will happen after the code base is restructured and rewritten in C++ (currently C).

Other planned changes include a new shader decompiler which they propose should drastically reduce the compilation time required for shaders and related stutter, as well as a transition to H264 decoding support rather than Windows DXVA2 and much more.

You can check out the complete roadmap via the link below.

Roadmap - Cemu Wiki said:

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

Software fallback for H.264 decoding​

Currently Cemu uses DXVA2 to emulate the Wii U's H.264 video decoder. While this generally works fine, support for DXVA2 is spotty on older GPUs. DXVA2 is also only available on Windows. We would therefore like to implement another decoder that can run on any CPU and any OS.
Status: Planning and research phase

Cubeb audio backend​

In an effort to make the core of Cemu as platform-agnostic as possible, we want to add the Cubeb audio library as replacement for our DirectAudio/XAudio backends. This would likely also benefit Windows as Cubeb uses WASAPI which has very low latency.
Status: Planned

Linux port​

We eventually want to offer a native Linux version. This has been an ongoing side-project, albeit progressing relatively slowly due to somewhat low-priority nature and being dependent on other tasks. About 70% of the work has been done at this point. Porting is tied to some other tasks on this roadmap, like the cubeb backend, software H264 decoder and migration to makefile.
Status: In progress

Upgrading to modern C++, switching to cmake​

Very early versions of Cemu were written mostly in the C language. This was out of habit more than any actual reason. Since then, we are continuously rewritting code to make use of new C++20/23 features. Another related task has been switching the project from a Visual Studio solution to cmake, a necessary step for porting to other OSes. We are also using the opportunity to re-think and improve the general source file and folder structure or just to clean up code from the early days.
Status: In progress

Going open-source​

As originally promised, we plan to publish the source code of Cemu and open up development to anyone who wants to contribute. There is no exact ETA when this will happen but it is planned for this year, probably after we are done restructuring the source code (see above task).
Status: Planned for this year

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

:arrow: Roadmap - Cemu Wiki
 

CherryCreamCola

New Member
Newbie
Joined
Aug 25, 2021
Messages
2
Trophies
0
Age
18
XP
45
Country
United States
What reason did they have to not go open source before? Seems like an odd decision to make unless they either used copyrighted code or just plain messy code. They still would've made absolute bank on Patreon either way
 

Juan Perez

New Member
Newbie
Joined
Mar 21, 2013
Messages
1
Trophies
0
Age
72
XP
82
Country
Argentina
excuse me? what numbers are you referring to? the nearly 2k they are getting monthly?
do you think that it is even a fair, not to say big, amount to compensate for all the hard work this people have put in? can you image the amount of real money they would have made if they didn't make the software free? 2k is not even a huge monthly amount for most of the 1st world countries
I dont think he is talking about now, I remember at one time the where getting more than 30K a month.
 

youwilldienext

Active Member
Newcomer
Joined
Apr 28, 2020
Messages
34
Trophies
0
Age
27
XP
266
Country
Spain
I dont think he is talking about now, I remember at one time the where getting more than 30K a month.
I don't know how much they got to collect monthly, +30k is indeed a big sum, but my point in the original post was that the authors are not doing this for the money, as the guy I was replying to was suggesting. I've seen a lot of people try to argue back at different topics so I guess I didn't make myself clear when writing that day. whatever
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: Corporation is the new corporation.