Slow Printing on Linux?
sciguy125 asks: "I switched to Linux a few months ago and the biggest problem that I've had is with my printer. I've got a Canon S520 and Red Hat 9. It prints painfully slow. If I want to print word documents that are more than 5 pages, it's faster to reboot into Windows and print from there. I've scoured the Internet and found that many people are having this problem, but nobody has a satisfactory solution. The most common suggestion is to get a faster computer, thinking that GhostScript is running slow. I'm fairly sure that isn't my problem because the processor is only at about half load when printing. I'm not exactly sure how wide spread this problem is, but I do know that there is at least a decent sized handful of people struggling with it. At first, I was considering dropping Linux because this printing problem is a serious issue with me, but now I just leave a good chunk of my printing until after 2am." Has anyone run into the problem before? What could make a print job spool at unusually slow rates to the printer?
If your driver is pretty generic, it may just be sending a raw bitmap to the printer, rather than a compressed or vector image. Whereas the windows driver would have been written specifically for that printer taking advantage of all its features. If you have it connected to a parallel port, try USB since that's much faster. Also try printing at a lower DPI. And try different encoding options if they're offered.
If you're using a printer hooked up to a parallel port, do you have an interrupt enabled on that port? Also, make sure that you have a DMA channel setup for it. IIRC, you can pass these options in with the parport module.
I know it's not completely free, but you can download a trial version. turboprint. Furthermore, if it works, paying for the full version will run you about the cost of one ink cartridge. WRT the Canon s520, this person had luck.
Best slashdot comment
I ran into this some time back... exactly as you describe - painfully slow printing with little CPU impact.
After some searching I found a hint that it might be related to my USB driver.
Try switching from uhci to usb-uhci (or vise-versa) and see if that makes a difference.
If they're built into your kernel, you'll have to configure them as modules both and rebuild it.
My disposable toy-printer (Lexmark Z35) now works great _and_fast_ in Linux.
- Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
A lot of people complain about slow print speeds in OS X, specially when they have it hooked up to a windows computer at the same time.
People don't realize that most consumer based printers in OS X go through a crazy amount of processing.
For example, If I'm printing a document from MS word, that gets converted into a PDF, then to PS, then to the native printers language, and finally out!
Crazy!
Now when you convert that to the windows, or OS 9 world,
PS straight to the native printers language, to the USB port.
Thats quick!
If you want a real test in linux to see if its spooling, or the pipe to the printer, "stop" the print queue, the job will spool, and then restart the queue.
When the queue starts, the files already spooled, and it just needs to be sent!
good luck
I'm a big retard who forgot to log out of Slashdot on Mike's computer! LOOK AT ME.
Works just as well for networked printers and printers attached to MS-Windows boxes (might need a username/password for an MS-Window box set up to require that), other CUPS printers are 100% automatic unless you tell CUPS not to.
Got time? Spend some of it coding or testing
The guy who posed the question said he's running RedHat 9, which is a 2.4 kernel based disto... not Mandrake running a 2.6 kernel.
If you're having the same issue, maybe it's because you're using 3 drivers at the same time.
If you have both USB-1.x and USB-2.0 ports on your box I can understand running ehci_hcd for the 2.0 card, but you only need one driver for the other interface.
Frankly, I'm surprized it even loaded both 1.x drivers at the same time.
- Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -