Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

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 checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
21 comments
Page: 1/2»
  Go to:

jens Jan 17, 2022
  • Supporter
From my own experience in software development: for the last 10% you’ll need 90% of the time. ;)
Jpxe Jan 17, 2022
View PC info
  • Supporter Plus
This is amazing news for game preservation. Wii U is the only popular console without a good open source emulator.
whizse Jan 17, 2022
View PC info
  • Supporter
Wohoo!
legluondunet Jan 17, 2022
Very good news!
It's impressive how emulation dev changed their habits, some emulators are even out on Linux before Windows.
If DEMUL (NAOMI 2 emulator) dev could follow the move...


Last edited by legluondunet on 17 January 2022 at 3:26 pm UTC
seanbutnotheard Jan 17, 2022
View PC info
  • Supporter
Looking forward to continuing my nearly 4-year-old BotW save file with one less layer of emulation!
Cyril Jan 17, 2022
ljrk Jan 17, 2022
They'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.
rcrit Jan 17, 2022
View PC info
  • Supporter Plus
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.

So in C a trailing ++ adds one after use which means that C++ is 11 to C's 10. It's for when you're coding and need that one little push over the cliff[1], you've got 11. C++.

[1] apologies to Spinal Tap
Purple Library Guy Jan 17, 2022
From my own experience in software development: for the last 10% you’ll need 90% of the time. ;)
Of the time, yes . . . but probably not 90% of the calendar days. That's when people start frantically packing in the hours, like "But it should be done already!"
hardpenguin Jan 17, 2022
This is amazing news for game preservation. Wii U is the only popular console without a good open source emulator.
Xbox?
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
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?

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
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?

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
This 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
This 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
Although I just learned that Xenia (Xbox 360 emulator) still has no Linux build.
Unfortunately. But there is one unofficial.
x_wing Jan 18, 2022
They'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:
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 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
They'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:
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 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
They'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:
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 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.