How to use the Official GameCube Controller Adapter for Wii U in Dolphin: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
No edit summary
Line 15: Line 15:
<code>sudo udevadm control --reload-rules</code>
<code>sudo udevadm control --reload-rules</code>


Then re-insert the adapter. Dolphin should now detect it in the controller settings (refer to "Dolphin setup" below).
Then re-insert the adapter. Dolphin should now detect it in the controller settings (refer to [[#Dolphin Setup]] below).


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].
Line 43: Line 43:
On Windows, the GameCube controller adapter will need a certain driver to let Dolphin detect it and use it.
On Windows, the GameCube controller adapter will need a certain driver to let Dolphin detect it and use it.


'''Notes about driver previously installed by another software'''
{| class=wikitable style="width:50%; float:right; text-align: center"
|-
|<blockquote>'''"What about GameCube USB Adapter Driver?"'''</blockquote>


The only other software that will install the driver and make use of adapter is GameCube USB Adapter Driver, along with vJoy drivers, which can treat the GameCube controllers as generic gamepads for Windows. They can be configured in Dolphin like any other controller. Unlike vJoy, Dolphin's native support will offer more straightforward and added missing supports from vJoy (i.e. force feedback), and offer better latency. vJoy and Dolphin's native support conflict with one another, so to use the native support in Dolphin, vJoy's drivers must be stopped beforehand in GameCube USB Adapter Driver's window. The GameCube USB Adapter Driver version up to v3.0 and later will use Zadig during its setup. Skip to "Dolphin setup" below if you haven't encountered any problems with it.
GameCube USB Adapter Driver, along with vJoy and '''''Zadig''''' drivers, can treat the GameCube controllers as generic gamepads for Windows. They can be configured in Dolphin like any other controller. Unlike vJoy, Dolphin's native support will offer more straightforward and added missing supports from vJoy (i.e. force feedback), and offer better latency. vJoy and Dolphin's native support conflict with one another, so to use the native support in Dolphin, vJoy's driver services must be disabled through GameCube USB Adapter Driver's window. You probably already have ran '''''Zadig''''' setup if the GameCube USB Adapter Driver version is v3.0 or later. Skip to [[#Dolphin Setup]] below if you haven't encountered any problems with it.
|}


=== Driver Installation with Zadig ===
=== Driver Installation with Zadig ===
Line 57: Line 60:
3. On the right column, select "WinUSB" then click "Replace Driver". Select "Yes" to modify the system driver.
3. On the right column, select "WinUSB" then click "Replace Driver". Select "Yes" to modify the system driver.


When it said the driver is installed successfully then you can close the Zadig setup. Please 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.


=== Problem with Zadig? ===
=== Problem with Zadig? ===

Revision as of 21:59, 29 December 2015

Official GameCube Controller Adapter for Wii U

As of 4.0-4599, Dolphin has built in support for the Nintendo GameCube controller Adapter for Wii U, the only official USB GameCube adapter available. With Dolphin's implementation, the GameCube controller is auto-configured and calibrated, with full rumble support. Wireless controllers and bongos are supported.

Although this is for the official adapter, the clones that mimic the official adapter may be eligible. For instance, if using Mayflash's GameCube Controller Adapter for Wii U and PC USB, set it to Wii U mode before following these instructions.

Installation

Linux

Linux support does not require any special drivers. However, a udev rule must be created to allow access to the device.

Paste the following in the /etc/udev/rules.d/51-gcadapter.rules file (/lib/udev/rules.d/51-gcadapter.rules if making a package):

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"

Reload udev rules with: sudo udevadm control --reload-rules

Then re-insert the adapter. Dolphin should now detect it in the controller settings (refer to #Dolphin Setup below).

If you want to change the rule, links for instructions are available on the libusb FAQ.

OS X

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.

Instead, IOKit's behavior may be manipulated via a codeless .kext to simply ignore the adapter and permit a lower-level connection (like the one Dolphin makes):

Easy Install

Installer Package

Terminal Install

Standalone Kext

sudo cp -r ~/Downloads/SmashEnabler.kext /Library/Extensions/SmashEnabler.kext
sudo chown -R root:wheel /Library/Extensions/SmashEnabler.kext
sudo touch /Library/Extensions
sudo reboot

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.

For questions on any of these OS X connection techniques, please see the forum thread.

Windows

On Windows, the GameCube controller adapter will need a certain driver to let Dolphin detect it and use it.

"What about GameCube USB Adapter Driver?"

GameCube USB Adapter Driver, along with vJoy and Zadig drivers, can treat the GameCube controllers as generic gamepads for Windows. They can be configured in Dolphin like any other controller. Unlike vJoy, Dolphin's native support will offer more straightforward and added missing supports from vJoy (i.e. force feedback), and offer better latency. vJoy and Dolphin's native support conflict with one another, so to use the native support in Dolphin, vJoy's driver services must be disabled through GameCube USB Adapter Driver's window. You probably already have ran Zadig setup if the GameCube USB Adapter Driver version is v3.0 or later. Skip to #Dolphin Setup below if you haven't encountered any problems with it.

Driver Installation with Zadig

Plug in the GameCube controller adapter if it hasn't already. Download and launch Zadig.

1. From the "Options" menu in Zadig, select "List All Devices"

2. In the pulldown menu, select "WUP-028". Ensure that its USB ID is "057E 0337".

  • If it does not appear in the list then try inserting the adapter (specifically its black USB cord) into another USB port.

3. On the right column, select "WinUSB" then click "Replace Driver". Select "Yes" to modify the system driver.

When it said the driver is installed successfully then you can close the Zadig setup and continue to #Dolphin Setup below.

Problem with Zadig?

If there is a problem in the installation process, you can complete restart Zadig by following these.

Reverting the adapter's driver back to vanilla state

  • Open Device Manager (or simply run "devmgmt.msc"), look for the "WUP-028" device which is usually under the "Universal Serial Bus devices". Open its context menu (right-click) and select Properties. Click "Uninstall" under the "Driver" tab. Check box "Delete the driver software for this device" then proceed. Then re-insert the adapter. The steps for driver installation can now be followed.

Delete temporary setup files (Fixes "Driver installation failed")

  • Kill installer_x64.exe or installer_x86.exe from the Task Manager then delete %userprofile%\usb_driver\ and run Zadig again.


Dolphin Setup

With any necessary installation complete, run Dolphin, and check Direct Connect under GameCube Adapter in the Controller Settings then restart Dolphin. Set GameCube ports to Standard Controller corresponding to each port on the adapter that is plugged in with the actual GameCube controller. The setup for the adapter is now completed. To test, simply start a game that uses GameCube controllers.

  • Bongos controller are supported. With Bongos controller 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).
  • The left slot on the adapter (while engraved "Wii U" facing up) being first port, and so on, so don't mistaken for the other way around!

Adapter Not Detected

It's worth noting that only the first instance of Dolphin Emulator will detect the adapter. Another instance will detect the secondary one if inserted, and so on. If the Dolphin Emulator couldn't detect the adapter, it's possible that you have the older one already running.

Dolphin may give false status of the adapter if Direct Connect is unchecked. Check that then restart Dolphin.

If the adapter is not detected at all, then it may be only matter of changing between the USB ports and restart Dolphin, or its driver/setup might has recently been changed/overridden. You should follow the instruction again from one of the sections for your system.