this post was submitted on 18 Jun 2024
30 points (91.7% liked)

Linux

8200 readers
436 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 1 year ago
MODERATORS
 

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:

1- A post on the Canon community forum says that:

Unfortunately the "Pro" series of printers aren't supported, but if you don't mind paying a little money then check out Turboprint for Linux.

2- The printer doesn't seem to be supported by generic drivers, according to an Arch forum user

3- Another Linux Mint Forums user confirms that it doesn't work on Linux and suggests a printer driver wrapper

4- Dpreview users unanimously say the solution is either Turboprint or Windows VM, according to this post and this other post

5- A printerknowledge user links a post that seems to contain instructions on how to get the printer working on Linux, but it appears to be a dead link

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.

you are viewing a single comment's thread
view the rest of the comments
[–] buffy 2 points 5 months ago

Thanks! I didn't have the icc profiles correctly set, which might be one of the problems with my setup.

I was initially having issues with the Raster2CanonIJS and Command2CanonIJ binaries (that I copied to /usr/lib/cups/filter): cups was raising some errors when executing the scripts. But after fixing those, I wouldn't get any further errors or warnings, although the printer would simply be unresponsive while the job was set as "completed". I will check if the problem was the lack of icc profiles under /usr/share/color/icc.