A Linux printer driver for QPDL protocol
foo2qpdl is an open source printer driver for printers that use the QPDL wire protocol for their print data, such as the Samsung CLP-300 or the Samsung CLP-600. These printers are often erroneously referred to as winprinters or GDI printers. However, Microsoft GDI only mandates the API between an application and the printer driver, not the protocol on the wire between the printer driver and the printer. In fact, QPDL printers are raster printers which happen to use a very efficient wire protocol. QPDL is just one of many wire protocols that are in use today, such as Postscript, PCL, Epson, ZjStream, etc.
This driver uses Ghostscript to perform all of the heavy lifting (image processing). There are five major components to the foo2qpdl printer driver.
- foo2qpdl - the page image to protocol conversion engine of the driver.
- foo2qpdl-wrapper - a shell script (compatible with foomatic) which runs ghostscript and foo2qpdl in a pipeline.
- icc2ps - converts an ICM color profile to a Postscript CRD, which is then fed into Ghostscript before the users Postscript program.
- foomatic-db - foomatic database entries which describe the supported printers and their options so that printer spoolers know how to access the printer using foo2qpdl-wrapper.
- qpdldecode - a tool for developers to inspect QPDL streams.
Click the link, or cut and paste the whole command line below to download the driver.
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
Now unpack it:
tar zxf foo2zjs.tar.gz
Now compile and install it. The INSTALL file contains more detailed instructions; please read it now.
Install driver, foomatic XML files, and extra files:
su OR $ sudo make install
(Optional) If you use CUPS, restart the spooler:
make cups OR $ sudo make cups
Now create printer entries for your spooler. Create at least one queue for monochrome, and another queue for color printing. Create the queues first, then edit them and set the device options as desired. See your operating system documentation for further details on creating a printer queue. Click any hyperlinks below for sample screenshots.
For Redhat 7.2/7.3/8.0/9.0 and Fedora Core 1-5 users:
For Fedora Core 6 users:
For Mandrake/Manrivia users:
For Suse 10.0 users:
For Ubuntu 5.10/6.06/6.10 users:
sudo make cups
For a networked Konica Minolta magicolor 2530 DL, I used a "Queue Type" "HP JetDirect" and set "Host:" to the IP address of the printer and "Port:" to 9100.
For low level testing, you can also create a "raw queue", which will accept QPDL files as-is and send them directly to the printer.