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.
but it may be good for performance reasons, maybe emulate powerpc is easier than arm?
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
Quoting: BotonoskiQuoting: 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
Quoting: CsokisNice 😎Quoting: hardpenguinXemuQuoting: JpxsonThis is amazing news for game preservation. Wii U is the only popular console without a good open source emulator.Xbox?
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
Quoting: hardpenguinAlthough I just learned that Xenia (Xbox 360 emulator) still has no Linux build.Unfortunately. But there is one unofficial.
Quoting: ljrkQuoteThey'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
Quoting: ljrkQuoteThey'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).
Quoting: STiATQuoting: ljrkQuoteThey'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.
See more from me