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

→‎macOS: Updated instructions for using Gamecube controller adapters in macOS, includes a modern method that avoids needing to disable System Integrity Protection.
(Removed all info about 4.0-8593 and older from sections that aren't specifically about it. Nobody uses those versions anymore)
(→‎macOS: Updated instructions for using Gamecube controller adapters in macOS, includes a modern method that avoids needing to disable System Integrity Protection.)
Line 22: Line 22:


== 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).


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):
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.


==== Easy Install ====
==== 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 ====
[https://forums.dolphin-emu.org/attachment.php?aid=16637 Standalone kext for macOS El Capitan (10.11) and later]
Installing the SmashEnabler standalone kexts must be done via Terminal.
 
[https://forums.dolphin-emu.org/attachment.php?aid=13485 Standalone kext for older versions of macOS]


<pre>
<pre>
Line 43: Line 64:
</pre>
</pre>


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 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 connection techniques, please see the [https://forums.dolphin-emu.org/Thread-os-x-gcn-adapter-kext-testers-wanted forum thread].
 
==== macOS with System Integrity Protection (SIP) ====
On El Capitan (10.11) and later, the unsigned Kernel Extension will fail to load.
The only current 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.


== Windows ==
== Windows ==