Slashdot Mirror


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?

19 of 87 comments (clear)

  1. Possible cause of the problem: by Anonymous Coward · · Score: 4, Funny

    Maybe your printer is on fire, you should go check it. This is a known problem in some versions of Linux.

  2. Bandwidth perhaps? by dtfinch · · Score: 4, Informative

    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.

  3. Performance options by Door-opening+Fascist · · Score: 4, Informative

    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.

  4. Try this by afay · · Score: 3, Informative

    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
  5. Possible USB issue? by Kevin+Burtch · · Score: 4, Informative


    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) -
  6. hplj1200 example by flex941 · · Score: 2, Interesting

    In my case gs-esp generates such a inefficient postscript sometimes (pages with images is the best example) that it seems that not raw bandwidth over parallel/usb is not the problem but printer's slow processor is unable to build in-memory image quickly. And so sometimes happens that printing from Windows takes 2 minutes for a PDF but from linux machine it can take half an hour.

  7. slightly unrelated by seann · · Score: 3, Informative

    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.
  8. A Plea to the Linux Developers by Ed+Almos · · Score: 4, Insightful

    OK, I feel your pain but this is just one more symptom of a greater problem. Printing under Linux is a mess and it needs to be fixed. I run a Brother 1250 and in order to get it to work I need to do the following:

    Windows
    Run the setup program. This installs an applet in the Control Panel along with the driver. The printer is detected on the USB port the first time I turn it on. Sharing is done in about five seconds with a right-click and a couple of selections.

    Linux
    Install Foomatic, install CUPS, install Ghostscript, fart around for thirty minutes making sure that they can all talk to each other. The total installation size for all of this is well over 50Mb and don't even talk to me about sharing the printer over my network, it isn't going to happen.

    Wake up and smell the coffee guys !! We are now well into the 21st Century and Linux is still using a printing system that appears to have been written in the 1960's. This needs fixing with a solution that is small, fast and easy to use.

    OK, rant over, feel better now.

    Ed Almos
    Budapest, Hungary

    --
    The more corrupt the state, the more numerous the laws. - Tacitus, 56-120 A.D.
    1. Re:A Plea to the Linux Developers by cloudmaster · · Score: 2, Interesting

      Ever download the windows drivers for an HP Printer? The most recent ones I've grabbed have been in the 40+MB range, since they include a bunch of crap that I don't care about on top of the drivers...

      BTW, I can take a current SuSE, install it, and about 2/3 of the time it'll detect my printer and set it up for me even better than windows. Teh remaining third takes a couple of minutes to use the same setup procedure as windows, essentially - click "printers" in YaST, select the port, select the printer type, click "OK". Sharing? Samba supports printer sharing out of the box - it usually just takes uncommenting the "[printers]" share lines in smb.conf and the stuff magically appears. Cups supports ipp sharing, just enable that in the cupsd.conf file. The cups project, BTW, is great. LPD sucks. Don't use LPD.

    2. Re:A Plea to the Linux Developers by walt-sjc · · Score: 4, Insightful

      It's interesting, but must of the printing problems are actually due to the fact that we constantly need to reverse engineer windows drivers. Yet again, pin-headed manufacturers refuse to get a clue.

      About 6 years ago, I had my first experience with a WinPrinter. A lexmark color inkjet. Of course it wasn't supported in Linux. It was almost 2 years later before support for it got into Linux. I had nothing but problems even then. Lexmark? Meet trashcan.

      Since most of what I print was text, I decided to bite the bullet and buy a new laser printer. I did a fair amount of research and found the Brother 1270N which was a network capable laser that supported postscript! Best decision ever. Postscript printers just work. No dinking around.

      About a year ago, I decided it was time to get a color printer for photos. Again, more research. I found that Epson HAD A CLUE and that the printer drivers for Linux were great. I researched which models were currently available and which were supported in Linux, and everything just worked. No screwing around. It's as fast as windows and the output is just as good.

      Moral of the story: STOP BUYING CRAP from manufacturers that refuse to cooperate with the Linux community and only support those willing to disclose the information needed to use their products!!!

      Back in the days before "winprinters", printer manufacturers ALWAYS disclosed the programming info. In fact, it usually came WITH the printer right in the manual. There is no exuse for keeping it "secret." Next on my list is to replace my HP scanner that doesn't have good Linux drivers or documentation. Looking through the SANE supported list, I don't see many current gen scanners with any support. Any suggestions??? Scanners seem to be even worse than printers!

    3. Re:A Plea to the Linux Developers by AReilly · · Score: 2, Insightful
      Wake up and smell the coffee guys !! We are now well into the 21st Century and Linux is still using a printing system that appears to have been written in the 1960's. This needs fixing with a solution that is small, fast and easy to use.


      Naah. Here in the 21st Century we don't waste trees to convey or store information. That's what e-mail and PDF files are for.

      [To the topic, though: CUPS/IPP is great. USB printers are great. My Lexmark 312foo is hooked to CUPS on my NetBSD box, and all of my other computers (WindowsXP, MacOS-X, FreeBSD) all just use it. It's fast, and easy. OK, so it took some fiddling to set up correctly, but you only have to do that once.]
      --
      -- Andrew
  9. my solution by Anonymous Coward · · Score: 2, Interesting

    I bought an inexpensive network printer spooler (which had wireless internet to boot). The name of this device is "Apple iMac".

    It saved me a lot of hassle. And now Unicode characters print correctly, which is nice too.

    It's not worth tweaking it on Linux, get another OS to do the dirty work. My opinion of course.

  10. Not everyone's experience by Sits · · Score: 2, Interesting

    I've set up a Brother 1440 on Fedora and it was as simple as installing CUPS ticking the approrpriate options in starting the fedora print tool, saying next a few times and ticking share this printer. It even spotted what printer it was on the parallel port. Works fine and even Windows machines can print to it using IPP (so no it doesn't turn up as samba share and magically send the right drivers to the remote machine but it does work). It wasn't always like that but reporting the hiccups I had when sharing printers led to a few bugs being fixed.

    As for why CUPS is so huge, well that's because it tries to support lots of printers in one go. Due to the way Linux distros set it up, it's not modular in the sense that only the modules you need are installed. However it's the same for most distro's kernels and for the pain it would cause to implement your suggestion compared to the saving in disk space it really isn't worth it. It's hard to buy disk drives smaller than 20Gbytes and on such a drive CUPS is taking up .002% of the space. I'm sure you can think of 100 things you'd rather have fixed in your distro over 40M on CUPS.

    Does CUPS work smoothly every time? Nope. Is it usually as smooth as installing a printer on Windows? Probably not. Will posting on Slashdot make it better? Doubt it. If you had a problem, the best thing to do is sit down and carefully make your way through the steps and report it back to your distro manufacturer. What distro were you using btw?

  11. Re:Answer: Mediocre OS by MrHanky · · Score: 2, Interesting

    I know I'm replying to a troll, but I'd just like to point out that Mac OS X uses exactly the same printing system you'll find in most Linux distros: CUPS with Gimpprint drivers. It can be just as painfully slow, even when printing through a Windows server.

    The problem is that while Windows gets drivers made by the printer manufacturer, Linux and Mac get drivers that don't take full advantage of all the features of the printers. Of course, this has little to do with the OS.

  12. Printer install walkthrough, screen by screen by leonbrooks · · Score: 4, Informative
    1. Menu: K -> System -> Configuration -> Configure Your Computer.
    2. Type root password.
    3. Hardware -> Printers. (Printer thingy starts; if CUPS had not been installed, I would have been prompted to insert the first install CD and CUPS plus all dependencies installed from it)
    4. Add Printer.
    5. Next.
    6. (Autodetects Epson Stylus C41) Next.
    7. Next.
    8. Yes (I want to set this printer as the default printer), Next.
    9. (Leave "Standard test page" selected, other options are "Photo test page" and "Do not print any test page") Next.
    10. Finish. At this point, the printer is hammering out a test page.
    11. Close printer thingy.
    12. Close Mandrake Control Center.

    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
  13. Re:My USB modules by Kevin+Burtch · · Score: 2, Informative


    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) -
  14. POSTSCRIPT by MBCook · · Score: 3, Interesting
    A quick scan of comments didn't see this, so I'll put it out there. Everyone, BUY POSTSCRIPT PRINTERS. I've had problems like the one described, but never with my PostScript LaserJet printer. Yeah, it cost more, but it's worth it.

    With a PS printer, there is no complex setup involving filters and GhostScript and other stuff. You just send the PS documents straight to the printer. They print as fast as the computer can send the data, because the printer does all the rendering. It doesn't matter if you have a 386 or a P4 3.6, printing is at top speed.

    Better yet, upgrade the printer with a print server and things get even easier. It looks just like a little computer on the LAN, it accepts jobs from others perfectly because it's running LPD (or something else). All your computers print!

    I have fussed and fussed with printers over the years. It wasn't untill my brother got a Mac and we had to get a PostScript cartridge for my printer that I realized the wonders of PS. All my computers were printing faster because they weren't doing the rendering any more. And you should see how fast PDF files print in Windows because they are just passed on to the printer (since they are basically PS).

    People complain about WinModems, where the CPU is forced to do all the labor. Why don't people complain about those $50 printers? They have no brains, it's up to your computer to do all the thinking, either with GhostScript or the driver in Windows. Get a REAL printer. Get a SMART printer. Get a PS printer and save yourself all the headaches.

    Sorry if this sounds like an ad, I'm just a college student. But setting up my PS printer under Linux was a walk in the park. I've never gotten another printer set up well (with the exception of an old dot matrix, which didn't do graphics or anythign) because they are a pain. A printer with a brain (PS) is what we need.

    PS: If there was another standard that worked like PS, I'd be fine with that. PCL is nice, but Linux prints using PS so with a PCL printer you still have to run GhostScript.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:POSTSCRIPT by sydb · · Score: 2, Funny

      Are you saying that it might be a good idea to use a PostScript printer?

      --
      Yours Sincerely, Michael.
  15. Re:ghostscript is slow by Jamie+Lokier · · Score: 2, Informative
    as well as a severely diminished motive to improve its myriad shortcomings compared to commercial software

    Ghostscript is commercial software. The company which produces it is called Art Of Code LLC. Have a nice day.

    -- Jamie