I’m looking for a new tablet. Over the past few days I’ve had the chance to play around with a ThinkPad Helix. The Helix comes with Windows 8, but naturally, I installed Ubuntu to see how it works on a touch device. Here are my findings.
Ubuntu Desktop vs. Touch
First, a word about Ubuntu. Ubuntu Touch and Ubuntu Desktop are different beasts. Ubuntu Touch is designed for touch devices. It began life as an Android variant, but piece by piece Canonical replaced it with a Linux of their own making.
This article is not about Ubuntu Touch. I would have tried Ubuntu Touch on the Helix, but I couldn’t find any useful instructions about installing Ubuntu Touch on an x86 device. So I installed Ubuntu Desktop (version 15.04, the latest version at time of writing).
Update 2015-10-09: After playing around a bit more, I have found that everything works fine when I boot up with the tablet plugged in to the keyboard unit, but when I resume from suspend in tablet mode and then reconnect the keyboard unit, the trackpoint works fine but the keyboard does not. It may be related to this bug.
Most of the Helix hardware worked straight out of the box. The track point, touch pad and touch screen all worked, as did the stylus pen, the volume buttons, and the special keys like the brightness adjustment controls. Ubuntu Unity captured the Windows button to bring up its applications menu, and pressing the power button brought up the power options (shut down, suspend, restart). That seemed reasonable, but I decided I wanted the power button to just suspend immediately, which involved using dconf-editor to set button-power under org.gnome.settings-daemon.plugins.power to suspend.
The only part of the hardware that did’t seem to do something useful straight off the bat was the internal sensors. In particular, it would be nice if the accelerometer could trigger automatic rotation of the screen when the tablet’s not docked to the keyboard. Based on a bit of poking around, it seems that the accelerometer is detected (the iio devices are visible in udevadm info --export-db and under /sys/bus/iio/devices/), I could read from the accelerometer using commands like /cat /sys/bus/iio/devices/iio\:device5/in_accel_x_raw, so in theory it should be possible to write a service which auto-rotates the screen. I did find this repo for the ThinkPad Yoga laptops, which had some programs for managing the iio sensors, but when I tried to use them they didn’t seem to notice changes in the orientation. I also found this old software that notices when the tablet is docked and undocked from the keyboard, and rotates the screen when that happens. It doesn’t look at the orientation, it just assumes that if you’re undocked you want portrait mode.
I’ve been using an Android tablet for years and when it comes to usability on a touch device, Ubuntu Desktop still has a long way to go to catch up with Android. Perhaps Ubuntu Touch is an improvement. Did I mention that I couldn’t find a straightforward way to install Ubuntu Touch?
To make Ubuntu Desktop more usable on a tablet, I did the following things:
1. Increase the scale for menu and title bars (System Settings > Screen Display > Built-in Display > Scale for menu and title bars).
2. Adjust launcher icon size—on my desktop I usually make these as small as possible, but to press them with my fingers they need to be largish (System Settings > Appearance > Look > Launcher icon size).
3. Activate the on-screen keyboard, and configure it to dock to screen edge, auto-show when editing text, and hide when using a physical keyboard (System Settings > Universal Access > Typing to activate it, then to configure, click the notification icon and select Preferences).
4. Make long presses simulate right mouse button clicks, and adjust down the acceptance delay from the ridiculously long default (System Settings > Universal Access > Pointing and Clicking > Simulated Secondary Click).
The on-screen keyboard isn’t as nice as in Android. Sometimes it notices that you’re editing text, sometimes it doesn’t. I think GTK apps tell the system when your focus is in a text box, but most other applications don’t. But you can bring up the on-screen keyboard by clicking on the icon in the notification area.
5. In Firefox, install Grab and Drag, NoSquint, and perhaps Theme Font & Size Changer.
The first add-on, Grab and Drag, will allow you to scroll in Firefox by touching and swiping. Some Ubuntu apps do this automatically with a touch screen (again, I suspect this is GTK being a good citizen), but Firefox doesn’t without this extension. I couldn’t find a similar extension for Thunderbird, but I imagine writing one wouldn’t be difficult.
Out of the box, an Android tablet still feels much nicer than Ubuntu Desktop running on a Windows tablet. But truth be told, running Linux on a tablet wasn’t as painful as I’d imagined. It seems like there are ways to work around the minor annoyances. And I do like the idea of being able to use my tablet to do outrageous things like having two text documents open at the same time, or working on some of my Python projects.
So I haven’t yet decided whether I’ll get myself a Helix (or similar), or whether I’ll go for another Android tablet. But I certainly haven’t ruled out the possibility of Ubuntu.