Yoga 2 Pro + Heisenbug

Had my new laptop about two weeks, time to write up my thoughts. Lenovo’s new Yoga 2 Pro is a tablet wanting to be a laptop — or a laptop wanting to be a tablet — or something in between. After trying out a few modes I mostly use it as a laptop with a touchscreen or sometimes as a tablet for reading (or using mouse-only programs). The machine’s a bit oversized for an e-reader, but awesome for youtube.

Anyway, on to the interesting stuff. Does it run well under Linux? And is the result usable?

I can only think of 3 problems I had installing Linux. The first was getting past Windows. Since the device boots using UEFI, there’s no way of getting to the “BIOS” screen or booting another device without going through the OS, which means accepting the licence agreements, booting Windows, and clicking the shutdown button while holding shift (took me a while to figure that one out). The second was another stupid bit of engineering: The Fedora 20 “Heisenbug” installer (at least the KDE Beta one) doesn’t include gparted (or KDE’s equivalent partition manager). It does have some tool to “reclaim space” from other partitions in the installer, but it’s not clear what exactly it will do. Luckily GParted’s live disk is really easy to use. The third is to make the backlight and wifi work. You can find hints elsewhere; it’s basically a case of using the `acpi_backlight=vendor` kernel option and blacklisting the “ideapad_laptop” module.

So, after that, what works? On the hardware side, almost everything. There’s no physical radio kill switch and the function key (“F7”) doesn’t do anything, but you can use rfkill. The accelerometer doesn’t work for rotating the screen, but you can still do it manually (use this script). Battery life is okay at 9-10W draw on light usage (that’s about 5 hours) and 15-25W with higher CPU usage; hopefully it will be improved by the 3.13 kernel. Most annoyingly is that around 2 out of 3 times when closing the lid the machine tries to go into standby mode but immediately wakes up again (fortunately the worst case is having to open and close the lid a few times until it succeeds).

What about the 3200×1800 pixel screen? This about sums it up: there’s a few glitches, but finally I can have a decent amount of easily readable content on a laptop! Seriously, if your work involves quite a lot of text and working on a small-enough-to-be-mobile screen, there’s no turning back. Probably the slightly less dense “retina” screens on the Mac Book Pros are much the same in terms of usability, but the difference compared to a low-resolution screen (by which I mean anything up to and including 1080p) is night-and-day. The screen fits two windows side-by-side each over 100 characters of text wide — and text that’s easy to read at a comfortable distance of 60 cm or so (that makes it smaller than font normally is on a ~100 DPI screen, but since it’s far smoother it’s probably actually easier to read), with all the usual borders and controls around the edges (webpages still frequently need more than half the screen, but most other applications don’t).

So does this work? On Linux? The problem is that unscaled applications use fonts that are painfully small to read and icons that are a job to click on. But yes, it does, at least using the KDE desktop, and accepting some glitches. First thing you need to do: increase the desktop font size (you can do this in KDE’s System Settings, under Application Appearance → Fonts → Force fonts DPI — I use 180, although the screen’s true DPI is 275). Next, increase icon sizes massively (again, under Application Appearance, then Icons → Advanced) and the window border/button sizes (Workspace Appearance → Window Decorations → Configure Decoration). Log out and in again, and your desktop should be much more usable. Many applications like KDevelop are immediately usable while others like Dolphin and Digikam need only trivial adjustments. Still problematic are plasma and the system tray icons, but it looks like something is happening here.

What’s broken, however, is HTML. Well, not entirely; most websites use fixed font sizes which when scaled up (use NoSquint in Firefox) look fine. Some emails are the same, and again “zooming in” on them is pretty easy. What’s worse is that some fonts get scaled up way too much — “big” fonts end up enormous for some reason and I’ve had a few emails I’ve had to zoom _away_ from and found one website with an irritating mix of huge and tiny fonts. The solution seems to be to use fixed (pixel) sizes for fonts and “zoom in” in the browser/viewer, but this confirms my theory that HTML is rather tacky. The necessary re-scaling of graphics and resulting pixelation is much less important than getting the fonts right in my opinion.

Okay, lets wrap up by going back to the laptop. What’s the keyboard like? The keys are fine to press with good tactile feedback; for prolonged use it’s not ideal however since the short strokes result in high forces on the fingers. Even the layout is reasonably good; the short right-hand shift key is slightly weird and I miss not having Home/End next to the arrows like on my TypeMatrix, but those keys aren’t far away — the most annoying thing (being a long-time ThinkPad user) is the swapped Ctrl and Fn keys. The touchpad is reasonably good, though too small to give accuracy over the whole screen without requiring swiping several times to cross the screen, and having to “click” it is definitely not as good as having dedicated buttons. This is where the touchscreen compensates a surprising amount: I frequently find it easier and faster to click on buttons, drag windows about and often even select text by pointing my finger at the screen than using the traditional methods. I didn’t think a touchscreen would be useful in Linux. I was wrong. (Here’s some hints on getting more out of the touchscreen, though sadly multitouch support is not ready yet.)

What else? Oh, yes, the touchpad doesn’t get disabled when in tablet mode (can be annoying if you balance the machine on your knee). That’s about it for now, except to say that programming while riding Swiss trains has never been more productive!

About dhardy

A software developer who landed in Switzerland, I love conjecturing over a few things computer-related, open collaboration, and quietly promoting linux/KDE as a desktop OS.
This entry was posted in Uncategorized. Bookmark the permalink.