I am trying to get an old printer working for a family member. The printer itself is working fine but I can't find a way to print from Windows 10 to that printer, the drivers for that printer no longer support the most modern versions of Windows.
Luckily, I was able to print to that printer using Ubuntu and I shared the printer using the GUI. The Windows machine was able to see it but still asked me for a driver before being able to print to it.
From what I just read (correct me if I'm wrong), Ubuntu use CUPS by default for printing, and CUPS should use its own driver when sharing, which was apparently not the case. Am I missing something ?
Just a little note: I will eventually use a Raspberry Pi for this (I have none that I can use right now), so if there something I might need to know that will be different on a Pi (else then the GUI), please let me know!
EDIT: I forgot to mention, this is a USB printer.
Best Answer
Since you can print on Linux, you have a proper driver. This is important because CUPS also supports “raw” queues where it does not actually know how to create printer data itself but relies on client-side drivers to do that.
Because CUPS knows how to print, you can just feed it PostScript data. Windows ships with various suitable drivers. They need not be related to your printer in any way.
I’ll quote Arch Wiki’s Printer sharing article on the following.
First, to enable sharing, it refers to the CUPS server:
Then, to install the printer on Windows:
(Emphasis in last paragraph mine).