USB Passthrough: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
m (fix an incomplete sentence, make the wording sound a bit better (in my opinion))
Line 84: Line 84:
Linux support does not require any special drivers. However, a udev rule must be created to allow access to the devices.  Note, the Vender ID and Product ID SHOULD be verified from the device itself before creating the rule.
Linux support does not require any special drivers. However, a udev rule must be created to allow access to the devices.  Note, the Vender ID and Product ID SHOULD be verified from the device itself before creating the rule.


Paste the following in the '''/etc/udev/rules.d/52-dolphin.rules''' file (/lib/udev/rules.d/52-dolphin.rules if making a package):
Paste the following into your '''/etc/udev/rules.d/52-dolphin.rules''' file (/lib/udev/rules.d/52-dolphin.rules if making a package):


<code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"</code>
<code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"</code>
Line 93: Line 93:
<code>sudo udevadm control --reload-rules</code>
<code>sudo udevadm control --reload-rules</code>


Then reinsert the accessory. When the game is booted it should be able to access the accessory as if it were plugged into a Wii.
Now, reinsert the accessory. When the game is booted it should be able to access the accessory as if it were plugged into a Wii.


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 102: Line 102:
1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.


2. Look through the devices and find the devic
2. Look through your devices and find the device you want to passthrough.


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

Revision as of 06:29, 14 December 2016

Since 4.0.2, Dolphin has the ability to passthrough USB HID devices designed for use with Wii software. This gives emulated Wii software full control of a hardware device connected to your PC. This is very useful for devices not currently emulated by Dolphin and games that highly depend on extra hardware.

List of Devices and IDs

Device VID PID Type Compatibility
Disney Infinity Reader (Portal Device) 0E6F 0129 HID Supported
EA Active NFL Training Camp Dongle 21A4 AC40 HID Supported
Logitech Vantage USB Microphone 046D 0A03 OH0/VEN Not Supported
Harmonix Guitar Controller for Nintendo Wii 1BAD 0004 HID Supported
Rock Band 3 Mustang Guitar Dongle 3430 HID Supported
Rock Band Drum Set 3110 HID Supported
Skylanders Giants Portal 1430 0150 HID Supported
Skylanders Swap Force Portal HID Supported
Skylanders Wireless Receiver for Wii HID Supported
Tony Hawk Ride Skateboard 0100 HID Supported
Wii Speak Module 057E 0308 OH0 Not Supported
YourShape Camera 030A VEN Not Supported
Internal Bluetooth dongle 0305 OH1 See Bluetooth Passthrough

Dolphin is currently unable to use any USB device which is not a HID (Human Interface Device).

Setting up

Linux

Linux support does not require any special drivers. However, a udev rule must be created to allow access to the devices. Note, the Vender ID and Product ID SHOULD be verified from the device itself before creating the rule.

Paste the following into your /etc/udev/rules.d/52-dolphin.rules file (/lib/udev/rules.d/52-dolphin.rules if making a package):

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"

Replace the XXXX with the appropriate Vendor and Product IDs.

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

Now, reinsert the accessory. When the game is booted it should be able to access the accessory as if it were plugged into a Wii.

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

Windows

Download and open Zadig, then:

1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.

2. Look through your devices and find the device you want to passthrough.

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

The game will then be able to detect the device on next boot.

macOS

While this can be done in macOS, there is currently no easy to use guide for it. A modified variant of the Native GameCube Adapter for Wii U guide should work, but what needs to be changed is not immediately apparent.

Android

This feature is not supported on Android.