darkroom center image goes black after zooming [solved]

darktable 3.9.0+1256~ga15e2cefa and 3.9.0+1370~g95646f9f3 (64-bit) both exhibit this behavior on Windows 11, on an Acer laptop with AMD Radeon graphics.

In darkroom, I can mouse-scroll to zoom in and out with no issues. However, if I center-click to cycle between ‘fit’, 100% & 200% the center image (only) goes black upon reaching 200%. If I drag-pan around, I can see the image as long as it’s rendering. When the “working” prompt disappears, it goes black again. If I choose an explicit zoom level (from below the thumbnail) it will sometimes display. If I mouse-scroll in and out, it’ll often be black but sometimes partially display: https://i.imgur.com/B05gFOZ.png

I can go back to lighttable, load a new image (whether from lighttable or the bottom strip), etc., but it still occurs. The only fix is to restart darktable. I’ve tried several different themes, disabled user CSS, but no difference.

Has this been seen before? I’ll be glad to open a but report if needed. If so, is there any specific information to include?

Thanks!

If you have OpenCL enabled, try disabling it.

I’m on Win11 3.9.0 +1468. I have a AMD GPU driver (thru CPU) and NVidia GPU. I’m not seeing this problem.

I’ve never had it before, either, and I’ve been using OpenCL on this same laptop / OS since I got it last January. But it’s OpenCL related – When disabled, the issue vanishes; enable OpenCL and it’s back.

Further Windows details, if relevant:

  • Version 21H2
  • Build 22000.613

I get no output at all from darktable.exe -d opencl -d (running 3.9.0+1370~g95646f9f3 downloaded from the link in the May 1 “Windows insider” post). Here are my darktablerc OpenCL settings (based in part on watching Aurelien’s video on OpenCL tuning):

opencl_async_pixelpipe=false
opencl_avoid_atomics=false
opencl_checksum=1633631460
opencl_device_priority=*/!0,*/*/*
opencl_disable_drivers_blacklist=false
opencl_library=
opencl_mandatory_timeout=2000
opencl_memory_headroom=300
opencl_memory_requirement=768
opencl_micro_nap=100
opencl_number_event_handles=25
opencl_scheduling_profile=default
opencl_size_roundup=16
opencl_synch_cache=false
opencl_tuning_mode=nothing
opencl_use_cpu_devices=false
opencl_use_pinned_memory=false

Once again, these have worked in the past. After recent updates, I believe some of the GUI OpenCL options have changed slightly, but I’ve not modified anything.

How do I go about troubleshooting this? I’m not OpenCL guru, to say the least. My laptop isn’t a fire-breather by any means but it’s not ancient. Still, I’d like any performance wins OpenCL can offer.

Thanks.

Try starting darktable with an empty config file. Does it still happen?

Yep, still happens with a default (auto-generated) darktablerc: https://i.imgur.com/Qg5Krer.png

Try this:

Change this one to 400

delete these:

opencl_memory_headroom=300
opencl_memory_requirement=768
opencl_micro_nap=100
opencl_number_event_handles=25

Then open darktable and try changing the OpenCL tuning to “memory size and transfer”

Ideally you should try a build after (Tuning opencl dt4 #11717 ). It was merged 6 days ago. Bill normally post his build on Sundays. You can also try one of the nightly builds: Actions · darktable-org/darktable · GitHub

I build mine today and it is running without issues. Very likely the nightly is also good.

1 Like

It’s been a week since the last build was posted so once a new one is up I’ll install it and try your config changes. I’m not set up to build dt* so I’m kinda dependent for now on binary releases (prefer installers). That is unless you can point me to a download. I poke around on GitHub but spend far more time looking than finding. :-\ …probably just a lack of familiarity.

*Prior to this laptop, I basically ran only Linux at home for the past 6+ years and was administering Linux, Solaris and Windows servers at work. I was not infrequently building stuff then, but I’ve since retired, have a new (Windows) computer and … well :slight_smile:

Thanks.

If you go to the nightly link (Actions · darktable-org/darktable · GitHub) . You will see this:

Green checkmark means it was successful at doing the build. Red that it had some issue. Dont use the red.

If you click in the top green one it will open this page:

At the bottom it has a zip file. The zip file has the windows install .exe file. You need to login to GitHub to be able to click the file and download it. After that install it just like Bill’s build.

Yep, I got that one yesterday. I initially thought it was a zip file of only the darktable executable, but realized later it’s the full installer (hence my comment about installers). I was actually looking for Bill’s build and he linked to that in his announcement this morning. I’ll try that later today.

Thanks.

Well that was quick…

Installed Bill’s weekly build with your recommended OpenCL settings, but it’s still happening. I can toggle OpenCL off in Preferences and it goes away, enable again and it comes back. Same behavior after renaming darktablerc and starting default. Happens on different images as well, so it’s not tied to the image.

??

It could be driver issue.

You’re right, could be… but, I can scroll-zoom in to 100% and back out without any problems. It’s only when I center-click to go to 200%, or choose 200% from the list that it fails. Not knowing the code, I don’t know if that’s significant or not.

Update – It apparently was indeed a driver issue. I updated all AMD drivers and it’s no longer an issue.

3 Likes