Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux Kernel 4.18 + steam controller causes problems for various game (f.i.Rocket League) #5645

Closed
fosspill opened this issue Aug 22, 2018 · 45 comments

Comments

@fosspill
Copy link

fosspill commented Aug 22, 2018

Your system information

  • Steam client version (build number or date): Steam Play Beta
  • Distribution (e.g. Ubuntu): Antergos
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Let's take Rocket League as a specific example as that's where I cannot find a workaround for it:

Expected result: Start Rocket League, start steam controller (in either order), play the game with the steam controller.

Actual result: Steam controller can only control secondary player, as it somehow seems to see the controller as multiple devices and gets confused. (I believe this can also be seen in Sega Megadrive as the steam controller had to be explicitly chosen, even with no other controllers plugged in.)

Steps for reproducing this issue:

  1. Upgrade to kernel 4.18
  2. Play Rocket League
  3. Be unable to control your car

Notes:

Other controllers works fine. Xbox 360 and PS4 controllers through steam is not causing any issues.

Workaround:

Downgrade to kernel 4.17

I realize this might not be the correct place to report this, but as it's very much related to the steam for linux product I couldn't think of a better place.

@kisak-valve
Copy link
Member

Possibly hid-steam related.

@fosspill
Copy link
Author

Indeed, other controllers works fine, including xbox 360 and the dualshock controllers :)

This is about the steam controller though

@nstgc
Copy link

nstgc commented Aug 26, 2018

I have not had this problem with the Steam Controller. I have others, but not this one. Are there other games for which this is a problem? I'd rather not install a game just to test a single bug.

I'm on Arch by the way.

@fosspill
Copy link
Author

So far Rocket League is the game that we've had 100% reproduction on all systems tested on (4 so far).
I have however seen other games (sega megadrive, for instance) show the steam controller as multiple controllers, where I had to manually pick the correct one for it to work.

Note: Downgrading to 4.17 fixes the issue.
Using sc-controller also works around the issue.

@aqxa1
Copy link

aqxa1 commented Aug 28, 2018

You can also just blacklist the hid_steam module (how you do this may vary from distro to distro) if you need 4.18.x.

@fosspill
Copy link
Author

Hm, alright. But, if this is a hid_steam error, where do we properly report it to get it fixed?

@aldrik
Copy link

aldrik commented Sep 3, 2018

I've also been having this issue since performing a system update. Blacklisting hid_steam does indeed get the controller working correctly again in Rocket League.

@jpotier
Copy link

jpotier commented Sep 9, 2018

Blacklisting hid_steam does not fix the problem for me.

My problem is that the steam controller is considered to be a mouse/keyboard by Rocket League.

@aldrik
Copy link

aldrik commented Sep 10, 2018

Side note of blacklisting hid_steam, when also when connected using a cable you get some debug frame data displayed.

@jpotier that's a different issue. Sounds like it could be user permissions:
https://steamcommunity.com/app/353370/discussions/0/490123197956024380/

@jpotier
Copy link

jpotier commented Sep 10, 2018

Unfortunately, those are properly set on my system :(

@ghost
Copy link

ghost commented Sep 14, 2018

Same here on 4.18, I couldn't get my Steam controller to work unless I blacklisted the new driver in
/etc/modprobe.d/steam_hid_blacklist.conf:

blacklist hid_steam

You can test if this worked with lsmod | grep steam -- if it's empty, the hid_steam driver is not loaded.
Rocket league works just fine in steam-native on Arch, no debug data, no issues with invites or parties.

In addition, I also had to edit my /usr/lib/udev/rules.d/70-steam-input.rules to change all instances of MODE="0660" to MODE="0666", and add MODE="0666" to the first KERNEL=="uinput" line where it's missing. 70-steam-input.rules.patch.txt

Once the driver was blacklisted & these changes were made, my controller finally worked.

@Jibodeah
Copy link

Hollow Knight is also affected. The game crashes when a Steam Controller is connected. Works when the hid_steam module is removed from the kernel.

@diegogangl
Copy link

I'm having this issue with Hollow Knight too. Removing the module from the kernel and changing the udev rules haven't fixed it for me. I'm running 4.18.9.
Setting /dev/uinput permissions to 666 doesn't work either.

@zakora
Copy link

zakora commented Oct 7, 2018

Also had this problem for both Rocket League and Hollow Knight.
Keeping my udev as is (see below), not changing the permissions, and just issuing sudo modprobe -r hid_steam before launching the games make them work with a Steam Controller for me.

System info:

  • Fedora 28
  • Gnome 3.28.2 using X.org

/etc/udev/rules.d/99-steam-controller.rules content:

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
# This rule is necessary for gamepad emulation
KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
# DualShock 4 wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
# DualShock 4 wireless adapter
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
# DualShock 4 slim wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"
# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"
# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"
# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"
# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

@rodrigorc
Copy link

Hi! I'm the original writer of the hid-steam Linux driver. I'm sorry you are having issues with it.

I have written a patch that should fix all your problems with this driver. You can get it here. It would be great if some of you can test it and give feedback.

If you want to try it but you don't know how to patch and compile a kernel driver, just drop me a few lines and I will gladly give you instructions.

@zakora
Copy link

zakora commented Oct 15, 2018

Hi @rodrigorc , and thanks for your work on hid-steam!

I tried your patch but without success. This was the first time I tinkered with the linux kernel so I am by no mean an expert. Maybe I just didn't apply the patch correctly.

Here is a small write up of the steps I did, in case this helps.

System info:

  • Fedora 28
  • kernel 4.18.13-200.fc28.x86_64

Steps (mostly followed the Arch wiki):

  • dnf install flex bison: install flex and bison (needed for kernel module compilation)
  • download and extract source kernel 4.18.13 (matching the version I am currently running) from kernel.org
  • got the patch from your link, saved it as hid-steam.c.patch
  • patch linux-4.18.13/drivers/hid/hid-steam.c hid-steam.c.patch: apply the patch
  • cd linux-4.18.13
  • make clean
  • make mrproper
  • cp /usr/lib/modules/4.18.13-200.fc28.x86_64/build/Module.symvers ./
  • cp /usr/lib/modules/4.18.13-200.fc28.x86_64/build/.config ./
  • make oldconfig
  • make EXTRAVERSION=-200.fc28.x86_64 modules_prepare
  • make M=drivers/hid
  • xz drivers/hid/hid-steam.ko
  • sudo cp drivers/hid/hid-steam.ko.xz /usr/lib/modules/4.18.13-200.fc28.x86_64/updates/
  • reboot the OS, Hollow Knight still crashes on launch when the Steam Controller is on

Things I tried but failed:

  • instead of placing the new compiled module in updates/, replacing the hid-steam module directly in /usr/lib/modules/4.18.13-200.fc28.x86_64/kernel/drivers/hid: no change
  • updating initrams, according to this thread in Fedora it can be done using dracut --regenerate-all --force. After doing this, if the Steam Controller is on during boot then the OS fails to start; if the Steam Controller is off during boot then the OS start, but as soon as the Steam Controller is switched on then the OS freezes.

@rodrigorc
Copy link

rodrigorc commented Oct 15, 2018 via email

@zakora
Copy link

zakora commented Oct 15, 2018

Thanks for detailed instructions @rodrigorc , it works now!

Some changes that I did:

  • $UNAME is not defined on my system, so for step 4 I did instead:
make -C /lib/modules/`uname -r`/build M=$(pwd)
  • this make command failed due to missing hid-ids.h, so I did: cp ../linux-4.18.13/drivers/hid/hid-ids.h . (where . is the steamdrv directory).

Confirmed to work for me on both Rocket League and Hollow Knight using a Steam Controller.

@rodrigorc
Copy link

rodrigorc commented Oct 15, 2018

You are right on both corrections, @zakora, I'll edit the above instructions, in case anybody else wants to test it.

Thank you so much for testing it! I will add this success test to the LKML thread.

@saintdev
Copy link

@rodrigorc Just wanted to say this fixed the issue I was having with hid-steam and Rocket League as well!

@nanonyme
Copy link

Has anyone created a ticket on hid-steam against kernel bugzilla?

@rodrigorc
Copy link

Has anyone created a ticket on hid-steam against kernel bugzilla?

@nanonyme Well, there is one ticket now.

Whissi pushed a commit to Whissi/linux-stable that referenced this issue Dec 1, 2018
commit 385a488 upstream.

Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Pierre-Loup Griffais <pgriffais@valvesoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
rajatgupta1998 pushed a commit to rajatgupta1998/kernel_x86-64 that referenced this issue Dec 3, 2018
commit 385a4886778f6d6e61eff1d4d295af332d7130e1 upstream.

Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Pierre-Loup Griffais <pgriffais@valvesoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
isjerryxiao pushed a commit to isjerryxiao/Amlogic_s905-kernel that referenced this issue Dec 4, 2018
commit 385a488 upstream.

Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Pierre-Loup Griffais <pgriffais@valvesoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@rodrigorc
Copy link

It looks like this patch has been back ported to Linux 4.19.

hairoes pushed a commit to hairoes/kernel-sdm660 that referenced this issue Aug 1, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
DOITfit pushed a commit to DOITfit/kernel_sm8150 that referenced this issue Aug 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Kyvangka1610 pushed a commit to Kyvangka1610/android_kernel_xiaomi_ginkgo that referenced this issue Aug 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Signed-off-by: Kyvangka1610 <kyvangka2002@gmail.com>
DOITfit pushed a commit to DOITfit/kernel_sm8150 that referenced this issue Aug 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
DOITfit pushed a commit to DOITfit/kernel_sm8150 that referenced this issue Aug 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
DOITfit pushed a commit to DOITfit/kernel_sm8150 that referenced this issue Aug 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
SGCMarkus pushed a commit to SGCMarkus/android_kernel_lge_sm8150 that referenced this issue Aug 22, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
SGCMarkus pushed a commit to SGCMarkus/android_kernel_lge_sm8150 that referenced this issue Aug 23, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Kyvangka1610 pushed a commit to Kyvangka1610/android_kernel_xiaomi_ginkgo that referenced this issue Sep 6, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Signed-off-by: Kyvangka1610 <kyvangka2002@gmail.com>
shandongtlb pushed a commit to shandongtlb/msm-4.14-pure that referenced this issue Nov 4, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
DOITfit pushed a commit to DOITfit/kernel-raphael that referenced this issue Nov 15, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Huawei-Dev pushed a commit to Huawei-Dev/android_kernel_huawei_btv that referenced this issue Dec 31, 2020
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
TenSeventy7 pushed a commit to FreshROMs/android_kernel_samsung_exynos9610_mint that referenced this issue Apr 28, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
TenSeventy7 pushed a commit to FreshROMs/android_kernel_samsung_exynos9610_mint that referenced this issue Apr 29, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
ksergeyv pushed a commit to ndmsystems/kernel-49 that referenced this issue Jul 1, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
TenSeventy7 pushed a commit to FreshROMs/android_kernel_samsung_exynos9610_mint that referenced this issue Aug 23, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
UtsavBalar1231 pushed a commit to UtsavBalar1231/kernel_samsung_universal9611 that referenced this issue Oct 22, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
UtsavBalar1231 pushed a commit to UtsavBalar1231/kernel_samsung_universal9611 that referenced this issue Oct 23, 2021
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
krazey pushed a commit to krazey/android_kernel_motorola_exynos9610 that referenced this issue May 3, 2022
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
krazey pushed a commit to krazey/android_kernel_motorola_exynos9610 that referenced this issue May 4, 2022
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
socaindra pushed a commit to socaindra/QuicksilveR-Kernel that referenced this issue Oct 4, 2023
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Signed-off-by: Kyvangka1610 <kyvangka2002@gmail.com>
socaindra pushed a commit to socaindra/QuicksilveR-Kernel that referenced this issue Oct 28, 2023
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Signed-off-by: Kyvangka1610 <kyvangka2002@gmail.com>
socaindra pushed a commit to socaindra/QuicksilveR-Kernel that referenced this issue Mar 14, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Signed-off-by: Kyvangka1610 <kyvangka2002@gmail.com>
lineageos-gerrit pushed a commit to LineageOS/android_kernel_nvidia_kernel that referenced this issue Mar 15, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Change-Id: I445a3d630f2d10768293339594995bc05446f54a
Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
lineageos-gerrit pushed a commit to LineageOS/android_kernel_nvidia_kernel that referenced this issue Mar 24, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Change-Id: I445a3d630f2d10768293339594995bc05446f54a
Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
lineageos-gerrit pushed a commit to LineageOS/android_kernel_nvidia_kernel that referenced this issue Mar 25, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

Change-Id: I445a3d630f2d10768293339594995bc05446f54a
Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
svoboda18 pushed a commit to svoboda18/android_blackghost_kernel that referenced this issue Apr 5, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Huawei-Dev pushed a commit to Huawei-Dev/android_kernel_huawei_hi3660 that referenced this issue Apr 10, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
Huawei-Dev pushed a commit to Huawei-Dev/android_kernel_huawei_hi3660 that referenced this issue May 19, 2024
Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: ValveSoftware/steam-for-linux#5645

(cherry-picked from commit 385a4886778f6d6e61eff1d4d295af332d7130e1
("HID: steam: remove input device when a hid client is running"))
torvalds/linux@385a488

Bug: 136263708

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Change-Id: I8b93bb46c508e44d275168933b53ad738795d511
@DocMAX
Copy link

DocMAX commented May 22, 2024

Big problem here. Steam does not detect the internal steam controller anymore.
On load somehow /dev/hidraw2 get's lost and i have to add with:
echo "3-3:1.2" > /sys/bus/usb/drivers/usbhid/bind
I have no clue why this is happening.. :-( I'm on vanilla Arch Linux here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests