Gentoo Wiki




Lexmark Inkjet printers are generally not Linux friendly because they do not provide Linux drivers above or below the Z600-800 series; however, what drivers they do provide can be used to get your X-series or Z-series printer to work (hopefully!).


Linux Kernel Configuration: USB Printer support
Device Drivers  --->
  USB support  --->
    <*> Support for Host-side USB
    <*>   USB Printer support
If you don't know how to use an ebuild, see HOWTO Installing 3rd Party Ebuilds.

Your printer may have a driver made specifically for it. See

Printers confirmed to work


Please feel free to add your printer and if you were using udev or devfs.

Printers confirmed not to work


The following instructions are exemplary with the z600 driver. The other four drivers work analogous.

Part One - Installing the driver

Get the ebuild, save it to one of the following that matches your printer (see above):

(if you have a Portage Overlay, then you probably want to put the ebuild there)


digest and emerge it in like manner with one of the following:

emerge --digest -av lexmark-z600
emerge --digest -av lexmark-z35
emerge --digest -av lexmark-z55
emerge --digest -av lexmark-z65
emerge --digest -av lexmark-z700

Restart CUPS:

/etc/init.d/cupsd restart

Note on AMD64:
The e-build is not for the x86_64 architecture. to work arround this i did the following:

emerge --ask --verbose emul-linux-x86-compat
cd /tmp

download z600cups-1.0-1.i386.rpm and z600llpddk-2.0-1.i386.rpm
make a tar file from the rpms with:

rpm2targz z600cups-1.0-1.i386.rpm
rpm2targz z600llpddk-2.0-1.i386.rpm

and unpack the tar files:

tar -xzf z600llpddk-2.0-1.i386.tar.gz
tar -xzf z600cups-1.0-1.i386.tar.gz

This will give you a /tmp/usr, but because I like to keep non-gentoo stuff
out of the way i do:

cd /tmp/usr
mkdir local
mv lib share local/

And copy this to /usr/local with:

cd /tmp
tar --sparse -cf - ./usr | ( cd /; tar -xvpf - )

I made a symlink for rastertoz600:

ln -s /usr/local/lib64/cups/filter/rastertoz600 /usr/libexec/cups/filter/rastertoz600

Now you can add your printer in cups, the ppd file is located at:


Check to see if the right libraries are found with:

ldd /usr/local/lib64/cups/backend/z600

this should give no errors or "not found" messages Check if the printer is recognized with:


If all is well.... Happy printing :-)

[editor: please let me know if there is something wrong with the instructions at ed[<AT]>kapitein<[D0T>]org

Part two - Adding the printer

Plug in the printer, switch it on, then check the driver backend:


from which the output should be something like:

direct z600:/dev/usb/lp0 "Lexmark Lexmark Z600 Series" "Lexmark Printer"

The easiest way for adding the new printer is, in my opinion, CUPS browser interface. But if you feel like using any other way (such as KDE Printer config wizard), I guess the steps can be easily figured out. So, assuming you are going to use the browser:

That's it, your printer is installed. You can check by entering in the link for the printer and clicking on "Print test page".

If you get the following error: "Unsupported format 'application/postscript'!", remove the new added printer, add the following line to the file "/usr/share/cups/model/Lexmark-Z600-lxz600cj-cups.ppd"

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

and install the printer again.


Retrieved from ""

Last modified: Fri, 29 Aug 2008 03:06:00 +0000 Hits: 52,047