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.0 platform.

This package is known to build and work properly when built with gcc-7.1.

Package Information

CUPS Filters Dependencies


Cups-2.2.3, GLib-2.52.2, ghostscript-9.21, IJS-0.35, Little CMS-2.8, mupdf-1.11 (mutool), Poppler-0.55.0, and Qpdf-6.0.0



Avahi-0.6.32, OpenLDAP-2.4.44, PHP-7.1.5 (use of this might be broken), Liblouis (Braille), and Liblouisutdml (Braille)

Optional printer drivers (runtime)

Dejavu fonts (required for the tests), and Gutenprint-5.2.12 (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.14.0 &&

To test the results, issue: make check 2>&1 >testlog. 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.6.32 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.

make check 2>&1 >testlog: The testsuite dumps a stream of bytes into the input buffer after it finishes. Sending the output to a file keeps the history usable, but some debug information will still appear on the screen.

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, foomatic-rip (link) and ttfread
Installed Libraries: and
Installed Directories: /usr/include/{cupsfilters,fontembed}, /usr/share/cups/{braille,charsets}, /usr/share/doc/cups-filters-1.14.0 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 2017-05-17 18:08:50 -0500