Mirroring Beta for Patrons

How to get started mirroring

Jas Laferriere
project-slippi
9 min readJan 23, 2019

--

Patreon: https://www.patreon.com/fizzi36
Discord:
https://discord.gg/pPfEaW5
Twitter:
https://twitter.com/Fizzi36

Update (7/13/21)

This blog post is severely out of date at this point. Please read this guide instead if you’re trying to set up mirroring yourself.

Update (3/10/19)

Mirroring is now out of early-release and available as a feature to everyone. Head over to https://slippi.gg/downloads to download the latest versions of Nintendont and the desktop app.

Mirroring

Wow has it already been over half a year since my original blog post? After loads of research, investigation, countless hours of work, and some amazing help, the feature I was dreaming of in my original post is finally ready for a limited beta release.

That fabled feature is called console to Dolphin mirroring. In more verbose terms — a game played on console can have its gameplay mirrored, real-time, to a computer running Dolphin. This allows for ultra high quality streaming of console gameplay, all with no additional hardware required! No capture card, no hardware memory card, just some optional networking equipment for a lower delay experience.

Mirroring demo. Capture card output in the bottom right.

Patreon

I believe this project has a ton of potential. To try and really do it justice, I recently switched to part time at my job at smash.gg. I decided to launch a Patreon to give people a method of supporting the work that has been done as well as helping to fund future work. Please visit my Patreon at https://www.patreon.com/fizzi36, read the description, and if you would like to support and feel you can afford it, the contribution would be greatly appreciated.

That said, I haven’t been in this alone. UnclePunch and metaconstruct have been absolutely amazing resources and have contributed a ton to the project for months now. UnclePunch has his own Patreon on which you can directly support him, but also I intend on sharing a portion of the first few months of my Patreon with both of them because without them, the project would not be where it is today.

As the title suggests, I’m making mirroring beta available for Tier 1 and up subscribers to my Patreon, the full release will be free for everyone. If you can’t afford or are not interested in becoming a Patron, you can still use all of the Dolphin functionality and stats breakdowns right now, head to the Discord to find out how.

The post will now continue with a Usage Instructions section to explain how to use the software. If you don’t care about that but are interested in the future plans of the project, scroll to the bottom!

Usage Instructions

A link to a download file and a password will be provided both in the Patron-only discord channel as well as on the Patreon page itself. The first step is to download the 7zip file for your operating system and extract it.

Nintendont — SD Card

Once you have extracted the file, you should see a folder called “Nintendont r2”, open it.

Contents of Nintendont r2 folder

See how there’s a readme.txt in there? It might be a good idea to read that now. There’s some disclaimers in there about how things might catastrophically fail and you probably want to be warned.

The instructions are in the readme file as well but you’ll want to start by opening the SD folder and copying the contents of that folder to the root of your SD card. That should leave you with the following folders in your SD card:

sd:/codes/GALE01.gct -> these are the mods required for Slippi to work, there are other ways to install Nintendont codes I believe but this is the one I use, make sure you don’t overwrite the codes with another Melee gct file elsewhere.

sd:/apps/Nintendont Slippi/… -> the 4 files in this directory are the Nintendont app you’ll want to boot. It’s the Nintendont logo with a frog on it.

You’ll then need to move your Melee 1.02 iso to the SD card

sd:/games/GALE01/game.iso -> this must be a Melee 1.02 iso

Network Connection

If your Wii’s network connection isn’t set up, you’ll need to find a Wii mote (ugh), probably buy batteries for it (-_-), and then navigate to your main Wii settings (the worst), to set it up. If you have a USB Ethernet adapter, it is highly recommended you use that as the connection will be much more stable and closer to real-time. It may also help to get a simple network switch such as this one to avoid having to route two long Ethernet cables from your router.

Once you have set up your network, open Homebrew Channel.

Finding your IP address

If your network is detected, homebrew channel will highlight the WiFi symbol in the bottom right. If this is the case you should be able to press start on your GameCube controller to see the IP address of the Wii in the top left. Write this down (or trust your memory) because you will need this later.

Once you have your Wii’s IP address, open Slippi Nintendont.

Nintendont—Configuration

Once booted into Nintendont, press A to select “SD”. I have only tested booting Melee from SD card though it might be possible to load from USB if you disable replays on USB. I recommend asking in the discord if you want to try that.

Nintendont configuration

On the game selection screen, hover over your Melee ISO and press B to enter settings. The important settings to worry about are to turn Cheats on, turn Log off, and turn Native Control on. Or if you want to be safe, just copy my settings exactly.

Here is an explanation of the Slippi settings:

  1. Slippi Networking: Turning this on will make it possible to connect to the Wii from your computer. If you don’t care about this, you can turn it off (but since this guide is about mirroring, I suggest you leave it on if you’re following along or you’ll have a bad time)
  2. Slippi USB: Turning this on will cause replay files to be written to your USB drive. It doesn’t matter which port the drive is in. If you don’t care about saving replays to USB, turn this off
  3. Slippi in Port A: This option is really only for me when I’m debugging. Keep it set to No

After everything is configured, press B to save your settings and then press A to boot the game!

Desktop App — Installation

Contents of DesktopApp 1.2.0 folder

Inside the other folder that came inside the 7z file will be an installer for the desktop app or the app itself (depending on your OS). Install the app and boot it.

Desktop App—Setup

Desktop App configuration

Enter the settings screen to set up the app. Browse for your Melee ISO and configure the path where you expect to store replay files. Click Save.

Dolphin — Configuration

After you’ve saved your app settings, click on the Configure Dolphin button at the bottom to launch the Dolphin instance bundled with the app for configuration.

Note for Linux users: Unfortunately there is no AppImage for Dolphin. That means we can’t bundle Dolphin with your app and you’ll have build it yourself. Ask in the Discord for help with this.

Graphics set up

It is important that you set up your Graphics Backend here. For my computer I use Direct3D 11 and then the default adapter which is my video card. Feel free to configure any other Dolphin graphics setting you like. V-Sync may be worth turning on if you notice a lot of screen tearing.

This part is optional but if you want to configure some optional Gecko Codes, you can continue with this configuration. Back on the main Dolphin screen, double click the blank window and browse for the folder containing your Melee ISO (again).

Optional code configuration

Here you can toggle on one of the game music codes, widescreen, or disable screen shake. If you’re not interested in changing any of these, then there’s no need to do anything. Make sure you leave all the other enabled codes on!

And that’s it! Dolphin is configured, you can now close it.

Let’s Mirror!

We’re finally ready to go! Go back to the main screen on the desktop app and enter the “Stream from Console” screen. Here you can add a connection. Do you remember your IP address from before? Insert it into the IP Address field. The Target Folder field is where replays will get saved to as they are received from your console. A good option to use here is the folder you set up as your Slippi replay directory in settings or a sub-folder inside that folder. I recommend copy and pasting the path because let’s be real, typing it is a pain and the likelihood of a mistake is high.

Adding a connection

Assuming you left your console running from before, you should be able to just hit Connect now and it should work. You will know it worked if you see the Status field change from Disconnected to Connected.

Once connected, you can hit Mirror. It should boot Melee into a “Waiting for game…” screen.

If you see this, you should be golden

From here just start playing on your console and the games should automatically mirror onto your computer!

Looking at your stats

If you are writing to a folder inside the one you set up in the desktop app settings, after you complete a game you can head to the replay browser on the desktop app (this won’t break your connection). From there you can re-watch the game you just played or browse the stats. All of that data is available on your computer immediately after the game is over!

Looking at the stats for a game that was just played!

Future Plans

Let’s use bullet points, shall we?

  1. Write a technical blog post about the challenges, hurdles, and solutions encountered while building mirroring. It was a hell of a road and I think many people will find it quite interesting. Frankly the point we are at now marks the end of the biggest “unknowns” with regards to the project. It was possible to fetch lots of game data with no additional hardware! There’s much more to do but I know it’s all possible now.
  2. Implement seek functionality when watching replays. Right now the big thing videos have on replays is that it’s easy to jump around to watch things over again. Making that possible with replays is the next big feature that will be worked on.
  3. Prepare for public release. This includes content, polish, and a variety of other things.

There are some more long term plans with regards to cataloging tournaments to a degree never before seen… but I don’t want to spoil too much yet. What’s life without a few surprises?

Closing

I hope you enjoy using the software! If you have any questions, concerns, problems, feedback, etc please please drop into the Discord and let us know. This is by no means the final version of this product and there are tons of ways we can improve it. We are dedicated to making this a tool that everyone wants to use.

Thanks so much for reading and see you next time!

--

--