Skip to content
Tool for using the Wii U GameCube Adapter on Linux
Branch: master
Clone or download
ToadKing Merge pull request #25 from Emill/master
Fixed write if less than all pending bytes were written in one operation
Latest commit 1030fee Feb 4, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
old relocate old python driver, add raw mode to C one Dec 3, 2014
.gitignore add .gitignore Dec 1, 2014
LICENSE Update LICENSE Nov 26, 2014
Makefile remove lock on adapter list, only lock is in libusb event loop now Dec 9, 2014
SDL_GameController.txt Update config for C version Dec 6, 2014


Tool for using the Wii U GameCube Adapter on Linux


  • libudev
  • libusb(x) >= 1.0.16


Just run make. That's all there is to it!


Simply run the program. You'll probably have to run it as root in order to grab the USB device from the kernel and use the uinput interface. Both of these can be worked around with udev rules, which I'm currently too lazy to add at the moment. To stop the program just kill it in any way you want.

Seperate virtual controllers are created for each one plugged into the adapter and hotplugging (both controllers and adapters) is supported.


  • It's new, so there might be bugs! Please report them!
  • The uinput kernel module is required. If it's not autoloaded, you should do so with modprobe uinput
  • Input ranges on the sticks/analog triggers are scaled to try to match the physical ranges of the controls. To remove this scaling run the program with the --raw flag.
  • If all your controllers start messing with the mouse cursor, you can fix them with this xorg.conf rule. (You can place it in a file in xorg.conf.d)
Section "InputClass"
        Identifier "Wii U GameCube Adapter Blacklist"
        MatchProduct "Wii U GameCube Adapter Port "
        Option "Ignore" "on"
You can’t perform that action at this time.