How to Install Missing Device Drivers in Ubuntu: Complete Troubleshooting Guide
Most hardware drivers in Ubuntu are included in the Linux kernel and are installed automatically with the operating system. Unlike Windows, Ubuntu usually do...
Most hardware drivers in Ubuntu are included in the Linux kernel and are installed automatically with the operating system. Unlike Windows, Ubuntu usually does not require a separate driver installer for every device.
However, additional installation may be required for certain NVIDIA graphics cards, Broadcom or Realtek wireless adapters, printers, scanners and specialized hardware. A device can also stop working because firmware is missing, a kernel module failed to load, Secure Boot blocked a third-party module or the hardware is too new for the installed kernel.
This guide explains how to identify the affected hardware, find the correct Ubuntu-supported driver and install it safely.
Quick Answer
On Ubuntu Desktop, first try the graphical driver manager:
- Open the application menu.
- Search for Software & Updates.
- Open the Additional Drivers tab.
- Wait while Ubuntu searches for compatible drivers.
- Select the entry marked recommended.
- Click Apply Changes.
- Restart Ubuntu.
You can also detect and install recommended proprietary drivers from Terminal:
sudo apt update
sudo ubuntu-drivers devices
sudo ubuntu-drivers install
sudo reboot
The ubuntu-drivers utility is primarily useful for hardware such as NVIDIA graphics adapters. It will not necessarily list every device because most standard drivers are already part of the Linux kernel.
Understand How Ubuntu Drivers Work
Ubuntu hardware support normally consists of three components:
| Component | Purpose |
|---|---|
| Linux kernel module | Controls communication between Ubuntu and the hardware |
| Firmware | Code loaded into devices such as Wi-Fi, Bluetooth and graphics adapters |
| User-space package | Provides supporting libraries, configuration tools or utilities |
Therefore, a device that is not working does not always mean its driver is absent. The actual problem might be missing firmware, a disabled device, an incompatible kernel, Secure Boot, incorrect configuration or a physical hardware fault.
Step 1: Update Ubuntu Before Installing Drivers
Open Terminal with Ctrl + Alt + T, and run:
sudo apt update
sudo apt upgrade
Restart the computer if a kernel or important system package was updated:
sudo reboot
This is important because Ubuntu updates can include newer kernel drivers, firmware and hardware-specific fixes.
To check your Ubuntu version and current kernel, run:
lsb_release -a
uname -r
Step 2: Identify the Missing or Problematic Device
Do not download a driver until you know the exact hardware model and its vendor and device IDs.
Check PCI devices
PCI devices include graphics cards, Ethernet controllers, internal Wi-Fi adapters, audio controllers and storage controllers.
lspci
For a more useful view showing the active kernel driver:
lspci -k
To examine network controllers:
lspci -nnk | grep -A3 -i network
To examine graphics controllers:
lspci -nnk | grep -A3 -E "VGA|3D|Display"
Look for:
Kernel driver in useKernel modules- The hardware ID inside square brackets, such as
[10ec:c821]
If a device appears but no Kernel driver in use is displayed, its driver may not be loaded.
Check USB devices
For USB Wi-Fi adapters, Bluetooth devices, webcams, scanners and other USB hardware, run:
lsusb
A USB entry normally contains a vendor and product ID, such as:
0bda:c811
That ID is often more reliable than the marketing name when searching for compatibility information.
Display detailed hardware information
Install lshw if it is not already available:
sudo apt install lshw
Check network hardware:
sudo lshw -C network
Check display hardware:
sudo lshw -C display
An entry marked UNCLAIMED commonly means that Ubuntu detected the hardware but did not attach a working kernel driver to it.
Step 3: Check Ubuntu’s Additional Drivers Tool
The safest method for supported proprietary drivers is Ubuntu’s built-in Additional Drivers utility.
- Connect the computer to the internet.
- Open Software & Updates.
- Select Additional Drivers.
- Allow Ubuntu to scan the system.
- Select the recommended driver.
- Choose Apply Changes.
- Restart the computer.
Ubuntu may display both open-source and proprietary choices. Unless you have a specific technical requirement, select the option Ubuntu marks as recommended.
Canonical’s current documentation continues to recommend the Additional Drivers tool for supported proprietary NVIDIA drivers on Ubuntu Desktop. Ubuntu driver documentation
Step 4: Detect Drivers from Terminal
Install the driver-detection utility if the command is unavailable:
sudo apt update
sudo apt install ubuntu-drivers-common
List compatible drivers:
ubuntu-drivers devices
Install the recommended driver automatically:
sudo ubuntu-drivers install
Restart Ubuntu:
sudo reboot
After restarting, run the detection command again and confirm that the recommended package is installed.
Installing NVIDIA Graphics Drivers
For NVIDIA graphics cards, use Ubuntu’s repositories instead of downloading an installer from an unofficial website.
Detect the available driver:
ubuntu-drivers devices
Install Ubuntu’s recommended version:
sudo ubuntu-drivers install
sudo reboot
After restarting, verify the driver:
nvidia-smi
You can also check which graphics driver the kernel is using:
lspci -nnk | grep -A3 -E "VGA|3D|Display"
Why you should avoid an NVIDIA .run installer
Installing an NVIDIA .run file manually can place driver files outside Ubuntu’s normal package-management system. This may cause the driver to fail after a kernel update and make future upgrades or removal more difficult.
Use a manual vendor installer only when Ubuntu’s packages cannot support a documented specialist requirement and you understand how to maintain the installation.
AMD and Intel Graphics Drivers
For most AMD and Intel graphics adapters, the kernel driver and Mesa graphics libraries are included with Ubuntu. Normally, you should update Ubuntu instead of searching for a separate proprietary driver:
sudo apt update
sudo apt upgrade
sudo reboot
Verify the active graphics driver:
lspci -nnk | grep -A3 -E "VGA|3D|Display"
Common kernel drivers include:
i915or newer Intel graphics modules for Intel GPUsamdgpufor supported AMD GPUsnouveauor an NVIDIA proprietary module for NVIDIA GPUs
Do not install an unrelated third-party graphics package merely because no option appears under Additional Drivers. The absence of an entry may mean Ubuntu is already using the correct built-in open-source driver.
Installing Missing Wi-Fi or Ethernet Drivers
First identify the network adapter:
lspci -nnk | grep -A3 -i network
For a USB network adapter:
lsusb
Check the network interfaces detected by Ubuntu:
ip link
Check whether Wi-Fi is blocked:
rfkill list
If it is software-blocked, unblock it:
sudo rfkill unblock wifi
Update or reinstall Linux firmware
Many wireless adapters use firmware supplied by the linux-firmware package:
sudo apt update
sudo apt install --reinstall linux-firmware
sudo reboot
Reinstalling linux-firmware is reasonable when logs specifically indicate missing firmware or when the package may be damaged. It will not create support for hardware that the installed Ubuntu kernel does not recognize.
If the computer has no internet connection
Use one of these temporary connection methods:
- Connect an Ethernet cable.
- Use USB tethering from a mobile phone.
- Use a temporarily supported USB Wi-Fi adapter.
- Download the exact Ubuntu packages and dependencies on another system.
USB tethering is often the easiest approach because many Android phones appear as a standard USB network interface without requiring an additional driver.
Check for Missing Firmware Messages
Search the current boot’s kernel messages:
sudo journalctl -k -b | grep -i firmware
You can also check recent kernel messages:
sudo dmesg | grep -iE "firmware|failed|error"
Messages such as the following can indicate a firmware problem:
Direct firmware load failed
firmware: failed to load
Record the exact missing filename before searching for a solution. Do not download individual firmware files from unknown forums or file-sharing websites.
Check Whether a Kernel Module Is Loaded
List currently loaded modules:
lsmod
Search for a particular module:
lsmod | grep module_name
Display information about it:
modinfo module_name
Load a known module temporarily:
sudo modprobe module_name
Replace module_name with the exact verified module name. Do not guess module names or force-load drivers intended for different hardware.
If modprobe reports that the module cannot be found, the installed kernel may not contain it, the required package may be absent or the driver may need to be built separately.
Secure Boot and Third-Party Drivers
Secure Boot verifies boot components and kernel modules. Ubuntu’s officially signed kernel modules normally work with Secure Boot, but some third-party or locally compiled DKMS modules may require Machine Owner Key—or MOK—enrollment.
During driver installation, Ubuntu may ask you to create a temporary password. After restarting:
- Select Enroll MOK on the blue MOK management screen.
- Choose Continue.
- Confirm the enrollment.
- Enter the password created during installation.
- Restart the system.
If this step is skipped, the package may appear installed while its kernel module remains blocked.
Disabling Secure Boot is not the preferred first solution because it reduces boot-chain protection. Ubuntu documents that Secure Boot validates critical components, including kernel modules. Canonical Secure Boot documentation
Check Secure Boot status with:
mokutil --sb-state
If mokutil is unavailable:
sudo apt install mokutil
Check DKMS Driver Status
Some third-party drivers use DKMS to rebuild their kernel module whenever Ubuntu installs a new kernel.
Check their status:
dkms status
If DKMS reports a build failure, inspect the system log:
sudo journalctl -k -b
You can also review files under:
/var/lib/dkms/
A DKMS failure may be caused by missing kernel headers. Install the headers matching the running kernel with:
sudo apt install linux-headers-$(uname -r)
Then reinstall the affected Ubuntu driver package. Avoid manually deleting DKMS directories unless you have confirmed the exact broken package and have a recovery plan.
Installing Printer and Scanner Drivers
Many modern network printers support driverless IPP printing.
To add a printer in Ubuntu Desktop:
- Open Settings.
- Select Printers.
- Unlock the page if requested.
- Click Add Printer.
- Select the detected printer.
If the device is not detected, check that it is connected to the same network and that its IP address is reachable.
For printer troubleshooting, verify the printing service:
systemctl status cups
Restart it if necessary:
sudo systemctl restart cups
For scanners, list detected devices with:
scanimage -L
If the command is missing:
sudo apt install sane-utils
Some multifunction devices require a manufacturer-provided Ubuntu package. Confirm that it supports your exact Ubuntu release and CPU architecture before installing it.
Updating Device Firmware with fwupd
A driver and device firmware are different. Some laptops, docks, SSDs and peripherals support firmware updates through the Linux Vendor Firmware Service.
Check whether fwupd is installed:
sudo apt install fwupd
Refresh the firmware metadata:
sudo fwupdmgr refresh
List available updates:
fwupdmgr get-updates
Install supported firmware updates:
sudo fwupdmgr update
Keep the computer connected to reliable power during BIOS, UEFI or device-firmware updates. Do not interrupt the process.
When New Hardware Needs a Newer Kernel
Very new hardware may require a newer Ubuntu kernel than the one currently installed. Before changing the kernel, fully update the supported Ubuntu release:
sudo apt update
sudo apt upgrade
sudo reboot
Check the running kernel:
uname -r
For Ubuntu LTS systems, Canonical may provide a Hardware Enablement kernel. The correct package and support path depend on the Ubuntu release, installation media and system type. Do not copy an HWE installation command intended for a different Ubuntu version.
Where possible, use the current Ubuntu LTS point release or consult the official release documentation before changing kernel tracks.
Troubleshooting Common Driver Problems
Additional Drivers shows no options
This does not necessarily indicate a problem. It may mean:
- The correct open-source driver is already included in the kernel.
- Ubuntu does not provide a proprietary alternative.
- Repository information has not been updated.
- The device is not detected.
- The required Ubuntu repository component is unavailable.
Start with:
sudo apt update
ubuntu-drivers devices
lspci -k
lsusb
The driver is installed but the device still does not work
Check whether the module is actually active:
lspci -k
lsmod
Then inspect errors:
sudo journalctl -k -b -p warning
Also check Secure Boot:
mokutil --sb-state
Wi-Fi disappeared after an update
Boot an older installed kernel temporarily:
- Restart the computer.
- Open the GRUB menu.
- Select Advanced options for Ubuntu.
- Select the previous kernel.
- Test the wireless adapter.
If the previous kernel works, do not immediately remove the newer kernel. Record the adapter ID, working kernel version and failing kernel version, and check for an Ubuntu update or confirmed bug report.
Ubuntu starts with a black screen after installing a graphics driver
From the GRUB menu, try Advanced options for Ubuntu and enter recovery mode. Enable networking if required and open a root shell.
Remount the root filesystem as writable:
mount -o remount,rw /
Then inspect installed NVIDIA packages:
dpkg -l | grep -i nvidia
Before removing anything, identify exactly which driver package was installed. Package removal should be treated as a recovery step, not a routine driver installation method.
A USB device is not recognized
Monitor kernel messages while reconnecting the device:
sudo dmesg --follow
Then unplug and reconnect it. Press Ctrl + C to stop monitoring.
If no new USB event appears, test another cable and port. The problem may be power, cabling, the port or the device itself rather than a missing driver.
Safe Methods Versus Risky Methods
| Method | Recommendation |
|---|---|
| Ubuntu Additional Drivers | Recommended |
| Ubuntu repository packages installed with APT | Recommended |
ubuntu-drivers install |
Recommended for detected supported hardware |
| Manufacturer’s official Ubuntu repository | Acceptable when verified and necessary |
Manufacturer .deb package |
Use cautiously; confirm Ubuntu version and architecture |
| DKMS source from a trusted hardware vendor | Advanced use only |
| Random scripts copied from forums | Avoid |
| Unknown PPAs | Avoid unless ownership and maintenance are verified |
Windows .exe driver |
Not usable on a normal native Ubuntu installation |
| Forcing a driver for a different device ID | Avoid |
Common Mistakes to Avoid
- Assuming every device requires a separate downloaded driver.
- Installing the newest NVIDIA package number without checking Ubuntu’s recommendation.
- Downloading Linux drivers from unofficial file-sharing websites.
- Installing a driver meant for a different Ubuntu release.
- Ignoring the computer’s
amd64,arm64or other architecture. - Disabling Secure Boot before checking whether MOK enrollment will solve the problem.
- Running unverified installation scripts with
sudo. - Compiling a driver manually before checking Ubuntu’s repositories.
- Confusing a disabled wireless radio with a missing driver.
- Replacing a working built-in kernel driver unnecessarily.
Information to Collect Before Asking for Help
Run the following commands and save the relevant output:
lsb_release -a
uname -r
lspci -nnk
lsusb
sudo lshw -C network
ubuntu-drivers devices
mokutil --sb-state
sudo journalctl -k -b -p warning
Some reports can contain device serial numbers, network addresses or other identifiers. Review the output and remove sensitive information before posting it publicly.
Frequently Asked Questions
Does Ubuntu install drivers automatically?
Yes. Most drivers are part of the Linux kernel and load automatically when Ubuntu detects supported hardware. Additional installation is mainly required for certain proprietary drivers, firmware packages and specialist devices.
How do I know whether a driver is missing?
Run lspci -k for PCI hardware or lsusb for USB hardware. In lspci -k, check whether the device has a Kernel driver in use entry. sudo lshw -C network may mark unsupported hardware as UNCLAIMED.
What is the easiest way to install drivers in Ubuntu?
On Ubuntu Desktop, use Software & Updates → Additional Drivers. For supported hardware from Terminal, use ubuntu-drivers devices followed by sudo ubuntu-drivers install.
Why does Additional Drivers show nothing?
The device may already be using a built-in open-source driver. It can also mean Ubuntu does not offer a proprietary alternative or has not detected the hardware.
Should I install every driver shown in Additional Drivers?
No. Install the option marked as recommended unless you have a documented reason to select another version.
Can I install Windows drivers in Ubuntu?
Windows driver installers such as .exe files cannot be installed as native Ubuntu kernel drivers. A few special compatibility tools exist for limited device types, but they are not substitutes for properly supported Linux drivers.
Why did a driver stop working after a kernel update?
An external DKMS module may have failed to rebuild for the new kernel, Secure Boot may have rejected it or the new kernel may contain a regression. Check dkms status, kernel logs and the previous kernel from GRUB.
Is it safe to disable Secure Boot?
Disabling Secure Boot may allow an unsigned module to load, but it weakens boot-chain protection. First use Ubuntu-signed packages and complete any requested MOK enrollment.
Do AMD and Intel graphics cards require manual drivers?
Usually not. Their standard graphics drivers are generally included in the Linux kernel and Mesa packages. Keeping Ubuntu updated is normally the correct approach.
Can updating linux-firmware fix Wi-Fi or Bluetooth?
It can help if the kernel driver exists but requires a missing or outdated firmware file. It will not help if the hardware has no compatible kernel driver.
Should I add a PPA to obtain a driver?
Only when the source is reputable, actively maintained, supports your exact Ubuntu release and solves a confirmed requirement. Official Ubuntu repositories should remain the first choice.
Is rebooting required after driver installation?
A reboot is strongly recommended after installing or changing graphics drivers, kernel modules, kernels or firmware. Some USB-device drivers can load without restarting, but rebooting provides a clean verification.
Conclusion
Ubuntu automatically supports most devices through its kernel and firmware packages. When hardware is not working, begin by updating Ubuntu and identifying the exact device with lspci -k, lsusb or lshw. Use Additional Drivers or packages from Ubuntu’s repositories whenever possible.
Avoid installing random scripts, unsupported packages or drivers intended for another Ubuntu release. If an installed driver does not load, investigate the kernel logs, Secure Boot status, firmware messages and DKMS state before replacing or removing packages.
Last reviewed: September 2026
Authoritative references: Ubuntu Desktop documentation, Canonical driver-installation guidance, Canonical Secure Boot documentation
#Ubuntu #UbuntuDrivers #LinuxDrivers #DeviceDrivers #MissingDrivers #UbuntuHelp #UbuntuTutorial #LinuxTutorial #UbuntuDesktop #UbuntuServer #HardwareDrivers #AdditionalDrivers #UbuntuTroubleshooting #LinuxTroubleshooting #NVIDIADriver #AMDGraphics #IntelGraphics #WiFiDriver #WirelessDriver #NetworkDriver #BluetoothDriver #AudioDriver #PrinterDriver #ScannerDriver #USBDriver #LinuxFirmware #UbuntuFirmware #KernelModule #LinuxKernel #UbuntuCommands #LinuxCommands #UbuntuTerminal #UbuntuHardware #HardwareDetection #SecureBoot #MOKEnrollment #DKMS #UbuntuWiFi #UbuntuGraphics #UbuntuNetwork #UbuntuPrinter #UbuntuBluetooth #UbuntuAudio #OpenSourceDrivers #ProprietaryDrivers #LinuxHardware #UbuntuGuide #TechSupport #SystemAdministration #BisonInfosolutions
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.