Surface Pro 11 iptsd 3.1.0 integration (experimental)
Pre-releaseSurface Pro 11 iptsd 3.1.0 integration (experimental)
Source-complete ARM64 iptsd payload and guarded lifecycle integration for the
Microsoft Surface Pro 11 X1P/LCD (045e:0c80) and X1E/OLED (045e:0c83)
digitizers.
This is an experimental prerelease. The core X1E/OLED pen path and normal
multitouch have passed installed-system testing, but X1P hardware, eraser,
forced recovery, repeated suspend/resume, BitBake, and live-image qualification
remain open.
This release is paired with the
Surface Pro 11 qcom-x1e v19 kernel release,
installed ABI 7.2.0-jg-0sp11v19-qcom-x1e. The kernel exposes the private
HIDRAW DFT stream and remains the sole owner of direct touch and panel mode;
this userspace integration creates only the virtual stylus.
Artifact set
sp11-iptsd-3.1.0-sp11.1-arm64.tar.xz— installable ARM64 payload plus the
exact sources, licenses, SBOM, build metadata, SP11 presets, lifecycle
templates, installer, validator, OpenEmbedded recipe, and documentation.sp11-iptsd-release-manifest.txt— source, builder, binary, bundle, kernel,
and hardware-validation provenance.SHA256SUMS— covers the other two uploaded assets exactly once.
The payload pins unmodified upstream linux-surface/iptsd v3.1.0 at commit
a83bc1232f7096f8b33b50fdbda249cd640de670, tree
06c6e812873e117930eca60b8a32cec40fd13281.
Verify and install on Debian/Ubuntu
Download all three assets into one otherwise-empty directory, then run:
sha256sum --check --strict SHA256SUMS
tar -xJf sp11-iptsd-3.1.0-sp11.1-arm64.tar.xz
cd sp11-iptsd-v1
sudo ./scripts/install-sp11-iptsd.sh --payload ./payload/iptsd-sp11Reboot into the paired v19 kernel. The installer verifies the complete nested
payload, installs under /usr/local, disables the diagnostic g6-pen daemon,
masks generic iptsd@.service, installs both SP11 presets, and starts the
device-matched lifecycle through udev. Do not run generic iptsd, g6-pen, and
sp11-iptsd against the same stream concurrently.
These prebuilt binaries are dynamically linked ARM64 binaries produced in an
Ubuntu 26.04 environment. Their referenced runtime symbol floors are GLIBC
2.38, GLIBCXX 3.4.32, and CXXABI 1.3.15. Systems with older runtimes should
build natively from the included source instead of installing the binaries.
Arch, Fedora, Yocto, and other non-Debian systems
For a native package or source build, use:
- upstream iptsd build instructions at the pinned commit;
- the SP11 presets and lifecycle integration at this release tag;
- the local installer as a packaging reference; and
- the OpenEmbedded recipe for Yocto-based systems.
Retain the device-specific 0c80/0c83 presets, disable iptsd touchscreen
synthesis, and adapt the guarded udev/systemd/sleep templates to the native
filesystem layout. Building only generic upstream iptsd without the SP11
presets and lifecycle policy is not the complete integration shipped here.
The archive includes the complete pinned upstream source and all Meson
fallback sources and patches needed to satisfy the GPL and dependency-license
source requirements.
Hardware validation
The exact iptsd payload in this archive was live-tested on X1E/OLED against a
v19 package built from kernel commit
ec96c9da79afffff460438471189e06ea1920aba, with the accepted Phase 84 values
supplied explicitly. The merged kernel source
2cbd1ec3e2da385e7bd91fd65c63ba5a8fb5b865 promotes those same X1E values to
defaults and enables the product-preserving X1P path. The newly rebuilt
companion kernel artifacts from that merge were source/package validated but
were not separately boot-tested before this prerelease.
In the X1E/OLED installed-system run:
- hover/lift and continuous stylus input worked;
- pressure ranged from 0 through 3309;
- both tilt axes varied;
- the barrel button worked;
- normal one-, two-, and three-finger touch remained working;
- one HIDRAW bridge, one daemon, and one virtual stylus owned the path; and
- kernel taint, panel resets, transport/protocol errors, drain overflows, and
daemon restarts remained zero.
X1P is enabled by the same bounded product-preserving path but still needs a
separate hardware run. Eraser transitions, forced recovery, repeated
suspend/resume, BitBake package-build, and live-image qualification also remain.
Unmodified iptsd v3.1.0 exposes BTN_STYLUS but not BTN_STYLUS2; a second or
top-button parity claim is outside this release.
Provenance
- Support release commit and tag target:
69f40d58afb4a6e92606d30bdefbd48dbf12a88d - Merged integration head:
38fec2e11a2420149bdf71b69d3ff5fbb26c8b1f - Upstream iptsd commit:
a83bc1232f7096f8b33b50fdbda249cd640de670 - Builder image:
ubuntu@sha256:2260313b31c8c011cd2eebe728008efac1b3982be73eb71348ea2648d2c0e09b - Companion kernel merge:
2cbd1ec3e2da385e7bd91fd65c63ba5a8fb5b865 - Live-tested v19 kernel source:
ec96c9da79afffff460438471189e06ea1920aba
The payload passed exact manifest verification before publication. The
attached manifest records the binary and archive hashes. The build is not
claimed to be bit-for-bit reproducible.
- Paired kernel release:
sp11-qcom-x1e-7.2.0-jg-0sp11v19 - This iptsd release:
sp11-iptsd-v1