Thinkpad update firmware on Linux (X1 extreme/P1 gen2)

I have ThinkPad P1 Gen 2 or X1 Extreme 2nd Laptop. Can I easily Install ThinkPad firmware updates on Linux using GUI?

The latest models of Lenovo ThinkPads can update the firmware using the Linux Vendor Firmware Service (LVFS). When updates are published on LVFS, GNOME can notify you about upgrades. Installing the firmware on Linux wasn’t an easy thing as most vendors only supported the Windows family of operating systems. However, LVFS makes it easier to install UEFI firmware updates on Linux systems. LVFS allows OEMs and ODMs to distribute firmware for Linux.

What is fwupd?

fwupd is an open-source daemon for managing the installation of firmware updates on Linux-based desktop and server operating systems, developed by GNOME. As explained earlier, the Linux Vendor Firmware Service (LVFS) gives resources for OEMs vendors to package their UEFI firmware updates. fwupd works using GUI tools such as GNOME Software or CLI tool such as fwupdmgr command.

Do NOT turn off your computer or remove the AC adapter while update is in progress. Please make sure your laptop power supply plugged in. In some cases, the battery must charge up to 80-100%. Desktop or server users make sure your system plugged into an uninterruptible power source (UPS) unit to avoid bricking of the motherboard. The author and nixCraft site is not responsible for any damages.

Thinkpad update firmware on Linux GUI

GNOME Software (also known as Ubuntu Software on Ubuntu desktop) is a utility for application and updates on Linux. It is part of the GNOME Core Applications. The same app supports fwupd for servicing of system firmware.

Sometimes you may see multiple BIOS updates too:

All you have to do is click the Update button and reboot the system to install firmware updates.

Install ThinkPad firmware updates in Linux using the cli

The fwupdmgr command-line tool allows Linux system administrators to query and control the fwupd daemon. You can perform actions such as installing or downgrading firmware for motherboards, SSD, and other parts of the system supported by LVFS.

How to list all devices that support firmware updates

sudo fwupdmgr get-devices

How to find your BIOS version on Linux

One can check bios version on Linux using the dmidecode command:
sudo dmidecode -s bios-version
Try the following bash for loop:
for d in system-manufacturer system-product-name bios-release-date bios-version
echo "${d^} : " $(sudo dmidecode -s $d)

Download and refresh metadata from LVFS server

sudo fwupdmgr refresh
## we can use '--force' option to refresh again. ##
sudo fwupdmgr refresh --force

Fetching metadata
Downloading…             [***************************************]
Fetching signature

Successfully downloaded new metadata: 2 local devices supported

List updates available for any devices on the system

fwupdmgr get-updates

Here is what I see:

• Thunderbolt Controller has the latest available firmware version
• Prometheus has the latest available firmware version
• Prometheus IOTA Config has the latest available firmware version
• SAMSUNG MZVLB1T0HBLR-000L7 has no available firmware updates
• SAMSUNG MZVLB1T0HBLR-000L7 has no available firmware updates
• UEFI Device Firmware has no available firmware updates
• UEFI Device Firmware has the latest available firmware version
• UEFI Device Firmware has no available firmware updates
• UEFI Device Firmware has no available firmware updates
• USB 2.0 BILLBOARD has no available firmware updates
└─System Firmware:
  │   Device ID:           105dc4287111ca23352a3b4759a602c10ad8bf88
  │   Current version:     0.1.34
  │   Minimum Version:     0.1.0
  │   Vendor:              LENOVO (DMI:LENOVO)
  │   GUID:                55d04ffc-714a-4457-b982-d244343e1958
  │   Device Flags:        • Internal device
  │                        • Updatable
  │                        • Requires AC power
  │                        • Supported on remote server
  │                        • Needs a reboot after installation
  │                        • Cryptographic hash verification is available
  │                        • Device is usable for the duration of the update
  └─ThinkPad P1 Gen 2/X1 Extreme 2nd (W-BIOS for Machine types: 20QT, 20QU, 20QV, 20QW) System Update:
        New version:       0.1.36
        Remote ID:         lvfs
        Summary:           Lenovo ThinkPad P1 Gen 2/X1 Extreme 2nd System Firmware
        License:           Proprietary
        Size:              25.0 MB
        Vendor:            Lenovo Ltd.
        Flags:             is-upgrade
        Description:       Lenovo ThinkPad P1 Gen 2/X1 Extreme 2nd System Firmware 1.36
        The computer will be restarted automatically after updating BIOS completely. Do NOT turn off your computer or remove the AC adaptor while update is in progress.
        -Update includes a security fix. -Updated the Diagnostics module to version 04.15.000. -Fixed an issue where PXE boot is cancelled when PXE boot is requested from AMT console and BIOS setting change is requested by WMI at the same time.
        Security issues fixed:
         • CVE-2020-0593
         • CVE-2020-0592
         • CVE-2020-0591
         • CVE-2020-0590
         • CVE-2020-0588
         • CVE-2020-0587

Install BIOS and other firmware updates

Please note that updates that can be applied live will be done immediately and firmware updates will install at the next reboot:
sudo fwupdmgr update

fwupd is allowing to update devices firmware, including UEFI

Your system will reboot and presented with the following screen:

During the update process, your desktop or laptop will reset (reboot) multiple times:


Make sure we got an updated version using the dmidecode command:
sudo dmidecode -s bios-version
Sample outputs:

[sudo] password for vivek: 
N2OET44W (1.31 )

Are these commands and GUI tools limited to Thinkpads?

No. Other vendors such as Dell, Acer, and many additional OEMs support updating modern Linux desktop using LVFS. Please see this page for a supported list of vendors.

A note about KDE desktop users

KDE Discover is a software center used by Plasma desktop. However, you need the release of KDE Plasma version 5.14 for firmware updates.

Can I still update my device firmware under Linux if not supported by these GUI and CLI tools for LVFS?

Yes, you don’t need MS-Windows tax. Please see how to extract the bootable image and install the firmware using a USB pen drive under Linux operating systems.


You learned how to install Thinkpad BIOS firmware updates on Linux running on different Linux distros such as Ubuntu, Debian, Fedora, and others.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 5 comments so far... add one

CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
5 comments… add one
  • Vlad Aug 18, 2020 @ 14:24

    Is the graphical tool also available for XFCE?


    • 🐧 Vivek Gite Aug 18, 2020 @ 16:24

      I am not aware of XFCE tool. Try the CLI option as it works regardless of the GUI.

  • eswar kumar Sep 18, 2020 @ 5:26

    no this did not work for me. i am not able to update firmware on my lenovo thinkpad x280. can you help me please

    • Anonymous Sep 23, 2020 @ 11:18

      I just updated my x280 using the CLI[1]. Are you sure you are running correct commands?
      sudo fwupdmgr refresh --force
      sudo fwupdmgr get-updates
      sudo fwupdmgr update


  • Ozgur Feb 27, 2021 @ 20:34

    still can’t update my firmware. After reboot it stuck at updating firmware splash screen but without download bar.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @