There are so many intricacies involved in using Linux as a daily-driver desktop operating system. You have to consider whether the drivers for the hardware you want to use are available, whether the software you want to use is available, and whether Linux is compatible with all of the different security controls you may have to manage, with things like Active Directory reigning supreme in the enterprise world.
However, there’s something else that we often forget about: firmware. Firmware is the software for the hardware, the configurations and options that software can interact with in the form of drivers to allow you to use it. Are firmware updates that important? How do you get firmware updates in Linux? Why should vendors make their firmware available for Linux? These are all questions that are answered in this article on what LVFS is and how to use it.
What Is LVFS?
LVFS, or the Linux Vendor Firmware Service, is a software stack that allows hardware vendors to add their firmware to the website and have Linux machines that are using that hardware get firmware updates. Sounds simple enough, right?
It is, but the implications are more complex than a website running cronjobs and a daemon running on local systems. For years, Linux users would not have access to the very basic firmware features that can enable new functionality and fix bugs. With LVFS, Linux users have access to features like displayport over USB C and fixes for the Thunderbolt Controller on their newer Lenovo ThinkPads.
Beyond that, LVFS shows which vendors are most committed to making sure their hardware works well under Linux. If you look at the supported devices list, you’ll notice that major vendors like Lenovo and Dell are actively adding new devices to the list and have contributed firmware updates for devices that are quite old. I don’t personally have any devices on the list, but I know that the intersection of ThinkPad users and Linux users is quite high, and that means that they get as close to a first-class experience as possible.
Plus, it creates a more complete product lifecycle for the vendors. Dell can add firmware updates for all laptops and desktops falling under their Project Sputnik line, and Lenovo can do the same for all of their Linux-loaded ThinkPad and ThinkStation lineup. It’s all a win-win, both for users and for vendors.
How Do I Use LVFS?
There’s a system daemon called
fwupd, or FirmWare UPdate Daemon, that is available in most major repositories. It may even be preinstalled on your system, which makes things simple.
If it’s not installed, you should be able to find the name of the package as
fwupd. If it weren’t installed on my Fedora system, the command for that would be this:
You can replace that with the package manager on your current system.
Once it’s installed, you’ll need to start the service in systemd. To do that, run the following command:
You can also enable it to start automatically when your system powers on by running this command:
From there, you can run the following command to see all your command options related to
You’ll find that the command you most often want to use to update your firmware is this:
My system doesn’t have any compatible devices, but if I did,
fwupd would work its magic and grab the updates.