Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

half/non-working UI (workaround available) #13166

Closed
jade-nl opened this issue Dec 19, 2022 · 10 comments · Fixed by #13169 or #13229
Closed

half/non-working UI (workaround available) #13166

jade-nl opened this issue Dec 19, 2022 · 10 comments · Fixed by #13169 or #13229
Assignees
Labels
bug: won't fix the bug needs a fix outside of the scope of darktable, at a theoretical level scope: UI user interface and interactions understood: clear devs have a complete bug report with all the relevant info to start fixing
Milestone

Comments

@jade-nl
Copy link

jade-nl commented Dec 19, 2022

Describe the bug/issue

A half working UI, where parts are not shown or parts are shown when the mousepointer moves over it to disappear again after moving away.

I see this in the terminal:

dt_gui_load_theme: error parsing combined CSS @import url('file:///home/jade/.local/dt.dvlp/share/darktable/themes/darktable-elegant-grey.css');: darktable.css:241:23'font-feature-settings' is not a valid property name

Followed by hundreds of GTK related error messages.

To Reproduce
build latest development version of darktable and start it (darktable 4.3.0+3~gd1c663b66)

Expected behavior
Normal looking and stable UI

Screenshots

scsh

and this is how it should look after starting:

scok

Which commit introduced the error
Don't know, haven't build/used the developers version in a while. The latest stable version (4.0.1, self build from source) does not show this behaviour.

Platform

  • OS : Linux (kernel 5.9.15-1)
  • Distro : Debian Buster (rel. 10.13)
  • Graphics driver : nvidia (460.39)
  • OpenCL installed : Yes (nvidia-opencl-common 460.39-1)
  • OpenCL activated : Yes
  • Xorg : 7.7+19

Build info

  • Compiler : clang 10.0.1 or gcc 8. Tried both.
  • Cmake : 3.18.4
  • Glib : 2.58.3-2
  • Gtk+ : 3.24.5-1
  • Exiv2 : 1.0.0.9
  • Sqlite : 3.27.2
  • Optimization : -march=native -O3 -mtune=native-pipe

Hardware

  • CPU : AMD Ryzen 5 3600 6-Core Processor
  • GPU : GeForce RTX 2060 SUPER 7979 MiB
  • Memory : 32 Gb + 15 Gb Swap

Additional context

  • Reproducible with other version(s) : No, 4.0.1, self build, works.
  • Reproducible with clean config directory : Yes
  • Reproducible after removing xmp file : n/a
  • Reproducible with both RAWs and JPEGs : n/a
  • Reproducible after a clean start (all dirs deleted): Yes

WORK-AROUND

It turns out that this entry in darktable.css is the culprit:

font-feature-settings: "tnum";

Commenting that one out solves the problem for me.


There's another issue (#13084) that also seems to have this entry as its culprit.

Not sure what is does, but I do not see/notice any difference after commenting it out.

PS: Might be related to running on an old system. I'm in dire need of a new/fresh Debian install. Just wanted to put this out here so others might find it and use the work-around provided if need be.

@Nilvus
Copy link
Contributor

Nilvus commented Dec 19, 2022

Such issue is related to non-working CSS on your side. Line you pointed would have done same effect on other people if this was really the culprit. That line is just to allow correct rendering on some number for some fonts. Note that darktable stop if there's something else linking to darktable file (some lines inherit from other). So removing or commenting a line do not means that the line is the culprit. It's not so easy. And that line had been added and tested by few users (and use a lot probably by some more as it had been added about a month ago.
Thus, that line is not the culprit of issue #13084. It was a possibility but had been discarded. Issue #13084 as it explained on it, is caused by external library, not darktable code.

We all should have same issue if darktable CSS caused what you have on one user. And it's not the case. Be sure that you don't have CSS code on darktable preferences (remove it and try again if needed). Be sure you don't have any user.css file on your config folder and restart darktable. Your workaround is not the good way.

If you don't have CSS (or if removing your personal CSS if you have, don't fix that), be sure to clean build folder on your darktable source folder and destination folder (where you install darktable) before compiling darktable again. A good possibility of your issue is that some old CSS code (from 4.0.1) and last changes are in conflict.

@Nilvus Nilvus added bug: won't fix the bug needs a fix outside of the scope of darktable, at a theoretical level understood: clear devs have a complete bug report with all the relevant info to start fixing scope: UI user interface and interactions labels Dec 19, 2022
@Nilvus
Copy link
Contributor

Nilvus commented Dec 19, 2022

You can see there what CSS line your removed does: https://developer.mozilla.org/fr/docs/Web/CSS/font-feature-settings

@jade-nl
Copy link
Author

jade-nl commented Dec 19, 2022

I'll have another look tomorrow, but I can already answer some of your suggestions/points:

  • I do not use/have a user.css,
  • I did not make any css changes via the preferences -> general -> CSS tweaks window.

So, I did not make any CSS related changes, only what darktable dictates is used (darktable.css + darktable-elegant-grey.css).

As mentioned in my OP:

  • I completely removed the build directory (and did a fresh clone instead of pull),
  • I completely removed the installed files before the clone/build/install process,
  • I removed the darktablerc file,
  • I even removed every file in ~/.config/darktable/.

So, at some point I basically started from scratch :-) All of that did not solve the problem. It might not be the good way (???) but the only solution atm is commenting out the line mentioned.

I agree with you that this issue probably should have turned up for others. Then again; How many tested, as mentioned, with an old Debian system.

BTW: I'm not pushing anyone to spend (much) time on this. My gut tells me (yeah, I know) that this one might be related to running a rather old system. I'll start "kicking & screaming" once I upgrade and the issue is still there :-)))

@Nilvus
Copy link
Contributor

Nilvus commented Dec 19, 2022

Thanks for your precise feedback. I miss line about all dirs deleted (quite rare to see that one on an issue, a good point for you and a good miss for me ;-)!) So you OP is exactly what to do to avoid conflicts between old code and new one. So my suggestions are discarded.

As you talk about your old system, I read again your Gtk release and it's a quite old one. So remains possible that font-feature-setting CSS value was not supported correctly on that release (or bugged) on your Gtk release. I use Debian on my side to work on CSS and improve it but with Debian Sid, so rolling release of Debian!

I search on Gtk repository and I found that this had been implemented on a Gtk 3.24 release about 2 years ago and your Gtk release seems that to be near 4 years ago. So that explains your issue and confirm that it's due to your old release.
Found that issue for example: https://gitlab.gnome.org/GNOME/gtk/-/issues/41
And Gtk support added by that: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1477

I so close your issue and propose to add an info on release notes for users like you with old Gtk release. Will try to find what is the Gtk release who introduce merge above.

Thanks for all your precise infos.

@Nilvus
Copy link
Contributor

Nilvus commented Dec 19, 2022

I found minimum Gtk release for that setting: 3.24.15. See: https://download.gnome.org/sources/gtk+/3.24/gtk%2B-3.24.15.news

@parafin
Copy link
Member

parafin commented Dec 19, 2022

Then we need to bump minimal GTK version in documentation, cmake and release notes (Changed Dependencies section, which once again sadly wasn’t populated at all, but still remains for some reason).

Nilvus added a commit to Nilvus/darktable that referenced this issue Dec 19, 2022
Closes darktable-org#13166.

Thanks to @jade-nl issue, found that new font-feature-setting: "tnum"; added is only supported since march of 2020, with Gtk+3 3.24.15. I think it remains good but actually darktable specs require only 3.22. That seems to remains good except for that new line. As 3.24.15 is now quite old, I think we could keep it as it but that means that darktable will not work correctly by default on older release.

What do we do for that? For 4.2 release, I propose to update release notes as suggested by that PR. But that's probably not enough. Or we report that line and remove it by now (it's useful but we could deal without), or we propose as a minimum 3.24.15 instead of 3.22.

@dterrahe: as that line proposal is from you, your feedback is welcomed.
@Nilvus
Copy link
Contributor

Nilvus commented Dec 19, 2022

I agree and preparing a PR for that.

@Nilvus Nilvus self-assigned this Dec 19, 2022
@TurboGit
Copy link
Member

I reopen to make sure the check for proper min Gtk version is done in CMake.

@TurboGit TurboGit reopened this Dec 20, 2022
@TurboGit TurboGit added this to the 4.2.1 milestone Dec 20, 2022
@jade-nl
Copy link
Author

jade-nl commented Dec 20, 2022

Most satisfactory outcome for this specific issue.

Closing this one as #13169 takes care of this.

@jade-nl jade-nl closed this as completed Dec 20, 2022
@jade-nl jade-nl reopened this Dec 20, 2022
@jade-nl
Copy link
Author

jade-nl commented Dec 20, 2022

Just read that @TurboGit reopend this one, so I seem to have jumped the gun.

Close this one at your convenience!

@Nilvus Nilvus assigned TurboGit and unassigned Nilvus Dec 27, 2022
TurboGit added a commit to TurboGit/darktable that referenced this issue Dec 30, 2022
TurboGit added a commit that referenced this issue Dec 31, 2022
TurboGit added a commit that referenced this issue Dec 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: won't fix the bug needs a fix outside of the scope of darktable, at a theoretical level scope: UI user interface and interactions understood: clear devs have a complete bug report with all the relevant info to start fixing
Projects
None yet
4 participants