How to Install Brother Printer Drivers on Fedora

Install Brother printer drivers on Fedora by adding the official repository and running a single DNF install command.

You plugged in the printer and nothing prints

You connected the Brother printer to your Fedora machine. The system detects the device. CUPS lists it as "Brother MFC-L2700DW series" or similar. You click Print Test Page. The printer makes a noise and stops. Or worse, it churns out pages of binary garbage. You check the Brother support site and see a list of drivers, a "Driver Install Tool" script, and links for Windows and macOS. You need the Linux driver, but the options are confusing.

This happens because Fedora does not ship proprietary printer drivers by default. CUPS, the print spooler, provides the framework, but it needs a driver package to translate print jobs into the printer's language. Brother provides these drivers as RPM packages. You need to fetch the correct RPM for your model and install it through DNF.

CUPS needs a driver to talk to the hardware

CUPS manages print queues and communicates with printers over USB, network, or Bluetooth. When you send a document to print, CUPS passes the job to a filter chain. The filter chain uses a PPD file and a driver backend to convert the document into a format the printer understands. Without the driver, CUPS has no way to talk to the hardware.

Brother printers often use proprietary protocols. The generic drivers in CUPS can handle basic text, but they miss features like high-resolution photo printing, duplex control, and toner level reporting. Brother releases RPM packages that contain the necessary PPD files and backend binaries. These packages are signed and install cleanly on Fedora.

Some Brother models also include scanning functionality. The printer driver handles printing. Scanning requires a separate utility package that integrates with SANE. If you need scanning, you must install the scanner utility in addition to the printer driver. The scanner utility is usually listed on the same download page as the printer driver.

Install the driver via DNF

Go to the Brother support site and find your model. Select Linux as the operating system. Choose RPM for your architecture. You will see a list of packages. Look for the printer driver. It is usually named brlaser or brprinter. Copy the download link.

Install the RPM directly using DNF. DNF resolves dependencies and validates the package signature. Do not download the file and run rpm -i. That command skips dependency checks and can leave your system in a broken state. DNF handles everything safely.

Here's how to install the driver from the URL. Replace the URL with the link you copied from the Brother site.

# Install the Brother driver RPM directly from the URL.
# DNF resolves dependencies like cups and libcups automatically.
# The -y flag skips the confirmation prompt.
sudo dnf install -y https://download.brother.com/welcome/ftp1000000/brother-lpr-...rpm

If the model requires two packages, install the second one the same way. Some models split the driver into a laser component and an inkjet component. Install both if the page lists both.

Brother also provides a "Driver Install Tool" script. Do not run this script on Fedora. The script is designed for Debian-based distributions. It attempts to modify apt sources and install packages that conflict with DNF. It can corrupt your repository configuration. Stick to the RPM download link. DNF is the correct tool for Fedora.

Convention aside: CUPS logs errors to /var/log/cups/error_log. If the printer won't print after installation, check that file before reinstalling drivers. The error message often points to a permission issue or a missing PPD file. The log is more useful than guessing.

Verify the printer is ready

After the install completes, check the printer status. The driver installation adds the PPD file and backend to the system. CUPS may need a moment to register the new driver. Use lpstat to see if the printer is enabled and accepting jobs.

Here's how to list printers and check their status.

# List all printers and their current state.
# Look for 'enabled' and 'accepting' next to your printer name.
# The -d flag shows the default printer.
lpstat -p -d

If the printer shows as disabled or not accepting, enable it. This can happen if CUPS detects a hardware error during the previous failed attempts.

# Enable the printer and allow it to accept jobs.
# Replace 'Brother_MFC_L2700DW' with the actual printer name from lpstat.
sudo cupsenable Brother_MFC_L2700DW
sudo cupsaccept Brother_MFC_L2700DW

Print a test page to confirm the driver works. Use the CUPS command line or the web interface. The web interface is often easier for visual confirmation. Open http://localhost:631 in your browser. Navigate to Administration, select your printer, and click Print Test Page.

Run lpstat -p before you panic. The printer might be paused.

Common pitfalls and error messages

The installation can fail if dependencies are missing. Brother RPMs depend on cups and libcups. If you stripped CUPS from your system, the install will abort. Install CUPS first.

# Install CUPS and its libraries if they are missing.
# Brother drivers require these packages to function.
sudo dnf install cups cups-libs

You may see a transaction check error if you try to install a driver for the wrong architecture. Fedora Workstation is almost always x86_64. If you are on a Raspberry Pi or ARM server, you need the aarch64 RPM. Brother does not always provide ARM drivers. Check the download page carefully.

Error: Transaction check error:
  package brother-lpr-... requires libcups.so.2()(64bit), but none of the providers can be installed

This error means cups-libs is missing or broken. Run sudo dnf install cups-libs and try again.

SELinux protects CUPS. If you manually extract files from the RPM or copy driver files into /usr/lib/cups, SELinux blocks access. The RPM installer sets the correct file contexts. If you bypass the package manager, you will see permission denials. Reinstall via DNF to restore contexts.

SELinux denials for CUPS appear in journalctl -t setroubleshoot. If you see a denial, check the file context. The Brother RPM sets contexts correctly. Manual edits require restorecon.

Convention aside: CUPS runs on port 631. You can manage printers via http://localhost:631 in your browser. This interface is more reliable than command-line tools for initial setup. Use the web interface to add the printer if lpstat shows the driver but no queue.

When to use the RPM vs alternatives

Use the Brother RPM when your model requires proprietary features or high-resolution printing. Use the generic CUPS driver when your model supports IPP Everywhere or AirPrint. Use the Brother Driver Install Tool only when you are on a Debian-based distribution. Avoid the script on Fedora to prevent repository corruption.

Some newer Brother models support IPP Everywhere. This protocol allows the printer to describe its capabilities to CUPS without a driver. If your model supports IPP Everywhere, you can add it via the CUPS web interface and skip the RPM. Check the Brother specifications for "IPP Everywhere" support.

Install via DNF. Manual RPM extraction breaks SELinux contexts.

Where to go next