tl;dr: With the controller off, hold L+R and connect it via USB. This is
different from other controllers, where you hold L(1)+R(1)+Start then connect
it over USB after a red LED is shown.
In order to update the 8BitDo 64 controller from Linux, you first need to place
it into its DFU mode, booting it into its bootloader. For most 8BitDo
controllers, it’s said to hold L(1)+R(1)+Start for 3 seconds, wait for the red
LED to be shown, then connect over USB. That does not seem to work with the
8BitDo 64. However following the FAQ on their “Ultimate Software V2”
page:
What should I do if my device is not recognized?
[…]
- 8BitDo Ultimate 2C Bluetooth Controller: Ensure the controller is turned off, press and hold the L1 + R1 buttons and connect via USB.
While this is for a different controller, this works on the 8BitDo 64 as well:
press L+R while the controller is off and connect it over USB while keeping
the buttons held. If the controller is not off, you can hold down the Start
button for several seconds until it turns off.
Unfortunately I figured that out after I dusted off a Windows machine, so I
haven’t tried a full update from Linux yet, but I expect it will work once
that’s done. I expect I’ll use franfermon/8bitdo_update the
next time I need to update a controller, although I can’t comment on its
efficacy as I’ve only updated with the official software.