Discouraging touchscreen experience in Linux
The devil is in the details – that unfortunately is true when it comes to touchscreen support in Linux. Yes, there are drivers out there and yes, Gnome and Unity actually have some basic touchscreen support. But getting your touchscreen to run can be torturous and when you are there you find out it sucks.
I am the owner of a Chuwi HiBook Pro. It’s a very nicely looking, though somewhat slow Windows tablet. In a previous article I described how to reinstall a clean Windows onto it [read it here]. My newest experiment was to install Ubuntu Linux (18.04) to check how well the hardware is supported.
Well, it’s worth mentioning that Linux can be installed easily and most devices work out of the box. But using keyboard and mouse is a must, because the touchscreen simply does not work after installation. To make things even harder, the accelerometers send the screen into the inverted position all the time. No matter how you position the tablet, the display is always upside down.
Update (Mai 2020): In modern Linux distributions the screen’s acceleration matrix can be configured by an entry into the hardware database of “systemd”. I added the specifics for the Hibook Pro to the project on Github.
I spent many hours so far trying to solve the problems with little progress. But there are some promising Github projects out there which aim to support these kinds of devices. Here is what I learned so far:
The touchscreen chip of the Chuwi HiBook Pro (2nd generation!) is manufactured by Silead. I could not find any official driver download, but Gregor Riepl (onitake)  maintains repositories for the firmware and the drivers of tablets like the Hibook. Since the second generation of the HiBook Pro is not listed in his repository, the firmware has to be extracted from the Windows driver.
Another user, Red5d, maintains a repository  with the aim to provide a script to set up Linux on the HiBook Pro automatically. The scripts are still in their infancy and cannot do more than compiling the driver and starting the calibration tool. While the information given in this repo are valuable, they do not finish the job.
Mission not completed
What is really complicated to achieve is to maintain the calibration settings permanently. The tool “xcal” provides a set of matrix corrections, but these need to be enabled when the graphical desktop (x.org) starts. There is a way to define a udev rule [cf: 3] but so far, I was not able to find vendor or device id.
And even when these problems can be overcome there is still the issue of lousy touch support in Linux desktop environments. For example, in “Unity” the desktop often freezes or icons move around. The on screen keyboard does not always show up when needed and browsers like Firefox are not developed for touch usage either.
Ubuntu on a tablet? Not yet ready. To make Linux ready for the tablet computer, we need manufacturers who publish drivers as open source. For Linux we need hardware detection and calibration tools, that go one step further and write their configuration to the system permanently. And finally we need desktop managers that are really made for touch only.