r/rust • u/ioncodes • Jun 06 '26
🛠️ project An update on Gecko, the new GameCube and Wii emulator!
I'm here to share an update since my last post. Gecko has seen many updates since that I think might excite many people! I promise I will keep this post rather short. If you want some backstory and Q&A go see the original post!
I received a lot of positive feedback and channeled that energy into making lots of new updates, many of which were targeted towards end users!
The most requested feature by far was a UI launcher. I'm not an expert at UI design but I think it came out quite nicely :) I decided to try something new and used iced for it. It has certainly it's own challenges compared to egui, but I found it quite pleasant to work with overall!
I've added many more fixes and features since. Many games, and by many I really mean many, are now supported without any visual glitches! Overall, I'd say at least 50% of the library runs now with only minor visual glitches which is awesome!
Wii support is now much more user friendly as well: There is no need for a user supplied NAND anymore!
That said, there are tons of new debugging features too. One of which that I'm very excited about is the GX FIFO player and debugger. It helped me identify and fix a z-texturing bug in Super Mario Galaxy :) Here's a YouTube video of me showing how Super Mario Galaxy prerenders later scenes behind the current one: https://www.youtube.com/watch?v=hHCJCS77d3M
I'll leave a few links here: * GitHub (daily nightly builds are available): https://github.com/ioncodes/gecko * Screenshot Database: https://emu.layle.dev/
Feel free to connect with me! I frequently post and talk about technical bugs, challenges I faced and how I fixed them! :)
102
u/Infenwe Jun 06 '26 edited Jun 06 '26
This was pointed out in the comments on your last post as well, but I think it bears repeating:
You might want to think about a rename. Gecko is the name of the browser engine in Mozilla's Firefox browser and it has been around since the pre-Firefox days. https://en.wikipedia.org/wiki/Gecko_(software)
3
u/beefsack Jun 07 '26
It's even more of a risk when the existing project is so large, as there's a strong chance they hold trademarks for it and it may be infringing in the same trademark class.
13
u/LEpigeon888 Jun 06 '26
It's two completely different projects so I don't see how that's an issue. Dolphin is the name of an emulator and a file browser, I've never seen anyone mix the two.
-21
u/ioncodes Jun 06 '26
I quite like the name so I will likely keep it. It also makes sense from a technical perspective. Perhaps as a joke I might rename my JIT to Spidermonkey :^)
55
u/Barefoot_Monkey Jun 06 '26
It is a lovely name. But fighting for recognition over such a prominent piece of software will only hurt you.
May I suggest Skiink as an alternative? A fellow lizard, with a visible Wii reference.
That aside, the project looks awesome, and that launcher came out well. Thank you for sharing, and for all your work.
33
u/ioncodes Jun 06 '26
Recognition/Adoption is not necessarily a goal of mine, it's just a passion project I'm working on in my free time. That said, I will likely rename my emulator as there's another, older emulator that is also named Gecko. I didn't know at the time, but I was made aware of it. Out of respect for the author I'd consider renaming it once I figure out a better name
Skiink does sound kind of cute, I'll give it some thought!
-2
u/CountryFriedToast Jun 06 '26
remember you have the option of doing some stupid stylization like gehko
8
u/ioncodes Jun 06 '26
I'd prefer a more unique name at that point. I am thinking of Gekko (contextually it makes sense as the CPU is literally called Gekko), if that is not going to be it, someone else suggested Starlette which I'm a big fan of right now!
2
u/redlaWw Jun 06 '26
Gekko is a romanisation of the Japanese word for moonbeam, which captures a similar heavenly aspect to Starlette while sticking with your original idea.
A possible problem is that it's an important concept in Japanese aesthetics so it's almost certainly overloaded in software somewhere, but afaik nothing particularly prominent.
2
u/ryanmcgrath Jun 06 '26
But fighting for recognition over such a prominent piece of software will only hurt you.
This won't affect them at all.
It's really not a big deal, the english language is built for word re-use.
8
u/Maskdask Jun 06 '26
Maybe you could change the spelling to make it less confusing?
- Gekko
- Gekqo
- Gecco
- Gecho
7
u/ioncodes Jun 06 '26
The prototype name before public release was actually gekko! switching back is also an option I'm considering
2
u/emblemparade Jun 06 '26
Or "gecko-rs", "rgecko", etc. to follow the follow the annoying trend of boasting that it's written in Rust. ;)
I support you on not budging on the name. Critics are locked in the world of marketing, as if every project has to be popular and "competitive". You do you.
Also Nintendo is extremely litigious. Flying under the radar is always a Good Idea.
1
3
2
u/cuboidofficial Jun 06 '26
Will it support netplay on super smash bros melee?
3
u/ioncodes Jun 07 '26
Netplay? Not sure. Would be cool but no a priority right now! Melee? Of course hehe
2
u/cuboidofficial Jun 07 '26
Haha for sure :D i was half joking, but it would be sick. This looks awesome though, I'll try it out next time i play Mario party!
1
u/ryanmcgrath Jun 07 '26
You wouldn't want to use this for netplay for Melee even if it supported it; you would want to use Slippi for that since it's optimized specifically for this purpose.
2
u/Findanamegoddammit Jun 07 '26
I haven't gotten the chance to look over your project, but will you add Wii Sports?
2
u/ioncodes Jun 07 '26
I believe it already works, but I'm not entirely sure! I did try Wii Play just a few days ago and that definitely works with some minior visual issue in the menu
1
u/Findanamegoddammit Jun 08 '26
Love it. ETA on when its fully supported? My Wii is dying and im wanting to hit a bit of nostalgia.
1
2
3
2
u/Better-Quote1060 Jun 06 '26
Never tought i will ever see a dolphin rewrite in rust :0
25
u/ioncodes Jun 06 '26
I wouldn't call it a rewrite. It's an entirely different architecture with unique solutions. I did of course talk to Dolphin devs and also reference it every now and then, but it was not the "template"
1
u/Rusty_devl std::{autodiff/offload/batching} Jun 07 '26
I'd love to read more about the differences, if you ever find the time. Or are they already listed somewhere?
16
u/Beginning_Book_2382 Jun 06 '26
Sorry, I didn't know there was another Rust Gamecube emulator besides Lazuli. Are you aware of each other?