Archlinux on a Lenovo X1C3
So I bought the X1 Carbon Generation 3 !
It arrived 2015-02-17 after ordering it on the 2015-02-09. It feels like bloody Christmas !!
I love how quiet this machine is.
Identification
The model number on the order is 20BTCTO1WW. Lenovo's Safety and Setup Guide refer to this as Machine Types: 20BS and 20BT. Serial number is R90F6C3B which is confirmed by /sys/devices/virtual/dmi/id/product_serial
.
# for i in /sys/devices/virtual/dmi/id/*; do echo $i: $(cat $i); done
/sys/devices/virtual/dmi/id/bios_date: 12/01/2014
/sys/devices/virtual/dmi/id/bios_vendor: LENOVO
/sys/devices/virtual/dmi/id/bios_version: N14ET25W (1.03 )
/sys/devices/virtual/dmi/id/board_asset_tag: Not Available
/sys/devices/virtual/dmi/id/board_name: 20BTCTO1WW
/sys/devices/virtual/dmi/id/board_serial: W1KS52410G3
/sys/devices/virtual/dmi/id/board_vendor: LENOVO
/sys/devices/virtual/dmi/id/board_version: SDK0E50510 WIN
/sys/devices/virtual/dmi/id/chassis_asset_tag: No Asset Information
/sys/devices/virtual/dmi/id/chassis_serial: R90F6C3B
/sys/devices/virtual/dmi/id/chassis_type: 10
/sys/devices/virtual/dmi/id/chassis_vendor: LENOVO
/sys/devices/virtual/dmi/id/chassis_version: None
/sys/devices/virtual/dmi/id/product_name: 20BTCTO1WW
/sys/devices/virtual/dmi/id/product_serial: R90F6C3B
/sys/devices/virtual/dmi/id/product_uuid: 01DA4854-B754-CB11-BF15-8F9604DEA04D
/sys/devices/virtual/dmi/id/product_version: ThinkPad X1 Carbon 3rd
X1C3:~$ hostnamectl
Static hostname: X1C3
Icon name: computer-laptop
Chassis: laptop
Machine ID: 2e68738c559147e2a181d4fb70f030c5
Boot ID: a6f72f88e4e443e1898be5a4f615c16a
Operating System: Arch Linux
Kernel: Linux 3.18.6-1-ARCH
Architecture: x86-64
Delivery
The purchase and delivery UX was frankly terrible. Really not looking forward to communicating with Lenovo, in the case there is some issue that requires customer service. :/
Unboxing
Usual bunch of stupid pieces of paper and ugly fingerprints!
It's well packed though. The X1C3 feels like it might not survive a drop as well as my X220. It also worryingly doesn't have spillage holes.
I am wondering about a sleeve to put it in, in order to prevent scratches and the sort whilst it travels in my pannier.
The rectangular yellow power supply connection is a bit of a disappointment. Feels stiff, fallible and why is it so similar to have USB connector? Brain dead. I also miss the loud BEEP when I gain or lose mains power. :/
Installing Archlinux
Sadly I found the Archlinux dual boot documentation a bit lacking. I was going to attempt dual boot, but I couldn't understand how to resize the Windows NTFS partitions. So I just gave up.
Also I was put confused by the UEFI BIOS stuff. Oh well.
I was hoping that Lenovo would include some sort of recovery USB stick, instead of their weird partitioning they ship with. Bye bye Windows and shitty preloaded Lenovo software ! Confirmed by HN
I went for the "modern" GPT method of partitioning and admittedly I have no clue what GPT means. I now have just one big partition formatted with ext4:
/dev/sda1 2048 500118158 500116111 238.5G Linux filesystem
Syslinux install was also a
little confusing. Do I run it in the arch-chroot
or not?
syslinux-install_update -i -a -m
worked from within the chroot, but the
default grep root /boot/syslinux/syslinux.cfg
was APPEND root=/dev/sda3 rw
and not /dev/sda1.
X1C3 mouse buttons not working
Both the Trackpoint & TrackPad now work with xf86-input-libinput
and kernel 4.3!
- N: Name="SynPS/2 Synaptics TouchPad"
- N: Name="TPPS/2 IBM TrackPoint"
Make sure you purge any old stuff in /etc/modprobe.d/psmouse.conf
!
Annoying network interface names
X1C3:~$ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier configured
2 wlp4s0 wlan routable configured
3 enp0s25 ether no-carrier configuring
3 links listed.
Somewhat annoyingly my wifi0 is called wlp4s0
and my eth0 is called
enp0s25
. Got to thank
systemd
for that.
Both interfaces "just work" and perform great!
Hint if /var/run/systemd/resolve/resolv.conf
is missing, you need sudo systemctl status systemd-resolved
and then enable it.
Tethering from my iPhone6 works once usbmuxd
is is installed, the interface name is enp0s20u1c4i2
.
I've experienced a wireless issue, but I think it's more a TP-LINK AP issue. Update: Frequently get thrown off the wireless network, so I'm relying on the ThinkPad Ethernet Expansion Cable heavily.
Keyboard
Different spacing to the X220. I don't like the grease marks my sweat leaves behind. Thankfully this machine runs cool, like 42C atm, so already that's way way more comfortable than my old X220 Thinkpad.
I'm now also using a US keyboard layout setxkbmap -model thinkpad -layout us -option ctrl:nocaps
from setxkbmap -layout gb -option ctrl:nocaps
. Need to report back how it goes...
I've discovered I need function lock on, enabled by Esc+Fn with a green light coming on on the Fn, in order to use the function keys.
Thanks to I think this tip, when Function is not enabled the:
- wifi kill button works
- Mute works
I have figured out how to bind the volume and brightness controls in my dwm configuration.
I've overrided mapping the Thinkpad keys as above using Xmodmap to help me find the Home/End keys better.
Screen
I'm enjoying the 1920x1080 (aka 1080p aka FHD) screen so far, especially since I more room to tile
two windows side by side in dwm. Didn't have to do
anything special so far to resize anything. google-chrome-unstable
and st's static char font[] = "Terminus:pixelsize=18";
is serving me well!
This is how much bigger my irssi/tmux session is now compared to my X220!
Here you can maybe see the colour reproduction difference with a side by side comparison against the X220. Tbh, I'm not that happy with the way the X1C3 reproduces yellow. It's way too close to white.
When I slouch, I notice the viewing angles are not good.
Sound
Can't get sound to output on HDMI.
When I attach my iPhone headphones, the voice recordings are awful. I've even
tried my Rode SmartLav+. There is just no sweet spot on pavucontrol
to get
noise/levels properly adjusted for a clear recording. I suspected windows
employs some high pass filtering and that's why no one complains about the
microphone under Windows. :/
Update: I've bought a condenser microphone to compensate for the poor onboard microphone. See Screencasting from Archlinux gotchas for details
GL performance
ioquake-git works better than quake3 from AUR.
seta r_mode "-1"
seta r_customwidth "1920"
seta r_customheight "1080"
At least I can go full screen now. Just that my mouse doesn't work. It seems to be locked to 60fps and I haven't worked out how to turn off vsync.
USB 3 performance
I needed to backup a nearly broken
exfat
1TB USB3 drive to a newer USB3 2TB drive formatted in glorious ext4. Using
sudo rsync -Part --exclude=".*" --exclude ".*/" . /mnt/2tb/recovery/
I'm
getting 90Mb/sec across the USB3 bus.
Actually it seemed to speed up since it copied the 400+GB in 2 hrs, not the calculated 11. Any ideas how to better calculate this?
Other issues
I ran into this Archlinux slow DNS resolving bug. Since disabled ipv6.
Other resources: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_3)