The Hyperkin Duke is a loving recreation of a controller that small-minded and small-handed fools unjustly maligned. Unfortunately it also requires potentially a bit of love to get working.
== Getting it working ==
=== {nav icon=linux, name=Linux} ===
On Linux, it tends to disconnect itself immediately, and isn't detected as an xinput controller. To resolve this, simply run:
```
sudo modprobe xpad
echo "2e24 0652" | sudo tee --append /sys/bus/usb/drivers/xpad/new_id
```
Even if already plugged in, this should instantly lead to it being properly detected and turning on; you'll see the smartwatch screen in the middle play the Xbox startup animation.
=== {nav icon=steam, name=Steam Link} ===
[[ https://www.youtube.com/watch?v=zYTMTaeB0P4&lc=UgyiLsSiSfdG0hrDp0B4AaABAg | Some rando commenting on YouTube ]] points in the right direction:
# Get SSH access to your Steam Link [[ https://github.com/ValveSoftware/steamlink-sdk#ssh-access | as per the official instructions ]] by creating the file `steamlink/config/system/enable_ssh.txt` (and **not empty!**) on a FAT32-formatted USB drive plugged into the Steam Link.
# Turn off your Steam Link. And I mean truly turn it off; the {nav icon=power-off > Would you like to turn off your Steam Link > ◉ Turn Off, } option on the Steam Link home screen secretly just puts it to sleep, you need to probably do that and then yank out the power cable.
** If it still doesn't work, make sure you
*** indeed formatted the drive FAT32,
*** it's using an MS-DOS partition table (unconfirmed if this is necessary),
*** you don't have other drives plugged in (unconfirmed if this is necessary),
*** and the text file isn't 0 bytes (unconfirmed if this is necessary),
** If you're indeed now in via SSH, you should change the root password to something better with the `passwd` command.
# Now run `echo "2e24 0652" >> /sys/bus/usb/drivers/xpad/new_id`
# Now you can plug in your Duke.
See also https://www.reddit.com/r/Steam_Link/comments/i1dii2/semipermanately_enabled_ssh_on_the_steam_link/ which mentions
> basically, `/dev/block/sda1` (if its fat32) is mounted as a overlay like so: {nav usb://steamlink/ > /mnt/config/}
----
{anchor #reviews}
== Reviews ==
Not convinced? Read some reviews!
* https://www.tomsguide.com/us/hyperkin-duke-xbox-controller,review-5374.html
* http://gametyrant.com/news/hyperkin-duke-review-the-glorious-return-of-the-king
* https://keithzg.ca/#Duke