LinuxCommandLibrary

foo2lava-wrapper

Wrap printing jobs for foo2lava printers

SYNOPSIS

foo2lava-wrapper [-h|--help] [-V|--version] [-L|--list] [-p ppdfile|--ppd=ppdfile] [-d n|--debug[=n]] [-z|--zjs] [foo2lava-options] [input.pcl]

PARAMETERS

-h | --help
    Display help and exit

-V | --version
    Print version information

-L | --list
    List available device options

-p ppdfile | --ppd=ppdfile
    Read options from specified PPD file

-d n | --debug[=n]
    Set debug level (0-9, default 0)

-z | --zjs
    Enable ZJS compression

-P | --portrait
    Force portrait orientation

-l | --landscape
    Force landscape orientation

-r res
    Set resolution (e.g., 300, 600, 1200)

-X num
    Left margin offset

-Y num
    Top margin offset

-G num
    Gamma correction (0.1-3.0)

-s num
    Hue (-180 to 180)

1-9
    Color depth (1=mono, 9=photo)

-m
    Printer model code (e.g., -m0)

DESCRIPTION

The foo2lava-wrapper is a shell script from the open-source foo2zjs printer driver suite, serving as a CUPS (Common Unix Printing System) filter for inkjet printers using the proprietary Lava page description language. Developed primarily for certain Dell and Lexmark models like Dell V305/V505/V515, Lexmark X4650/X4690, and others with Lava engines.

It processes PostScript or PCL input, applies PPD-defined options (e.g., resolution, duplex, media type, color mode), and invokes the underlying foo2lava binary to generate printer-ready raster data. Supports resolutions up to 1200x600 dpi, ZJS compression for efficiency, and features like N-up printing, booklet mode, and gamma correction.

Installed via foo2zjs packages (e.g., from OpenPrinting.org), it requires the foo2lava tool and gs (Ghostscript). Usage is typically automatic in CUPS via PPD files, but can be invoked manually for testing. Provides debug modes for troubleshooting. While reverse-engineered, it offers good compatibility but may lack some vendor-specific enhancements like photo modes on newer firmware.

CAVEATS

Requires foo2zjs package with foo2lava binary; limited support for proprietary features; verify printer model compatibility; higher resolutions increase processing time and may require more memory.
Test with sample files before production use.

SUPPORTED PRINTERS

Dell: V305, V505, V515, 924; Lexmark: X4650, X4690, P4350, X5470.
Full list: http://foo2zjs.rkkda.com/

INSTALLATION

Debian/Ubuntu: apt install printer-driver-foo2zjs.
Fedora: dnf install foo2zjs.
Compile from source: getweb foo2lava; make.

USAGE EXAMPLE

foo2lava-wrapper -P -r600 -z < test.pcl > out.rast
Integrate via CUPS PPD for automatic filtering.

HISTORY

Part of foo2zjs project initiated ~2003 by Olaf Schmidt for HP ZJS printers; Lava support added ~2005 by Till Kamppeter and contributors via reverse engineering. Maintained by OpenPrinting, with updates for new models through 2020s.

SEE ALSO

Copied to clipboard