quo
quo
I've reverse engineered bits of the new touch stuff. Basically, the THC runs in an alternate mode called "Quick SPI". The mode is selected by the platform firmware, so I...
@StollD I've extracted the HID descriptors from the firmware files: [hiddesc.zip](https://github.com/linux-surface/linux-surface/files/13329378/hiddesc.zip) The touchpad seems to have the same enable/metadata/data reports as the touchscreen. So maybe it'll just work with iptsd...
Note that libinput does some smoothing, which adds latency. This can be disabled with `AttrTabletSmoothing=0` (I haven't actually tried it though): https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html#list-of-supported-device-quirks
Thanks for the quick response. I'll try to file a bug upstream. I did some further digging. There's also an EFI RTC, however the kernel driver is disabled by default...
Upstream report: https://bugzilla.kernel.org/show_bug.cgi?id=212313 For now we're working around the problem by enabling acpi_tad and doing: ```date +'%Y:%m:%d:%H:%M:%S:0:0' -u >/sys/bus/platform/devices/ACPI000E:00/time```
Sorry for the late response. If you're still using this fork, you can try lowering the `IPTS_DFT_POSITION_MIN_AMP` and `IPTS_DFT_POSITION_MIN_MAG` values in `src/ipts/dft.cpp`. With the official iptsd, you can set these...
No public documentation. You'll have to reverse engineer IntelTHCBase.sys. Or if you know anyone at Intel/MS, ask them to share some docs :)
Well, I have the register map here: https://github.com/quo/ithc-linux/blob/master/src/ithc-regs.h What I have in Ghidra is a huge mess. I might clean it up or write up some notes at some point,...
https://www.intel.com/content/www/us/en/content-details/630747/intel-500-series-chipset-family-on-package-platform-controller-hub-specification-update.html > 29 Incorrect MSI BDF Returned By Touch Host Controller. > Problem: When a hypervisor is enabled, the Message Signaled Interrupt for the Touch Host Controller (THC) returns an...
I've done a bit of reverse engineering, and currently have a semi working polling-based single-touch THC driver (tested on a Surface Pro 7+). I'm working on converting it to using...