Linux 5.17 To Introduce A New Driver Just To Deal With Buggy x86 Tablets

Written by Michael Larabel in Linux Kernel on 27 December 2021 at 12:00 AM EST. 12 Comments
LINUX KERNEL
The Linux 5.17 kernel when it kicks off next month is slated to introduce a new driver "x86-android-tablets" just for dealing with all the quirky/buggy x86 tablets out there.

Longtime Linux developer Hans de Goede of Red Hat has been responsible for numerous x86 laptop/tablet improvements in recent years along with other desktop-related improvements at Red Hat. He has now queued up into the x86 platform drivers tree the x86-android-tablets driver he wrote for dealing with the mess of x86 (mostly Android) tablets that don't behave properly out-of-the-box with Linux.

As part of the ACPI DSDT (Differentiated System Description Table), many x86 tablets have simply invalid entries and other problems that cause issue when trying to run mainline Linux on said hardware.

Hans explains as part of the commit currently in the platform-drivers-x86 "for-next" branch, "x86 tablets which ship with Android as (part of) the factory image typically have various problems with their DSDTs. The factory kernels shipped on these devices typically have device addresses and GPIOs hardcoded in the kernel, rather then specified in their DSDT. With the DSDT containing a random collection of devices which may or may not actually be present as well as missing devices which are actually present. This driver, which loads only on affected models based on DMI matching, adds DMI based instantiating of kernel devices for devices which are missing from the DSDT, fixing e.g. battery monitoring, touchpads and/or accelerometers not working."

This new x86-android-tablets driver will basically be a catch-all solution for overrides based on device matching. Hans ended the patch message with, "This is the least ugly option to get these devices to fully work and to do so without adding any extra code to the main kernel image (vmlinuz) when built as a module."


The Chuwi Hi8 is one of the Intel x86 tablets initially being corrected by this new driver.


As part of the initial workarounds in x86-android-tablets, the Chuwi Hi8's DSDT is known to contain a lot of bogus ACPI I2C devices for the touchscreen and accelerometer that are now corrected. The initial driver also fixes Xiaomi tablet issues if the bootloader is not the Xiaomi own signed Android loader and in turn it then hides devices. Additional quirks/workarounds are expected to be added to this driver moving forward.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week