Touchpad Support on Lenovo IdeaPad Flex 5i Chromebook


I successfully installed Ubuntu 24.04 on my Lenovo IdeaPad Flex 5i Chromebook.

I had some issues with the touchscreen, which I was able to solve by reloading the i2c_hid_acpi with the following command sequence:

sudo modprobe -r i2c_hid_acpi
sudo modprobe -r i2c_hid
sudo modprobe i2c_hid_acpi

The problem I am facing now is that I need to run this command every time I reboot my notebook. I think the solution is to change the module load order to enable the i2c_hid_acpi to load after the other modules.

Does anyone know how to solve this problem?

Moreover, when I switch to tablet mode, the orientation screen works flawlessly, but when I switch back to notebook mode, the screen orientation does not work. The problem here happens when I use tablet mode vertically and switch to notebook mode without first reorienting the screen.

Does anyone know how to solve this problem?

Finally, the following is my firmware data.

**     Device: Lenovo IdeaPad Flex 5i Chromebook
** Board Name: LILLIPUP-MQUZ
**   Platform: Intel TigerLake
**    Fw Type: Stock ChromeOS w/RW_LEGACY
**     Fw Ver: Google_Lindar.13672.291.0 (02/18/2022)
**      Fw WP: Enabled

And the link to the issue where I found the i2c_hid_acpi reload idea.


Sadly, the stock firmware for Tigerlake devices like Lillipup still uses some proprietary kernel extensions, rather than runtime detection like newer devices.

the TLDR is that the stock firmware enumerates all of the possible touchpad/touchscreen options, and expects the kernel to probe each one to determine if it’s actually there. The ChromeOS kernel has a custom extension to handle this, upstream kernels do not (upstream rejected Google’s approach as fundamentally wrong). The UEFI Full ROM firmware will detect which touch devices are present at boot, and only tell the OS about the ones which actually exist. The stock firmware on newer devices will eventually have this feature since I pushed it to upstream coreboot.