Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 934080

Summary: games-util/xpadneo requires CONFIG_CHECK="CONFIG_I2C_HID_CORE"
Product: Gentoo Linux Reporter: David Racine <bass_dr>
Component: Current packagesAssignee: Ionen Wolkens <ionen>
Status: RESOLVED WORKSFORME    
Severity: normal CC: bass_dr
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description David Racine 2024-06-12 00:28:17 UTC
It took me some time to figure this out... Quite sure I'm not alone.

xpadneo stopped working after updating my kernel to 6.6.30, and the reason is that they splitted CONFIG_I2C_HID and we now need to add CONFIG_I2C_HID_CORE=m to get the module. And xpadneo seem to load it require it, otherwise my xboxone controller won't connect from bluetooth.

I am posting this here in case someone else has an issue, but I think the ebuild should check for those config.
Comment 1 Ionen Wolkens gentoo-dev 2024-06-12 01:10:47 UTC
Odd, I don't have CONFIG_I2C_HID_CORE and my controller connects fine.

I don't even have CONFIG_I2C_HID either (# CONFIG_I2C_HID is not set).
Comment 2 Ionen Wolkens gentoo-dev 2024-06-12 01:21:16 UTC
(In reply to Ionen Wolkens from comment #1)
> Odd, I don't have CONFIG_I2C_HID_CORE and my controller connects fine.
> 
> I don't even have CONFIG_I2C_HID either (# CONFIG_I2C_HID is not set).
Oh wait, it may be because I do UserspaceHID=false in bluez. I forget why I was using that.

I recall bluez changed the default in some update, which may be what you were experiencing.
Comment 3 David Racine 2024-06-12 01:24:53 UTC
Thanks for the reply, I'll experiment more then... I was quite sure it was this module but maybe not... I tried playing with this bluez option and it did not seem to work. Let m
Comment 4 David Racine 2024-06-12 01:27:31 UTC
Let me double check.
Comment 5 Ionen Wolkens gentoo-dev 2024-06-12 01:29:48 UTC
I feel like it would be a result of missing UHID rather than I2C_HID_CORE

In fact I don't see how I2C_HID_CORE can be missing if I2C_HID is set looking at 6.6.30? There's not even a menu entry to select it, it's just automatically set.

Are you sure you weren't missing UHID and ended up adding it? Technically bluez itself already warns about UHID and xpadneo shouldn't have to care about it.
Comment 6 Ionen Wolkens gentoo-dev 2024-06-12 01:38:28 UTC
(In reply to Ionen Wolkens from comment #5)
> Are you sure you weren't missing UHID and ended up adding it? Technically
> bluez itself already warns about UHID and xpadneo shouldn't have to care
> about it.
To reword/summarize what I "think" actually happened:

1. bluez formerly does not use UserspaceHID by default
2. bluez update changed the deafult
3. didn't have UHID
= controller doesn't work
4. messed with kernel configs and ended up enabling UHID
= works again

And then net-wireless/bluez (which is the one handling that) already has:

    CONFIG_CHECK="... ~UHID ..."

But you may have missed it.
Comment 7 David Racine 2024-06-12 01:55:19 UTC
Or bluez was installed on a kernel that had it. Yes that's possible. I have all my kernel configs I'll check.
Comment 8 David Racine 2024-06-12 02:11:59 UTC
Its very unstable... I can't connect my controller anymore. It connects but bluez froze... Hard to investigate...

About UHID, I turned it from a module to built-in, same as BT_HIDP. I also removed JOYSTICK_XPAD completely to check if it was conflicting.
Comment 9 Ionen Wolkens gentoo-dev 2024-06-12 02:25:20 UTC
(In reply to David Racine from comment #8)
> Its very unstable... I can't connect my controller anymore. It connects but
> bluez froze... Hard to investigate...
> 
> About UHID, I turned it from a module to built-in, same as BT_HIDP. I also
> removed JOYSTICK_XPAD completely to check if it was conflicting.
fwiw you could try UserspaceHID=false in /etc/bluez/input.conf, maybe it'll help for you and it should work even if you disable CONFIG_I2C_HID+UHID (not that I'm aware of this generally being a problem, this default was changed around early April and this is the first report I got that sounds related).
Comment 10 Ionen Wolkens gentoo-dev 2024-06-12 02:33:48 UTC
(In reply to Ionen Wolkens from comment #9)
> around early April
(albeit think it didn't hit stable until late May, would need to recheck versions to be sure though)
Comment 11 Ionen Wolkens gentoo-dev 2024-06-12 02:46:29 UTC
(In reply to Ionen Wolkens from comment #10)
> (In reply to Ionen Wolkens from comment #9)
> > around early April
> (albeit think it didn't hit stable until late May, would need to recheck
> versions to be sure though)
On that note, that coincides with when kernel 6.6.30 was stabilized too, which may be what made you think it was that.
Comment 12 David Racine 2024-06-12 02:49:02 UTC
My config was left as default when it failed, and I now have thes values forced (it works now...):

```
UserspaceHID=true
ClassicBondedOnly=false
LEAutoSecurity=false
```

This was after reading the Troubleshooting section of xpadneo.

I changed UHID to builtin after following a Gentoo's PS4 controller page (my backup plan ^^).

Since it works right now in UHID=true (rumble and everything), I'll leave the investigations here for now. But I'm quite sure it'll fail again and I will try with `UserspaceHID=false`.

Thanks for the help anyway, I'll close this bug, I don't have a proper resolution to put in the ebuild sadly... You are right, it was a coincidence that I thought it was an issue introduced by the kernel upgrade.
Comment 13 Ionen Wolkens gentoo-dev 2024-06-12 03:13:08 UTC
Alright, glad it works :)