Installing Fedora 25 on a ThinkPad X1 Yoga
It seems the issue with touch and pen input on the X1 Yoga may be due to a firmware issue. Lenovo has issued an updated firmware . With this update the touch and pen input in Xorg has been stable so far. Only issue is that the firmware is only available to run from Windows.
Note, this does not fix the pen input in Wayland, that is a totally different issue and effects every Wacom device with Wayland right now. While wayland supports tablet devices, the issue is that that only works in combination with GTK3 applications today. Any applications using GTK2, QT or other toolkits will use xwayland, which does not support tablet devices. This including GIMP, Firefox, Chrome, etc. Not even the wacom settings program has been updated for wayland.
New in this release
New in this Fedora release, with regards to this model ThinkPad is the following;
- Wayland is the default and works better then ever, but still not perfect...
- intel_pstate no longer needs to be disabled
- Touch and Pen input broken on Wayland 
- Fn-F8 now gives an Airplane mode OSD, but pressing the button a second time does not disable it.
Success Chart - Out of the box experience
|Installation||Local CD/DVD install||unknown||did not test|
|Network Installation||unknown||did not test|
|USB Installation||yes||did not test|
|Display - Intel HD Graphics||Laptop Screen||yes|
|VGA||unknown||I do not have the VGA OneLink+ dongle|
|Displayport||unknown||did not test|
|Power Management||Software Suspend (hibernate)||unknown|
|Suspend to Memory (ACPI sleep)||yes|
|Intel HD Audio||yes|
|Wireless||WiFi - Intel 8260 AC||yes|
|WiFi - Intel 18260 AC + WiGig||unknown|
|WWAN - Sierra Wireless EM7455||unknown|
|WWAN - Huawei 4G||unknown||did not test, but is detected|
|TrackPoint||partial||Yes, but does not get disabled in tablet mode!|
|TouchPad||partial||Yes, but does not get disabled in tablet mode!|
|Extra keys||yes||see ThinkPad Extra keys section below|
|Fingerprint reader||no||does not work|
|Pen Pro (Wacom)||yes||works in Xorg, very limited support in wayland|
|Touch screen||yes||issues resolved after touch firmware update|
|Automatic screen rotation||yes||works with the 4.9 kernel update|
|Ambient light sensor||yes||works with the 4.9 kernel update|
|Ports||Intel Ethernet||yes||via OneLink+ dongle or OneLink+ dock|
|TPM||unknown||did not test, but tpm kernel modules are being loaded|
|Docking||yes||OneLink+ dock works fine|
Tested and Verified on Fedora 25
Information in this section has been tested and verified using Fedora 25.
In the BIOS (F1 to enter during boot), be sure to disable secure boot.
Security > Secure Boot > Secure Boot = Disabled
Also, if your planning to run any kind of virtual machines, make sure you enable the CPU virtualization support.
Security > Virtualization > Intel (R) Virtualization Technology = Enabled
And while your in the BIOS setup you may also want to immediately change the default Function key behaviour. On this ThinkPad by default the function keys will not work as one would expect. When pressing F1 you do not get F1, but you get Mute. To get F1 you need to press Fn-F1 or you first need to enable the FnLk (Fn-ESC). To reverse this behaviour back to how to should be, change the setting in the BIOS.
Config > Keyboard/Mouse > F1-F12 as Primary Function = Enabled
Nothing special, you can follow the generic Fedora install instructions.
No special configuration needed
This is the default with Fedora 25. For the most part works fine, but there are still a couple of issues that are not specific to this ThinkPad.
For one, the Pen and Touch does not work in Wayland mode. Also window placement with full-screen programs on a multi-monitor setup is still problematic. But the list of issues is getting shorter with every new update.
Works out of the box, but is no longer the default.
If you have the HiDPI display option, it brings with it a whole lot of issues. Most of them are covered here; ArchLinux HiDPI.
Basically everything is quite large as it tries to scale everything 2x when a HiDPI display is detected. In fact a bit too large to my liking. On the archlinux website there are some hints and tips on how to scale things down a bit again, but it is really a hack and far from ideal. After experimenting with various options, I decided to use the default 2x scaling in Gnome, but change the zoom option in the webbrowser to scale everything a bit smaller since that is what I use most.
Also having a HiDPI primary display causes everything on external non-HiDPI displays to appear huge as they will receive the same scaling factor. This is a limitation of the X11 windowing system. The solution would be to switch to a Wayland desktop which is able to handle multiple displays with various DPI settings.
Touchscreen & Pen
It is essential that you apply the Lenovo Touch firmware update for the X1 Yoga. Without this update the Pen and Touch is flaky and may stop working even by such simple actions as locking the screen.
Second of all, when logging into the Gnome desktop you may get a message that the Wacom touchscreen and pen are not recognised. This issue is resolved if you have installed the updates, in particular the libwacom-data update.
Also when using the default Wayland desktop, the pen does not work at all for applications relying on xwayland, which are the majority. Even the Wayland settings app will claim no Waycom device is found. This is a known issue. The solution for now is to use Gnome on Xorg.
ThinkPad Extra keys
ThinkPad keys are handled by a mixture of the thinkpad_acpi, acpi button, acpi dock and acpi video drivers.
|FnLk||unknown||yes||Locks Fn key state|
|presentation mode||unknown||yes||Cycles through External Only, mirror and dual display|
|Airplane mode||yes||partial||Activates airplane mode, but does not disable it!|
|Settings||yes||yes||Opens Gnome settings panel|
|Find||yes||yes||Opens Gnome find|
|?||unknown||unknown||Does not seem to do anything|
|?||yes||yes||Opens Gnome Places|
|keyboard light||-||unknown||yes||no OSD.|
|Power||Power button||acpi button||yes||yes||Need to press button for ~1 second to trigger a Suspend event.|
|Volume keys on side||Volume||yes||yes|
|Lid||Lid button||acpi button||yes||yes||Triggers suspend event|