Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin on M1 Mac / PC comparision
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Thought I might share my brief experience with Dolphin on my 13" M1 MBP so far. I've been eager to test this since I've read the article on it.

I've used the 5.0-15476 Dev Build and tried Mario Sunshine (PAL) and Rogue Squadron II (US) using the internal WQXGA Display.

- DSP LLE doesn't seem to work at all. At least I couldn't get both games to even start, screen just goes black. So having a boot screen is not an option as it doesn't go well with HLE.

- Mario runs great, at full speed (but of course it's just the 25fps EU version). I've played through a couple of levels and the only issue with graphics I had was the "M"-shaped portals that Mario enters from Delfino Plaza. They have a rectangular black box around them. Doesn't seem to be an issue with the back end (so far Vulkan is the only option on Mac). I've compared with my Windows machine running the same build and the black boxes aren't there using Vulkan back end.

- Any kind of Anti Aliasing seriously kills performance. It's funny, Mario runs at full speed at 4x resolution with or without UHD textures, but runs like crap at native with only the slightest amount of msaa. A bit of a bummer because 4x ssaa makes it look even better on my pc.

- 16x Anisotropic filtering had no noticable impact on the performance with the M1.

- Star Wars was disappointing. In the article it said it runs "admirably", but I couldn't get it into a playable state. Hybrid Ubershaders, Compile Before Start had to be enabled for the game to even start. That being said I find Rogue II doesn't seem to run well at all, at least in the current state of the emulator. Even on my PC with GTX1060/6GB and D3D back end the frame rate goes down during cockpit transistions, fade-to-blacks and cut scenes, causing ugly sound. The regular game play is good at 60 fps on both the M1 and PC. But the frame drops are far worse and render the game unplayable on the M1, while it's more of a nuisance on the PC. That might be due to HLE though. It does this on any setting, it's not even worse without any improved graphics. The frame drops are always there. But yeah, I see all those videos of RL2 running nicely on yt and it makes me wonder what build and settings they are using and the hardware they're running Dolphin on. I was so naive as to believe even a Raspi 4 could emulate the entire GC library. ETA prime is such a liar.

- Another issue I had is that I can't get my Xbox One controller to rumble in Dolphin as there's only SDL drivers as an option. I'd so wish I could get it to rumble. It does with Steam, so it could be done, even if Apple doesn't support it...

Anyway, it's impressive to see what can be done supporting a new platform in such a short period of time, with all of Apple's restrictions. I see a lot of future M1 owners coming to Dolphin with the new models being out -- the work on this software will be greatly appreciated and I feel like we're only seeing the beginning of great things.
So the antialiasing thing is just due to how the M1 GPUs work. MSAA is very expensive on true tiled-rendering GPUs like the M1, and since SSAA is technically MSAA+SSAA, you'll feel it there too.

As for Rogue Squadron, some key MMU instructions are being handled by interpreter, so performance is going to be really challenging there. Look forward to that improving in the future~

As for DSP LLE, you don't know what you mean by boot screen exactly. If you mean the GameCube IPL, you don't need DSP LLE for that anymore. I tried it with DSP HLE and it was just fine. Also I don't know why you couldn't get DSP LLE to work. It worked on my MacBook Pro when I tried it just now, but I was also using the dumped DSP rom from my wii instead of the reverse engineered one that Dolphin comes with.
As a huge fan of the Rogue Squadron games, I'm so glad to hear that MMU instructions are part of upcoming work. Please let me know how I can help!
(11-16-2021, 05:07 PM)MayImilae Wrote: [ -> ]So the antialiasing thing is just due to how the M1 GPUs work. MSAA is very expensive on true tiled-rendering GPUs like the M1, and since SSAA is technically MSAA+SSAA, you'll feel it there too.

As for Rogue Squadron, some key MMU instructions are being handled by interpreter, so performance is going to be really challenging there. Look forward to that improving in the future~

As for DSP LLE, you don't know what you mean by boot screen exactly. If you mean the GameCube IPL, you don't need DSP LLE for that anymore. I tried it with DSP HLE and it was just fine. Also I don't know why you couldn't get DSP LLE to work. It worked on my MacBook Pro when I tried it just now, but I was also using the dumped DSP rom from my wii instead of the reverse engineered one that Dolphin comes with.

I'd be careful with this phrasing - there's nothing inherent to tiled rendering that means you can't run up to n fragment shaders for nX MSAA by keeping n depth samples per pixel and the associated fragment shader inputs instead of just one. You're still keeping the core concept of a tiled renderer, deferring the fragment shader until you know which fragments don't get overdrawn and genuinely need bothering with, and the core concept of MSAA, not running the same fragment's fragment shader multiple times per pixel when it's the fragment responsible for several sampling points. It's just Apple didn't prioritise MSAA as much as other GPU designers, so allowed it to have a bigger performance hit in order to optimise other things.
(11-16-2021, 05:07 PM)MayImilae Wrote: [ -> ]As for DSP LLE, you don't know what you mean by boot screen exactly. If you mean the GameCube IPL, you don't need DSP LLE for that anymore. I tried it with DSP HLE and it was just fine. Also I don't know why you couldn't get DSP LLE to work. It worked on my MacBook Pro when I tried it just now, but I was also using the dumped DSP rom from my wii instead of the reverse engineered one that Dolphin comes with.

Yeah, I've meant the IPL.

So it took my a while but I've managed to extract the two DSP .bin files from my console and put it in the folder under myuser/library/application support/dolphin/GC.

But no luck, I'm still getting a black screen on any game with DSP LLE enabled and Dolphin crashes when I stop the emulation. Meanwhile I have upgraded to build 15520. Any ideas?

On the PC the original DSP makes a difference in RL2. The frame drops now only last for just about a second and it's very playable now indeed.
To double check, I tried the GameCube IPL with DSP HLE, our backwards engineered DSP LLE, and DSP LLE with dumps from console. All of them worked perfectly fine on my M1 Max. I also tried booting a game with Skip Main Menu disabled using DSP HLE, and it was fine too. ┐(´-`)┌

My only guess is that there may be something wrong with your configuration? Well, let's test that. Go to myuser/library/application support/dolphin/config, and delete/move Dolphin.ini. Then load Dolphin, and without touching any settings, go to Tools > Load GameCube Main Menu and select the version you have (it will still be there since we didn't change the IPL files). What happens when you do that?

EDIT: For DSP LLE, I meant DSP LLE Recompiler. If you are trying DSP LLE Interpreter, don't.
(11-20-2021, 10:58 PM)MayImilae Wrote: [ -> ]Go to myuser/library/application support/dolphin/config, and delete/move Dolphin.ini. Then load Dolphin, and without touching any settings, go to Tools > Load GameCube Main Menu and select the version you have (it will still be there since we didn't change the IPL files). What happens when you do that?

I removed my .ini. If I do nothing to the settings it loads up the GC Menu with HLE. If I change the setting to LLE Recompiler it'll still load the Menu and it works. If I try to load a game though, the game window goes black and nothing happens.

EDIT: Now I've removed everything Dolphin from my Mac and started fresh with 15524 and to be extra sure I've used a fresh admin account. I'm not getting any game started with LLE Recompiler enabled. Is there anyone able to confirm this? This is really weird. Not wanting to seem stupid here, but all I do is dragging the two files from the dmg in my Applications folder to install Dolphin. This doesn't happen to be wrong? Do I need to make any security exceptions for Dolphin or anything Mac OS related? I'm clueless why you have no problems and I do.
Quote: If I try to load a game though, the game window goes black and nothing happens.

Did you disable Skip Main Menu?

Quote:but all I do is dragging the two files from the dmg in my Applications folder to install Dolphin.

Should be fine I think? Personally I don't use the applications folder though, I keep Dolphin within a folder under my user folder, but that's because I have a lot of them. You could try putting Dolphin into a folder under your user folder if you'd like.
(11-21-2021, 01:49 PM)MayImilae Wrote: [ -> ]Did you disable Skip Main Menu?
Oh, I did forget to point that out. The GC-Logo is showing up on boot, but it goes black after that and with Skip Menu it's just black.

Right now I'm trying to get my hands on a Mario Sunshine NTSC-version disc to dump it and see if it'll make a difference.

Quote:You could try putting Dolphin into a folder under your user folder if you'd like.
I'm gonna try that too, just reaching for straws here.

Also much thanks for your support so far!
Quote:Oh, I did forget to point that out. The GC-Logo is showing up on boot, but it goes black after that and with Skip Menu it's just black.

So, the GameCube IPL worked, then the game just showed black, with and without the IPL? What games have you tried exactly, and do they all exhibit this behavior?
Pages: 1 2