Open jumpinggoofballs opened 2 years ago
Yeah, ithc can probably be added to the surface-linux kernel soon, but that's up to qzed/StollD.
Upstreaming into the official kernel would be nice, but a bunch of things will need to be done first:
Also they don't accept pseudonymous contributions AFAIK, so someone else will have to handle the upstreaming.
Awesome!
Yes, I was not expecting mainline to be easy. But surface-kernel
will be very nice to have, because there's only so much I want to futz around with my main work computer - manually installing drivers is a bit too much for me.
Thanks again!
What's the current status on IPTSd support? I think it doesn't really make sense to include the module if you still have to build IPTSd yourself, but as soon as that's done and there are no known big crash-inducing bugs, I'm open for a PR. CC @StollD.
As @quo said, upstreaming will require a bunch of additional work. ./scripts/checkpatch.pl
is probably a good way to start on the style issues (braces, indentation, empty lines for spacing, line breaks, variable declarations first, ...). And yes, the CHECK
macros are a no-go upstream. Apart from that, make sure there are no build warnings.
(Let's keep this issue open to track upstreaming status.)
What's the current status on IPTSd support?
So far the pen changes seem ok. Haven't seen any crashes. Most of the feedback is about build errors.
I'd like to let it simmer for a couple weeks, see what other bugs pop up. The parser changes still need to be tested on some older Surface devices. And of course it's based on the libqzed branch, which I don't really know the status of.
On the ithc side, the irq source-id bug really should be fixed before this gets included anywhere, since it's affecting every device with a THC so far. I'm hoping to have time to do a deep dive somewhere this month.
The libqzed branch should mostly be ready. The default behaviour should be similar to the iptsd master branch, the processing code from @qzed is behind a flag.
I would kinda like to modify iptsd to support the HID based interface before we release it. Then we wouldnt have to maintain multiple userspace APIs in multiple drivers. But I don't really have much time, so if you think everything works, I am fine with pulling your changes for the ITHC interface into the master branch.
Just wondering if I'm using quo/ithc-linux, do I need quo/iptsd or linux-surface/iptsd? I can see quo/iptsd it says it's "deprecated".
PS: I'm using SP8 and I want to enable multi-touch
AFAIK the ITHC driver runs in HID mode by default and linux-surface/iptsd supports HID mode now (as well as basic pen functionality). So I don't think you need quo/iptsd any longer.
So I don't think you need quo/iptsd any longer.
Has any one successfully got ithc running with the linux-surface/iptsd? I can't install linux-surface/iptsd with ithc.
So I don't think you need quo/iptsd any longer.
Has any one successfully got ithc running with the linux-surface/iptsd? I can't install linux-surface/iptsd with ithc.
could you posted the problem details in linux-surface matrix?
Is your ITHC running in HID mode? As of https://github.com/quo/ithc-linux/commit/02bf0eb009dcb6d037a1c10bd70e7fb5d29718bb it will do that by default, so if you installed it before that commit (i.e. through DKMS), you will need to add ithc.hid=1
to the kernel commandline.
Is your ITHC running in HID mode?
How should I tell?
could you posted the problem details in linux-surface matrix?
As for what happened exactly,
[19:10:41.274] [error] You need to specify the hidraw device!
I'm guessing it's related to HID mode thing? So again, how should I tell? I indeed installed via DKMS.
How should I tell?
sudo dmesg | grep hidraw
and check if there is a device called Intel Touch Host Controller
.
As for what happened exactly,
Thats explained in the iptsd README. You need to either install iptsd, so that it is started by udev, or pass the hidraw device as an argument when running it. Grabbing a prebuilt package for your distribution from Github Actions is the easiest way though.
sudo dmesg | grep hidraw
and check if there is a device calledIntel Touch Host Controller
.
Yes there is. So I guess it's running correctly.
Thats explained in the iptsd README. You need to either install iptsd, so that it is started by udev, or pass the hidraw device as an argument when running it. Grabbing a prebuilt package for your distribution from Github Actions is the easiest way though.
Thanks! Will try later on.
Will these drivers eventually be roled into
surface-kernel
and then mainlinelinux
?Thank you so much for your work!