diddlesnaps / supertuxkart

MIT License
11 stars 6 forks source link

Wiimotes #6

Closed ozdreamern closed 4 years ago

ozdreamern commented 5 years ago

(initially posted as a comment to closed issue #2).

I've tried to configure STK to use a Wiimote without success: none of mine ever successfully pair, and my guess is this fails because the snap doesn't have permission to access bluetooth devices.

STK handles this controller type via the wiiuse library, which in turn depends on kernel bluetooth support and the BlueZ drivers (both are enabled on my Ubuntu 18.04 system, I use several BT devices). When STK is run with logging enabled, this is what I see:

wiiuse v0.15.4 loaded. De-facto official fork at http://github.com/wiiuse/wiiuse Original By: Michael Laforest <thepara[at]gmail{dot}com> https://sourceforge.net/projects/wiiuse/ [INFO] wiiuse clean up... hci_get_route: Permission denied

I wonder if this could be resolved by plugging into the bluetooth-control and/or bluez interfaces?

Originally posted by @ozdreamern in https://github.com/diddlesnaps/supertuxkart/issues/2#issuecomment-492069242

lucyllewy commented 5 years ago

I've added the bluez interface. Could you try connecting it with sudo snap connect supertuxkart:bluez to see if it enables your wiimote to work?

ozdreamern commented 5 years ago

Thanks for doing this. I connected STK to the bluez interface slot, but the wiimote connection process still fails instantly (same permission error seen above).

For comparison, when I run the binary package downloaded from supertuxkart.net/sourceforge, this is the debug log output:

wiiuse v0.15.4 loaded. De-facto official fork at http://github.com/wiiuse/wiiuse Original By: Michael Laforest <thepara[at]gmail{dot}com> https://sourceforge.net/projects/wiiuse/ [INFO] wiiuse clean up... [INFO] Found 1 bluetooth device(s). [INFO] Found wiimote (type: (regular wiimote)) (00:23:31:xx:xx:xx) [id 1]. [INFO] Connected to wiimote [id 1]. [INFO] wiiuse clean up...

qwertychouskie commented 4 years ago

I just tested this with the edge channel (1.1), sudo snap connect supertuxkart:bluez didn't fix it, but after running sudo snap connect supertuxkart:bluetooth-control my Wiimote was able to connect. It'd be nice to see this fix and the fix for #9 before 1.1 hits the stable channel.

lucyllewy commented 4 years ago

If you disconnect bluez but keep bluetooth-control does it still work? (I'm hoping we can narrow it to a single interface for requesting automatic connection)

qwertychouskie commented 4 years ago

Apologies for the late reply, but indeed connecting still works after running snap disconnect supertuxkart:bluez.

lucyllewy commented 4 years ago

Thanks, that means I can remove bluez to prevent confusion over the similar sounding bluetooth-control.

lucyllewy commented 4 years ago

I think this can be closed now. The required interfaces are defined, and just need a manual connect of bluetooth-control.