What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

foomatic-rip is a PPD-driven print filter used mainly by legacy CUPS queues. It reads a print job, uses the selected printer’s PPD to choose options and a rendering command, then writes printer-ready data to standard output. It is a conversion stage—not the component that sends the job over USB or the network. For a new printer, driverless IPP or a suitable Printer Application is usually the better place to start.

What does foomatic-rip do?

The “RIP” in the name means Raster Image Processor. The name can be misleading: foomatic-rip does not necessarily create a raster file. Depending on the printer and its PPD, it may produce raster data, PCL, ESC/P, another vendor-specific language, or pass PostScript through with little or no conversion.

Its usual inputs include PDF and PostScript. It consults the printer’s PPD (PostScript Printer Description) to determine which settings are available and how to invoke a renderer—commonly Ghostscript—to produce output the printer understands. Other renderers or paths may be configured. The resulting stream goes to standard output; a separate CUPS backend or other transport sends it to the device.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The traditional foomatic-rip(1) manual page calls it a universal print filter, but that is historical wording, not a guarantee of compatibility with every printer, renderer, or spooler. In current Linux setups, think of it primarily as a legacy PPD-based CUPS filter, with a direct mode useful for testing and some older workflows.

#1 Best Overall
HP Original 910 Cyan, Magenta, Yellow / 910XL Black Ink Cartridges (4-Pack) | Works OfficeJet 8010, 8020 Series OfficeJet Pro 8020, 8030 Series | Eligible for Instant Ink | 3JB41AN
  • Automatic
  • These cartridges work with: HP OfficeJet Pro 8020, 8020e, 8025, 8028, 8030e, 8035
  • Cartridge yield (approx.): 825 pages black, 315 pages per color
  • Up to 2x more prints with Original HP Ink vs. non-Original HP Ink
  • 82% of HP ink cartridges are manufactured with recycled plastic

Where it fits in the CUPS pipeline

Application
   ↓
CUPS queue
   ↓
Input conversion filters (as needed)
   ↓
foomatic-rip
   ↓
Printer-specific output
   ↓
CUPS backend
   ↓
Printer

The exact filter chain depends on the job’s format, queue configuration, PPD, and CUPS version. A Foomatic PPD commonly contains a cupsFilter declaration that asks CUPS to run the filter, for example:

*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip"
*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip"

These are examples from the OpenPrinting Foomatic database, not lines every PPD must contain. The backend is a later stage: if conversion succeeds but the printer receives nothing, the transport or backend may be the problem rather than foomatic-rip.

Why the PPD matters

The PPD is the heart of the Foomatic setup. It can describe paper sizes and types, duplex and color modes, resolutions, trays, output bins, vendor-specific options, renderer parameters, and the printer language or driver behavior. foomatic-rip follows those declarations; it does not independently discover every capability of the physical printer. The OpenPrinting explanation of direct printing describes this PPD-driven model.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That is why an option copied from another printer may fail even if it sounds standard. One PPD might expose Duplex with a choice such as DuplexNoTumble; another may use a different name or choice, or rely on an IPP attribute such as sides. Use the options supported by the actual queue or PPD rather than assuming names are portable.

Rank #2
HP 67 Black Ink Cartridge | Works with DeskJet 1255, 2700, 4100 and Envy 6000, 6400 Series, Eligible for Instant Ink, 3YM56AN | Packaging May Vary
  • HP Ink Cartridges are engineered to work with HP printers to provide consistent quality, reliability and value
  • Works with these HP Printers: DeskJet 1255, 2710e, 2720e, 2721e, 2722, 2722e, 2723e, 2724, 2725, 2732, 2742e, 2752e, 2755, 2755e, 4110e, 4120e, 4121e, 4122e, 4123e, 4130e, 4132e, 4152e, 4155e, 4158e; DeskJet Plus 4122, 4132, 4155
  • Works with these HP Printers: ENVY 6010e, 6020e, 6022e, 6030e, 6032e, 6034e, 6050e, 6052e, 6055, 6055e, 6075, 6075e, 6420e, 6422e, 6430e, 6432e, 6450e, 6452e, 6455e, 6458e, 6475e; ENVY Pro 6455, 6458, 6475
  • Cartridge yield (approx.): 120 pages
  • Trusted HP Printer Ink Cartridges for every printing need: Perfect for everyday home, office, and small business printing needs — choose HP 67 Ink Cartridges for reliable printing

Direct use and command syntax

The precise synopsis varies with the installed release and mode. The common direct-mode pattern is:

foomatic-rip [-P printer | --ppd ppdfile] [-J jobtitle] 
  [-o option=value ...] [files ...]

Examples:

# Use a configured printer queue
foomatic-rip -P printer-name document.pdf

# Use a specific PPD and save converted output
foomatic-rip --ppd /path/to/printer.ppd document.pdf > output.prn

# Read a PDF from standard input
cat document.pdf | foomatic-rip --ppd /path/to/printer.ppd > output.prn

# Request a PPD-defined option
foomatic-rip -P printer-name -o PageSize=A4 document.pdf

Direct mode writes processed printer data to standard output. The first example may therefore display binary or printer-language output in the terminal; it does not, by itself, mean that the job has been sent to the printer. Redirect output to a file for a controlled test, or use an appropriate transport. Do not send a generated stream to a device unless you know that the selected PPD and transport are correct.

Option names and values are PPD-specific. For example, -o Duplex=DuplexNoTumble and -o ColorModel=Gray are illustrative only; they are not universal settings. Inspect the installed manual and queue’s options before scripting. The historical manual also documents an option-inspection pattern using -o docs, but its behavior can depend on the version. Confirm it in your installed documentation before relying on it in automation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CUPS filter mode

When CUPS runs the filter, the conventional interface is:

Rank #3
HP 67XL Black High-Yield Ink Cartridge | Works with DeskJet 1255, 2700, 4100, Envy 6000, 6400 Series | Eligible for Instant Ink | 3YM57AN | Packaging May Vary
  • HP Ink Cartridges are engineered to work with HP printers to provide consistent quality, reliability and value
  • Works with these HP Printers: DeskJet 1255, 2710e, 2720e, 2721e, 2722, 2722e, 2723e, 2724, 2725, 2732, 2742e, 2752e, 2755, 2755e, 4110e, 4120e, 4121e, 4122e, 4123e, 4130e, 4132e, 4152e, 4155e, 4158e; DeskJet Plus 4122, 4132, 4155
  • Works with these HP Printers: ENVY 6010e, 6020e, 6022e, 6030e, 6032e, 6034e, 6050e, 6052e, 6055, 6055e, 6075, 6075e, 6420e, 6422e, 6430e, 6432e, 6450e, 6452e, 6455e, 6458e, 6475e; ENVY Pro 6455, 6458, 6475
  • Cartridge yield (approx.): 240 pages
  • Trusted HP Printer Ink Cartridges for every printing need: Perfect for everyday home, office, and small business printing needs — choose HP 67XL Ink Cartridges for reliable printing
foomatic-rip jobid user jobtitle numcopies options [file]

CUPS supplies job information and options through the arguments, environment, standard input, and queue configuration. Administrators normally should not invoke this positional form by hand unless reproducing a specific CUPS filter call for debugging. Older documentation also describes integrations with spoolers such as LPRng, LPD/GNUlpr, PPR, and PDQ; those are historical and should not be assumed to exist in a current build. Upstream cups-filters change notes record removal of discontinued non-CUPS integrations.

Inspect the queue and test the conversion

Start by confirming the filter, renderer, and queue are present:

command -v foomatic-rip
foomatic-rip --version
foomatic-rip --help
command -v gs
lpstat -t
lpoptions -p printer-name -l

Availability of individual switches varies by package. lpoptions -p printer-name -l lists options exposed by a configured CUPS queue. To test conversion separately from printer delivery, use a known-good input and the PPD intended for that printer:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
foomatic-rip --debug --ppd /path/to/printer.ppd test.pdf > /tmp/test.prn
ls -l /tmp/test.prn
file /tmp/test.prn

A nonempty output file is evidence that the conversion stage emitted data; it does not establish that the output is valid for the printer or that a backend can deliver it. Treat the output as potentially sensitive, since print streams can contain the document itself.

Rank #4
Canon PG-275 / CL-276 Genuine Ink Value Pack (2 Cartridges), Compatible with TS3520/3522/4722/3720/3722, TR4720
  • Compatible with TS3520/3522, TR4720/4722, TS3720/3722 inkjet printers.
  • Value pack of 2 cartridges: PG-275 Black ink yields up to 100 pages, CL-276 color ink yields up to 100 pages.
  • Canon Genuine Inks provide peak performance that is specifically designed for compatible Canon printers. The PG black ink cartridge produces crisp, sharp black text for your documents and the CL color cartridge produces accurate impressive color photos.
  • Canon's FINE (Full-photolithography Inkjet Nozzle Engineering) technology utilizes 6,000 or more nozzles inside the print heads to provide greater efficiency, higher print precision and reliable accuracy in your photos and documents.
  • Don’t be fooled by imposters - look for the Canon logo on all ink packaging to ensure you’re buying Genuine Canon Ink for outstanding quality and performance you can rely on.

Configuration and diagnostics

The traditional configuration path is /etc/foomatic/filter.conf. Depending on the build, foomatic-rip may first look under the CUPS server root, for example /etc/cups/foomatic-rip.conf, and then fall back to the older path. The effective location can be influenced by CUPS_SERVERROOT and distribution build choices, so check the installed package documentation or source rather than assuming one path applies everywhere.

Configuration can affect the text conversion filter, debug behavior, Ghostscript location, executable search path, CUPS filter path, preferred shell, and—in older implementations—page accounting. Common diagnostic switches include -v, -q, and --debug, but exact behavior is release-dependent. The manual warns that verbose debugging may create a temporary file in /tmp containing job information. Avoid enabling it casually on production systems; use a controlled test document, restrict access to logs and output, and remove temporary diagnostics when finished.

Troubleshoot “Filter failed” without guessing

A CUPS “Filter failed” message identifies a failed printing stage, but does not by itself prove that Foomatic is the cause. Work through the path:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Confirm the executables. Check command -v foomatic-rip and command -v gs. A missing filter or renderer, or a renderer incompatible with the PPD’s command line, can stop conversion.
  2. Check the queue and options. Use lpstat -t and lpoptions -p printer-name -l. Verify the queue is enabled and that requested options are actually offered.
  3. Check the PPD and filter declaration. A broken or mismatched PPD, or an incorrect cupsFilter/cupsFilter2 entry, can select an unsuitable conversion path.
  4. Test conversion separately. Run a known-good PDF or PostScript through the direct-mode test above. A failure here points toward the filter, PPD, renderer, permissions, or input; successful output shifts attention to later stages.
  5. Inspect CUPS logs. Use the distribution’s CUPS error log and service journal to identify which filter or backend exited and why. Enable extra logging only as long as needed, especially on shared systems.
  6. Separate conversion from delivery. If the filter produced plausible printer-ready data but no page appeared, investigate the CUPS backend, device URI, network or USB connection, and printer state. A backend failure is not repaired by changing Ghostscript options.

Other common causes include unsupported option values, sandbox or permission restrictions, a PPD command rejected by security validation, and wrong or unsupported input. A failure may also produce no output simply because the PPD path or input format was not what the filter expected.

Best Value
Sale
63XL Ink Cartridges Black and Color Replacement for HP Ink 63 for HP 63XL Ink Cartridge Combo Pack Work for HP OfficeJet 3830 4650 5255 5258 5200; Envy 4520 4512 4510; DeskJet 1112 2130 3630 (2 Pack)
  • Higher Page Yield: Up to 750 pages for hp ink 63 black, 450 pages for hp 63 ink tri-color (at 5% coverage of A4 paper)
  • Package Includes: 1 x 63XL black ink cartridge, 1 x 63XL color ink cartridge, 1 x User Guide
  • Compatible for HP OfficeJet 3830, 3831, 3832, 3833, 3834, 3836, 4650, 4652, 4654, 4655, 4656, 4657, 4658, 5255, 5200, 5220, 5222, 5230, 5232, 5252, 5258, 5260, 5264, 5212
  • Compatible for HP Envy 4520, 4510, 4511, 4512, 4513, 4516, 4517, 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528
  • Compatible for HP DeskJet 1110, 1111, 1112, 1113, 1114, 2130, 2131, 2132, 2133, 2134, 2136, 2137, 2138, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Security: treat PPD commands as executable configuration

Some PPD fields influence the renderer command, including FoomaticRIPCommandLine, FoomaticRIPCommandLinePDF, and FoomaticRIPOptionSetting. Because these values can affect command construction, an untrusted PPD deserves the same caution as other executable configuration—particularly on a privileged or network-exposed print server. Keep the distribution’s printing packages patched and review the source of a PPD before installing it.

OpenPrinting documents mitigations in some modern builds that restrict administrator-approved PPD command values using hashes, with approved entries stored in locations such as /etc/foomatic/hashes.d or /usr/share/foomatic/hashes.d. Do not assume every distribution version implements the same checks; consult your package’s security documentation and current cups-filters project information.

Some PPDs also support FoomaticRIPPostPipe, which can redirect output to another command. This is an administrative execution feature, not an ordinary print option. Review the command, quoting, permissions, data exposure, and reliability before using it. Debug output and generated print files may reveal document contents or system details, so protect and clean them up.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is foomatic-rip still the right choice?

  • Keep it for a working legacy queue when the printer needs a maintained PPD-based driver, the renderer is compatible, and the queue remains supported and secure.
  • For a new network printer, try driverless IPP first if it advertises IPP Everywhere, AirPrint, or a related mode. Driverless printing uses standard formats such as PDF, PWG Raster, Apple Raster, or PCLm and avoids many vendor PPD command issues. It may expose fewer device-specific features than a proprietary driver.
  • Consider a Printer Application where one is available for the device. It can provide an IPP-facing service for a legacy or specialized printer in a newer architecture, though availability varies by vendor and distribution.
  • Use a vendor driver or native CUPS filters selectively when they are maintained and offer a capability the driverless path lacks. Compare support, portability, and security rather than assuming a vendor package is automatically better.

The CUPS 3 direction is toward driverless IPP and Printer Applications rather than classic PPD-based drivers and external filters. That is an architectural direction, not proof that every distribution has already migrated: existing CUPS 2 systems and legacy queues remain in use. See the libcupsfilters project and cups-filters documentation for the newer architecture context.

Further references

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.