My Baytrail platform has a eGalax touchscreen, which is fully supported by Linux, and has been for a while, through the HID drivers. When trying the oreo-8.1-rc2 iso (as well as Mauro's test build) in live/normal mode, the touchsceen does not work. While in live/debug mode, it does.
When I say that is doesn't work, it's not entirely true, the driver is loaded (hid_multitouch), the event/input entries exist in /sys/class/input/, but the block device is missing in /dev/input/, so EventHub doesn't see it. If I 'rmmod hid_multitouch' and then 'modprobe hid_multitouch', then the touschscreen starts to work (/dev/input/ entry is recreated, and EventHub sees it).
I believe this is due to the fact that 2 drivers are loaded for the same hardware, which is what I see in dmesg output:
- hid-generic: as it's built into the kernel, it is loaded immediately at boot, before any ueventd or modprobe
- hid-multitouch: kernel module, loaded afterwards through ueventd or modprobe (auto_detect)
I don't know exactly why it's fine in debug mode, but one thing that comes to mind is the time gap between the loading of the 2 drivers, which is much larger when booting in debug mode (maybe a long shot, though).
The problem doesn't exist in Nougat builds, because I don't think hid-generic was loaded for my hardware in kernel 4.9.
Any suggestion about to address this problem?
Thanks,
Michael.