You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Absolute devices (touchscreen, mouse absolute) fails with min == max on ABS_X #7
I'm running a nspawn container with a headless session of sway, with sunshine configured. When using android moonlight clients, it's possible to use Pen (S pen per example) and mouse absolute and even passthrough the touchscreen. But all of these, are absolute devices, and won't work only when using /dev/vuinput as uinput.
Sunshine can create the devices, but the devices are invalid, throwing errors on libinput list-devices, from inside the container:
event16 - Mouse passthrough (absolute): kernel bug: device has min == max on ABS_X
On host, disabling the udev rules I can confirm the errors also occurs, I cannot use absolute mouse if the sunshine was started within the container. Having a sunshine instance outside the container, that exposes my host, with working absolute mouse I confirm the issue very probably is how vuinput handles those devices.
UI_ABS_SETUP => {
//todo: i guess this needs to be reworked as this is variable size. i guess it is not reachable at all
debug!("fh {}: ioctl UI_ABS_SETUP", fh);
assert!(_in_bufsz != 0, "should have _in_bufsz");
fuse_l
The problem back then was that the content of UI_ABS_SETUP is dynamic and I need to extract the size out of the submitted ioctl. I haven't implemented it back then, because my focus was on the gamepad first.
Hi, I wondered this was just a unimplemented function. Its not that urgent, even if its not fixed my use would continue since I pretend to use bluetooth mouse anyway. Just in such cases that I cannot get them it would be pretty annoying some applications. But not that bad
Saying again: Great software! thanks to it I can run rootless containers with working and isolated sunshine inside. Thank you for developing this. I havent touched any rust code in my life, else maybe I could help with
Thanks for your compliment. That really motivates me! I have managed to add a small tryfix. At least in my setup, it does not destroy anything. When I have successfully implemented a proper test case, I'll close this issue.
Activity
joleuger commentedon Feb 26, 2026
Thank you for your report. I can reproduce the problem.
joleuger commentedon Feb 26, 2026
Trace
https://github.com/LizardByte/Sunshine/blob/83e8fcf15987c2899eb61a0484919744bf6b51df/src/platform/linux/input/inputtino_common.h#L33
https://github.com/games-on-whales/inputtino/blob/504f0abc7da8ebc351f8300fb2ed98db5438ee48/src/uinput/mouse.cpp#L107
https://github.com/games-on-whales/inputtino/blob/504f0abc7da8ebc351f8300fb2ed98db5438ee48/src/uinput/mouse.cpp#L117C29-L117C45
https://github.com/games-on-whales/inputtino/blob/504f0abc7da8ebc351f8300fb2ed98db5438ee48/src/uinput/mouse.cpp#L66C36-L66C52
https://gitlab.freedesktop.org/libevdev/libevdev/-/blob/master/libevdev/libevdev.c?ref_type=heads#L1581
joleuger commentedon Feb 26, 2026
Okay, I remember. This is actually a pretty old implementation gap. And as far as I can see the only one left for ioctl.
It is actually not implemented at all.
https://github.com/joleuger/vuinputd/blob/0.3.2/vuinputd/src/cuse_device/vuinput_ioctl.rs#L273
The problem back then was that the content of UI_ABS_SETUP is dynamic and I need to extract the size out of the submitted ioctl. I haven't implemented it back then, because my focus was on the gamepad first.
Thanks for the hint. Is it in any way urgent for your use case? I just don't manage to fix it in the next two weeks. Sorry for the inconvenience.
Markus328 commentedon Mar 4, 2026
Hi, I wondered this was just a unimplemented function. Its not that urgent, even if its not fixed my use would continue since I pretend to use bluetooth mouse anyway. Just in such cases that I cannot get them it would be pretty annoying some applications. But not that bad
Markus328 commentedon Mar 4, 2026
Saying again: Great software! thanks to it I can run rootless containers with working and isolated sunshine inside. Thank you for developing this. I havent touched any rust code in my life, else maybe I could help with
Tryfix for #7. Untested
joleuger commentedon Apr 6, 2026
Thanks for your compliment. That really motivates me! I have managed to add a small tryfix. At least in my setup, it does not destroy anything. When I have successfully implemented a proper test case, I'll close this issue.