Wiimotes on retropie 4?
-
I just got my Pi 3 a week ago and have been trying to get them running with retropie using Method 1 from the wiki as well. I'm working with the retropie 4.1 image from the website flashed to my microsd. I'm using a Wiimote with motion plus (the newer style wiimote).
I've tried using the google translate instructions from this german website (http://www.retro-programming.de/retro-welt-2/hardware/raspberry-pi-als-emulator-retropie/retropie-controller-einrichten/retropie-bluetooth-controller/retropie-wiimote-bluetooth/) where he is using 4.1 but again no luck. I thought this method would work because it uses the Pi 3 onboard bluetooth instead of a bluetooth dongle and it's specifically for Retropie 4.1. No joy though, emulationstation never recognizes the wiimote when I reboot.
The wiiu pro controller install from the wiki taught me how to access bluetoothctl from the terminal and how to discover, connect and pair a bluetooth controller. I did this for my wiimote and it "worked" in emulationstation but only as a keyboard - this meant the Dpad worked for Up/Down/Left/Right but none of the button inputs worked.
How has upgrading to the newest version of bluez helped you?
I will try that next, I was thinking maybe there was some issue with the Bluez that comes on the image (version 5.23). -
@BrunoBronosky I updated to bluez 5.43 as per the new instructions on the wiimote pairing wiki article and now my pi3's onboard bluetooth device is no longer recognized. Not a big deal, ive reinstalled 5.23 but was there s a step I missed that brings up the onboard bluetooth w/5.43?
-
Keep in mind that I'm completely new to Linux.
Instead of editing
/etc/profile.d/10-emulationstation.shI added the suggested line to the beginning of
/etc/profile.d/10-retropie.shThis succeeded in causing the pairing process to begin immediately after the Retropie splash screen.
I get:
hcitool: no process found
Bluetooth detected, starting scan with 30s timeout...However, I still haven't successfully paired a controller. When I press 1+2 to pair the wiimote I get:
Unable to open uinputIf I don't press anything during the 30s scan I don't get any errors, the EmulationStation splash screen comes up, and no controllers are present.
-
@mrdrew
Update:The Method 2 (MoltenGamepad) works quite well. I suggest giving that method a shot if you haven't already. The only drawback (and it is a fairly big one) is that the remote won't pair on startup. There may be a script floating around to allow for this, but I haven't found one yet. Also, you need to use RetroArch to configure the inputs (the EmulationStation auto configure worked in the menu, but not once a game was launched).
-
@nondiatonic said in Wiimotes on retropie 4?:
@mrdrew
Update:The Method 2 (MoltenGamepad) works quite well. I suggest giving that method a shot if you haven't already. The only drawback (and it is a fairly big one) is that the remote won't pair on startup. There may be a script floating around to allow for this, but I haven't found one yet. Also, you need to use RetroArch to configure the inputs (the EmulationStation auto configure worked in the menu, but not once a game was launched).
All accomplishments go to Bruno Bronosky. I wrote him this mail a few days ago:
Hi Bruno,
thank you for your hints here:
https://github.com/retropie/retropie-setup/wiki/Wiimotes-with-classic-controllersIn the last part of Method 2 (Molten Gamepad) you wrote:
I couldn't quite get mine to pair from a cold boot. Currently I still have to use the bluetoothctl connect command to pair my wiimotes attached to Classic Controlers and then manually start emulationstation from the terminal for the pairing to work. Your experience may vary however.
The solution was quite easy and is stolen from method 1. I created a script /home/pi/bin/attachwii.sh and added it afterwards to /etc/rc.local right above the exit 0 with the line:
/home/pi/bin/attachwii.sh &
and made it executable with
chmod 775 /home/pi/bin/attachwii.sh
I've attached you this script, which looks close to yours in method1, but modified it a bit. The essential part is:
echo -e 'connect '${id}'\nquit' | bluetoothctl
which starts bluetoothctl and connects all paired and trusted wiimotes. For convienence, I added the script also to /home/pi/RetroPie/roms/ports/ to start it right from Ports within emulationstation if needed.
I use the sounds from here: https://github.com/elad661/sound-theme-hedgehog/tree/master/stereo and btw. your manual for method2 is missing the step to install vorbis-tools in order to play the sounds.
Now you can connect your wiimotes during startup of emulationstation and via ports menu.
The wiimotes can also be trusted and paired via RetroPie->Bluetooth menu, but are throwing a failure. But afterwards connecting to these wiimotes work for me (may need a few tries).
Best regards,
Cliffordedit: here's the script:
https://paste.ubuntu.com/23595337/ -
Accomplishments most certainly don't go to me. I only edited that page. I did not author it. I have had no success.
I would like to get some clarity from people who are having success. There is a difference between controllers for the old Wii and ones for the newer Wii U. I describe this in my post https://retropie.org.uk/forum/post/36510
I have heard absolutely no evidence (mostly due to ambiguity) that anyone has ever used a modern Wii U controller with RetroPie. Please do an
hcitool scan
and tell me if you are using aNintendo RVL-CNT-01
or aNintendo RVL-CNT-01-TR
. -
"The Method 2 (MoltenGamepad) works quite well" with what controller?
I have heard absolutely no evidence (mostly due to ambiguity) that anyone has ever used a modern Wii U controller with RetroPie. Please do anhcitool scan
and tell me if you are using aNintendo RVL-CNT-01
or aNintendo RVL-CNT-01-TR
. -
All Wiimotes are old ones:
[NEW] Device 00:19:1D:XX:XX:6A Nintendo RVL-CNT-01
[NEW] Device 00:19:1D:XX:XX:C1 Nintendo RVL-CNT-01
[NEW] Device 00:19:1D:XX:XX:1C Nintendo RVL-CNT-01 -
Old Wiimote with Classic Controller attached: Nintendo RVL-CNT-01
I'm going to insert your script now. I'll report back with the results. Thanks for sharing!
-
Just as a hint. Don't forget to push buttons 1 + 2 while the script runs.
-
Both the script running at start up and from Ports worked beautifully!
Initially, I kept trying to press 1+2 at different times during start up without any luck, so I commented out
rebootWithoutWiimotes=0 /home/pi/bin/attachwii.sh
from/etc/profile.d/10-retropie.sh
that I added from Method 1. That seemed to do the trick (or maybe I just got the timing right...).Also, there is no
fail.oga
in the link for the sounds you sent, so I DL'dsuspend-error.oga
instead and edited the script accordingly.Thanks again to @BrunoBronosky and @cliff25 for all the help!
-
@nondiatonic said in Wiimotes on retropie 4?:
Both the script running at start up and from Ports worked beautifully!
That's nice to hear.
I tried once to trust, pair and connect within the script, but it didn't work out for me. I'm pretty sure with some waiting time everything is possible but I may prolong the booting time.
So I'm thinking to split that off in two scripts "Pair Wiimote" and "Connect Wiimote" with only connecting during startup and pairing (and or connecting) available via ports. Renaming would also avoid conflicts if someone used method 1 before.
Also, controls are mapped to the players with first come first serve. If you are using wiimotes with/without nunchuks and classic controllers in the mix, take care to connect them in the correct order. If needed connect only one controller at time and run the script for the next one again and so on.
I will refine the script and post some better instructions here as soon as it's finished. Hopefully, someone who is more capable with linux has some better ideas and can post it here :-)
-
Hi @BrunoBronosky ,
Thanks for your guide, I've followed it (method 1 with option B) , and I have two wiimotes working, but with problems. I have a Raspberry Pi 3 with old wiimotes (Nintendo RVL-CNT-01). I haven't used the nunchuk or the classic remote. RetroPie version is 4.1 with system updated as of yesterday:-
There seems to be a conflict with wifi. I don't know if it is hardware, firmware or wminput, but if I turn off the wiimote the wifi starts to lose almost all packets, and scanning for new SSIDs doesn't work either. I suppose it has to do with https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=145423 , but I'm not sure.
-
I can't exit games. Even if I change input_enable_hotkey_btn in NintendoWiimote.cfg, the hotkey is always the home button, and even if other hotkeys like reset work, exit game doesn't work, no matter what changes I make to that file.Fixed. See below. -
I can exit games only with one wiimote. If I connect both wiimotes I can exit with the second one (this is ok). If I connect the first one I can exit games with it (ok). But if I only connect the second one (and they are identical, I don't know which one will I use), I can't exit games.
-
The wiimote doesn't work in some emulators, like MAME4all. If I copy the ROM to MAME-libretro it works. I suppose it is because MAME4all doesn't use RetroArch. How can I configure these emulators to work with the wiimote?
Any suggestions? should I insist with this method or should I switch to MoltenGamepad? Is there a way to install it without having to compile it?
Thank you all!Edit:
To make exit game work:
I hadn't followed the instructions correctly. The 3rd known issue is the one to pay attention, even if all the controls except the exit game work.
Basically after you follow all the steps, you have to note down the contents of NintendoWiimote.cfg, edit again /opt/retropie/emulators/retroarch/retroarch.cfg and make the numbers there the same as in NintendoWiimote.cfg. There are some codes in retroarch.cfg for which I don't have a corresponding code in NintendoWiimote.cfg (like for example, input_player1_l_btn), I suppose because I don't use nunchucks or classic controllers. I just left their value as "" instead of any number and everything works ok. Then you have to edit /opt/retropie/configs/all/retroarch.cfg again and do the same. -
-
I just followed the MotlenGamepad method (after not being able to get the first method to work) using a new WiiU remote with a classic controller and it works perfectly.
[NEW] Device B8:AE:6E:B4:9B:A8 Nintendo RVL-CNT-01-TR
[CHG] Device B8:AE:6E:B4:9B:A8 Connected: yesThis thread saved me a lot of frustration. Thanks.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.