You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

Wii U emulator Cemu plans to go open source and support Linux

By - | Views: 33,047

Most emulators nowadays have their source code nicely open, and the vast majority of them fully support Linux too but Cemu has been a bit of a holdout. Not for long though.

On their official roadmap, which many people emailed in excitedly, they put up their plans and who can blame people for being excited on this? Scrolling down a bit, a Linux port is clearly mentioned. It has been an "ongoing side-project" already but quite slow as it was low-priority and it depended on other things being done. The good news is that they say it's about "70%" of the way there already. Having Linux support of course will also be great for the Steam Deck, since it comes with SteamOS 3 (based on Arch Linux).

Just as exciting is the plan for Cemu to go open source! This is planned to happen in 2022 and going open source was "originally promised". No exact ETA on when they plan to do it, as they will also be restructuring the source code. They've been continuing to rewrite various parts of the C code into much newer C++20/23. They also plan to move from Visual Studio to cmake, which is another step towards supporting more operating systems.

So they have a lot of work ahead but it will be worth it. Having it properly open source will ensure it's preservation, just like what it does for old hardware like the Wii U.

Article taken from GamingOnLinux.com.
32 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
21 comments
Page: «2/3»
  Go to:

elmapul Jan 17, 2022
its kinda worthless since most wiiU games were already ported to switch, some of then received upgrades, and we already have switch emulators on linux.

but it may be good for performance reasons, maybe emulate powerpc is easier than arm?
Botonoski Jan 18, 2022
Quoting: elmapulits kinda worthless since most wiiU games were already ported to switch, some of then received upgrades, and we already have switch emulators on linux.

but it may be good for performance reasons, maybe emulate powerpc is easier than arm?

I don't know if it's easier necessarily, no idea of the technical stuff, but Wii U emulation at this point is certainly further along than Switch emulation at this point in time, possibly because its similar enough in architecture to the original Wii and GameCube that a lot of the emulation techniques from Dolphin could be recycled. At least that's my guess.


Last edited by Botonoski on 18 January 2022 at 1:53 am UTC
elmapul Jan 18, 2022
Quoting: Botonoski
Quoting: elmapulits kinda worthless since most wiiU games were already ported to switch, some of then received upgrades, and we already have switch emulators on linux.

but it may be good for performance reasons, maybe emulate powerpc is easier than arm?

I don't know if it's easier necessarily, no idea of the technical stuff, but Wii U emulation at this point is certainly further along than Switch emulation at this point in time, possibly because its similar enough in architecture to the original Wii and GameCube that a lot of the emulation techniques from Dolphin could be recycled. At least that's my guess.

omg i completely forgot this, wiiU has support for Wii games for a reason
Csokis Jan 18, 2022
Quoting: hardpenguin
Quoting: JpxsonThis is amazing news for game preservation. Wii U is the only popular console without a good open source emulator.
Xbox?
Xemu
hardpenguin Jan 18, 2022
Quoting: Csokis
Quoting: hardpenguin
Quoting: JpxsonThis is amazing news for game preservation. Wii U is the only popular console without a good open source emulator.
Xbox?
Xemu
Nice 😎

Although I just learned that Xenia (Xbox 360 emulator) still has no Linux build.

In fact, they are looking for Linux developers: https://github.com/xenia-project/xenia#contributors-wanted

Csokis Jan 18, 2022
Quoting: hardpenguinAlthough I just learned that Xenia (Xbox 360 emulator) still has no Linux build.
Unfortunately. But there is one unofficial.
x_wing Jan 18, 2022
Quoting: ljrk
QuoteThey've been continuing to rewrite various parts of the C code into much newer C++20/23.

Maybe kind of a nitpick, but to me this kind of implies that C++ would be some kind of "updated" Version of C. The next C standard is likely C23, so will it then be "more modern" than C++20?

These are simply two different languages that evolve separately although the workgroups do coordinate development together.

I want to believe that the line is missing the "++". Not to mention that C++23 is still a draft, I'm not even sure what compiler they are using in order to get support (I guess they're simply removing any code that will become incompatible with the newer standard).

Ok, the full statement gives some light:
QuoteVery 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 rewriting 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.

So, it's simply a refactor... but the idea of using C++23 is probably not a good one.


Last edited by x_wing on 18 January 2022 at 1:38 pm UTC
lukas333 Jan 23, 2022
Great news!
STiAT Jan 25, 2022
Quoting: ljrk
QuoteThey've been continuing to rewrite various parts of the C code into much newer C++20/23.

Maybe kind of a nitpick, but to me this kind of implies that C++ would be some kind of "updated" Version of C. The next C standard is likely C23, so will it then be "more modern" than C++20?

These are simply two different languages that evolve separately although the workgroups do coordinate development together.

I think it's a matter of preference, as they state in their wiki:
QuoteVery 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 rewriting 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.

Seems more they have switched mainly to developing in C++ and are going to switch the rest of the codebase now. I can see - depending on usecases - benefit in both languages in my projects, but I'm doomed anyway since I mostly switched to Go (mostly web API crap and automation) and Rust (for more complex stuff) for my projects.

It's always a question of preference. There may have been reasons for C++, I personally can live very well with both in my development, and I do have C and C++ projects at work, which by now start to get replaced by Go and Rust projects gradually... but it will probably take another 10 years or more until our C/C++ codebase is completely gone (since it has to make sense to actually rewrite something too).
ljrk Jan 26, 2022
Quoting: STiAT
Quoting: ljrk
QuoteThey've been continuing to rewrite various parts of the C code into much newer C++20/23.

Maybe kind of a nitpick, but to me this kind of implies that C++ would be some kind of "updated" Version of C. The next C standard is likely C23, so will it then be "more modern" than C++20?

These are simply two different languages that evolve separately although the workgroups do coordinate development together.

I think it's a matter of preference, as they state in their wiki:
QuoteVery 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 rewriting 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.

Seems more they have switched mainly to developing in C++ and are going to switch the rest of the codebase now. I can see - depending on usecases - benefit in both languages in my projects, but I'm doomed anyway since I mostly switched to Go (mostly web API crap and automation) and Rust (for more complex stuff) for my projects.

It's always a question of preference. There may have been reasons for C++, I personally can live very well with both in my development, and I do have C and C++ projects at work, which by now start to get replaced by Go and Rust projects gradually... but it will probably take another 10 years or more until our C/C++ codebase is completely gone (since it has to make sense to actually rewrite something too).

You're absolutely right there! But it irks me to see C++ being some kind of "update" than C. If people use C++ over C I will secretly judge them but won't complain too loudly 0:-)

Rust & Go are neat, although I'm currently playing around with Haskell again for work. And PureScript seems to be neat as well.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.