Last week I was in Hong Kong and shopped a bit for electronics. I love small laptops since I am traveling quite a bit lately and don’t want to carry around too much weight and bulky luggage but still want to be able to do the basic things – some programming, office, web browsing. The current 13″ laptops are already too large and heavy for my taste, I am more looking at the 10″ to 12″ range. And of course it needs to run Linux nicely. I have been playing around with a Thinkpad tablet 10 for some while – the harwdare is nice but the Intel Atom Cherry Trail has some nasty limitattions (see my blog about this). In Hong Kong at the Golden Computer Arena I spotted something which immediately raised my interested – the Teclast F5 laptop.
The laptop features a 11.6″ IPS fullHD screen with touchscreen, an Intel N4100 CPU (aka Gemini Lake), Intel 802.11g/b/n/ac WiFI, Bluetooth 4.x, 8GB RAM and comes with a 128GB M.2 SSD which can be easily replaced with something larger. Pre installed comes the inevitable Windows 10 Home. I got the whole thing for 2.900 HKD (Hong Kong Dollar, which translates into about 330EUR). I know not a bargain, you can order these devices over the net for the same price. The reason why I bought it on the spot was that it is not so easy to actually find this kind of device online and there in the shop in Hong Kong I could see and touch it and I liked what I found so I bought it right away.
The cool thing is that Linux pretty much works out of the box with it! Given you use a Linux kernel later than 4.20. The device has two challenging parts, the touchscreen and the touchpad. The touchscreen is connected via I2C and uses a Goodix GDIX1001 capacitve touchscreen chip which is supported by the Linux kernel. The touchpad is also connected via I2C and uses a HTIX5288 chip. Both of which work with later kernels – I am now using 5.1.5.
The touchpad, for some reason, by default does not have tap events enabled, which can be achieved using the xinput tool:
xinput set-prop "HTIX5288:00 0911:5288 Touchpad" 293 1
To make this permanent I added a directory and file to my Debian XFCE installation “/etc/X11/xorg.conf.d/99-enable-htix-tapclick.conf ” which contains these lines:
Section "InputClass" Identifier "touchpad overrides" Driver "libinput" MatchIsTouchpad "on" Option "Tapping" "on" Option "NaturalScrolling" "on" EndSection
In the above section I also enabled so called “natural scrolling” by default so that two-finger-scrolling on the touchpad is more – umm – natural 🙂 Another X.org tweak I added is a default for the i915 GPU driver to avoid tearing, I added a file “/etc/X11/xorg.conf.d/20-intel.conf”:
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "true" #Option "AccelMethod" "uxa" #Option "TripleBuffer" "true" EndSection
A very important setting one should do on this device is to enable the SATA link power saving which I do via powertop. This will save between 0.5W and up to 1W! With screen on and system mostly idle I come down to 3.85W which translates into about 7.5h of run time which is perfectly fine for me. Besides the SATA link power saving also saves a lot of heat which would else come from the SSD which sits under the right palm rest.
Update on power readings: The above 3.85W comes from the system itself, it reports this energy consumption via ACPI. By now I found this value to be pretty suspicious because it seems to stick at that level regardless e.g. if I crank up the LCD brightness to 100% and down to 10%. So this reading is not at all accurate and the resulting estimate of 7h battery runtime will not be either.
Suspend and resume work just fine, using suspend to RAM and hibernate – although it seems that the I2C bus which connects to the touchpad and the sound codec seems to not wake up properly from suspend when the sleep was initiated by closing the LCD lid – weird. Another smaller problem is the sound codec. It works, but it produces a very audible “plop” sound every time the codec is put into power save mode. I assume that the amplifier for the speakers would need to be turned off before disabling the codec which on this model does not seem to happen. The driver contains a lot of quirks and I need to see if one of them can probably make it go away.
So far I am pretty happy with the device. Also the other peripherals work nicely like the built-in 1Mp camera (USB CDC video device), the type-C USB port (for data and charging) and the micro USB which came with a micro USB to typa-A adapter to use a USB stick or such. The only a bit annoying part is that the keyboard does not have POS1, END, Page-Up or Page-Down keys, not even using FN-something. I will have to define these myself, probably using ALT + cursor keys, no big deal (update: It is a bigger deal than I thought, mangling with xmodmap is a PITA).
The touchscreen also supports a stylus which I was not able to buy in Hong Kong so I can not test this with Linux yet. I just ordered one from eBay (and did not get it, will have to get one through Gearbest or sorts). The drawback of this is that it is an active stylius, i.e. after about half a year the battery must be changed and it is one of those more expensive AAAA types (yes, four A).
The display of the F5 can be bent over what is sometimes called “Yoga”. On Windows flipping the display over is detected by Windows, on Linux I have not seen any event for this yet. Also included in the F5 is an accelerometer which can be used e.g. to detect the device orientation. In Linux it gets detected through the IIO framework as IIO acc device.
ATM I am running a stripped down Linux kernel V5.1.5 with Debian testing and am pretty happy with it, your mileage may vary… 🙂 Happy hacking!
Update: There seems to be a new version, the F5R which now features an Apollo Lake N3450 CPU instead of the Gemini Lake N4100. This is a step backwards since Apollo Lake is definitely the older and weaker CPU (less cache, less capable graphics etc.). So pay attention when you decide to buy one…