Review for ThinkPad X280 running Ubuntu 18.04 (bionic)

I’m an everyday Linux (Ubuntu) user moving from X201s to X280. This is my review after installing Ubuntu 18.04 (bionic) on X280.

Issues with workaround available

  • Keyboard event F1~F12 must be triggered while holding down the Fn key. This behaviour could be changed by changing the BIOS configuration under Config -> Keyboard/Mouse -> F1-F12 as Primary Function = Enabled
  • By using Fn+F5 and Fn+F6 to adjust the brightness, the lowest level of brightness is too dark for me, and the second lowest level is too bright. Workaround available by writing to /sys/class/backlight/intel_backlight/brightness directly. Refer to Precision brightness control on X280 running Ubuntu 18.04 (bionic) for details.
  • X280 may wake up for no reason while connected to Lenovo USB-C Dock, even there is nothing connected to the dock except the 20V 90W power adaptor. Workaround available, by echoing XHC to /proc/acpi/wakeup to disable XHC wakeup. The downside of this workaround is that it became impossible to wake up by external (USB) keyboard. This workaround does not affect the wake-up button on the dock – it will still work. Refer to Prevent unwanted wake up for ThinkPad X280 running Ubuntu 18.04 (bionic) for details.
  • Bug 1813763 on Launchpad – if you use an external display on USB-C dock. Reproducible on kernel 4.15.0-44-generic. The issue has been fixed in 4.15.0-45-generic so it’s not an issue anymore. (update 2019-02-01)

Issues that I didn’t find a workaround.

  • The brightness of the built-in display may become unstable occasionally, usually once or twice a day and the brightness fluctuates for ±10% for less than one minute. More likely to happen on a light grey background or low level of brightness.
    Update 2018-08-03: The detail of the issue has been posted on Lenovo forum.
  • The fingerprint reader is not working.
  • 4G modem Fibocom L850-GL does not show up as a USB device under Linux.
  • By slowly plug-in a USB 3.0 flash drive, it will run at USB 2.0 speed. More likely to happen on the left-side USB type A socket as it’s more ‘tight’ than the one on the right.

Hardware design

  • X280 is thin in thickness and slippery in terms of surface coating. I always feel it may fall out of my hand, and it did happen once. It’s a 30 cm fall, the left side of the machine (the side with USB-C and HDMI port) hit the carpet with concrete underneath. I have been using the machine several months after the drop and I did not notice any damage – internally or externally. If I can choose, I’d rather Lenovo use the material or coating with more friction, like the one used on X201s. I have been thinking about putting anti-slip tape on the machine. (added on 2019-01-26)
  • This machine does not come with DIMM socket. The RAM is soldered on the motherboard so I recommend the model with maximum RAM. My machine comes with 16GB RAM. (added on 2019-01-26)
  • The TrackPoint is not that easy to control, compared to X201s. I noticed that I use touchpad more often. (added on 2019-01-26)
  • The TrackPoint cap (red rubber) of on X201s is not compatible with X280. I cannot take the cap from X201s and put it on X280. (added on 2019-01-26)
  • TrackPoint left & right buttons are much harder to click compared to X201s. They miss the click occasionally, thus I need to hit them harder. And these buttons are noisier than X201s.
  • The hinge is completely different with X201s, and more similar with MacBook. While opening the lid or adjusting the screen angle on a desk with a wired mouse or other cables, the cables may get damaged. Furthermore, the bottom edge of the lid will contact the desk if the screen is opened for 150°. I prefer the hinge design on X201s.
  • There are four rubber foot on the bottom of the machine, but it still ‘slippery’. The rubber foot on X201s battery from Better Batt is much better.
  • RJ45 has been replaced with a proprietary connector. Furthermore, it does not come with an RJ45 dongle.
  • It requires a SIM card eject pin to remove SIM/microSD tray, rendering the card reader hard to access. The only use case of microSD card slot is probably
    • Install the bootloader, allow LVM using all the space on NVMe storage device.
    • Put a Live USB image there, for recovery purpose, without the need of external USB flash drive.
    • Update 2018-08-03: Internal microSD card reader cannot be used as a boot device.

Software

  • If your machine comes with Windows, I recommend boot it with Ubuntu LiveUSB and dump the disk image with dd before you erase it. This may make troubleshooting on hardware issue easier if that is required in the future. I use command dd if=/dev/nvme0n1 bs=1M | xz -9 > image-file.raw.xz to dump and compress the disk image. (added on 2019-02-04)
  • My machine is equipped with a Samsung MZVLB512HAJQ-000L7 NVMe storage device. I have no problem install and running Ubuntu on Btrfs. I choose Btrfs to detect silent data corruption. (added on 2019-02-04)

Appendix

Tested on the following firmware configuration

BIOS 1.16 (N20ET31W)
EC 1.05 (N20HT18W)
ME 11.8.50.3460 (N20RG10W)

ThinkPad USB-C Dock firmware 3.7
    BillBoard(BB) FW: 0.1.0.23
    USB Hub(HX3) FW: 1.14.7.183
    PD(CCG4 DK) FW: 1.3.40 
    DP Hub FW: 3.12.005

DMI table (SMBIOS) as below

$ sudo dmidecode --type 0
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x000B, DMI type 0, 24 bytes
BIOS Information
	Vendor: LENOVO
	Version: N20ET31W (1.16 )
	Release Date: 05/30/2018
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 16 MB
	Characteristics:
		PCI is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		3.5"/720 kB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.16
	Firmware Revision: 1.5

$ sudo dmidecode --type 1
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x000C, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 20KFS05Q00
	Version: ThinkPad X280
	Serial Number: ********
	UUID: ********-****-****-****-************
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_20KF_BU_Think_FM_ThinkPad X280
	Family: ThinkPad X280

10 Replies to “Review for ThinkPad X280 running Ubuntu 18.04 (bionic)”

  1. Thanks for the review! I guess I will have to wait until Thinkpads are more stable with Ubuntu to acquire one again, and Ubuntu becomes more stable itself.

  2. You know a workaround for this problem: “4G modem Fibocom L850-GL does not show up as a USB device under Linux.”

    I have same problem with X1 carbon 6th, but it seems there is no solution.

  3. One option that work is that you buy the 830 from lenovo store and use this instead of 850.
    This work out of the box, i tried with my x280. It work with debian and ubuntu, i tried both.

  4. Thanks a lot for the review, very informative.

    How do you like the X280 in general (now that some months have passed since your review) – is it a worthy candidate for a Linux (Ubuntu 18.04) powered laptop (for everyday use – I’m a software developer as well and would probably use it with an external monitor), or have you had any regrets? I am seriously considering it, and your blogpost here is actually one of the few pages I can find that talks in detail about the Ubuntu experience on the X280. So I have been hesitant to make the decision.

    Thanks in advance.

    Kind regards, Chris

    1. Hi Chris.

      No worries. I’m glad to offer some insight for Linux community.

      I’m quite happy with my purchase. I bought X280 in June 2018 and it’s half-year so far. It is reliable, lightweight and offers good performance, despite that the CPU may throttle down in high load (I can feel it easily) and back to normal afterwards. It’s not perfect but it doesn’t cause too much trouble.

      I also use an external monitor on the dock. It’s an HDMI monitor that I connect to the dock with DisplayPort-HDMI adaptor. There are several times that the screen cannot be detected after X280 wakeup from suspend. And I figured out it’s the issue on the DisplayPort-HDMI adaptor. The issue was gone after I changed it.

      I’ve updated the post to include more information. I hope it helps.

      Sincerely yours,
      Orange

      1. Hi Orange,

        Thank you very much for taking the time to get back to me (and updating your post as well, fantastic!). Not a given thing in this busy world we live in 🙂

        It sounds really promising – I think I will go with the X280. And I will use your post here as a reference manual when installing Ubuntu 🙂 Can I ask which external monitor you use (I have been looking at a Lenovo ThinkVision, which is quite cheap here – but there’s also a few Dells, Samsungs and other stuff in the same price range). Is it the USB-C dock you’re using?

        Anyway, thanks a lot for your work, it’s a great help.

        Best regards,
        Chris

        1. Sorry – I failed to remember that you clearly write (several times) that it *is* the USB-C dock you are using. So please ignore that question from me.

          Kind regards,
          Chris

        2. Hi Chris. Sorry for the late reply. I’m using a full HD (1920*1080) monitor, Samsung LS22E390HS/XY on Lenovo USB-C dock. I bought this monitor years ago because it’s cheap. And I don’t really care about the colour.

          I don’t think there would be a screen compatibility issue for a full HD screen because DisplayPort and HDMI is a very standardised interface. I’m not sure about 4K screen so please do your research if you’re after 4K resolution. I guess Thunderbolt dock could be better for 4K resolution but I cannot comment on Thunderbolt dock.

Leave a Reply to Iván Cancel reply

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