Introduction to CUPS Filters

The CUPS Filters package contains backends, filters and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc.

This package is known to build and work properly using an LFS-8.3 platform.

Package Information

CUPS Filters Dependencies


Cups-2.2.8, GLib-2.56.1, ghostscript-9.23, Little CMS-2.9, mupdf-1.13.0 (mutool), Poppler-0.67.0, and Qpdf-8.2.1



Avahi-0.7, Dejavu fonts (required for the tests), IJS-0.35, OpenLDAP-2.4.46, PHP-7.2.9 (use of this might be broken), Liblouis (Braille), and Liblouisutdml (Braille)

Optional printer drivers (runtime)

Gutenprint-5.2.14 (for supported printers), or other printer drivers, such as hplip

User Notes:

Installation of CUPS Filters

First, fix the systemd unit file to work with CUPS 2.0 and later:

sed -i "s:cups.service:org.cups.cupsd.service:g" utils/cups-browsed.service

Install CUPS Filters by running the following commands:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --without-rcdir      \
            --disable-static     \
            --disable-avahi      \
            --docdir=/usr/share/doc/cups-filters-1.21.1 &&

To test the results, issue: make check. DejaVu fonts are needed for the tests.

Now, as the root user:

make install

Install the systemd unit by running the following command as the root user:

install -v -m644 utils/cups-browsed.service /lib/systemd/system/cups-browsed.service

Command Explanations

--disable-avahi: This switch is needed if the optional Avahi-0.7 is not installed. Remove it if avahi is installed and you need network printer discovery capabilities.

--without-rcdir: This switch disables installation of the bundled bootscript which is not compatible with BLFS.

--disable-static: This switch prevents installation of static versions of the libraries.

--enable-ijs: This switch will allow the pdftoijs filter, for sending PDFs to an HP InkJet Server, to be built.

Configuring CUPS Filters

Systemd Units

To start the cups-browsed daemon at boot, enable the previously installed systemd unit by running the following command as the root user:

systemctl enable cups-browsed


Installed Programs: cups-browsed, driverless (link), foomatic-rip (link) and ttfread
Installed Libraries: and
Installed Directories: /usr/include/{cupsfilters,fontembed}, /usr/lib/cups/driver, /usr/share/cups/{braille,charsets}, /usr/share/doc/cups-filters-1.21.1 and /usr/share/ppd/cupsfilters

Short Descriptions


is a daemon for browsing the Bonjour and CUPS broadcasts of shared, remote CUPS printers.


is a universal print filter/RIP wrapper which can be used as CUPS filter or stand-alone for spooler-less, direct printing.

contains CUPS Filters API functions.

Last updated on 2018-08-30 10:29:20 -0700