Lenovo IdeaPad Yoga 2 Pro

Introduction

The Lenovo Yoga 2 Pro (which has significant differences from other IdeaPads inside) is an Ultrabook with a multi-touch 3200×1800 13.3“ Pentile screen. The Yoga 2 Pro also has a special hinge that allows the screen to be rotated throughout 360 degrees, allowing the machine to be stood up on edge or used like a tablet. As with most Ultrabooks there is very little that can be upgraded inside - only the SSD and wireless can be upgraded.

Volume Up/Down and Power work, but Novo, Rotate Lock, and Windows don't work nicely out of the box. Novo and Rotate Lock can be made to work nicely.

Accelerometer, etc.

Yes

In pre-3.15 kernels the sensor hub driver needs a quirk. Also fixed in Fedora 19 and 20.

Hinge Angle

No

Needs a program to process the two accelerometers and calculate their angle, or some other solution.

Fan Control

No

There doesn't seem to be a PWM device to configure with pwmconfig.

Notes

Screen

The HiDPI screen works but most desktop environments need tweaking.

Gnome 3.10 from the gnome3 staging PPA for Ubuntu can smooth out the worst problems. Minor tweaks are still needed—the mouse pointer is too small but it can be solved by setting cursor-size in org.gnome.desktop.interface to 48.

Unity has builtin scaling for HiDPI that works well for most apps: Settings → Display → Scale for menu and title bars (bad name) → set the value you prefer, a value of 2 gives good results.

XFCE can be tweaked to work reasonably well by increasing font, icon, and toolbar sizes and creating a modified theme for xfwm4 with larger window title bar images and icons. The latter is easiest done by using a text editor on the title bar images and image magick (convert) to blow up the icons.

You also may need to tweak the rendering parameters of browsers: for Firefox go into about:config, search the layout.css.devPixelsPerPx key and set it to 2.

Boot

UEFI booting works. Fedora 20 even provides secure booting. It is considerably harder to create a working UEFI USB boot key - use the dd method. Older kernels may need acpi_backlight=vendor added to the boot parameters.

Sound

In older distributions sound may stop working when the machine suspends. To resolve this, disable Auto-Mute in alsamixer.

Sometimes sound output is directed to unplugged headphones, resulting in no
sound. To fix, open pavucontrol and direct the sound correctly.

Wireless

In pre-3.16 kernels ideapad_laptop blocks the radios. Fedora 20 has the patch backported.
Add blacklist ideapad_laptop to /etc/modprobe.d/blacklist.conf as a workaround. The patched ideapad_laptop module available from https://github.com/pfps/yoga-laptop in the yoga_laptop directory makes wireless work correctly and also handles the Airplane Mode key and sets up the Touchpad Toggle key.

Trackpad Parameters

To set up a middle-button area on the trackpad, create /etc/X11/xorg.conf.d/50-synaptics.conf something like:

Accelerometer and Other Sensors

Automatic Rotation of Screen

This can be done by using the accelerometer mounted in the screen.
Code for automatically rotating the screen and the touchscreen is available from https://github.com/pfps/yoga-laptop in the sensors directory. (This code should be cleaned up and use a system bus to communicate, which would make it usable in many laptops with an accelerometer.)

Extra Keys

The Windows button/key on the screen appears to send a Super_L code, which is of little use by itself in Linux, as it is usually a modifier code.

Hinge

There is no known way to determine hinge angle. It may be that this is done in Windows by determining the angle between the accelerometer in the screen and the accelerometer in the base. However, there may also be a direct sensor reading for this. If anyone knows how to do this, please add the information here.

Resume immediately after Suspend

If there is a problem with the laptop waking up after you close the lid this script may help:

The theory here is that there is some activity (WiFi, maybe) that is causing the wakeup. This problem only occurs on lid close, not on suspend via direct command.

Fn Key after Resume

On resume, the embedded controller often thinks that the Fn key is pressed, so that some (but not all) keys either work differently or do not work at all. Pressing and releasing the Fn key clears the problem.

Dark Screen after Resume

Sometimes the screen is dark after a resume. To fix, sleep and wake up again.

Summary

Modern distributions, including Arch Linux (Dec 26 2013 install, with patched ideapad_laptop module) and Fedora 20, work very well. Several of the remaining issues can be worked around or patched. There is an effort in Fedora to make more parts of all Yogas work correctly out of the box.

1: screen brightness keeps changing. Sometimes it even goes very very low (mostly the change is just distracting). When I try to adjust brightness with the appropriate key (F12), I see a nice overlay showing a bar. As I press the button, the bar goes up (as does the brightness) but some other agent is lowering the brightness and bar.

Why do I get this adjustment? Is there a way of turning it off?

2: my login screen is upside down (GDM?)! Why?

Hypothesis (completely unverified): ideapad_laptop kernel module has lost support for the Yoga 2 pro.

Geoffrey, 2016/02/03 14:53

I have been running Debian SID since November 2015 on it.
Screen rotation (along with input) was working just fine until the kernal was upgraded from 4.2 to 4.3. Since them screen rotation is broken.

venik212, 2017/05/11 07:25

Can't get the first 3 function keys to work under Lubuntu 17.04, so I have no simple volume control.. ;-(

vt, 2015/05/03 22:05

The following:

“If there is a problem with the laptop waking up after you close the lid this script may help:

Is useless without some explanation? Where do these lines go? Under what name? In what directory?

Bernard N, 2014/11/11 10:15

The Windows button on the keyboard and touchscreen can be mapped using xbindkeys, but you can't use it with other shortcuts that use the windows key. So it becomes a dedicated key for a single function of your choosing.

I mapped it to the ShowDesktopGrid in KDE. This works great and is very convenient. I use 3×3 virtual virtual desktop.

Then make sure xbindkeys is running when you login. For KDE DesktopGrid, make sure it is enabled under KDE System Settings → Desktop Effects → All Effects → Desktop Grid.

quixote, 2014/10/24 00:26

Minor note: I think there's a typo under “Boot” in acpi_blacklight=vendor. It should be:

acpi_backlight=vendor

I think?

Excellent summary and very useful for me, hoping to pick up a Yoga 2 now that they should become cheaper after the Yoga 3 comes out.

Peter F. Patel-Schneider, 2014/10/24 07:02

Yeah, there is no blacklight on the Yoga, only a backlight. I fixed the typo.

There is no disco ball either.

Adonis K., 2014/06/22 10:50

I've had a discussion with Alex Diavatis from WorldOfGnome (https://plus.google.com/u/0/+WorldofgnomeOrg/posts/T3FWbMgk2pL) and it seems like the Fedora people added some fixed and are planning to add some more in the futures related to the functionality of the Lenovo Yoga 2 Pro. We need to make these fixes cross-distro available so we can enjoy our yoga2pro in all available linux distros…

Hans de Goede hdegoede@redhat.com got a patch to ideapad-laptop.c committed that fixes the Wifi for Yoga 2 11. He has a modification to the patch that should fix Wifi for all Yogas. I have the patch on my machine and will be testing it. If it works, Hans will submit the patch and hopefully it will get into 3.16, and maybe even backported to 3.15 by Fedora.

This fixes one of the main problems, but not the others with the embedded controller.

I think that my patch for the sensors has made it into 3.15, so that the sensors will work right when that gets out.

Adonis K., 2014/06/23 08:21

From what Alex said, it seems like either Fedora or an upcoming kernel update has a patch for the keyboard locking when you go in tablet mode (which currently doesn't function properly) and it seems like a yellow tint fix is on the way as well.

Hans Kottmann, 2014/05/03 18:08

Thank you for your quick answer. I have treated the microHDMI connector with the knife and now it works.

Hans Kottmann, 2014/05/03 18:06

Thank you for your quick answer. I have treated the microHDMI connector with the knife and now it works.

Hans Kottmann, 2014/05/03 16:45

How did you get the hdmi-port to work? Is there any key to activate it?

Peter F. Patel-Schneider, 2014/05/03 16:50

I had no problem at all.

The only trick is that you need a connector that fits correctly. Some microHDMI connectors are too short, I believe. I had good luck with a Rosewill Ultra Thin cable, but a microHDMI to HDMI converter that I tried later didn't work.

Adonis K., 2014/05/04 17:21

The one I got didn't work either (at first), then I googled and read somewhere about trimming some of the plastic from the connector. After cutting like one fourth of a centimeter the connnector started working properly.

Hugh Redelmeier, 2014/04/18 22:59

Interesting. I have a new 7260 that is dual-band and AC but haven't installed it.

Maybe my problems will go away if I do install it.

On the other hand, I haven't seen the machine check in the last few days. I don't know what affects that.

I do have the latest firmware for the Y2p (“BIOS” might no longer be the right term).

Peter F. Patel-Schneider, 2014/04/18 22:17

Weird. I haven't seen anything similar, ever, and I've been running Fedora throughout. The original wireless card used to throw exceptions all over the place when the driver was (successfully) getting it to work in the 5G band. These went away when the driver was “fixed” to not use the 5G band. I've since upgraded the wireless card. (A very good idea, by the way, and quite cheap.)

There are quite a few issues with the embedded controller, including messing up whether the Fn key is depressed on resume. I expect that these are all papered over under Windows by having special-purpose code to reset everything correctly.

I wonder whether there is some way to get out of Lenovo a means to upgrade the BIOS and other firmware without having to boot into Windows (which I can't do, as I am running Fedora only).

I've spoken to a backchannel at Leonovo. The summary: they can duplicate the problem but nothing will be done since they don't support Linux on the Yoga 2 and “the project was closed” (I think that means that the BIOS team is working on new things).

My guess is that something ACPI-related is the problem, but that's not even an educated guess.

Adonis K., 2014/04/07 00:47

Mostly my problem with it, is when I open a tty and this message keeps spamming which makes the terminal unusable.

Peter F. Patel-Schneider, 2014/04/07 00:54

Hmm. I only see this in the system log, and then only for a short while after rebooting. I just looked at my old system logs and I see less than 20 of these messages per reboot.

Adonis K., 2014/04/06 23:41

Anyone managed to fix this error that keeps filling the logs?

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

Peter F. Patel-Schneider, 2014/04/07 00:44

I believe that this happens because the touchscreen takes a while to start up.

In any case there does not appear to be any negative consequences.

Peter F. Patel-Schneider, 2014/03/04 02:02

To change options for the synaptics touchpad add /etc/X11/xorg.conf.d/50-synaptics.conf as described in several places.

The option to use is SoftButtonAreas, my file is rather minimal, being only

Section “InputClass”

Identifier "touchpad catchall"

Driver "synaptics"

MatchIsTouchpad "on"

# This option is recommend on all Linux systems using evdev, but cannot be

I don't really know how to do enough things with the screen's digitizer to use this as a tablet, but I don't care a lot. My previous notebook was a ThinkPad X61 Tablet and I never used its tablet features.

Suspend seems to work. The wireless seems to work. The Lenovo ThinkPad USB3 ↔ gigabit ethernet dongle that I bought also seems to work.

Dean Brettle, 2014/07/22 07:05

Instead of using the Firefox extension, you can go to about:config, and change the value of layout.css.devPixelsPerPx. A value of 3 would be appropriate if you normally view the screen at arms length. A value of 1.5 is more appropriate if you are typically about half that far. I like 1.5 because sites display properly with the browser window only half the width of the screen.

Peter F. Patel-Schneider, 2014/02/22 20:28

What driver are you using for the touchscreen?

Peter F. Patel-Schneider, 2014/02/20 05:43

Looks interesting. There is a long list of needed dependencies that I don't have in Fedora 20, so it'll take a while for me to try it out. Does this provide multi-touch on the screen, or just do things with the multi-touch on the touchpad?