Git Product home page Git Product logo

Comments (15)

ralfbrown avatar ralfbrown commented on August 11, 2024

Darktable uses CUPS (Common Unix Printing System) to talk to your printers, so the first thing to check is whether CUPS is properly listing your printers. With a web browser, visit http://localhost:631/printers/ and check whether the list is correct (enable Javascript if necessary).

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

Yes, CUPS is listing all the printers correctly.

Screenshot 2024-08-04 at 9 23 38 PM

from darktable.

ralfbrown avatar ralfbrown commented on August 11, 2024

We'll need someone familiar with the print module to take a look at the code.

I have a suspicion that the code is being confushed by having two 8020's in the printer list. Assuming that those are separate devices rather than multiple drivers sharing one device, what happens if you turn off one of them before starting darktable?

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

The two 8020's are the same physical device, but one is for fax and the other is for printing. I deleted the fax driver, and I turned off the HP 8020. Now I don't get any printers listed in Darktable.

Screenshot 2024-08-05 at 9 03 16 AM

from darktable.

ralfbrown avatar ralfbrown commented on August 11, 2024

Sorry, out of ideas now, since I've never worked on the print module.

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

Do you have a suggested work-around?

  1. Save the image with sRGB output color profile. Open image in GIMP or MacOS Preview, and print using the ICC profile for my printer/paper?
  2. Save the image with the ICC printer/paper color profile. Open image in GIMP or MacOS Preview and use default printer settings?
  3. Save the image with the ICC printer/paper color profile. Open image in GIMP or MacOS Preview, and print using the ICC profile for my printer/paper? (So use the profile for both saving and printing)
  4. Other options?

I just bought a larger format printer, and I'm trying to make some prints for my mother's 85th birthday.

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

I was finally able to find time to create a MacOS M1 development VM. I can see the printer being returned by CUPS. I can see that prt->pinfo appears to be properly populated in _expose_print_page function in print.c. I'm still trying to learn how the UI is stitched together to understand why the printer dropdown isn't getting populated.

Who owns the print module? Maybe they can point me where to look? Where to set some breakpoints to check values and examine logic?

from darktable.

ralfbrown avatar ralfbrown commented on August 11, 2024
3. Save the image with the ICC printer/paper color profile. Open image in GIMP or MacOS Preview, and print using the ICC profile for my printer/paper? (So use the profile for both saving and printing)

That's likely to produce the best results if you don't get darktable working in time. But I'd try all three of your suggested profiling options on small (e.g 4x6) test prints.

A quick look indicates that @TurboGit did most of the recent work on the printing-related code.

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

I'm at a complete loss as to why it's behaving like this. On startup in print_settings.c in function _set_printer, I see the line dt_get_printer_info(printer_name, &ps->prt.printer); return successfully with ps->prt.printer fully populated.

In _new_printer_callback I see the line dt_bauhaus_combobox_add(d->printers, printer->name); called with the printer name.

However, in _printer_changed, the line const gchar *printer_name = dt_bauhaus_combobox_get_text(combo); returns null, so _set_printer (self, printer_name); never gets called from _printer_changed, but _set_printer is being called from _new_printer_callback on initial load. I'm not sure why it's returning null if it was previously set.

I'm happy to do a Facetime, Teams, whatever with a dev who knows more about this than I do to help debug.

from darktable.

TurboGit avatar TurboGit commented on August 11, 2024

Indeed, I'm the original author of this module and I have done quite some work on it after it landed into darktable 2.0 on 2015. I don't have time to look at this at the moment, but will try to help early September if not solved at this point.

from darktable.

TurboGit avatar TurboGit commented on August 11, 2024

Some questions that could help...

  • Have you tried a previous release?
  • Has this been working at some point?
  • ...

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

@TurboGit I have not tried a previous release. I can, but I have a significant number of images edited with 4.8.1 and I would prefer to not lose the history.

What's most odd about this issue is it only happens with 1 particular printer, my Epson XP-15000, which is brand new. I've been using 2 other printers for a long time and have never had this issue. I'm wondering if it's not related to the fact the Epson is a wide-format printer, and something elsewhere in the code can't handle the wider formats. I'll start looking in that direction.

Observed results:

  • If the only printer configured in MacOS is the Epson XP-15000, the printer drop-down is always empty.
  • If I have the Epson and HP OfficeJet Pro 8020 configured in the OS, then sometimes I get the HP, and sometimes the dropdown is empty.
  • If I have only the HP OfficeJet Pro 8020 configured in the OS, then it always works.

from darktable.

TurboGit avatar TurboGit commented on August 11, 2024

Have you tried starting darktable on command line with option -d print ?

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

That's a great idea and makes sense, so of course I have not tried it. I'll do it now.

from darktable.

michmill1970 avatar michmill1970 commented on August 11, 2024

Very interesting. The printer now shows up in the dropdown, but media and paper size are blank. Screenshots and debut output attached. I think you're on to something. I'll debug more tonight.

Screenshot 2024-08-09 at 3 15 26 PM

darktable_print_debug.txt

from darktable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.