Manjaro's answer to "do I have the right drivers?" is a small tool called mhwd — short for Manjaro Hardware Detection. It scans your hardware, knows which packages provide which drivers, and installs them (especially the proprietary NVIDIA driver) in a way that survives kernel updates.
There's also a graphical wrapper called Manjaro Settings Manager → Hardware Configuration, which is just mhwd with a friendly face. This guide covers both.
The two flavours of mhwd
mhwd— for PCI devices (GPUs, mostly). Picks driver packages.mhwd-kernel— for kernels. Covered in the separate picking a kernel with mhwd guide.
This guide is about the first one.
Step 1: see what hardware is in your box
mhwd -l --pci # every PCI device, with the suggested driver bundles
mhwd -li # what's currently installed
mhwd -lh # which devices are hot (need a driver?)
The output groups devices by class. Class 0300 is graphics; that's the one most people care about.
Step 2: auto-install the recommended drivers
The single command that does most of the work:
sudo mhwd -a pci nonfree 0300
Decoded:
-a— auto: pick the best match.pci— operate on PCI devices.nonfree— allow proprietary drivers (NVIDIA, etc.). Usefreeto force open-source only.0300— PCI class for graphics. (0200= network,0403= audio, etc.)
For an NVIDIA card, this installs the proprietary driver plus the right utilities, blacklists nouveau, and sets up the kernel module to rebuild with future kernel updates.
Step 3: prefer the free driver instead
Some setups (older NVIDIA cards, Optimus laptops where you'd rather use the Intel iGPU only) want the open driver. Same command, different keyword:
sudo mhwd -a pci free 0300
Step 4: install a specific driver by name
You can also pick exactly what you want:
mhwd -l --pci # see the available "video-nvidia-*" or "video-linux" rows
sudo mhwd -i pci video-nvidia # install that specific driver bundle
The package names usually start with video- for graphics, network- for network adapters.
Step 5: remove a driver
sudo mhwd -r pci video-nvidia
Removing the NVIDIA driver puts you back on nouveau (the open driver). Reboot afterwards.
Step 6: kernels and mhwd talk to each other
When you install a new kernel via mhwd-kernel -i, mhwd automatically rebuilds installed drivers for that kernel. That's why the workflow is "install kernels with mhwd-kernel, install drivers with mhwd, and they'll never get out of sync."
If something does get out of sync (rare, usually after a manual pacman -S of a kernel), force a re-check:
sudo mhwd-kernel --list-installed
sudo mkinitcpio -P # rebuild initramfs for every installed kernel
sudo dkms autoinstall # rebuild DKMS modules (NVIDIA, VirtualBox, …)
The graphical alternative: Hardware Configurator
If you'd rather click than type, Manjaro ships a tool called Hardware Configurator — it does the same job as the commands above, with a list view and an install/remove button per device.
- Open the application menu and search for Hardware Configurator (sometimes shown as Manjaro Settings Manager → Hardware Configuration depending on edition).
- You'll see a list grouped by device: each row is a piece of hardware with the driver currently in use and the alternatives.
- Right-click a device → Install to grab a different driver, or Remove to drop one.
- Type your password when prompted, then reboot for graphics drivers to take effect.
Under the hood, Hardware Configurator is literally a thin GUI over mhwd. Both views always agree, and any change you make via the GUI shows up in mhwd -li immediately. Use whichever you're comfortable with.
Hybrid graphics (Optimus / NVIDIA + Intel laptops)
If you have a laptop with both Intel and NVIDIA, mhwd offers two relevant choices:
- video-hybrid-intel-nvidia-prime — Intel by default, NVIDIA on-demand via PRIME render offload. Best battery, mostly works.
- video-nvidia — NVIDIA all the time. Worse battery, no display switching weirdness.
Install the hybrid one:
sudo mhwd -i pci video-hybrid-intel-nvidia-prime
sudo reboot
Then to run a single app on the NVIDIA GPU:
prime-run glxinfo | grep "OpenGL renderer"
What if it broke things?
The classic safety routine on Manjaro:
- Boot into the older kernel from the GRUB advanced menu.
- Roll back from the Timeshift snapshot taken before the driver install.
- Or simply
sudo mhwd -r pci video-nvidiafrom a TTY and reboot.
This is why every "first hour with Manjaro" walkthrough tells you to set up Timeshift before touching drivers.
The done check
mhwd -li # what got installed
lspci -nnk | grep -A2 -iE "VGA|3D" # which driver is currently bound
glxinfo | grep "OpenGL renderer" # confirm GPU is in use (needs mesa-utils)
If lspci -k shows the driver you expect (e.g. Kernel driver in use: nvidia) and glxinfo reports the right card, you're done.