Quick note in case anyone else runs into this problem: When configuring a Linux kernel to get the touchpad to work on the 12th gen based laptop, the kernel still requires the flag “CONFIG_PIN_CTRL_TIGERLAKE” and does not use “CONFIG_PIN_CTRL_ALDERLAKE”, at least for the touchpad on kernel version 5.18.19. This took a long time to figure out since the laptop uses an Alder Lake processor and not Tiger Lake. Not sure why. There’s a variety of other options that are likely required and it’s difficult for me to disambiguate each and list them here. Mostly, I’m leaving a note for other people to find.
Since we havent heard of this issue so far, i assume this is specific to 5.18.19 or something else is fishy.
I havent had any touchpad issues with 5.18.x or 5.19.x so far.
Which distro are you using?
What excactly is the behaviour you are getting without the flag? Sounds like the touchpad didnt work at all?
I’m using Gentoo with
sys-kernel/gentoo-sources-5.18.19-r1. More specifically:
Linux mycomputer 5.18.19-gentoo-r1 #40 SMP PREEMPT_DYNAMIC Mon Sep 5 23:24:04 CDT 2022 x86_64 12th Gen Intel(R) Core(TM) i7-1280P GenuineIntel GNU/Linux
Without the flag
CONFIG_PIN_CTRL_TIGERLAKE, the device just doesn’t show up at all in
dmesg and certainly does not work. That said, PS/2 emulation did work. I currently have PS/2 emulation disabled in the bios. When the device does appear, I receive the following in
[ 4.115132] input: PIXA3854:00 093A:0274 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input19 [ 4.117988] input: PIXA3854:00 093A:0274 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input20 [ 4.121039] hid-multitouch 0018:093A:0274.0002: input,hidraw0: I2C HID v1.00 Mouse [PIXA3854:00 093A:0274] on i2c-PIXA3854:00
I just reverified that removing this singular configuration flag prevents the device from working. I’ll also mention that enabling both
PIN_CTRL_ALDERLAKE simultaneously allows the device to work as well.
As a side note, the Arch install disk uses kernel 5.18.16 and the touchpad works just fine. However, that configuration for the kernel enables all of the flags in
Intel pinctrl drivers. In addition, the output from
dmesg is slightly different. On those boots,
[ 12.679551] input: FRMW0001:00 32AC:0006 Wireless Radio Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-15/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input5 [ 12.679618] input: FRMW0001:00 32AC:0006 Consumer Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-15/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input6 [ 12.679644] input: FRMW0001:00 32AC:0006 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-15/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input7 [ 12.679671] hid-generic 0018:32AC:0006.0001: input,hidraw0: I2C HID v1.00 Device [FRMW0001:00 32AC:0006] on i2c-FRMW0001:00 [ 12.707680] input: PIXA3854:00 093A:0274 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input8 [ 12.707892] input: PIXA3854:00 093A:0274 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input9 [ 12.708116] hid-generic 0018:093A:0274.0002: input,hidraw1: I2C HID v1.00 Mouse [PIXA3854:00 093A:0274] on i2c-PIXA3854:00 [ 17.642133] input: PIXA3854:00 093A:0274 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input25 [ 17.667676] input: PIXA3854:00 093A:0274 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-16/i2c-PIXA3854:00/0018:093A:0274.0002/input/input26 [ 17.667924] hid-multitouch 0018:093A:0274.0002: input,hidraw0: I2C HID v1.00 Mouse [PIXA3854:00 093A:0274] on i2c-PIXA3854:00
Outside of the repeated detection of the touchpad, it also shows the
Wireless Radio Control and the
Consumer Control. I’m not sure what those are and thus far it has not affected me. WiFi works fine.
As some more information, the DesignWare I2C adapter does appear in
i2cdetect -l whether
PIN_CTRL_ALDERLAKE is enabled individually:
i2c-0 i2c i915 gmbus dpa I2C adapter i2c-1 i2c i915 gmbus dpb I2C adapter i2c-2 i2c i915 gmbus dpc I2C adapter i2c-3 i2c i915 gmbus tc1 I2C adapter i2c-4 i2c i915 gmbus tc2 I2C adapter i2c-5 i2c i915 gmbus tc3 I2C adapter i2c-6 i2c i915 gmbus tc4 I2C adapter i2c-7 i2c i915 gmbus tc5 I2C adapter i2c-8 i2c i915 gmbus tc6 I2C adapter i2c-9 i2c AUX A/DDI A/PHY A I2C adapter i2c-10 i2c AUX USBC1/DDI TC1/PHY TC1 I2C adapter i2c-11 i2c AUX USBC2/DDI TC2/PHY TC2 I2C adapter i2c-12 i2c AUX USBC3/DDI TC3/PHY TC3 I2C adapter i2c-13 i2c AUX USBC4/DDI TC4/PHY TC4 I2C adapter i2c-14 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-15 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-16 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-17 smbus SMBus I801 adapter at efa0 SMBus adapter
By comparing the lsmod output from a recent Gentoo LiveUSB (which handled the touchpad fine) and my sorry mess of a .config, I found that this option needed to be set:
( Linux Kernel Configuration → Device Drivers → HID support → I2C HID support → HID over I2C transport layer ACPI driver)
It looks like doing so also enables this option:
(on top of the settings in the Gentoo wiki for Framework Laptops)
@Ruzgfpegk, would you mind checking if you have CONFIG_PIN_CTRL_TIGERLAKE and/or CONFIG_PIN_CTRL_ALDERLAKE enabled? It should be under
Device Drivers -> Pin Controllers -> Intel pinctrl drivers. My recollection was those two flags you mentioned, CONFIG_I2C_HID_ACPI and CONFIG_I2C_HID_CORE were not enough, at least for me.
I only enabled CONFIG_PIN_CTRL_TIGERLAKE, following the wiki instructions.
It’s not related to the touchscreen but on my (stable) 5.15.75-gentoo kernel, the firmware files that worked for the rest of the 12th gen config were (Device Drivers → Generic Driver Options → Firmware loader): “iwlwifi-ty-a0-gf-a0-59.ucode i915/tgl_huc_7.9.3.bin i915/adlp_guc_62.0.3.bin i915/adlp_dmc_ver2_10.bin”.
OK, cool. That’s what I have as well. Mostly, I find it non-intuitive that an Alder Lake chip uses a Tiger Lake flag, but I suppose it’s fine if it works. Thanks for checking!
Damn, took me the whole weekend to figure that out I’ve updated the Gentoo Wiki