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
 

gbatempfan1

Well-Known Member
Member
Joined
Nov 2, 2010
Messages
199
Trophies
1
XP
1,188
Country
The circle has almost completed, Exzap first confirmed it would be open sourced in this reddit post back in 2015:
1642332361057.png


It has gone a long way since first the emulator was first announced gbatemp where people were skeptical and thought it was fake:
There is actually an emulator in the works which is able to run some commercial games.


Heard it will be released later this month...

To answer your second question, it will most likely be released here on gbatemp first. It's developed by a closed team (of which I am a part), therefore there isn't any other source than my posts atm.

Yes, it's coming out of nowhere. Yes, it seems somewhat too early for an emulator. Yes, screenshots don't prove anything. If you don't believe, just wait some time and we'll see.

And finally being released in this post below:
I present to you CEMU, world's first Wii U emulator capable of running and rendering commercial games!

Quick facts:
  • Can run encrypted Wii U images (WUD) and RPX/RPL files
  • Internal resolution is 1920x1080 (if supported by game)
  • Contains only some optimizations. Expect slow framerates and long load times.
  • Windows 7 or above (x64) (other platforms may be supported later)
  • Requires OpenGL 4.0
    • Tested on NVIDIA and AMD: Runs fine on most recent driver
    • Intel graphic cards are not supported.
Changelog:
The changelog can be found here

Download:
Link for most recent version of Cemu is now on Cemu's website
 
Last edited by gbatempfan1,

The Catboy

GBAtemp Official Catboy™: RIP Akira Toriyama
Member
Joined
Sep 13, 2009
Messages
27,736
Trophies
4
Location
Making a non-binary fuss
XP
38,495
Country
Antarctica
I am glad to see they are both finally porting it Linux and going open source. Although, honestly they should just do both at the same time and let the community finish the Linux port.
 

Shuny

I'm in yr forum, reading yr postz
Member
Joined
Nov 15, 2006
Messages
1,038
Trophies
1
Age
32
Location
Somewhere in the world
Website
www.shunyweb.info
XP
755
Country
France
CEMU's support has been fantastic so far. Probably one of the most successful closed source emulator, I don't think anyone would have bet on it a few years ago.

While it's great to hear it will soon be open-source, I don't think it will make a huge difference in term of development speed or new features. I think most people underestimate the knowledge required to start working on this kind of software.
 

NinStar

Ny'hrarr ♂
Member
Joined
Apr 3, 2017
Messages
550
Trophies
0
Age
23
Location
Rio de Janeiro
Website
ninstar.carrd.co
XP
2,045
Country
Brazil
Quite sure it is because all the money has already been squeezed out of the hype around BOTW emulation.

While it's great to hear it will soon be open-source, I don't think it will make a huge difference in term of development speed or new features. I think most people underestimate the knowledge required to start working on this kind of software.

Going open source is already a big step forward in terms of trust, something I was never totally confident about Cemu. Not to mention that ports to other plataforms is something that you should totally expect to see people working on the moment they make the source code available for the public. I think they should have made it open source on the state it is, so other developers could help on the code rewrite and publicly document the changes for newcomers, it would be a better approach in my opinion.
 

Magnus87

Well-Known Member
Member
Joined
Apr 28, 2013
Messages
397
Trophies
1
XP
1,510
Country
Argentina
The work of the CEMU team is incredible, however I always believed that one day DOLPHIN would be compatible with Wii U, thus completing the trio of Nintendo consoles.
 

LightBeam

Well-Known Member
Member
Joined
Oct 1, 2018
Messages
941
Trophies
0
XP
2,359
Country
France
That's sick, I'm always glad when people embrace open source and Cemu's developement have been really great, sure now that there's the Switch and ryujinx/yuzu, I think that Cemu kinda got forgot about but that's because of the Wii U, the emulator itself is still really damn great and I'm glad that they aren't just putting that to waste. As another post said, would have been cool to have something like that for PCSX2
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over