Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SP8 - cannot compile ipts #59

Closed
aleksfadini opened this issue Jun 24, 2022 · 6 comments
Closed

SP8 - cannot compile ipts #59

aleksfadini opened this issue Jun 24, 2022 · 6 comments

Comments

@aleksfadini
Copy link

aleksfadini commented Jun 24, 2022

I am running a surface-linux kernel on my SP8, see below.

$ uname -a
Linux AgileFenix 5.18.5-arch1-1-surface #1 SMP PREEMPT_DYNAMIC Mon, 20 Jun 2022 07:54:30 +0000 x86_64 GNU/Linux

yet I get this:

$ ls -l /dev/ipts/
ls: cannot access '/dev/ipts/': No such file or directory

and this:


$ ninja -C build

[ ... fails with ... ]

/usr/include/fmt/format.h:3064:21: note: declared here
 3064 | FMT_DEPRECATED auto format_to(basic_memory_buffer<char, SIZE, Allocator>& buf,
      |                     ^~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: subcommand failed.

I know other users have had better luck with ipts and SP8, what am I doing wrong?

@qzed
Copy link
Member

qzed commented Jun 25, 2022

You'll need the (work-in-progress) ithc driver from https://github.com/quo/ithc-linux and corresponding iptsd (https://github.com/quo/iptsd). See also linux-surface/intel-precise-touch#8 and linux-surface/intel-precise-touch#14.

As to the compiler error: You can work around that with meson configure -Dwerror=false, but we should fix that... cc @StollD.

@aleksfadini
Copy link
Author

Thank you for the reply. I have the latest ithc from git (and it made single touch work!).

I did came here from the two threads you mentioned from the Linux-surface issues page.

I will try the workaround and report back.

@aleksfadini
Copy link
Author

aleksfadini commented Jun 26, 2022

Thank you, I managed to compile iptsd using the workaround you suggested.
However I realized I do not have /dev/ipts, despite running surface-linux latest kernel.

sudo ./build/iptsd
ERROR: ../src/control.c:139: Failed to open /dev/ipts/0: No such file or directory
ERROR: ../src/main.c:106: Failed to start IPTS: No such file or directory
[aleks@AgileFenix iptsd]$ ls -l /dev/ipts/
ls: cannot access '/dev/ipts/': No such file or directory

This was a bit surprising given that the readme in this repo says:

You need to have the latest UAPI version of the IPTS kernel driver installed. All recent linux-surface kernels already include this.

However I do not have that driver I suppose? Am I doing something wrong? I wanted to enable multi touch on my SP8.

PS: I understand that this is highly experimental, and I might be too ignorant to handle it.

@qzed
Copy link
Member

qzed commented Jun 26, 2022

However I realized I do not have /dev/ipts, despite running surface-linux latest kernel.

AFAIK the ITHC driver doesn't provide /dev/ipts and works with hidraw. So things should work without it. ITHC is essentially a replacement for the IPTS kernel driver.

@StollD
Copy link
Member

StollD commented Jun 26, 2022

Are you building quos iptsd fork? https://github.com/quo/iptsd

Regarding the error from the first post, could you post the full output? I dont have any errors on Fedora 36 (neither with gcc nor with clang).

@aleksfadini
Copy link
Author

Are you building quos iptsd fork? https://github.com/quo/iptsd

I am an idiot. I was building from https://github.com/linux-surface/iptsd instead of https://github.com/quo/iptsd !
Thank you for pointing this out.

Building from https://github.com/quo/iptsd , as you suggested, everything worked perfect. On my SP8 on Arch I now have multi touch and the pen works (eraser included!). 🎉

(closing this issue here, it's due to me not following directions)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants