What is a driver, from a computer standpoint? Ex: Why does a printer need a specific driver? Is there no standard?

339 views

Last night, I tried to set up an older printer to a new laptop, but I kept running into driver issues. I’ve always dealt with that, but never understood what it was and why it was necessary.

In: 13

12 Answers

Anonymous 0 Comments

It’s a program which takes commands from the computer and converts it into signals for the printer that the printer can understand. And vice versa, takes signals (like error codes) from the printer and converts them into messages for the computer and/or the user. Printers vary in their function and design, so each needs a bunch of drivers for different computer operating systems.

Anonymous 0 Comments

Every printer talks its own language. A driver is a translator that gives applications that want to interact with printers a common way to talk to the OS and allows the OS to translate that into something that the printer will use.

Anonymous 0 Comments

[removed]

Anonymous 0 Comments

You can imagine it like a translator between people. Your printer is a person speaking Spanish, the pc is a person speaking Japanese and the driver is the translator person, so the 2 can talk and understand each other. So when you get a new pc it basically changed its language from Japanese to, let’s say, German and now the printer manufacturer updates the driver so it speaks also that, so that your old printer can still communicate with the newer pc.

Anonymous 0 Comments

Yes, there is a standard. This is the interface between software that wants to print and the printer driver. All printer drivers support the same standard interface, to the degree the printer can do all those things (a color printer driver can’t make a B/W printer print in color).

But, in order to make varied products to optimally serve all the varied uses for printers, printer companies need to implement a conversion from the standard printer driver interface to the data their printer actually uses. Every printer company uses different inks and mechanisms, so it needs different conversions. Even within a printer company the laser printers work very differently from the inkjet printers (and don’t even get into the oddball label printers and the like).

Some printer companies make a “universal driver”, a giant program you install which simply contains all the conversions with a big “IF printer model 1 THEN … ELSE IF printer model 2 THEN …” switch statement at the top. This is easy but if they make 100 different models it takes up 100 times as much disk space (and potentially memory). Other printer companies make tiny drivers, one for each printer model, and if you install the wrong ones you can’t print. It’s a feature, not a bug.

Anonymous 0 Comments

The operating system on your computer can’t be pre-built to know every piece of hardware you could attach to it and how that hardware works. There’s just too many gadgets out there. The solution is to have drivers, which are bits of code that act as an interpreter between the operating system and the hardware. It allows the operating system to know how to send the correct signals to get the hardware to work in the intended way.

“But why do I need a specific driver for a specific printer?”

General printer drivers exist and can sometimes be used. The problem is a general driver can’t account for all the differences between every printer made, and will often mess up if you’re using a printer with any unusual features. Similarly, if you were to learn some basic, general-purpose Spanish, it would work a lot of the time, but you’d have trouble dealing with country specific slang, or technical jargon, or pidgin or creole versions of Spanish, so you might want to get a translator that knows that specific area of the language you need to deal with.

Anonymous 0 Comments

The operating system uses the driver to operate the printer the same way you use a steering wheel and pedals to operate a car. Under the hood different cars could work very differently, but the interface is the same for everybody. The same is true for computer hardware. Through the driver, the computer tells the printer what to do, but not how to do it.

Anonymous 0 Comments

An apt comparison would be to vehicle drivers. Just because a human driver can drive a car doesn’t mean that the same driver can drive a tank or an 18-wheeler or an airplane or a tractor. So the operator (the OS) can instruct the driver to make a series of deliveries (prints) but it’s up to the driver to operate the vehicle (printer) in the specific manner to accomplish this task.

Now you can extrapolate this example further being that different OS’s (Like Apple vs Windows) speak different languages and different versions of OS’s (Like Windows XP versus Windows 11) is like working for different companies – each company has it’s own rules and security procedures and specific lingo used.

So plugging an old printer into a new laptop is like trying to get 18 year old to drive somewhere he doesn’t know without using GPS. You need to use an older driver that can still navigate using physical maps. But the older driver doesn’t know what the 18 year dispatcher is saying. So you need to get the dispatcher to use a compatibility mode so that he can make the instructions clear to the older driver. Sometimes this works and in some cases it doesn’t. If it doesn’t then you’ve got to get an update for the older driver.

You can also try a generic driver, if available, but then you lose out on your more advanced features like printing in color or on different paper sizes. So that’s like trying to get a normal truck driver to operate a dump truck – they might be able to maneuver the truck but they won’t know how to use the dumper part.

Anonymous 0 Comments

Some drivers are standardized. There’s standard keyboard drivers, so you don’t have to install a new keyboard and mouse drivers, unless they have special functions.

Unfortunately they didn’t achieve that with printers. It’s harder then with keyboards, just because the number of possibilities is much larger. Yes, there’s ways it could be done, but no one ever standardized on one. There’s a lot of features that you can and can’t see that’s different on how a printer functions.

Examples of things is how you pass fonts to the printer, and how you pass around the shape of images to make them come out crisp. Then there’s features in the printer, such as reporting where the paper is jammed, which ink tank is low, or selecting the right paper tray if there’s multiple trays.

Anonymous 0 Comments

There are standards for a printer like PS (postscript) and if you can have a printer that understands it and you do not need a specific driver. There likely is one but it is there so you can get the specifics parameter that is relevant for the print and to control other features if there are any. There is a PPD (Postscript Printer Description) standard tht descibe the printer, so you can use it and a generic driver for the printer

A PDF file is based on Postscript and in some way the result of you printing a document and postscript code of it is generated. You then store the data in a file so it looks the same on all devices

The problem if you do it that way you need to have the process capability to interpret the postscript in the printer. Because most consumer printer is cheap and manufacturers like to squeeze out any available money they can from them they do it another way. They put as little electronics in the printer as possible. They put the software the generate the control instruction on the computer instead. That is a cheaper way to do it but worse for the user.

If you look at a more expensive printer intended for usage in offices you find lots of printers that understand PS.

I use an “HP Universal Printing PCL 6” driver with an old HP printer from the 90s build for office use. PCL is HP own standard language for printers, it is similar to PS. The printer understands both I just picked PCL

PS has existed in print since 1982 the latest PostScript 3 is from 1997. PCL is from 1984 and the latest PCL 6 is from 1995. So I could use the same drive with any printer regardless of when it was made. The problem with old printers is like their ability to understand TCP/IP or even network in general. There are or at least were printer servers that were just small device with a network interface and the wired interface to connect to the printer.

So there are defacto standards, the problem is they increase the cost of printers a bit so you do not see them in cheap consumer printers. High volume printer for offices generally support the,