Time to try out some new hardware. My experience so far with the Thinkpad X1 Carbon has been great and will get even better over time. Most of the things that I’m going to cover in this blog have already been fixed in various projects and I expect that many of them will land in Fedora 21. However, until that time, I want to make sure that Fedora 20 users can have a great experience with the Thinkpad X1 Carbon (model 20A7), assuming they are willing to tweak a bit.
Step 1 – Disable UEFI Boot for installation
To do an easy install just disable the UEFI Boot in your BIOS and hook up your installation source (USB, PXE over the net, etc). Very simple to get going.
Step 2 – Fix Suspend / Resume and USB3
Resuming from suspend is going to fail because of a problem with the firmware and the USB3 driver. You have a couple options. The first is to disable USB3 in the BIOS and move on. The second if to update your BIOS which is trickier. Do not update your BIOS using my instructions unless you know exactly what you are doing. You can brick (i.e. ruin) your machine if you do it wrong.
Option A (Easy) – Disable USB3 in the BIOS
To do an easy install just disable the UEFI Boot in your BIOS and hook up your installation source (USB, PXE over the net, etc). Very simple to get going.
As for disabling USB3, there is evidently a USB3 driver problem that keep the machine from un-suspending. I’m going to investigate updating the BIOS to see if it fixes this, but an easy fix for right now is to disable USB3 and suspend resume works great.
Option B (Danger) – Update your BIOS to version 1.13+ (AT YOUR OWN RISK)
I’ll be honest, I even contemplated as to whether to put these instructions in here. At the end of the day though, I figure I might as well pass along what worked for me. Seriously though, if you mess up a BIOS update, you can ruin your machine so if you don’t know what you are doing, just turn off USB3. However, if you want to update the firmware, this is what I did.
Step 1 – Download the geteltorito.pl script. You can download the one I used here.
Step 2 – Get a USB drive that can be erased and plug it in. Figure out which device that drive is. I usually just run ‘fdisk’ to figure out. Keep in mind that if you see /dev/sdb1 in fdisk, your device is actually going to be /dev/sdb (with no number at the end).
Step 3 – Download the BIOS ISO image from here.
MAKE SURE YOU GET THE BIOS FOR YOUR MODEL NUMBER LAPTOP. For example, I downloaded the driver ‘BIOS Update (Bootable CD) for Windows 8.1 (64-bit), 8 (64-bit), 7 (32-bit, 64-bit) – ThinkPad X1 Carbon (Machine types: 20A7, 20A8)‘. The filename was gruj08us.iso.
Step 4 – Convert the downloaded ISO to a bootable image, named bios-update.iso
perl geteltorito.pl -o bios-update.iso gruj08us.iso
Step 5 – Copy that bootable image to your USB drive. I’m using /dev/sdx below which you need to replace with your USB device. Double check that you have the device name right for your USB drive and run:
sudo dd if=bios-update.iso of=/dev/sdx bs=512K sudo sync
Step 6 – Reboot and press F12 to get the boot menu and boot from the USB. Follow the instructions to update your BIOS.
Step 3 – Add MattOnCloud Repository
I’ve created a yum repository that contains a RPM that contains various fixes and repositories used in this blog. I’m keeping the and pull requests are definitely appreciated. To install my repository, run:
sudo rpm -Uvh https://files-oncloud.rhcloud.com/yum/RPMS/x86_64/oncloud-repo-0.4-1.fc20.x86_64.rpm
To apply the fixes, then run:
sudo yum install thinkpad-fixes
Step 4 – Update GNOME
Since the Thinkpad Carbon X1 has a very high resolution screen, you are going to want to get GNOME 3.12 HiDPI support. If you don’t, a lot of the windows and text are going to be crazy small. My RPM provides a repository to a backported version of GNOME 3.12. So after installing, you just need to run:
sudo yum update
Go get a coffee since that is going to be a lot of packages. After it’s done, logout and login or reboot your machine.
One you have GNOME reloaded, you are probably going to want to tweak your applications to scale their resolution correctly. I followed the instructions in this article:
https://wiki.archlinux.org/index.php/HiDPI
Step 5 – Update Synaptics
The trackpad support for the Carbon is a little shaky in Fedora 20 by default as well. The good news is that the 1.7.6 release backports some of these fixes. Luckily you can get this release early by just installing from Fedora’s Koji RPM server:
sudo yum install http://kojipkgs.fedoraproject.org//packages/xorg-x11-drv-synaptics/1.7.6/2.fc20/x86_64/xorg-x11-drv-synaptics-1.7.6-2.fc20.x86_64.rpm
I found a great configuration from Major on his blog as well. I started with that configuration and have made several tweaks – I think the setup is getting pretty solid. I also add the syndaemon to disable the touchpad for a second after typing. I’ve found this let’s me keep the touchpad fairly sensitive but avoid random taps when I’m typing email, etc. I’ve added to the fixes RPM. After you boot, you should run the following if you like the configuration and don’t want the settings to be updated via the settings widget:
gsettings set org.gnome.settings-daemon.plugins.mouse active false
I’ve also added a non-tap version of my synaptics settings that I’m currently using. Curious on people’s feedback as to whether they like the tap settings or click settings better and I’ll make that the default. You can find the non-tap setup .
Step 6 – Screen Brightness / Keyboard Backlight
Good news is that adaptive keyboard support is coming soon for Linux. I’ll update once that is in a kernel that we can get at. The bad news is that after a suspend, the adaptive keyboard is blank and doesn’t work. We depend on that for backlight and brightness so we need a workaround. Luckily the thinkpad-fixes provides them. It ships with two scripts in /usr/bin to adjust backlight and brightness. You can run them with:
# Brightness options (dim to bright) sudo brightness dim sudo brightness normal sudo brightness bright # Backlight options (dim to bright) sudo backlight 0 sudo backlight 1 sudo backlight 2
A co-worker pointed out that you can also use the brightness slider in the top menu bar drop down (right below the volume). That is a much easier way to set the brightness if you aren’t in a terminal. I’ll leave the script for now but might end up removing it.
Step 7 – Fedy
I highly recommend running Fedy to setup the other miscellaneous features such as codecs and font rendering – Lately I’ve been using the Numix theme and the Infinality fonts and like them quite a bit. You can install the Numix themes from Fedy and also the improved font rendering with Infinality. I set the osx style fonts with:
$ sudo /etc/fonts/infinality/infctl.sh setstyle Select a style: 1) debug 3) linux 5) osx2 7) win98 2) infinality 4) osx 6) win7 8) winxp #? 4 conf.d -> styles.conf.avail/osx
To switch to the Numix theme, you’ll want to add the GNOME extension for User Themes by going to the following location – https://extensions.gnome.org/extension/19/user-themes/. Then install the GNOME Tweak tool via Fedy and launch it and select Numix in all the theme options.
Lastly, I highly recommend the Dash to Dock extension as well. I think it’s one of the best extensions out there – https://extensions.gnome.org/extension/307/dash-to-dock/
Hope this blog helps a new Fedora user out there get up and running!
Hi Matt!
Thanks a lot for your post. I’m only able to enjoy my new laptop now ;-)
Kind regards !
Hadrien
Thanks and I will add, I found by installing the kernel from rawhide that my adaptive keys worked and that I was able to page through them and they recovered after waking from sleep. This is the kernel-3.16.0.0-rc1 from rawhide.
Still testing but so far no problems.
Hi Matt,
Thanks for the tips. Finally getting this laptop working as expected:-)
BIOS update process worked seemlessly. Was surprised that this would work without booting via UEFI and via USB — I had read other blogs/pages suggesting that that would not be possible. One warning you might want to add is that this is an uninteruptable process so make sure battery is fully charged, power supply is plugged in and that you’ve got at least 10 minutes of free time to do this. Also loading BIOS defaults after the update is a good idea (then reseting them as you like) as it can expose some otehrwise hidden features.
The advice on synaptics update does not seem to be required anymore since the current version is now in the updates repo.
Finally the Fedy link does not seem to work, but the following does:
Cheers,
Kal (aka tartansandal)
BIOS updated :-) Many thanks!
Any chance of an update on this post for 21? I’m running Ubuntu 14.10 on my X1 at the moment but its a headache and I’m contemplating giving up and trying Fedora.