2,287
edits
Release 2407 and 2409
Continuous releases have started! Read more on our blog: Dolphin Progress Report: Release 2407 and 2409. |
The Dolphin Emulator Wiki needs your help! Dolphin can play thousands of games, and changes are happening all the time. Help us keep up! Join in and help us make this the best resource for Dolphin. |
(Added info about the 5.0-12263 third-party adapter fix) |
m (highlight the important bit) |
||
(17 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[File:Wiiugcpadadapter.jpg|right|thumb|300px|Official GameCube Controller Adapter for Wii U|link=]] | [[File:Wiiugcpadadapter.jpg|right|thumb|300px|Official GameCube Controller Adapter for Wii U|link=]] | ||
As of {{revision|4.0-4599}}, Dolphin has built in support for | As of {{revision|4.0-4599}}, Dolphin has built in support for Nintendo's GameCube controller adapters for the Wii U and Switch, the only official USB GameCube adapters available. With Dolphin's implementation, the GameCube controller is auto-configured and calibrated, with full rumble support. Wireless controllers and bongos are supported. | ||
In addition to the official adapters, third-party adapters that are compatible with the Wii U are also supported. Such third-party adapters generally have a switch for choosing between PC mode and Wii U mode. If your adapter has a switch, you have to set it to '''Wii U mode''' before following these instructions. Official Nintendo adapters don't have a switch. | |||
= Installation = | = Installation = | ||
Line 10: | Line 8: | ||
Linux support does not require any special drivers, as long as Dolphin was built with libusb support. However, a udev rule must be created to allow access to the device. | Linux support does not require any special drivers, as long as Dolphin was built with libusb support. However, a udev rule must be created to allow access to the device. | ||
With root privileges, navigate to the location '''/etc/udev/rules.d/''' (or '''/lib/udev/rules.d/''' if making a package) and locate the file '''51-gcadapter.rules''' (if the file does not already exist, then create a new empty file with that file name). Open that file and paste the following into it: | |||
<code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"</code> | <code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"</code> | ||
Save and overwrite the existing file, then either restart your PC or reload udev rules with the following terminal command: | |||
<code>sudo udevadm control --reload-rules</code> | <code>sudo udevadm control --reload-rules</code> | ||
If you did not restart your PC, then also re-insert the adapter. Dolphin should now detect it in the controller settings (refer to [[#Dolphin Setup]] below). | |||
When using the flatpak version of Dolphin, some Linux distributions will additionally require you to specify access to all devices. This can be done with the <code>--device=all</code> command argument, e.g.: | |||
<code>/usr/bin/flatpak run --device=all --command=/app/bin/dolphin-emu-wrapper org.DolphinEmu.dolphin-emu</code>. | |||
For an alternative GUI-based method, you can install and run [https://flathub.org/apps/com.github.tchx84.Flatseal Flatseal] and then enable "All devices (e.g. webcam)" specifically for Dolphin. | |||
If you want to change the rule, links for instructions are available on the [https://github.com/libusb/libusb/wiki/FAQ#Can_I_run_libusb_applications_on_Linux_without_root_privilege libusb FAQ]. | If you want to change the rule, links for instructions are available on the [https://github.com/libusb/libusb/wiki/FAQ#Can_I_run_libusb_applications_on_Linux_without_root_privilege libusb FAQ]. | ||
== macOS == | == macOS == | ||
Due to the nature of Apple's HID implementation, ''all'' HID devices (including non-standard ones) are intercepted by IOKit's HID driver. Since the adapter does not supply a valid report descriptor, this makes the IOKit driver useless for direct communication. | Due to the nature of Apple's HID implementation, ''all'' HID devices (including non-standard ones) are intercepted by IOKit's HID driver. Since the adapter does not supply a valid report descriptor, this makes the IOKit driver useless for direct communication. Thus in order to use adapters on macOS, a driver needs to be installed that simply grabs and ''ignores'' the adapter, and permits a lower-level connection (like the one Dolphin makes). | ||
Once installed, Dolphin should be able to recognize that the adapter has been plugged in. You do not need to configure the controllers manually within Dolphin's controller settings but any controllers plugged into the adapter should work immediately. | |||
==== | === GCAdapterDriver === | ||
[https://secretkeys.io/gcadapterdriver/ GCAdapterDriver Installer Packages for macOS High Sierra (10.13.6) and later] | |||
GCAdapterDriver is an open source project for enabling adapter usage under macOS. This method does not require disabling System Integrity Protection (SIP). | |||
=== SmashEnabler === | |||
Older versions of macOS can be supported by installing SmashEnabler. | |||
==== macOS El Capitan (10.11+) ==== | |||
[https://forums.dolphin-emu.org/attachment.php?aid=16638 Installer package for macOS El Capitan (10.11) and later] | [https://forums.dolphin-emu.org/attachment.php?aid=16638 Installer package for macOS El Capitan (10.11) and later] | ||
[https://forums.dolphin-emu.org/attachment.php?aid=16637 Standalone kext for macOS El Capitan (10.11) and later] | |||
===== System Integrity Protection (SIP) ===== | |||
On El Capitan (10.11) and later, the unsigned Kernel Extension will fail to load. | |||
The only workaround is to disable kernel-extension signing verification, which can be done in macOS Recovery Mode. | |||
This will lessen security, and is not recommended. | |||
<pre> | |||
csrutil enable --without kext | |||
</pre> | |||
See this [http://apple.stackexchange.com/questions/208478/how-do-i-disable-system-integrity-protection-sip-aka-rootless-on-os-x-10-11 StackExchange thread] for more details. | |||
==== Older versions of macOS ==== | |||
[https://forums.dolphin-emu.org/attachment.php?aid=13495 Installer package for older versions of macOS] | [https://forums.dolphin-emu.org/attachment.php?aid=13495 Installer package for older versions of macOS] | ||
[https://forums.dolphin-emu.org/attachment.php?aid=13485 Standalone kext for older versions of macOS] | |||
==== Terminal Install ==== | ==== Terminal Install ==== | ||
Installing the SmashEnabler standalone kexts must be done via Terminal. | |||
<pre> | <pre> | ||
Line 43: | Line 72: | ||
</pre> | </pre> | ||
For questions on any of these macOS installation techniques, please see the [https://forums.dolphin-emu.org/Thread-os-x-gcn-adapter-kext-testers-wanted forum thread]. | |||
For questions on any of these macOS | |||
== Windows == | == Windows == | ||
On Windows, the GameCube controller adapter will need a | On Windows, the GameCube controller adapter will need a custom driver to let Dolphin detect it and use it, Zadig can help you with it. From {{revision|5.0-2472}} to {{revision|5.0-10617}} it was possible to alternatively use UsbDk, but it is no longer supported in current versions. | ||
=== Avoid vJoy === | === Avoid vJoy === | ||
Line 64: | Line 81: | ||
=== Using Zadig === | === Using Zadig === | ||
Plug in the GameCube controller adapter if it hasn't been already. Download and launch [ | Plug in the GameCube controller adapter if it hasn't been already. Download and launch [https://github.com/pbatard/libwdi/releases Zadig]. If you're using the a third party adapter, like the one from Mayflash, make sure you switch it to "Wii U" or "Switch" mode or Zadig won't pick it up properly. | ||
# From the "Options" menu in Zadig, select "List All Devices" | |||
# In the pulldown menu, select "WUP-028". Ensure that its USB ID is "057E 0337".</br>* If it does not appear in the list then try inserting the adapter (specifically its black USB cord) into another USB port. | |||
# On the right column, select "WinUSB" then click "Replace Driver". Select "Yes" to modify the system driver. | |||
* If it does not appear in the list then try inserting the adapter (specifically its black USB cord) into another USB port. | |||
When it said the driver is installed successfully then you can close the Zadig setup and continue to [[#Dolphin Setup]] below. | When it said the driver is installed successfully then you can close the Zadig setup and continue to [[#Dolphin Setup]] below. | ||
Line 100: | Line 114: | ||
* DK Bongo controllers are supported. With DK Bongo controllers plugged in, select "TaruKonga (Bongos)" in the Controller Settings. | * DK Bongo controllers are supported. With DK Bongo controllers plugged in, select "TaruKonga (Bongos)" in the Controller Settings. | ||
* Dolphin supports hot-plug, so the pads can be unplugged and plugged into other ports. If a pad is unplugged from the adapter, Dolphin will use what is configured (PC keyboard/mouse, PC gamepad etc). | * Dolphin supports hot-plug, so the pads can be unplugged and plugged into other ports. If a pad is unplugged from the adapter, Dolphin will use what is configured (PC keyboard/mouse, PC gamepad etc). | ||
* Dolphin might not show the correct status of the adapter if '''Direct Connect''' is unchecked. If you are having this problem, check that then restart Dolphin. | |||
=== Dolphin 4.0-8601 and Newer === | === Dolphin 4.0-8601 and Newer === | ||
With any necessary installation complete, run Dolphin and click the GameCube controller dropdown. Select GameCube Adapter for Wii U on any slot that you wish to use the adapter for. Hitting Configure when this is selected allows you to turn rumble off/on per controller, as well as a toggle for using the DK Bongos. | With any necessary installation complete, run Dolphin and click the GameCube controller dropdown. Select GameCube Adapter for Wii U on any slot that you wish to use the adapter for. Hitting Configure when this is selected allows you to turn rumble off/on per controller, as well as a toggle for using the DK Bongos. | ||
=== Adapter Not Detected === | === Adapter Not Detected === | ||
It's worth noting that only the first instance of Dolphin Emulator will detect the adapter. Another instance will detect the second adapter if inserted, and so on. If the Dolphin Emulator couldn't detect the adapter, it's possible that you already have another one running. | It's worth noting that only the first instance of Dolphin Emulator will detect the adapter. Another instance will detect the second adapter if inserted, and so on. If the Dolphin Emulator couldn't detect the adapter, it's possible that you already have another one running. | ||
If the adapter is successfully detected when no game is running but flickers between detected and not detected when a game is running, update to {{revision|5.0-12263}} or later. | If the adapter is successfully detected when no game is running but flickers between detected and not detected when a game is running, update to {{revision|5.0-12263}} or later. |
edits