Teclast X16 Pro

From ArchWiki
(Redirected from Teclast X16 Power)
Jump to navigation Jump to search

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Device Status Modules
Display Working xf86-video-intel
Touchscreen Working goodix
Wireless Working, with kernel patches / kernel 4.13 rt8723bs
Audio Working snd_soc_rt5640
Touchpad Working
Battery Status Working battery_BATC
Camera Not working
Bluetooth Working, with kernel patches rtl8723bs_bt
MicroSD Reader Partially Working sdhci
Power Management Not working
Accelerometer Working, with external kernel module bmc150_accel_i2c
Hardware Buttons Working, kernel module has to be enabled soc_button_array gpio_keys

The Teclast X16 Pro[dead link 2020-02-26] and Power[dead link 2020-04-03 ⓘ] are two 2 in 1 Tablet PC devices, equipped with a 11.6 inch display that supports for 1920 x 1080 pixels. Besides, the Teclast X16 Pro and Power support dual OS that allows users to take advantage of both Windows 10 and Android 5.1 operating systems on the device. They are powered by fifth-generation Intel Atom Z8500 (Pro) and Intel Atom Z8700 (Power) CPUs, aka Cherry Trail-Braswell, and by eighth-generation Intel HD graphics (12EUs Pro, 16EUs Power), coupled with 4GB of RAM (Pro) or 8GB of RAM (Power), both DDR3-1066 (due to a BIOS bug).

With kernel 4.7.2 and newer surprisingly much is working or there is a way to get it to work. If you have the time to go through all the steps you can get a pretty good useable linux tab.


Booting with UEFI bios (systemd-boot)

The Teclast X16 is able to boot from usb mass storage devices connected to an usb hub. During the installation an usb keyboard (or the keyboard cover) is needed to install arch linux. You can enter the bios by pressing del several times and overrule the boot device. There is not anything special to do, just prepare the flash drive and boot from it.


Changing display brightness works, however you have to alter the keybindings yourself because of non-standard keycodes for display brightness; see Backlight, Touchscreen.

Automatic rotation does not work because of the missing support for the accelerometer.

Sound card

Install alsamixer and set the following of about 50 volume controls have to be set to 30-50%, too much gain results in clicking noise.

  • media1_in Gain 0
  • codec_out1 Gain 0
  • pcm0_in Gain 0
  • Mono DAC
  • Speaker ClassD
  • Speaker

This is remembered during a reboot. Global shortcuts to change sound volume work.



Working since kernel >= 4.13, rtl8723bs_bt kernel module is included in linux >= 4.13, as well as the firmware binaries. This step is only necessary for older kernels.

There is an issue with wpa_supplicant 1.2.6. For the time beeing you have to downgrade wpa_supplicant to version 1.2.5. See https://github.com/hadess/rtl8723bs/issues/113[dead link 2020-04-03 ⓘ]

Compiling an Arch Linux kernel, see Kernels/Traditional compilation

1) apply the pm_set/get-revertes + rfkill patches NOT the sound patches from Laszlo-Fiat see: http://github.com/hadess/rtl8723bs/issues/76[dead link 2020-04-03 ⓘ] (0001-My-changes-for-4.7.0-rc7-for-Baytrail-T.patch.txt)

2) compile kernel (takes many hours), create new vmlinuz/initrd, create syslinux entries

check out the sources from https://github.com/hadess/rtl8723bs + make install


This device needs the rfkill patch from the step above.

see https://github.com/lwfinger/rtl8723bs_bt not much to do, file-transfer works.

Touchpad (Cover)

This is recognized as a generic pointing device, not as Touchpad Synaptics


/sys/bus/i2c/devices lists a BMA250E device

cd /sys/bus/i2c/devices/i2c-BMA250E:00/iio:device0
watch cat in_accel_x_raw in_accel_y_raw in_accel_z_raw

Tip: this kernel module has to be compiled by yourself, search for bmc150 below modules/industrialio

Hardware Buttons

Kernel >= 4.13: soc_button_array and gpio_keys has to be loaded after soc is initialized.


softdep soc_button_array pre: snd_soc_core post: gpio_keys

Partially broken devices

microSD Reader

Working fine with SDHC and lower cards, crashing with SDXC UHS-I and higher ones, (Timeout for Hardware Interrupt issue)

Broken devices

Micro-USB OTG port

Nothing happens if a USB Stick, or any other device, is plugged in.

Power Management

Hibernate and pm-suspend crashes. To avoid any kind of instability, add this "intel_idle.max_cstate=1" to the CMDLINE.


According to /sys/bus/i2c/devices, there is an OVTI2680 device (OmniVision OV2680 - Front Camera) and INT5648 device (OmniVision OV5648 - Rear Camera)

Device Info

Devices on i2c bus


i2c-10EC5645:00 rt5645 Realtek RT5645 - Sound Card
i2c-BMA250E:00 bmc150_accel_i2c Bosch BMC150 - Accelerometer
i2c-FGCW2015:00 CW2015 Fuel-Gauge IC? (http://www.lean-chip.com/mc-download.html?id=154[dead link 2020-04-03 ⓘ])
i2c-GDIX1001:00 goodix Goodix GT9110P - Touchscreen
i2c-INT33FD:00 intel_soc_pmic_i2c Intel I2C Interface
i2c-INT5648:00 OmniVision OV5648 - Rear Camera
i2c-LNXVIDEO:00 Video Extension - ACPI_VIDEO
i2c-OVTI2680:00 OmniVision OV2680 - Front Camera
i2c-TBQ24297:00 TI BQ24297 - Charging Controller (http://www.ti.com/product/bq24297/description)
i2c-XXVM149C:00 VM149C Voice-Coil-Motor IC? (http://www.siti.com.tw/product/spec/Motor/SP-VM149C-A.002.pdf)

Tips and ticks

On-Screen Keyboard

Depending on your preferred window manager, install kvkbd for KDE or CellWriter for GNOME, see Tablet PC