- Linux gdi printer driver
- Drivers
- printer-driver-sag-gdi on Ubuntu 21.10 (Impish Indri)
- 2. Uninstall / Remove printer-driver-sag-gdi package
- 3. Details of printer-driver-sag-gdi package
- 5. The same packages on other Linux Distributions
- SDB:GDI Printers
- Notes:
- Further Information
- Linux gdi printer driver
- Comments
- Printer list
Linux gdi printer driver
There are many so-called «GDI» printers, especially designed for Microsoft Windows. To save expenses for printer electronics the manufacturers move over all the rendering to the Windows driver running on the PC. The printer gets a simple bitmap of the page. It does not know anything about how text characters look like or how dithering or color adjustment works. Therefore these printers are also called «host-based» printers.
«GDI» means «Graphical Device Interface» and is a software API created by Microsoft through which applications communicate with the drivers of graphical output devices, as printers or graphics cards. «GDI» is not a hardware protocol, the hardware protocols of GDI printers can be completely different, even between models of the same manufacturer. For Windows users this is no problem, as every printer comes with a driver CD containing a driver exactly for the particular printer.
If you have a GDI laser printer and this database does not point you to any drivers for it, try especially the «foo2zjs» driver for Zenographics’ ZJ-stream format which probably also works with some Minolta, QMS, and other printers or also Samsung’s «gdi» driver which is known to work on several Samsung and one Lexmark laser printer. Brothers GDI models most probably work with the «hl7x0» driver which is already part of Ghostscript for a longer time.
Compaq inkjets are usually relabled Lexmarks, so try the drivers for Lexmark models with the same maximum resolution, also the drivers issued by Lexmark could work. There are also Xerox printers which are relabled Lexmark inkjets, but other Xerox models are identical to Sharp’s inkjets and understand PCL 3 (so they work with the «pcl3» driver and are not GDI printers).
All what is written here is not proven knowledge and so do not buy a GDI printer because we have written here that it «probably» or «perhaps» works. This entry you should more understand as a guide for people already having a winprinter and searching for a driver.
Drivers
The following driver(s) are known to drive this printer:
printer-driver-sag-gdi on Ubuntu 21.10 (Impish Indri)
Please follow the steps below to install printer-driver-sag-gdi package:
2. Uninstall / Remove printer-driver-sag-gdi package
Here is a brief guide to show you how to uninstall printer-driver-sag-gdi package:
3. Details of printer-driver-sag-gdi package
printer-driver-fujixerox (1.1.0+ds-3)
printer-driver-hpcups (3.21.6+dfsg0-0ubuntu1)
printer-driver-hpijs (3.21.6+dfsg0-0ubuntu1)
printer-driver-min12xxw (0.0.9-11build1)
printer-driver-oki (1.0.1-1.1)
printer-driver-pxljr (1.4+repack0-6)
printer-driver-splix (2.0.0+svn315-7fakesync1build2)
printrun-common (2.0.0~rc7-1)
prism2-usb-firmware-installer (0.2.9+dfsg-6)
pristine-tar (1.49)
privbind (1.2-1.1build1)
privoxy (3.0.32-2)
probabel (0.5.0+dfsg-4)
probalign (1.4-9)
probcons (1.12-13)
5. The same packages on other Linux Distributions
printer-driver-sag-gdi (0.1-5) Ubuntu 18.04 LTS (Bionic Beaver)
printer-driver-sag-gdi (0.1-4ubuntu1) Ubuntu 16.04 LTS (Xenial Xerus)
printer-driver-sag-gdi (0.1-8) Ubuntu 22.04 LTS (Jammy Jellyfish)
printer-driver-sag-gdi (0.1-7) Debian 10 (Buster)
SDB:GDI Printers
Printer drivers for Linux are seldom developed by the printer manufacturer. Therefore, the printer must be accessible via a published standard protocol, like the standard printer languages PostScript, PCL, and ESC/P. See SDB:Purchasing a Printer and Compatibility
If the printer manufacturer does not provide the printer with standard printer language support but uses a proprietary protocol, the printer is a so called «GDI printer». Such printers only work under the operating systems for which the manufacturer provides driver support. GDI is an API developed by Microsoft. The problem with «GDI printers» has nothing to do with the GDI API. The problem is that GDI printers are exclusively accessible via a proprietary protocol. Therefore, GDI printers should actually be called «printers exclusively accessible via a proprietary protocol».
There is no such thing as «the GDI printer protocol». Each kind of GDI printer model uses its own special proprietary protocol so that each kind of GDI printer model needs its own special driver. See also http://www.openprinting.org/printer/Generic/Generic-GDI_Printer
There are somewhat crippled printers that «understand» only rudimentary elements of a standard printer language (i.e., only those commands necessary for the output of raster graphics data). This kind of printer can sometimes be deployed in an ordinary way, since many printer drivers merely use the commands required for the output of raster graphics data. These printers may pose a problem if they must be previously switched to a special mode with specific control sequences. This can only be done with a specially adapted printer driver. Since this is not a standard protocol, these printers belong to the GDI printers.
Notes:
We cannot provide instructions how to set up a GDI printer, because we do not conduct tests for GDI printer drivers.
For some GDI printers there are special driver programs available in the Internet. You may find information even regarding GDI printers at the OpenPrinting workgroup of the Linux Foundation.
Often there are special limitations in GDI printer drivers. Therefore, GDI printers may not work under normal circumstances.
Often GDI printer drivers need special actions to be set up correctly. Therefore it is often not possible to set up GDI printers with YaST or other printer setup tools which work in compliance with CUPS.
As we do not test GDI printers, we do not include GDI printer drivers into our products because we do not know if the GDI printer drivers would work at all.
Some GDI printer drivers need special actions to be set up or include problematic code that may cause license problems if we had those drivers in our products. We will never ever risk causing license problems for us and also for you when you would use such software where the license is unsafe only to have some kind of support for such problematic hardware.
We do not develop any GDI printer drivers because there are hundreds (in fact more than a thousand) printer models that work well for Linux. See the support database articles SDB:Printer buying guide and SDB:Purchasing a Printer and Compatibility.
Since the cost for a functional new printer is relatively low, the time spent to set up a GDI printer with whatever special driver is probably not worth the effort. What is more, using a proper printer will solve the driver problem once and for all, as it will eliminate the need for installing and configuring special driver software and obtaining special driver updates which may be required after changes and/or new developments in the print system.
Further Information
Linux gdi printer driver
Important for Windows clients: The CUPS PostScript driver for Windows has a bug which makes it choking on PPD files which contain GUI texts longer than 39 characters. Therefore it is recommended to use Adobe’s PostScript driver. If you still want to use the CUPS driver, please mark «GUI texts limited to 39 characters» to get an appropriate PPD file.
Comments
This driver is available in the Ghostscript Printer Application
The name of this driver is very confusing, it is not a driver for all GDI printers, it only works with the so-called «SmartGDI» or «PrinThru» printers of Samsung. The original driver published under the GPL by Samsung some years ago has a bug which prevents some files from being printed. Grant Taylor has implemented a workaround. On the driver’s download page (it is here on OpenPrinting, Samsung does not provide this driver any more) you will find a patch and an already fixed version.
And here you get the version for GPL/AFPL Ghostscript 8.x, also with Grant’s fixes. In ESP Ghostscript 8.x this driver is already included. If you want to add it to your Ghostscript, put the gdevgdi.c file into the src/ subdirectory of the Ghostscript source package, append gdevgdi-gdi.mak to src/contrib.mak, and add «$(DD)gdi.dev» to one of the «DEVICE_DEVS. » lines of src/Makefile.in. Then compile as ususal.
Here is a patch to add the «gdi» driver to GPL Ghostscript 8.54. Please test it and report on our Samsung forum. Thanks to MJ Ray (mjr at phonecoop dot coop) for this contribution.
This Foomatic entry gives access to all options which the Windows driver provides for Samsung’s GDI printers. As this was not forseen by the original Ghostscript driver from Samsung, a hack was applied in this Foomatic entry. The driver does not need to be patched for that.
If you are using MagicFilter 1.2, you can use this filter with the driver (developed on Debian Potato, contributed by Felix E. Klee, felix dot klee at inka dot de). To install you have to uncompress it and to copy it into your MagicFilter directory (/etc/magicfilter on Debian). This file does not work with newer versions of MagicFilter.
Printer list
- Dell 1110
- Generic GDI Printer
- Lexmark E210
- Samsung ML-1000
- Samsung ML-1010
- Samsung ML-1020
- Samsung ML-1200
- Samsung ML-1210
- Samsung ML-1220
- Samsung ML-1410
- Samsung ML-1430
- Samsung ML-1440
- Samsung ML-1510
- Samsung ML-1520
- Samsung ML-1610
- Samsung ML-1710
- Samsung ML-1740
- Samsung ML-1750
- Samsung ML-200
- Samsung ML-2010
- Samsung ML-210
- Samsung ML-2150
- Samsung ML-2250
- Samsung ML-2550
- Samsung ML-4500
- Samsung ML-5080
- Samsung ML-6040
- Xerox Phaser 3110
- Xerox Phaser 3124