Official printer drivers not available for Linux, but printer is supported by third party software on Linux. Suggestions?
I recently bought a used Canon Pixma Pro 100 and I was trying to get it to run on Linux, given that it's the only computer OS I've been using since forever.
From what I've seen, there are no official drivers for the printer and gutenprint doesn't support it. There is an alternative, called Turboprint, which is a paid proprietary software for Linux that seems to fully support the printer.
Well, I would never settle for a proprietary software solution, even though I wouldn't mind the least paying for software if it was FOSS.
A solution is clearly within reach, since others have done it. I am just wondering how hard it would be, and what would be the steps that I could take to come up with a solution. I've done some reverse engineering before, so I know it can range from straightforward to arduous and time consuming. I wonder if this would be too complicated and if I would be better off setting up a QEMU Windows virtual machine with the drivers (that is what I've tried and it works well) while I work on finding a proper solution. I'm now trying to extract the useful part of the MacOS drivers and see if it would work using CUPS. (this part was edited from the original post to address an originally inconsistent phrasing).
I would really appreciate if you could help me with this!
Below I have some further context, some background and references:
Update 1: I found this link on stack exchange explaining how to extract ppd from dmg MacOS images. I extracted the ppd file and all the resources from the official MacOS driver provided by Canon. Now I need to replace MacOS-specific paths to something valid on Linux. There are three or so entries that I need to configure. I will update this post as I make some progress on adapting the drivers to Linux.
Thanks! It seems like the "dead link" is just telling us how to install any printer using CUPS, sadly. But the second link might help me, given that I can try to extract a ppd driver from the provided macOS drivers.
Hunting down drivers then manually adding printer via CUPS interface is exactly what I did for my Samsung printer. I had to install "splix" and registered my printer via web. Good luck.
I could successfully decompress all the relevant files from the dmg file. Now I need to figure out a way of properly installing them in a cups directory. For instance, I don't know where I should put /Library/Printers/Canon. But it seems to me that I have all the files required to make it work.
If you have .drv file, put them in /usr/share/cups/drv/. If you have .ppd file, go to http://localhost:631 , choose "printers" from top, add new printer, CUPS will give you the option to supply .ppd file.
That I understand, but my problem is the ppd file includes paths like *cupsFilter: "application/vnd.cups-command 0 /Library/Printers/Canon/BJPrinter/Filters/Command2CanonIJ.bundle/Contents/MacOS/Command2CanonIJ". I extracted those binary files too, put them in a cups folder, and adapted the path to point at the correct locations, but the scripts don't seem to work on Linux. Same thing for the turboprint thing, the commands like (canontoturboprint) are not doing anything from what I can tell