If you are interested in getting Linux to work on this pretty cool machine, join our mailinglist:
Using the vanilla kernel pretty much is working already:
- display, graphics and acceleration, also backlight control including full blanking, i.e. backlight power off (saves power)
- GUI acceleration works, OpenGL and motion video (vaapi)
- touchscreen, Atmel I2C connected touch controller
- Wacom I2C connected digtizer
- USB2 host port, USB3 host port on docking station
- micro SD card slot
- most sensors are accessible through the Intel sensor hub and IIO interface, like ambient light, accel, gyro:
IIO device Name Driver Status iio0 accel_3d hid_sensor_accel_3d works iio1 als hid_sensor_als works iio2 gyro_3d hid_sensor_gyro_3d works iio3 incli_3d hid_sensor_incl_3d works iio4 magn_3d hid_sensor_magn_3d works iio5 dev_rotation hid_sensor_rotation unclear,
- WiFi is working using brcmfmac driver and an NVRAM File (brcmfmac43241b5-sdio) which can be copied from EFI. It also contains the MAC address so I replaced some digits in my copy
- Bluetooth is looking good too, using the 8250_dw quirk two UARTs ttyS4 and ttyS5 are detected and ttyS4 can be attached to the BlueZ stack using ‘btattach -B /dev/ttyS4 -P bcm’. It also needs a binary patch which will be loaded by the kernel firmware loader from brcm/BCM.hcd – this file should do the trick: BCM (rename and copy the zip contents)
Update: Does not work yet using btattach, hangs on init, hciattach works almost but fails to load the fw patch and I assume that’s the reason why the device a detected properly but not air traffic is going in or out
Update: I managed to get hciattach to load the BCM HCD “patch” and tata! Bluetooth is now recognised, initialized and air traffic is going in and out!
- the WWAN (Sierra Wireless) is creating a network device and is working, control using mbimcli, using a WIN10 utility additional USB serial interfaces can be activated which expose an AT command interface and GPS. The GPS has pretty poor quaility and outputs non-NMEA data.
- all buttons work – power, rotation lock, vol+/vol- and windows button on front – at least all of them emit input events
And now for the unpleasant part of non working stuff:
- sound is still not working because the TPT10 uses a codec that was introduced into the kernel for Cherrytrail but not Baytrail – well, I guess that can be hacked
I had a look at the ACPI DSDT yesterday and am confused as it states that the codec is RT5640 but it is pretty definitely a RT5671, the ID register gives proof for that:
rt5640 i2c-10EC5640:00: Device with ID register 0x6271 is not rt5640/39
- the cameras (front and back) will be a huge challenge. There does not seem to be any support for the IPS (Image Processing System) which they are connected to
- the fingerprint reader – well, i can live without it
- the NFC would be nice to have and maybe this is feasible
- the GPS is a little mystery to me since this seems to be a pretty unusual GPS device. My fear is that it requires a lot of userspace code, i.e. that pretty much of the resolution calculation is done in software and that the code for this will not be opensource.
- there is a vibration motor built into the device, I have no idea how to control it (yet)
- battery status, pretty important for a mobile device
Update: Unplugging and plugging the AC adapter emits APCI events for AC adapter and battery
- But worst of all the non working stuff is that I have no clue whatsoever how to put the device into a low power state and wake it up again. According to ACPI it does not support the most common S3 – suspend to RAM. There is only disk and freeze and the later does exactly what it says, it freezes the whole thing and never thaws again.