Skip to content

Surface Go 4 Touchscreen not funtional, ipu6 driver load error #215

@FosteringCrow

Description

@FosteringCrow

I am on a Surface Go 4 with Linux 6.19.8-surface-3, Gnome 46, wayland, Ubuntu 24.04.4 LTS, Firmware version 23.103.143.

My touchscreen does not function enough to be useful. I can click docked icon buttons, some desktop icons, I move windows, but i cannot use the OSK, touch the top right menu with the battery/volume/wifi icons.

I spent a very long time with duck.ai (Claude Haiku) and Lumo (proton's AI) trying to fix it, but came up with no fix.

The touchscreen is ELAN, which is different than other Surface Go units (I'm pretty sure).

I did install windows 11 and updated the device before installing Ubuntu. I have Surface Go 2 which did work great, with the exception of cameras (which is fine for me)

I also got these error when attempting to install a driver, and i will also include the log file mentioned. I'm happy to help out however i can. This is a non-critical issue for me since I use FDE, so i need a KB anyway.

---start terminal error---

sudo apt install iptsd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
iptsd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,018 kB of archives.
After this operation, 6,665 kB of additional disk space will be used.
Selecting previously unselected package iptsd.
(Reading database ... 245474 files and directories currently installed.)
Preparing to unpack .../iptsd_3.1.0-1_amd64.deb ...
Unpacking iptsd (3.1.0-1) ...
Setting up iptsd (3.1.0-1) ...
Setting up intel-ipu6-dkms (0git202406240945.aecec2aa-0ubuntu224.04.3) ...
Removing old ipu6-drivers-0git202406240945.aecec2aa-0ubuntu224.04.3 DKMS files...
Deleting module ipu6-drivers-0git202406240945.aecec2aa-0ubuntu224.04.3 completely from the DKMS tree.
Loading new ipu6-drivers-0git202406240945.aecec2aa-0ubuntu224.04.3 DKMS files...
Building for 6.19.8-surface-3
Building initial module for 6.19.8-surface-3
ERROR (dkms apport): kernel package linux-headers-6.19.8-surface-3 is not supported
Error! Bad return status for module build on kernel: 6.19.8-surface-3 (x86_64)
Consult /var/lib/dkms/ipu6-drivers/0git202406240945.aecec2aa-0ubuntu224.04.3/build/make.log for more information.
dpkg: error processing package intel-ipu6-dkms (--configure):
installed intel-ipu6-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
intel-ipu6-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)

--end of terminal error---

---start of log file--

DKMS make.log for ipu6-drivers-0git202406240945.aecec2aa-0ubuntu224.04.3 for kernel 6.19.8-surface-3 (x86_64)
Thu Jun 4 07:28:12 PM EDT 2026
make -C /lib/modules/6.19.8-surface-3/build M=/var/lib/dkms/ipu6-drivers/0git202406240945.aecec2aa-0ubuntu224.04.3/build modules
make[1]: Entering directory '/usr/src/linux-headers-6.19.8-surface-3'
make[2]: Entering directory '/var/lib/dkms/ipu6-drivers/0git202406240945.aecec2aa-0ubuntu224.04.3/build'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Ubuntu 11.4.0-1ubuntu122.04.3) 11.4.0
You are using: gcc (Ubuntu 13.3.0-6ubuntu2
24.04.1) 13.3.0
CC [M] drivers/media/i2c/hm11b1.o
CC [M] drivers/media/i2c/ov01a1s.o
CC [M] drivers/media/i2c/ov01a10.o
drivers/media/i2c/ov01a1s.c:4:10: fatal error: asm/unaligned.h: No such file or directory
4 | #include <asm/unaligned.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
drivers/media/i2c/hm11b1.c:4:10: fatal error: asm/unaligned.h: No such file or directory
4 | #include <asm/unaligned.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[5]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:289: drivers/media/i2c/hm11b1.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:289: drivers/media/i2c/ov01a1s.o] Error 1
drivers/media/i2c/ov01a10.c:4:10: fatal error: asm/unaligned.h: No such file or directory
4 | #include <asm/unaligned.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[5]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:289: drivers/media/i2c/ov01a10.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:546: drivers/media/i2c] Error 2
make[4]: *** Waiting for unfinished jobs....
CC [M] drivers/media/pci/intel/ipu6/../ipu.o
CC [M] drivers/media/pci/intel/ipu6/../ipu-bus.o
CC [M] drivers/media/pci/intel/ipu6/../ipu-dma.o
CC [M] drivers/media/pci/intel/ipu6/../ipu-mmu.o
In file included from /usr/src/linux-headers-6.19.8-surface-3/include/linux/bits.h:30,
from /usr/src/linux-headers-6.19.8-surface-3/include/linux/ioport.h:13,
from /usr/src/linux-headers-6.19.8-surface-3/include/linux/acpi.h:13,
from drivers/media/pci/intel/ipu6/../ipu.c:4:
drivers/media/pci/intel/ipu6/../ipu.c:964:18: error: ‘INTEL_IPU_BRIDGE’ undeclared here (not in a function)
964 | MODULE_IMPORT_NS(INTEL_IPU_BRIDGE);
| ^~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/moduleparam.h:29:9: note: in expansion of macro ‘static_assert’
29 | static_assert(
| ^~~~~~~~~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/module.h:308:33: note: in expansion of macro ‘MODULE_INFO’
308 | #define MODULE_IMPORT_NS(ns) MODULE_INFO(import_ns, ns)
| ^~~~~~~~~~~
drivers/media/pci/intel/ipu6/../ipu.c:964:1: note: in expansion of macro ‘MODULE_IMPORT_NS’
964 | MODULE_IMPORT_NS(INTEL_IPU_BRIDGE);
| ^~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/moduleparam.h:30:17: error: expression in static assertion is not an integer
30 | sizeof(info) - 1 == __builtin_strlen(info),
| ^~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/moduleparam.h:29:9: note: in expansion of macro ‘static_assert’
29 | static_assert(
| ^~~~~~~~~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/module.h:308:33: note: in expansion of macro ‘MODULE_INFO’
308 | #define MODULE_IMPORT_NS(ns) MODULE_INFO(import_ns, ns)
| ^~~~~~~~~~~
drivers/media/pci/intel/ipu6/../ipu.c:964:1: note: in expansion of macro ‘MODULE_IMPORT_NS’
964 | MODULE_IMPORT_NS(INTEL_IPU_BRIDGE);
| ^~~~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.19.8-surface-3/include/linux/module.h:23,
from /usr/src/linux-headers-6.19.8-surface-3/include/linux/device/driver.h:21,
from /usr/src/linux-headers-6.19.8-surface-3/include/linux/device.h:32,
from /usr/src/linux-headers-6.19.8-surface-3/include/linux/acpi.h:15:
drivers/media/pci/intel/ipu6/../ipu.c:964:18: error: expected ‘,’ or ‘;’ before ‘INTEL_IPU_BRIDGE’
964 | MODULE_IMPORT_NS(INTEL_IPU_BRIDGE);
| ^~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.19.8-surface-3/include/linux/moduleparam.h:34:61: note: in definition of macro ‘MODULE_INFO’
34 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info
| ^~~~
drivers/media/pci/intel/ipu6/../ipu.c:964:1: note: in expansion of macro ‘MODULE_IMPORT_NS’
964 | MODULE_IMPORT_NS(INTEL_IPU_BRIDGE);
| ^~~~~~~~~~~~~~~~
make[6]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:289: drivers/media/pci/intel/ipu6/../ipu.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:546: drivers/media/pci/intel/ipu6] Error 2
make[4]: *** [/usr/src/linux-headers-6.19.8-surface-3/scripts/Makefile.build:546: drivers/media/pci/intel] Error 2
make[3]: *** [/usr/src/linux-headers-6.19.8-surface-3/Makefile:2071: .] Error 2
make[2]: *** [/usr/src/linux-headers-6.19.8-surface-3/Makefile:248: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/ipu6-drivers/0git202406240945.aecec2aa-0ubuntu224.04.3/build'
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.19.8-surface-3'
make: *** [Makefile:82: all] Error 2

---end of log file---

Thank you for your time!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions