Home » Uncategorized » Review of Arch Linux on a HiDPI Lenovo Yoga 2 Pro

Review of Arch Linux on a HiDPI Lenovo Yoga 2 Pro

Warning: this is a 4,700-word review, so read when you have something to drink and some time. I tried to break it up into two posts, but I didn’t find a good place.

Update: April, 2015: I have written an updated post after more than 1 year’s daily use. I recommend reading it after this initial review.

I have been running Debian-based distributions of Linux for the last 8 years, but I’ve decided to try Arch for a new laptop to replace my 2008 Thinkpad. I bought:
Lenovo Yoga 2 Pro: Intel Haswell 1.6/2.6 GHz, 8 GB RAM, 256 GB SSD, 13.3” QHD+ 3200×1800. I bought it for a special launch price of $1200, my model is now $1400.

I was running a 5-year-old laptop because it still worked well other than the old fluorescent bulb which was very dim. Lenovo was also not adding much value in their newer models, and was even taking it away. For example, one of the great things about Lenovo is that it was user-serviceable, but this is becoming less true.

They are also producing an unending stream of indistinguishable models of laptops, (143 at last count, compared to Apple who offers 5 MacBook Pros, and 4 MacBook Airs), while making fewer that are user-customizable. Nike can make a fully custom shoe, whereas Lenovo appears to be heading in the other direction.

Screen

It has been interesting researching a HiDPI laptop. They are still hard to come by. Half of the models offered on the Dell and Lenovo websites are 1366×768. Mostly the rest are 980p or top out at 1080p. Compare that to the Nexus 5 phone, which has 1080 vertical pixels on a 5″ screen.

Most pictures on the web are made for 96dpi screens so the only thing you can do is scale it up and they don’t look better. The only noticeable graphical improvement is with wallpapers. I searched on Google for some nice ones such as this picture of a Maserati that actually looks like it’s in my computer. (Here are a couple of Arch wallpapers.) In the end, I’ll be happy with this machine because the 5.7 million pixels make reading text like looking at the output of a color laser printer.

Keyboard

The most controversial thing Lenovo did since 2008 was change the layout of their keyboards. It was apparently done by people who hadn’t used their previous model. They didn’t show a lot of respect towards the designs they inherited, nor to their customers whose fingers have been trained for years on them. One simple example is how they’ve swapped the left Fn and Ctrl keys. There is no possible benefit from that. The Linux kernel has a policy: “Don’t break userspace”. Keyboards are one of the places in computing where backward compatibility is important.

Of course on smaller machines compromises must be made, but Lenovo used to put great keyboards into even their 13” machines. This laptop has almost an inch of empty space on the left and right edges of the typing area. If they had better used it, they could have built a more compatible layout. The chiclet keys work fine, but the idea of talking about an “efficient layout” for a keyboard means that inmates are running Lenovo.

Mouse

So in addition to the muscle-memory re-learning required for the new keyboard, Lenovo (and others) are in the process of removing the mouse buttons. I worry we are heading towards the world of Idiocracy. If I wanted to re-learn the keyboard and mouse in an un-maintainable machine, I’d have bought a Mac. I almost expect them to next copy the Macbook Wheel:

Fortunately, they’ve got a compromise for now with the one-button ClickPad. Apparently it will still have mechanical wear issues so I’m not sure if it is actually an improvement.

By default, the left and right bottom areas are reserved for virtual mouse buttons. With a Clickpad, it can sense where the fingers are, and can guess whether the user meant a left-click or right click:


It would cause confusion for the software if you had fingers in both the left and right areas, but for me at least, I never did that. The problem arises because the button areas are now live and sending touch and movements signals, which can completely confuse the software.

It is possible to live with a Clickpad, but it requires smarter drivers. The laptop shipped with a Windows driver written by Synaptics that worked fine. It was overkill with some of the extra gesture features they provided, but it was customizable and not flakey.

Whereas on Linux, out of the box, the driver is almost unusable. I will talk more about the problems in the kernel section below. There is a free Synaptics Linux driver out there, but it isn’t built with any help from Synaptics the Corporation. It supports gestures, but it has a number of bugs. Synaptics has apparently written a proprietary driver, but you can’t download it unless you are an OEM and make laptops! Since no one uses it, it is probably buggy. Synaptics is perfectly happy to write drivers that don’t actually get into their customers hands. The issue of proprietary drivers on Linux is still a problem for video cards and a few other places, but in general most hardware companies realize it is inefficient and buggy to write closed drivers

(UPDATE: I’ve created a petition to Synaptics Corporation about Linux drivers. Please sign it!)

CPU / GPU

The new CPU is a bit faster, but because of its smaller size (45nm versus 22nm) it uses less energy. My old “Penryn”-class Intel 2.5 GHz dual-core CPU required 35 watts while the newer uses 15. The Yoga is hyper-threaded and runs at 900 MHz to 2.6 GHz, depending on load. The machine feels a lot faster mostly because of the SSD. (Note that Windows thought it was a 2.3 GHz processor so there is a question as to whether these computers have been given an unintentional lobotomy by a bug in Microsoft’s code.)

The Intel 4400 graphics card is much better than the GMA 965 I had in my old laptop. 2-D performance is plenty fast, even with the many pixels to move. It will run free little games like SuperTuxKart with 60 fps, but Second Life was unplayable at 2 fps.

SSD

The speed of the SSD is great. I am getting 500MB / sec reads whereas I would get about 50 MB / sec on my old 7,200 rpm drive. I was not usually waiting on the computer, but when re-booting, starting big apps like Firefox / LibreOffice, etc. I was sometimes I/O bound, so it is nice that this is gone. With an SSD, the computer is snappy.

I was paranoid about reliability, but it depends on factors such as the size of the silicon, the size of the drive, how many bits per cell, usage patterns, etc. My 22nm MLC drive should get 3,000 write cycles.

The typical use is when I’m working on a 1MB document. I’ve adjusted LibreOffice’s autosave to be every 30 minutes, which should be fine because it never crashes for me. With wear-leveling across a 256 Gig SSD and 3000 write cycles, I could write that file 768 million times. Given that I might write 20 revisions per day the drive should last 105,000 years.

The next biggest write-heavy app for me is Firefox which out of the box was poorly optimized for SSD drives. It usually wrote about 4 megabytes per click, and on one page wrote 70 MB! The following are the fixes I applied:

1. Go to about:config and set browser.cache.disk.enable to false. I also adjusted the cache size to be 50 MB so as to not let Firefox fill up memory with web pages I don’t typically go back to.

2. I next turned off thumbnail generation which was writing about 300KB per click. Sometimes it even generated two! It seems Firefox should only generate a thumbnail when it decided it actually needed it for the start screen, but this silliness can be worked around. Even worse, after turning off the cache and the thumbnails, I was still getting a couple of MB of writes / click.

3. So finally, I installed a tool called profile-sync-daemon, which sets a link to point your Mozilla profile to the /tmp directory which is actually just RAM. It lets Mozilla write as much junk as it wants with no wear to the drive. Every hour, it will do an update via Rsync, which does an incremental update of only the bits that changed. With those 3 fixes, Firefox performs well.

When adding in system maintenance, media, etc. I should write about 200 MB / day. With that, the drive should last 10,500 years.

More good news is that SSDs are quite smart about fixing problems transparently. It has reserve blocks, and when it detects a problematic cell, it moves the data over to a spare and keeps going. Of course, when one cell goes, because of wear-leveling, it means all the other cells are also old and the drive should be replaced. One big difference between SSDs and HDDs is that old flash cells can lose their data entirely if turned off for days, so backups are still valuable.

Linux has a utility called smartctl which can run diagnostics, and tell you information from the controller such as the number of times the cells have been erased, how many spare cells are in use, etc. This way you can monitor it. I’m sure there is some GUI for Windows, but I prefer a text-mode app anyway.

Part II: Arch

Now to the OS: I decided to try Arch because there while there are many good desktop distros, I wanted to try a rolling one that updates nearly all of its packages within a day of the component shipping a new version. Describing why not all the other distros is hard so I will just mention why I decided against Debian Unstable which is also rolling. (I wrote a separate article about why not Manjaro you can read here.) Debian used to have a reputation of reliable staleware, but this is less true:

Current Package Version

Debian Unstable Version

Arch Version

alsa-lib (1.0.27.2)1.0.27.21.0.27.2
Ati-driver (13.15.2)13.4.313.4.14
firefox (25.0)2425
gimp (2.8.6)2.8.62.8.6
glibc (2.18)2.172.18
gnome-shell (3.10.1)3.8.43.10.1
gtk+ (3.10.2)3.8.63.10.2
httpd (2.4.6)2.4.62.2.25
inkscape (0.48.4)0.48.40.48.4
kdelibs (4.11.2)4.10.54.11.2
libgnome (2.32.1)2.32.12.23.1
libreoffice (4.1.3)4.1.24.1.3
linux (3.11.6)3.11.63.11.6
lxde-common (0.5.5)0.5.50.5.5
mariadb (5.5.33a)5.5.33a
mate-desktop (1.6.1)1.6.1
MesaLib (9.2.2)9.2.29.2.2
mysql (5.6.14)5.5.33
NVIDIA (325.15)319.6325.15
qt (5.1.1)4.8.54.8.5
samba (4.1.0)4.0.104.1.0
systemd (208)204208
Thunderbird (24.1)17.0.924.1
vim (7.4)7.47.4
vlc (2.1.0)2.1.02.1.0
xfdesktop (4.10.2)4.10.24.10.2
xorg-server (1.14.4)1.14.31.14.4

Debian is generally close to upstreams, but there are still some problem areas: their integration of Gnome is 6 months behind. It is an interesting question why Debian, which is a bigger and older team than Arch, can’t keep up. The good news is that Debian is generally on a good trend with more people joining:

Debian is doing better than it used to, but Arch is close to perfect in regards to keeping up with the thousands of Linux applications.

Another downside of running Debian’s rolling release is that the official goal is to make the next stable version, so there isn’t the social culture that exists in Arch where everyone is depending on the build to always work.

I found lots of bugs while running Arch, but none that exist in their code, only in the kernel and the other applications they integrate. The faster I can get the latest code, the faster I can have a better Linux experience.

Arch’s primary assets are build / install scripts (here is the one for LibreOffice) and a wiki. The wiki is superb. I never considered to use the non-existent one for Mint. When I ran Ubuntu, it sort of did everything for me such that I never needed to read up on anything. I followed Arch’s Unofficial Beginner’s Guide, and after that spent some hours reading various articles about how to use and enable fancier features in the software. Using the command line is necessary for Arch, but the set of utilities required is not very large, and you can learn as you go. The wiki and the community assume people are comfortable with the shell which is good because it also keeps the instructions simple and fast. Some people with little familiarity of computers sneak through because the wiki docs are so good that any literate person can run Arch.

Installation

One of my big decisions was to just forget about the UEFI support, which makes installing Linux twice as complicated. Lenovo doesn’t seem to offer any other OS for purchase on their laptops, but fortunately their BIOS still has the ability to boot in “Legacy” mode, which allowed me to ignore all the stuff I don’t care about.

In order to switch back to the old (MBR) partition table, I had to wipe my hard drive and couldn’t dual-boot into Windows 8.1 again. But after spending a few hours with it, I decided it wasn’t worth the 40 gigs of space. Linux on the desktop still seems far away, but there are lots of coders out there so it is useful and empowering and interesting to watch. My install is currently using only 4 gigabytes, so it seems a waste to reserve 10x the space on something bloated and inferior.

Legacy BIOS boot mode worked fine and I set things up the way I was used to with two partitions: a 30-gig root partition for the OS and applications, and the rest for “/home”.

I couldn’t just copy over the entire home directory from my old machine. I tried, but Gnome 3.10 got completely confused with missing icons, ugly widgets, etc. So I started fresh and copied things over selectively.

The install process was straightforward but a little tricky. I needed to run:

# rfkill unblock wifi

on every boot to get the network card to function. And when I run that command, wireless doesn’t wake up and start working, so I need to use:

# wifi-menu wlp1s0

Another tricky issue was that when I setup the machine, I didn’t know to have the package manager install the rfkill command. Rfkill comes on the Arch installer, but it didn’t actually install it by default on the drive. And so when I booted into (text mode) for the first time, I couldn’t connect to the network to get the GUI and the rest of the packages I needed.

And so I went back to the USB install stick. I had to follow the instructions from the top, but I was able to skip many of the steps such as the need to actually copy over all the bits. When I got near the end, I installed the package:

# pacman –S rfkill

and then I was ready to reboot into the OS, connect to the net and install everything else.

Another little issue I ran into is that on most operating systems, when you install Gnome, you also install the GDM, but on Arch, this isn’t necessary, nor does it prompt you. I needed to run:

# systemctl enable gdm.service

Fortunately, that line was at the top of the Gdm wiki page, so it didn’t take me long to fix my problem. I’ve had to fiddle a bit with systemd while using Arch, and it seems to be a simple and reliable way to manage low-level aspects of OS.

I like how the software in Arch is so granular. Gnome is broken up into two meta-packages, an essential one, and a collection of extras. I installed the main one, and some of the extras.

With LibreOffice, I installedWriter, Calc, Impress, and the English proofing tools. Before I used to blindly download and install all the DEBs on every release, but with Arch I took the time, and only installed the pieces I care about. Only they will be selectively downloaded and updated every few months as new versions come out.

Eventually, I did decide to fully re-install the OS. The first time, I put the 32-bit version on but I discovered later that there is a kernel 3.11 bug (https://bugzilla.kernel.org/show_bug.cgi?id=61781) where the machine won’t resume from suspend properly. I saw it on a 2008 Lenovo, and 2013 Lenovo, so it was probably a regression for a large number of computers.

The subsystem maintainer has since stepped in and reverted the patch because the underlying maintainer hasn’t had time to find a proper fix. (Presumably the change was made for a reason.) Resume was only broken on x86 so switching to 64-bit Linux worked around that problem.

Also, the Arch kernel doesn’t enable PAE in their builds, unlike most other distros, so it could only see 4 gigabytes of memory. My old laptop had 2 gigabytes, which was typically more than enough, but I decided that the extra memory could be useful as a RAM drive. There are PAE builds in Arch’s user repository, but they are not widely used or supported, so switching to x86-64 solved that problem as well. I’m guessing a number of kernel developers are running 64-bit nowadays because otherwise the resume bug would have gotten fixed a lot faster, so perhaps 64-bit is more reliable.

I generally ran into 2 classes of problems, hardware bugs and HiDPI issues:

Kernel bugs

1. The screen’s backlight doesn’t work unless I put “acpi_backlight=vendor” into the kernel command line. Fixing this issue involves changing the GRUB bootloader configuration, but the wiki was clear and explained how it could be done. As a side-effect of this fix, the laptop buttons to adjust the brightness no longer work but I decided the tradeoff was worth it. I can do:

# echo 850 > /sys/class/backlight/intel_backlight/brightness

to tell the LEDs to back off a bit, but I don’t mind full brightness. I should get about 5 hours on a full charge, which is more than enough for my typical uses.

2. As I mentioned in the install, I need to unblock my wifi card to get wireless working.

3. The Synaptics Clickpad is almost unusable. In fact, for a while I was sorry I didn’t keep Windows around because a mouse on crack can prevent you from being able to focus on your work. The Synaptics driver built by the community is quite rich, but it is a pain to use:

  • By default, the mouse button areas of the Clickpad were live. I almost always move my finger a bit while pressing down,which meant that it would usually click next to the choice I wanted, but not the one I actually wanted. There is a fix for that that can be put into the xorg.conf file which tells the driver to ignore any movement in the bottom portion of the trackpad, but it took me hours to discover and isn’t enabled by default.
  • There is a driver bug because of the above feature where if I have my left finger resting in the click-only area, then any cursor movements with my right finger don’t register. It would be nice if this were fixed because ClickPads are quite common now, but in the meanwhile, I can workaround it. Click and still drag works, because when you click the mouse, the pointer starts registering in the live area again, but it is a pain.
  • The mouse pointer jumps around randomly while using it.
  • The Gnome option to disable the mouse while typing doesn’t seem to work, so my mouse wanders around a lot. The edge of the trackpad is just 1 cm from the space bar and it is so wide that you are forced to rest your hand on it a bit while typing. On my old Thinkpad, the trackpad was thinner, recessed, and far enough away from the keyboard that it wasn’t much of a problem. Again, this requires smarter software to detect your palm. Fortunately, as light touching doesn’t register any mouse clicks, so the movement is a bit distracting, but not disruptive.

4. The system still doesn’t always work when coming out of resume. Things work better on the x86-64 bit builds, but the mouse pointer and wireless doesn’t always work and so I need to reboot sometimes.

5. The driver leaves artifacts with the Intel driver under SNA mode:

6. The cpupower comand never shows the processor getting down to the minimal 800MHz to save heat and power even with the Intel Powersave governor which is supposed to be able to do that.

7. My logfile fills up with USB (and other) error messages.

usb 2-7: unable to read config index 0 descriptor/start -71

8. Even though I mount my hard drive with the “discard” option for SSDs, if I run fstrim after a reboot, it shows me this:

# fstrim -v /

/: 26.2 GiB (28103872512 bytes) trimmed

# fstrim -v /home

/home: 204.8 GiB (219841617920 bytes) trimmed

9. There is an option to disable hyperthreading by booting the kernel with maxcpus = 2, but it appears to also disable the ability to adjust the CPU frequency.

HiDPI Bugs

In general it is beautiful, but I ran into several problems.

1. Sometimes Gnome uses big cursors and sometimes it reverts to old habits of small ones:


2. Some parts of the UI use bigger fonts, but don’t increase the window size to make room for the bigger text:


3. Some windows have big close buttons and controls, and some have small ones. The scrollbar in all applications is too narrow to easily grab. You need the steady hands of a sober heart surgeon to use the UI.

5. Many apps like LibreOffice, Gimp and Audacity have toolbar buttons that are too small to easily click and even recognize. LibreOffice’s dialog boxes and text everywhere look fine, even pretty, it is just the buttons that are not scaling. Even using LibreOffice’s large icons setting doesn’t make them big enough. Interestingly, Apache OpenOffice seems to do a better job as it sets the toolbar button based on the size of the system font. All apps should do that.

6. Cinnamon and Xfce cannot detect that the screen is high-resolution and so need lots of tweaking to become usable.

7. Firefox needs the No-Squint plugin to make the websites display in a reasonable size. Apparently nothing has been done in the product to officially notice the dpi of the screen, but at least there is an easy workaround. There are still some problems such as the tiny buttons on the Youtube player but it is manageable.

Fortunately, as laptops with high resolution screens become more popular, these bugs will get noticed. There is a lot to be done. I’m surprised that Gnome has so many issues as their 3.10 release announcement makes it seem like they had fixed them, and I don’t see any mention of further work.

I did try Windows 8.1 for a few hours and it had mixed results with regards to handling such a high-resolution screen so I’m not necessarily any worse off with Linux. Teams in the free software community release code 2-4 times per year, so I’m sure it will get smarter relatively soon.

The good news is that Gnome’s Classic mode is almost good enough for someone who was happy in Gnome 2 but there are still various annoyances: most people in Gnome 2 used the left and right arrows to scroll through their workspaces, but in Gnome Classic, you have to use up and down.

I may try Ubuntu’s Unity GUI, as there are builds for Arch, but Unity requires patches to so many upstream components that I may not want to risk it. I’m surviving with Gnome Classic plus some extensions, and I’ll be able to use this machine full-time. So, in spite of all these problems, I don’t think any are Arch’s bugs. The state of Arch is really the state of the Linux desktop. I’m surprised it isn’t in the top-5 most popular distributions on Distrowatch.

Linux on the desktop

It seems not one person at Lenovo installed Linux on this new Yoga before they released it. There are a number of bugs they could easily have fixed. The average patch to the kernel is about 20 lines of code. Unlike with Windows, they can make fixes anywhere they find problems. They also don’t need to build a multi-lingual installer to distribute drivers, they just improve the actual code, and let the other parts of the community distribute it and provide the UI.

If they had put in the same amount of effort towards Linux that they put into their fluff Windows UI nagware, it would be more than enough to make sure the Linux desktop worked well out of the box. There are even Lenovo-specific modules in the kernel that they aren’t contributing to. Other hackers are expected to figure out how to make every new model work by reverse-engineering.

I see lots of Linux users using Lenovo hardware, but because they don’t offer it, they have no idea how many users are running it, or would be happier if it came pre-installed. Lenovo has 33,000 employees and Dell has 100K. They could easily enable a great out of box experience with a relatively small team. If I ran Lenovo, everyone would be required to dual boot. It would be nice if they saw the trends in computing on cell-phones to servers and realize that they should be a part of a better future.

They could also customize it more nicely and more cheaply rather than building a bunch of junk outside and on top of Windows. The community would even help them. When I first started using Linux in 2005, I thought that Linux on the desktop would soon happen, but even in 2013, things haven’t improved much. I guess we Linux users need to complain more loudly to the employees of the laptop manufacturers.

Kernel bugs

The good news is that at least on the hardware side, the kernel has thousands of people, and so they in theory have the resources to fix these issues quickly. I’m looking into filing bugs, but there are already 25 active against the Synaptics driver alone so I’d need to do research and make sure I’m not filing duplicates.

One challenge for the kernel is they sometimes let bugs languish in their database for years. It was recently Halloween, so check out these 400+ scary bugs marked as regressions: http://bit.ly/LinuxRegressions. The Linux kernel currently has 2,194 bugs: http://bit.ly/LinuxBugs. Even scarier, a messy and unprioritized buglist discourages people from even entering bugs.

Linus and the other top maintainers see their job as making sure the hordes of programmers don’t screw things up, and that is a big key to its success. It requires a lot of work to watch over the massive rate of change. The problem is that the team mostly focus on evaluating the stream of patches going in that they sort of ignore users. The Linux kernel has a policy of no regressions, but there is no enforcement.

One of important things I learned at Microsoft was to try to get down to zero bugs as best as you can. An early internal memo recommended developers stop adding new features when they had 10 or more assigned to them. Some people might laugh at the idea that Microsoft tried to write reliable software, but the poor results are because they have richer but more complicated and older codebases. Peter Drucker had a line: “What’s measured improves.” If you never looked at yourself in the mirror, or weighed yourself, you might get heavier than you realized. Linux runs on millions of machines, but there are billions of them.

Another issue is that the kernel dev community is not equally well-staffed in every part of the codebase. There are a lot of ARM contributors, but they can’t fix the random laptop issues. In a few cases, it seems like the hardware will be phased out before it works with Linux. The benefit of a bug list is that it helps you find the areas that need extra brainpower.

In many teams in the free software stack, people are working on their bugs as fast as they can. Groups that have 1000s of active bugs like LibreOffice are simply understaffed and need more money and people. In the case of the kernel, it is partially an uneven resource problem, but also a cultural issue.

The worst part about the current large active bug count is that it is the fans of Linux on the desktop who are getting hurt. There is a world of people out there who are inspired by Linux but can’t make kernel patches. Everyone who files a bug in the kernel appreciates this amazing thing that has been built. They would like it to be used everywhere, including on their computer.

In spite of the problems, I’m happy in Linux. With applications of every kind, it changes how you think about an OS. If I ran Windows, I’d still be using Firefox, LibreOffice, Audacity, VLC, Gimp, Python, Git, Tomboy, and other free software. Windows succeeds because of laziness and inertia. There are some applications that don’t run on Linux: games, Ableton, Solidworks, iTunes, etc. but for most most today it is better code. Looking forward to the next few years of Linux on my laptop.

Note: I’ve created a petition to Synaptics Corporation about Linux drivers. Please sign it!


82 Comments

  1. Thanks for this excellent review. I also have a Y2P and tried installing Arch using UEFI boot. I was able to boot the usb stick with no issues, but once the initial prompt appeared I started getting inundated with messages saying, “usb 2-7: unable to read config index 0 descriptor/start -71″. Finally just gave up. Legacy boot sounds more promising, although your list of bugs is discouraging for a relative noob like me.

    Running Ubuntu now with relatively no issues. During installation i enabled WIFI with this…

    sudo rmmod -f ideapad-laptop

    after installing Ubuntu I permanently enabled WIFI with this…

    sudo vi /etc/modprobe.d/blacklist.conf
    and add this to the file –> blacklist ideapad-laptop

    to enable screen brightness with working +/- buttons i did this…

    sudo vi /etc/default/grub
    change this –> GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
    to this –> GRUB_CMDLINE_LINUX_DEFAULT=”acpi_backlight=vendor quiet splash”
    then run this –> sudo update-grub2

    I love the laptop, but secretly regret my purchase. Although I hated the W8.1 UI, everything just worked. Maybe in time I’ll be able to say the same about Linux on the Y2P.

    • Hi Eric,

      I had that problem with Arch too. I just did dmesg -D, which prevents sending those messages to the console. I should have put that issue in my review but it was very long already.

      I thought about blacklisting that module, but I believe there must be some useful stuff in there.

  2. The clickpad is truly horrible with the default settings. I played around with synaptics and finally found an option that improves the usability of the clickpad significantly:

    $ synclient FingerHigh=46
    $ synclient FingerLow=46

    Try it out and thank me later 🙂

  3. Thank you for this great article! I’m pondering the idea of purchasing a Y2P as well, with the intent to run linux on the machine, preferably Arch. But it seems that it’s still early days for HiDPI on Linux… In the end i need a machine that works, with an UX that doesn’t suck. A solution could be to keep dual boot windows around.

    Currently I am running Ubuntu-Mint with Cinnamon on a 2009 Lenovo Thinkpad T400s and everything just works. For some people that may be a reason to simply change nothing, for others it mAy be the signal to continue their explorative journey through the linux ecosystem 🙂

    You didn’t make any mention of the touchscreen the Y2P sports…. Did it work as expected? What about things like screen rotation when switching to “tent mode”?

    • The touchscreen works, but I never use it. Screen rotation doesn’t happen automatically, but there are ways to set it up to listen to the hot keys. I just haven’t tried because I’m not interested in using it as a tablet as I already have one.

  4. You are right about Thinkpads changing; I have the x230 and x230i. I like the new keyboard a lot but the lack of a caps lock light is a pain. The newer models now don’t have physical mouse buttons. These will probably be my last Thinkpads. Next time I will get something with Linux preinstalled (Dell, shudder) or just get a Macbook because I am tired of fixing all the broken stuff. But I’m hoping to squeeze at least four years out of these Thinkpads. Will probably have to replace the batteries a couple of times but hopefully that will keep them going.

    • Actually, in the Arch Synaptics xorg conf file that comes with the xf86-input-synaptics driver:
      /etc/X11/xorg.conf.d/50-synaptics.conf

      There was already an option to enable the feature. It just needed to be uncommmented! Here is the line, in case you are interested:
      Option “AreaBottomEdge” “82%”

      The Arch wiki explains more:
      https://wiki.archlinux.org/index.php/Touchpad_Synaptics

      I have found that for the questions I have, 95% of the time the answers are in there.

      • Aye, although I’m running Ubuntu, the same setting was commented out in the same file. Uncommenting it made this touchpad tolerable. Still other things that need tweaking, such as accidental palm detection. the `synaptics` cli has some settings for that but they haven’t seemed to make a difference for me.

          • No. I thought about filing a bug or sending an email but I haven’t done anything. I don’t think there is a bug filed about this in the kernel database. I looked through the Synaptics source and I could sort of imagine how it could happen but I can’t be sure because I didn’t really understand it very well and it is a state / hysteresis bug.

            It is amazing / sad that this basic Clickpad bug still exists 🙁

  5. Here are the settings I use for the trackpad. I’ve found that it’s better to not use the mechanical button and instead use a single or two-finger tap.

    xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Profile" 2
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 4
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Adaptive Deceleration" 4
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Velocity Scaling" 8
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Finger" 35 45 0
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Coasting Speed" 5 15
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Time" 120
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Move" 300
    xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Noise Cancellation" 20 20

  6. Has anyone put any effort in to getting the function keys to be back to actually be function keys primarily, then fn+key to do what traditionally would be their secondary role? F1 should mean help, not Mute.

  7. >[Hyper Threading] actually slows down many types of long operations.
    The stackoverflow link you provided actually shows a 33% performance improvement with hyper-threading enabled. As you explained, there are cache thrashing issues with hyper-threading, but it seems Intel has reduced these issues since the Pentium 4 HT days. I get the impression having hyper-threading on generally helps more than it hurts.

    Anyway, thanks for the detailed review. I’m pretty tempted to pick one of these up.

  8. About the Left-Fn and Left-CTRL keys:

    This is a traditional Lenovo Thinkpad thing, to make it easier to turn on the keyboard light in the dark — simultaneously pressing the (Fn) key in the far bottom-left corner and the (PageUp) key in the far top-right corner, toggles the keyboard light LED on or off. Even when you can’t see, you can find the correct keys quickly and easily.

    I have more than once seen simple configuration instructions for swapping the Left-Fn and Left-Ctrl keys, and have even in some distros spotted the option to swap the Left Fn and Ctrl keys, in the GUI keyboard config tool. I haven’t ever bothered to actually do so (even though a sometimes forget, and try to press the Fn when I want the Ctrl).

  9. Sorry to hear that there are still some issues with HiDPI in GNOME 3.10. I believe the issues with gimp and Libreoffice might be due to still being on GTK2 and not GTK3. Laptops with HiDPI screens are still not common enough among the GNOME developers that all bugs have been hammered out, but I hope we’re able to get there. Please help by filing bugs!

  10. “One simple example is how they’ve swapped the left Fn and Ctrl keys. There is no possible benefit from that. The Linux kernel has a policy: “don’t break userspace”. Keyboards are one of the places in computing where backward compatibility is important.”

    As a Thinkpad user for 10 years, I’m happy they’ve made this change. You can always remap the keys back to how they were if you want. Meanwhile, I’ll enjoy having a keyboard that isn’t designed differently to every other manufacturer in the world!

    Shame about all the other dumb things Lenovo are doing though 🙁

    • Note that some new Lenovos have swapped the left ctrl / fn key, and some have not, so what good does that cause?

      Any why is it worth being more compatible with competitors inferior keyboards if you make something that upsets your current customers?

      • The variations in where Lenovo laptops have Fn vs Control are entirely due to the difference between Thinkpad tradition and what the rest of the market is doing. Thinkpads have always had Fn in the left corner and Control to its left, and all current *Thinkpads* still do, even the Thinkpad Yoga. But non-Thinkpad Lenovos put Control in the left corse, like the rest of the market. The Yoga 2 Pro is *not* a Thinkpad, and that’s why the keys aren’t where they are on Thinkpads. (It’s also the reason there’s no trackpoint.) I just wish there were a Thinkpad version of this that didn’t give up the 13.3″ high-res screen.

        Thanks for all the information on this thing! I’m thinking about replacing my Thinkpad X61s, and right now the top contenders are the Thinkpad T440s, the Yoga 2 Pro, and the 13″ retina Macbook Pro. And it looks like Arch may be a good option to use despite my longstanding use of Kubuntu.

        • You’ve given reasons why the keyboards have different layouts, but it isn’t a good one. One of the best things about Thinkpads was their keyboard. And being as standard as possible across all of the machines is also important.

          There are several other still annoying after 4 months problems with the keyboard besides the fn / ctrl.

  11. Ctrl + Fn are swappable in BIOS on every recent ThinkPad I’ve seen. Doesn’t make the decision wise, but it is fixable below the OS level.

  12. Hello, I’m the new owner of yoga2 and actually thinking about selling it. The main reason is hidpi screen, which is not properly hadled by any desktop environment.I’been playing a lot with DPI, screen size and other in Xorg conf, but nothing helped. Most convenient on this machine seems choosing KDE, maybe Gnome3.
    Also, I’ve figured out, that the BIOS upgrade for yellow issue is only valid for Window users. When I tested it in W8 all worked and it was visible that the yellow color was tuned up, but in Linux there is no visible change.
    However, the screen looks beautifuly and I’m very sad Linux is not ready for this.

  13. I’ve finally reached a state when I can somehow work in QHD resolution 🙂
    I made following

    I’ve chosen KDE (seems to adapt better then gnome)

    For brightness fully working with bright. indicators I did this

    – grub –
    linux /boot/vmlinuz-linux root=UUID=abd0e7fc-72af-4efb-bd06-550b162d3e65 rw acpi_osi=’!Windows 2012′ acpi_backlight=vendor splash

    – blacklist.conf –
    blacklist ideapad_laptop

    For best high resolution experience, though still not ideal

    – 90-monitor.conf –
    Section “Monitor”
    Identifier “”
    DisplaySize 294 166 # In millimeters
    EndSection

    – .Xresources –
    Xft.dpi: 196
    Xcursor.size: 48

    Also thanks for ‘no squint’ addon in Firefox, very useful.

  14. Some more tips for you guys who purchased Yoga2

    I use infinality for better font visibility (i like it much more than default)
    https://wiki.archlinux.org/index.php/Infinality-bundle%2Bfonts

    Issue still remaining for me:

    – touchpad doesnt get disabled while typing, thus it brings a lot of typos, otherwise settings pasted by ‘rpress’ work pretty good, thanks for that!
    – when i want to use laptop in tablet mode, the keyboard gets disabled, which is correct, but it also starts triggering the dash key ( – ) all the time, really don’t know how to suppress that

  15. Considering what you know now, would you still have purchase this laptop?

    I am wondering because I am quite so found of the design and I have been considering getting a Yoga since the previous Yoga 13 was announced. However the network interface hardware issues the Yoga 13 had made me decide not to.

    • I have one Y2P too and I would not purchase it again. One thing is not very good support in DEs and other software (what about you, Oracle and Java?). But it will be better in future. I believe 🙂 Worst thing, I think, is screen and yellow (and magenta and cyan) color. It completely prevent any more serious work with graphics (and photographs too, of course). And third thing is Lenovo and it’s support. They really annoyed me. If you read their forum thread about display and colors, you know what I’m talking about. As I wrote to the forum, it’s last Lenovo machine I bought.

  16. I think i found a solution for the touchpad being active even while you’re typing.

    $ syndaemon -R -i 0.5 -k
    #I use just half a second for inactive state, you may change it though

    Nicklas, I guess your answer was addressed for the owner of this article.. but speaking for myself, yoga2 is quite a good piece of eq. for that price. If all major issues with QHD are solved for the time being I can imagine my live with it.

    -very thin
    -very light
    -amazing screen (except yellow)
    -linux friendly

  17. I installed Arch on my Yoga 2 Pro, but i have no idea on how to enable the keyboard backlight.

    It works during the post and grub screen but after the kernel loads the backlight turns off and i don’t know how to enable it again.

  18. Had 2 questions:

    1. rpress mentions some xinput commands. Where do I put these on an arch/manjaro system? /etc/X11/xorg.conf.d/50-synaptics.conf? If so in what format?

    2. How do you get the resolution to 1080p. The only resolution I can display properly is 3200×1800 at 16:9. The closest detected res is 1920×1400 at 4:3 which like every resolution listed does not work properly.

    • 1. You could put them in a script that gets run on login (https://wiki.archlinux.org/index.php/autostarting) or put it into the .conf file format.
      2. I could tell you, but I refuse. You have 5.7M pixels, why would throw 3.7 million away? Just pick a larger font size. What DE are you using? Gnome 3.10 works pretty well out of the box. I hear KDE can be configured for it as well. You are so much better off spending the time to tweak your system rather than cripple it.

    • Not sure if you’re still interested in this, but you can add a new 16:9 monitor mode using xrandr like so:


      xrandr --newmode "1600x900" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
      xrandr --addmode eDP1 1600x900
      xrandr --output eDP1 --mode 1600x900

      Arch wiki: Adding undetected resolutions

  19. I am using openbox, you can turn up the dpi but the icons are still tiny. Might consider Gnome or KDE as I’ve been playing with Cinnamon and it is not working out either.

  20. I think you should reconsider your refusal KDE isn’t even ready for hiDPI. I don’t think any DE is at this point. Sure you can scale the text but it doesn’t do everything I still find myseld squinting to read somethings. The icons as well as the text don’t all scale well so multisized icons everywhere. Only nice thing I can say about KDE is at least the power manager has brightness on battery settings. I Need 1080p until this madness blows over!

  21. As I’ve already said, KDE is absolutely ready for hiDPI, except some issues with hardcoded things, like systray icons, oxygen checkboxes.. otherwise all works pretty fine.
    Here is the list of issues being reported on hiDPI and the list is getting shorter.
    https://community.kde.org/KDE/High-dpi_issues#Oxygen

    All you need to do in order to use KDE in hiDPI is to set up DPI (or screen size in X.org), use bigger icons in settings and choose the right size for the fonts. There is no other hacking needed.

    I have tried E17 and must admit it’s ready for hiDPI and for touchscreen especially, everything is scaled up correctly, though you have to still use qt or gtk libraries for you applications, where you can face issues as mentioned earlier.

  22. I also have this laptop and use the acpi_osi=”!Windows2012″ instead of acpi_backlight=vendor since it works better for brithtness.

    I wrote a little script for flipping the screen (which also flips the touchscreen driver) which i bind to windowskey+o (the button at the side under volume keys normally used for rotation lock) https://github.com/grimpy/homeconfig/blob/master/scripts/bin/rotatescreen

    I am using Arch Linux and my xorg is refusing to detect the touchpad with the synaptic driver instead evdev is used which does not have any nice options to play with touchpad sensitivity or stuff.

    When I forced usage of synaptic driver i got following errors and it didnt work at all, so I reverted back to evdev for now.
    [ 9296.735] (II) Using input driver ‘synaptics’ for ‘PS/2 Synaptics TouchPad’
    [ 9296.735] (**) PS/2 Synaptics TouchPad: always reports core events
    [ 9296.735] (**) Option “Device” “/dev/input/event8”
    [ 9296.829] (EE) synaptics: PS/2 Synaptics TouchPad: Synaptics driver unable to detect protocol
    [ 9296.829] (EE) PreInit returned 11 for “PS/2 Synaptics TouchPad”

    Any help would be greatly appreciated.

  23. Sorry for spamming here. I just solved my own problem.
    I copied the linux parition of my old laptop which had a option psmouse proto=imps set which made synaptic fail to detect it properly.

  24. I also got a Yoga Pro 2 recently, and this is a (very) short review on it:

    booting was ok with acpi_backlight=vendor, it is not needed with recent kernels (3.13.0-rc1 at the time of this writing) and backlight brightnessy keys work out-of-the-box. I will paste my kernel config soon enough. I disabled UEFI, it seemed to caus emore problems than anything else.

    I absolutely LOVE the screen resolution ; it’s like having a HUGE screen (providing you have a good eyesight), and FVWM handles it perfectly. t5he touchscreen is a nice addition though no multitouch support yet (as far as I know). when the touchscreen module is not loaded (?), the device (USB) keeps on registering and de-registering. once the module is loaded it seems to work fine though and is quite accurate too.

    wireless worked fine when booting from archlin install CD (rmmod ideapad_laptop ; modprobe iwlwifi) but was absolutely unstable to the point of being useless once the OS was installed on the SSD. I am now using a USB wireless network card, but it is really unstable to the point of being really annoying. I blame it on the USB subsystem, which gives massive error messages in the system logs.

    I ended up installing GENTOO LINUX, I like this distro as it lets me have a fairly good control on things. to install gentoo I had to boot from the archlin CD and chroot into my gentoo system (to have network) and then emerge the hole system until I was able to get everything running fine with the network

    the touchpad is CRAP. the switch is too hard, it will break your fingers if you try to click with the mechanical switch no matter what settings you have ; AND it will send random events to the OS, which include pasting text into terminals or whatever else you have running ; I HAVE TOly lock my screen or put the computer to sleep (echo mem > /sys/power/state) before closing the lid or I am sure things will have happened which I don’t want to.

    so in my opinion, should you buy the Lenovo Yoga 2 Pro?

    that laptop is nice, using it as a tablet may be a good thing once you configure it properly, the backlit keyboard is fine, it is quite silent the battery life is alright, but the answer is definitely

    NO.

    touchpad is crap, USB subsystem is a massive failure and fucks up everything below it. My last laptop was an old “IBM/Lenovo X60”, and I really liked it. LENOVO, WHAT THE F*** HAPPENED TO YOU? this used to be professional hardware, now it’s just a pile of less-than-crap – at least proper crap can be turned into decent compost and stuff grown on it.

    I’ll come back with my full kernel, fwvm, synaptics config because as linus once said, “backups are for whimps, real men put their important data on ftp and let the rest of the world mirror it”. it took me ABOUT A WEEK to get something useful out of this laptop.

  25. jaskerx: Yes, I do have some problems when unsuspending my yoga2, sometimes the screen doesn’t switch on, so I have to close/open it for severel times, until it works.

    Petaflot: Well, I must admit, I had similar opinion, but if you stay in ‘recent’ reality you find out that the keyboard, touchpad is still above the average comparing to other brands (I don’t say I like it though). Yes, that’s where we have ended up with laptop production.. Very Sad

  26. I am also quite happy with the yoga 2 pro

    in my setup with ubuntu 13.10 64bit – I yust needed to blacklist the lenovo ideapad module and add the backlight option to the kernel – and everything works out of the box than.
    What I recognized is, that aufter resuming the mouse pointer is not displayed anymore…
    …and I didn’T get the screen to rotate correctly including the input touch interface stuff…

    …did someone wrote a working script for rotating the screen including the touch input?

  27. What keyboard model and options did you use for X11? With a generic keyboard I’m getting a single Super_L from the button under the screen, which isn’t very helpful.

      • On the screen there is a Windows logo, which can be pressed. I called this a button, but maybe a key would be a better name for it.

        However, this button/key appears produce exactly the same effect (aside from the vibration effect) as the Windows key on the keyboard. As the Windows key on the keyboard is generally mapped onto Super_L this makes it hard to attach any action to it.

        I spent a while trying to find out the raw scan codes that were being produced, but I don’t see any way to find them out under Fedora 20.

        I thought that perhaps there was another keyboard model that might do a better job of the translation, but maybe not.

  28. I’m fairly happy with XFCE on this highDPI screen.

    I had to increase sizes in various places, but the only significant issue was increasing the height of window title bars, which has to be done by modifying little image files. A combination of text editing (to stretch the bar components) and image magick (to increase the icon sizes) did the trick.

  29. @Peter: the “windows” button key under the touchscreen does not behave like a “real” key:

    when you press it, the vibrator goes “rrr”.

    when you release it, you get a “Super_L key down” followed immediately by a “Super_L key up” event – so it cannot be used as a modifier. this really sucks, but could easily be fixed by a bios update.

    being able to control the vibrator from within the OS would be a really cool feature, for replacing the system beep for example.. has anybody figured out how to do this?

    • Actually, I don’t want to use the Windows key under the screen as a modifier. What I want to be able to do is to detect it as a key press when the keyboard is not accessible. However, as Super_L is mapped to a modifier, and heavily used, it is not easy to hook anything to it.

  30. Is it not possible to use one of those color profile calibration software to fix the yellow color screen issue?

  31. missing pointer after resume:

    press ctrl+Fn+Alt+F1 which takes you to console, wait for the console to show, and press ctrl+Fn+Alt+F7 which takes you back to xwindow, now you’ll see the pointer/touchpad work again. You don’t need to reboot.

  32. I’m making some headway on getting the sensors to work. There are 8 advertised sensors. The four that work are the light sensor, the accelerometer, the gyro, and the compass. One of the other four might be the hinge sensor.

    I can get the four sensors to produce reasonable values. The next step is to write code that determines a symbolic orientation from the accelerometer.

  33. Wow. Great information. I was really close to buying a Yoga 2 pro but now I think that I’ll just buy a new battery for my ThinkPad x61 tablet (it has a high-resolution screen).

    Thanks!

  34. I have a program that listens to the accelerometer and rotates the screen and touchscreen when the orientation changes. It’s nowhere near perfect – the accelerometer appears to hang randomly. However, if anyone wants to try it out, send me an email at pfpschneider@gmail.com

  35. Hi, I have some updates for you, yoga2pro users!

    If FF you may set following in about:config to resolve some design issues (website buttons etc.)
    layout.css.devPixelsPerPx = 2

    For multitouch support you may install app called ‘touchegg’

    a small utility to assist in setting usage modes of laptop-tablet devices (Peter F.P.S is it your project?)
    https://github.com/wdbm/spin

  36. Good day,

    I started using the Lenovo Yoga 2 pro with Archlinux about 2 weeks ago and was wondering if we have a central point to collect / document information about it?

    I have various smaller issues with this device (like not suspending everytime I close the lid, being unable to tell in which position the screen is, being unable to make use of the “button” below the screen (i.e. Super_L even it senseless) and I am trying to fix those problems.

    Cheers,

    Nico

  37. Heh, everyone hates the new Lenovo keyboards. This review of the Thinkpad X1 echoes your thoughts on the keyboard, which was the only thing the reviewer could find wrong with it in any way … but which was sufficiently wrong to spend six paragraphs on.

  38. I purchased one of the i5 Y2s when they first came out. It was clear that Windows 8 was a nightmare to use, and they didn’t offer a back-track to Windows 7 (which, with the addition of LibreOffice, Cygwin, Eclipse, KDE for Windows–which still needs a lot of work–but it is great to have Kate/Korganizer/automated updates, Chrome, MariaDB, Gimp, etc. isn’t really all that bad. Nearly as stable/usable as openSUSE was a few years ago). At the time, people were having nightmares trying to get Linux installed, and it is very encouraging to see people making headway.

    Thank you for your expertise and hard work. I know these things take a lot of time….

  39. For what it’s worth, I don’t mind if Synaptics wants to sell their touchpad driver. It takes work on their part to maintain it, and having an open Linux driver won’t boost their sales because almost every laptop out there has a Synaptics touchpad.

    What’s annoying is that they will only sell it to OEMs. Because there are practically no OEMs that offer Linux, and, what there are are often just using it to get enough performance out of old hardware to be able to sell it, and they don’t buy the proprietary drivers either.

  40. Im hoping that some of you Y2P users are still watching… when I run the xrandr commands I ALWAYS get the error ” xrandr: Failed to get size of gamma for output default ”
    Also I cant find the correct name for my display, it doesnt like eDP1…

    I would like to reduce the resolution by half so that the fonts are easier in the terminal and other places too.. I seem to be having the gamma error problem that i cant find other yoga users having..

    Thanks

  41. Hi All,

    For what it’s worth, linux on the yoga 3 pro seems to behave quite better than what Keith described here for the yoga 2 pro. Booting UEFI with the 3.17.4 kernel (I’m using arch), essentially everything works out of the box. Had to swap for the broadcom-wl drivers to have wifi working, but otherwise everything works well, without any special boot parameters.
    – display (this machine is alledgedly using an intel 5300)
    – wifi
    – suspend
    – sound
    – backlight
    – keyboard backlight
    – trackpad (no tweaking necessary)
    – camera

    Haven’t tried bluetooth yet. As said above, the HiDPI display requires some tweaking, but it is much better than it use to be a year ago or so. I’m using xfce4+compiz and apart of spotify, everything looks quite good and readable.

Leave a comment

Your email address will not be published. Required fields are marked *