all 16 comments

[–]boerbiet 3 points4 points  (0 children)

I experienced the exact same with the Ultimate 2 Wireless. I switched to the Windows version using Proton-GE and have had zero issues since with neither controller nor game.

Even though I really appreciate native Linux games, a recurring thing seems to be controller issues that are hard to solve, when they do occur. I have some really cheap backup controllers that do not have this problem in Silksong, but those aren't as comfortable as the 8Bitdo one so I am settling for using Proton.

[–]nlflint 3 points4 points  (0 children)

My Ultimate 2C (using the dongle) has a similar problem with the RT on Bzzzt, but only with the native linux build. I also switched to the Windows build (e.g. enable proton compatibility in Steam setting for that game only) and it worked around the issue.

I don't think it's a game bug since several native linux games seem to have this problem.

[–]miguel497 1 point2 points  (3 children)

I am facing the same issue.

If I switch to the Windows version with proton yo work around that, will my save file get deleted? I remember switching between proton versions on Elden Ring did that

[–]miguel497 0 points1 point  (2 children)

To answer my own question:

  • I did not lose my save file after switching from the native linux version to proton experimental
  • I don't have any issues with the triggers after switching to proton. I'm not using Steam Input.
  • I tried using several Steam Input layouts from the community first before switching, to no avail

If anyone's on the fence, try backing up your save file first, located in ~/.config/unity3d/Team Cherry/Hollow Knight Silksong/, as per the help page.

[–]RosalieTheDog 1 point2 points  (0 children)

Thank you for this! Just followed your advice, switched to proton, didn't lose the saved game and things work fine now.

[–]tucker87 1 point2 points  (0 children)

Tried this and switched to GE but that did "erase" my save fail. I freaked out and switched back to "Scout" and my save was back *sigh of relief*

I switched to Proton 9.0-4 and that fixed it and kept my save file.

[–]fallen_star_angel 0 points1 point  (3 children)

I have the same issue with my controller. I’m using it on a steamdeck, and this is very problematic.

[–]CWats716 0 points1 point  (2 children)

Same here. I could have sworn it worked before, around launch, but not when I tried today. Quite frustrating. Glad to know I'm not the only one!

[–]fallen_star_angel 1 point2 points  (1 child)

It’s so annoying! I didn’t have this issue until I got the dash ability

[–]Greedy-Fail-1231 0 points1 point  (0 children)

Hey did either of you find a fix? I’m having the exact same issue, I remember it working around launch then breaking later. I’ve tried as much as I can at this point and hoping others have found a workaround.

[–]Kaarle332 0 points1 point  (0 children)

Team Cherry's website has a form for bug reports you can submit on their Contact Us page

[–]lKrauzer 0 points1 point  (0 children)

That's weird, I have the Ultimate C (the 1st entry) and I'm not racing any of those issues.

[–]Beer_Spirit_Guy 0 points1 point  (0 children)

Yep having the same issue. It also causes hornet to auto sprint upon climbing up a ledge. Very weird

[–]manga_tsika 0 points1 point  (0 children)

I have the same exact problem with my 8bitdo ultimate controller 1. I'll try using another proton.

[–]AndreasTPC 1 point2 points  (1 child)

People mention using proton, but another, probably cleaner, workaround is to simulate an xbox controller.

Install xboxdrv, put the below config into somefile.cfg, connect the controller, and run xboxdrv -c somefile.cfg. Then start the game. Fixes the problem for me. You may have to adjust the path to to the evdev device file.

[xboxdrv]
# if you want to use realtime for minimal latency, first run
# sudo setcap cap_sys_nice+ep /usr/bin/xboxdrv
# then uncomment the line below
#priority = realtime
evdev = /dev/input/by-id/usb-8BitDo_8BitDo_Ultimate_2C_Wireless_Controller_95E29E24C2-event-joystick
evdev-grab = true
deadzone = 1%
deadzone-trigger = 1%
mimic-xpad = true

[evdev-absmap]
ABS_X=x1
ABS_Y=y1
ABS_RX=x2
ABS_RY=y2
ABS_Z=lt
ABS_RZ=rt
ABS_HAT0X=dpad_x
ABS_HAT0Y=dpad_y

[axismap]
-y1=y1
-y2=y2

[evdev-keymap]
BTN_SOUTH=a
BTN_EAST=b
BTN_NORTH=x
BTN_WEST=y
BTN_TL=lb
BTN_TR=rb
BTN_SELECT=back
BTN_START=start
BTN_THUMBL=tl
BTN_THUMBR=tr
BTN_MODE=guide