Tool for using the Wii U GameCube Adapter on Linux
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Daniel Perelman 99479d206d
Merge pull request #3 from ailin-nemui/master
some remappings to improve autoconfig
5 years ago
old relocate old python driver, add raw mode to C one 9 years ago
.gitignore add .gitignore 9 years ago
LICENSE Update LICENSE 9 years ago
Makefile remove lock on adapter list, only lock is in libusb event loop now 9 years ago fix README 9 years ago
SDL_GameController.txt Update config for C version 9 years ago
wii-u-gc-adapter.c Merge pull request #3 from ailin-nemui/master 5 years ago


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"