RawTherapee 5.4 AppImage font issue

I’m building a new RawTherapee-dev-5.4-* package that should fix the undefined symbol. It should be ready in about 30 minutes…

@Carmelo_DrRaw a987c280aea2bbbf18c0917e550cc4c4 RawTherapee-dev-5.4-266-ga84ce624.AppImage ran without crashing, but it was very slow in some ways. Panning the main preview or adjusting a curve felt close to normal, but right-clicking on a different thumb in the File Browser takes 2 seconds to show the context menu, and switching from the Editor tab to the File Browser tab, and vice-versa, takes 10 seconds and makes my whole system jerky. No warnings nor errors appear in the console while this happens. Preferences also takes about 10 seconds to appear and over a second to close.

$ ./RawTherapee-dev-5.4-266-ga84ce624.AppImage        
System stdc++ library: "/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libstdc++.so.6"
System stdc++ library version: "3.4.22"
Bundled stdc++ library version: "3.4.22"
Newest stdc++ library version: "3.4.22"
Using system stdc++ library
fcv: "1.10.1"  fcv2: "1.9.2"
echo "1.10.1 1.9.2" | tr " " "\n" | sort -V | tail -n 1
Newest fontconfig library version: "1.10.1"
Using system fontconfig library
        linux-vdso.so.1 (0x00007ffd56f91000)
        libcanberra-gtk3.so.0 => /tmp/.mount_ZfVs38/usr/lib/libcanberra-gtk3.so.0 (0x00007fdd45a63000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fdd4570c000)
        libcanberra.so.0 => /tmp/.mount_ZfVs38/usr/lib/libcanberra.so.0 (0x00007fdd454fc000)
        libgtk-3.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgtk-3.so.0 (0x00007fdd44bf0000)
        libgdk-3.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgdk-3.so.0 (0x00007fdd4492f000)
        libatk-1.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libatk-1.0.so.0 (0x00007fdd44709000)
        libgio-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgio-2.0.so.0 (0x00007fdd44361000)
        libpangocairo-1.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libpangocairo-1.0.so.0 (0x00007fdd44154000)
        libgdk_pixbuf-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fdd43f31000)
        libcairo-gobject.so.2 => /tmp/.mount_ZfVs38/usr/lib/libcairo-gobject.so.2 (0x00007fdd43d29000)
        libpango-1.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libpango-1.0.so.0 (0x00007fdd43adc000)
        libcairo.so.2 => /tmp/.mount_ZfVs38/usr/lib/libcairo.so.2 (0x00007fdd437ac000)
        libgobject-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgobject-2.0.so.0 (0x00007fdd43558000)
        libglib-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libglib-2.0.so.0 (0x00007fdd43244000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fdd43015000)
        libfftw3f.so.3 => /tmp/.mount_ZfVs38/usr/lib/libfftw3f.so.3 (0x00007fdd42c10000)
        libfftw3f_omp.so.3 => /tmp/.mount_ZfVs38/usr/lib/libfftw3f_omp.so.3 (0x00007fdd42a0a000)
        libgiomm-2.4.so.1 => /tmp/.mount_ZfVs38/usr/lib/libgiomm-2.4.so.1 (0x00007fdd4265d000)
        libglibmm-2.4.so.1 => /tmp/.mount_ZfVs38/usr/lib/libglibmm-2.4.so.1 (0x00007fdd423e1000)
        libsigc-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libsigc-2.0.so.0 (0x00007fdd421db000)
        libgthread-2.0.so.0 => /tmp/.mount_ZfVs38/usr/lib/libgthread-2.0.so.0 (0x00007fdd41fda000)
        libgtkmm-3.0.so.1 => /tmp/.mount_ZfVs38/usr/lib/libgtkmm-3.0.so.1 (0x00007fdd41868000)
        libatkmm-1.6.so.1 => /tmp/.mount_ZfVs38/usr/lib/libatkmm-1.6.so.1 (0x00007fdd4161b000)
        libgdkmm-3.0.so.1 => /tmp/.mount_ZfVs38/usr/lib/libgdkmm-3.0.so.1 (0x00007fdd413c9000)
        libpangomm-1.4.so.1 => /tmp/.mount_ZfVs38/usr/lib/libpangomm-1.4.so.1 (0x00007fdd4119c000)
        libcairomm-1.0.so.1 => /tmp/.mount_ZfVs38/usr/lib/libcairomm-1.0.so.1 (0x00007fdd40f75000)
        libiptcdata.so.0 => /tmp/.mount_ZfVs38/usr/lib/libiptcdata.so.0 (0x00007fdd40d69000)
        libjpeg.so.9 => /tmp/.mount_ZfVs38/usr/lib/libjpeg.so.9 (0x00007fdd40b2f000)
        liblcms2.so.2 => /tmp/.mount_ZfVs38/usr/lib/liblcms2.so.2 (0x00007fdd408d6000)
        libpng12.so.0 => /tmp/.mount_ZfVs38/usr/lib/libpng12.so.0 (0x00007fdd406b0000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fdd40497000)
        libtiff.so.5 => /tmp/.mount_ZfVs38/usr/lib/libtiff.so.5 (0x00007fdd4022f000)
        liblensfun.so.1 => /tmp/.mount_ZfVs38/usr/lib/liblensfun.so.1 (0x00007fdd40010000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libstdc++.so.6 (0x00007fdd3fbe0000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fdd3f8c7000)
        libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libgomp.so.1 (0x00007fdd3f692000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libgcc_s.so.1 (0x00007fdd3f47b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdd3f25a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fdd3ee98000)
        libvorbisfile.so.3 => ././/lib/libvorbisfile.so.3 (0x00007fdd3ec90000)
        libvorbis.so.0 => ././/lib/libvorbis.so.0 (0x00007fdd3ea63000)
        libogg.so.0 => ././/lib/libogg.so.0 (0x00007fdd3e85a000)
        libltdl.so.7 => ././/lib/libltdl.so.7 (0x00007fdd3e650000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fdd3e44c000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fdd3e21b000)
        libgmodule-2.0.so.0 => ././/lib/libgmodule-2.0.so.0 (0x00007fdd3e018000)
        libXi.so.6 => ././/lib/libXi.so.6 (0x00007fdd3de08000)
        libXdamage.so.1 => ././/lib/libXdamage.so.1 (0x00007fdd3dc05000)
        libXfixes.so.3 => ././/lib/libXfixes.so.3 (0x00007fdd3d9ff000)
        libatk-bridge-2.0.so.0 => ././/lib/libatk-bridge-2.0.so.0 (0x00007fdd3d7d1000)
        libepoxy.so.0 => ././/lib/libepoxy.so.0 (0x00007fdd3d4dc000)
        libpangoft2-1.0.so.0 => ././/lib/libpangoft2-1.0.so.0 (0x00007fdd3d2c7000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fdd3d07b000)
        libfreetype.so.6 => ././/lib/libfreetype.so.6 (0x00007fdd3cdda000)
        libXext.so.6 => ././/lib/libXext.so.6 (0x00007fdd3cbc8000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fdd3c9bf000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fdd3c7a8000)
        libpixman-1.so.0 => ././/lib/libpixman-1.so.0 (0x00007fdd3c500000)
        libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007fdd3c2c1000)
        libxcb-shm.so.0 => ././/lib/libxcb-shm.so.0 (0x00007fdd3c0be000)
        libxcb-render.so.0 => ././/lib/libxcb-render.so.0 (0x00007fdd3beb5000)
        libXrender.so.1 => ././/lib/libXrender.so.1 (0x00007fdd3bcab000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fdd3ba2d000)
        libffi.so.6 => ././/lib/libffi.so.6 (0x00007fdd3b825000)
        libpcre.so.3 => /tmp/.mount_ZfVs38/usr/lib/libpcre.so.3 (0x00007fdd3b5e7000)
        liblzma.so.5 => /tmp/.mount_ZfVs38/usr/lib/liblzma.so.5 (0x00007fdd3b3c5000)
        libjbig.so.0 => /tmp/.mount_ZfVs38/usr/lib/libjbig.so.0 (0x00007fdd3b1b7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdd45c67000)
        libXau.so.6 => /tmp/.mount_ZfVs38/usr/lib/libXau.so.6 (0x00007fdd3afb3000)
        libXdmcp.so.6 => /tmp/.mount_ZfVs38/usr/lib/libXdmcp.so.6 (0x00007fdd3adad000)
        libatspi.so.0 => ././/lib/libatspi.so.0 (0x00007fdd3ab7d000)
        libdbus-1.so.3 => ././/lib/libdbus-1.so.3 (0x00007fdd3a938000)
        libharfbuzz.so.0 => ././/lib/libharfbuzz.so.0 (0x00007fdd3a697000)
        libxcb-dri2.so.0 => ././/lib/libxcb-dri2.so.0 (0x00007fdd3a492000)
        libX11-xcb.so.1 => ././/lib/libX11-xcb.so.1 (0x00007fdd3a290000)
        libxcb-dri3.so.0 => ././/lib/libxcb-dri3.so.0 (0x00007fdd3a08d000)
        libxcb-xfixes.so.0 => ././/lib/libxcb-xfixes.so.0 (0x00007fdd39e86000)
        libxcb-present.so.0 => ././/lib/libxcb-present.so.0 (0x00007fdd39c83000)
        libxcb-sync.so.1 => ././/lib/libxcb-sync.so.1 (0x00007fdd39a7d000)
        libxshmfence.so.1 => ././/lib/libxshmfence.so.1 (0x00007fdd3987b000)
        libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007fdd3966b000)
        libgbm.so.1 => /usr/lib/libgbm.so.1 (0x00007fdd3945b000)
        libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0x00007fdd39245000)
        libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007fdd39031000)
        libglapi.so.0 => ././/lib/libglapi.so.0 (0x00007fdd38e0a000)
        libxcb-glx.so.0 => ././/lib/libxcb-glx.so.0 (0x00007fdd38bf3000)
        libXxf86vm.so.1 => ././/lib/libXxf86vm.so.1 (0x00007fdd389ed000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x00007fdd387e4000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x00007fdd385c6000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fdd383c1000)
        libbsd.so.0 => /usr/lib/libbsd.so.0 (0x00007fdd381aa000)
Gtk-Message: 18:31:26.065: Failed to load module "canberra-gtk-module"

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.171: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.171: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.171: Theme parsing error: gtk.css:70:34: The style property GtkCheckButton:indicator-size is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.171: Theme parsing error: gtk.css:71:36: The style property GtkCheckMenuItem:indicator-size is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.172: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.172: Theme parsing error: gtk.css:76:30: The style property GtkExpander:expander-size is deprecated and shouldn't be used anymore. It will be removed in a future version

(rawtherapee:27830): Gtk-WARNING **: 18:31:26.181: Theme parsing error: gtk.css:83:29: The style property GtkStatusbar:shadow-type is deprecated and shouldn't be used anymore. It will be removed in a future version

@Morgan_Hardwood well I’m glad I’m not crazy and others find things sluggish too. Same thing with the Gimp 10 appimage. Seems like the Gimp image works fine.

@Carmelo_DrRaw Okay so I did what you said to do. It’s running, but no difference in behaviour. Some things are a tad choppy, and it feels like its taking a fraction of a second to think about what it needs to do before implementing it …like for example changing the Brightness slider in RGB mode. Would the Warnings on the right in command line regarding Gtk have anything to do with it.

My installed debian 5.0 runs way smooth, but it’s GTK2 compiled.

Okay so everything so far aside; I did a distro-update on my debian laptop and am getting the following error when trying to run the RawTherapee appimage. needless to say it doesn’t even start up :frowning: Gimp one works however.

libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType

stefan@stefanTHINKPAD:~/APPS/RAWTHERAPEE-4.5$ uname -a
Linux stefanTHINKPAD 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux

Update:
Funny enough, the appimage that is on the rawtherapee downloads page (the one that needed changes and wouldn’t run on my desktop) now works on the laptop.

I made few changes in the way the fontconfig libraries are detected and handled, such that the AppImage should work fine on both old and new systems.

RawTherapee-dev-5.4-266-ga84ce624.AppImage should now work OK on both your laptop and desktop. I will update the other packages once I have confirmation for this one.

I am now trying to figure out the reason for the sluggish performance of the UI that you and @Morgan_Hardwood reported, and that I can also reproduce. It seems to be related to SVG icons being loaded instead of PNG ones, but I am still investigating…

1 Like

@Carmelo_DrRaw man I just wanna say I really appreciate your tons of effort and the real swift replies. It is a pleasure to be in this forum and see the real time developments in the updating of one of my most favourite pieces of software in the whole wide world :heart:

Update:
BTW; if you manage to figure it out, what is the error message caused by, is it once again regarding fonts?

3 Likes

@Carmelo_DrRaw Just tried the RawTherapee-dev-5.4-266-ga84ce624.AppImage image on tower and laptop. It runs but considerably slower than your previous file.

Good! It means that the font issue is probably fixed. I’m still investigating the performance issue, I have some ideas but no conclusions yet, as I need to rebuild my custom Docker container.

@stefan.chirila @Morgan_Hardwood I have prepared a new version of the AppImage that, at least on my Ubuntu 16.04 system, runs practically as fast as the native 5.4 version installed from PPA. The link is here: https://github.com/Beep6581/RawTherapee/releases/download/nightly/RawTherapee-dev-5.4-266-ga84ce624.AppImage

Could you please check if you see a similar speed improvement? If yes, I will update the rest of the AppImage packages in the nightly release…

Thanks!

@Carmelo_DrRaw broken link :frowning:

@stefan.chirila fixed link:
https://github.com/Beep6581/RawTherapee/releases/download/nightly/RawTherapee-dev-5.4-267-geab74834.AppImage

1 Like

@Carmelo_DrRaw speed is good. will check it on laptop right away. but not sure which language this is in …looks like portuguese?

Screenshot%20at%202018-05-05%2004-17-55

On the laptop however, it shows propper English, but the font it picks is some random medieval one I have in my fonts folder :stuck_out_tongue:

Screenshot%20at%202018-05-05%2004-29-36

Thanks for checking! Could you send me the terminal output in both cases? Also, are you able to fix the font issue in the preferences, or there is no way to change the medieval one?

@Carmelo_DrRaw
Terminal output for laptop: (I ran the image and then copied and pasted whatever the terminal had in it until RawTherapee started up)

stefan@stefanTHINKPAD:~/APPS/RAWTHERAPEE-4.5$ ./fix-3*
System stdc++ library: “/usr/lib/x86_64-linux-gnu/libstdc++.so.6”
System stdc++ library version: “3.4.22”
Bundled stdc++ library version: “3.4.22”
Newest stdc++ library version: “3.4.22”
Using system stdc++ library
fcv: “1.8.0” fcv2: “1.9.2”
echo “1.8.0 1.9.2” | tr " " “\n” | sort -V | tail -n 1
Newest fontconfig library version: “1.9.2”
Using bundled fontconfig library
linux-vdso.so.1 (0x00007ffd11113000)
libcanberra-gtk3.so.0 => /tmp/.mount_dZKu2R/usr/lib/libcanberra-gtk3.so.0 (0x00007fe51bab0000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe51b770000)
libcanberra.so.0 => /tmp/.mount_dZKu2R/usr/lib/libcanberra.so.0 (0x00007fe51b560000)
libgtk-3.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgtk-3.so.0 (0x00007fe51ac54000)
libgdk-3.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgdk-3.so.0 (0x00007fe51a992000)
libatk-1.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libatk-1.0.so.0 (0x00007fe51a76c000)
libgio-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgio-2.0.so.0 (0x00007fe51a3c3000)
libpangocairo-1.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libpangocairo-1.0.so.0 (0x00007fe51a1b6000)
libgdk_pixbuf-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fe519f93000)
libcairo-gobject.so.2 => /tmp/.mount_dZKu2R/usr/lib/libcairo-gobject.so.2 (0x00007fe519d8b000)
libpango-1.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libpango-1.0.so.0 (0x00007fe519b3e000)
libcairo.so.2 => /tmp/.mount_dZKu2R/usr/lib/libcairo.so.2 (0x00007fe51980f000)
libgobject-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgobject-2.0.so.0 (0x00007fe5195bb000)
libglib-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libglib-2.0.so.0 (0x00007fe5192a7000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe51907d000)
libfftw3f.so.3 => /tmp/.mount_dZKu2R/usr/lib/libfftw3f.so.3 (0x00007fe518c78000)
libfftw3f_omp.so.3 => /tmp/.mount_dZKu2R/usr/lib/libfftw3f_omp.so.3 (0x00007fe518a72000)
libgiomm-2.4.so.1 => /tmp/.mount_dZKu2R/usr/lib/libgiomm-2.4.so.1 (0x00007fe5186c5000)
libglibmm-2.4.so.1 => /tmp/.mount_dZKu2R/usr/lib/libglibmm-2.4.so.1 (0x00007fe518449000)
libsigc-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libsigc-2.0.so.0 (0x00007fe518243000)
libgthread-2.0.so.0 => /tmp/.mount_dZKu2R/usr/lib/libgthread-2.0.so.0 (0x00007fe518042000)
libgtkmm-3.0.so.1 => /tmp/.mount_dZKu2R/usr/lib/libgtkmm-3.0.so.1 (0x00007fe5178d0000)
libatkmm-1.6.so.1 => /tmp/.mount_dZKu2R/usr/lib/libatkmm-1.6.so.1 (0x00007fe517684000)
libgdkmm-3.0.so.1 => /tmp/.mount_dZKu2R/usr/lib/libgdkmm-3.0.so.1 (0x00007fe517432000)
libpangomm-1.4.so.1 => /tmp/.mount_dZKu2R/usr/lib/libpangomm-1.4.so.1 (0x00007fe517205000)
libcairomm-1.0.so.1 => /tmp/.mount_dZKu2R/usr/lib/libcairomm-1.0.so.1 (0x00007fe516fde000)
libiptcdata.so.0 => /tmp/.mount_dZKu2R/usr/lib/libiptcdata.so.0 (0x00007fe516dd2000)
libjpeg.so.9 => /tmp/.mount_dZKu2R/usr/lib/libjpeg.so.9 (0x00007fe516b98000)
liblcms2.so.2 => /tmp/.mount_dZKu2R/usr/lib/liblcms2.so.2 (0x00007fe51693f000)
libpng12.so.0 => /tmp/.mount_dZKu2R/usr/lib/libpng12.so.0 (0x00007fe516719000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe5164ff000)
libtiff.so.5 => /tmp/.mount_dZKu2R/usr/lib/libtiff.so.5 (0x00007fe516297000)
liblensfun.so.1 => /tmp/.mount_dZKu2R/usr/lib/liblensfun.so.1 (0x00007fe516078000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe515cf6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe5159f2000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fe5157c5000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe5155ae000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe515391000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe514ff2000)
libvorbisfile.so.3 => ././/lib/libvorbisfile.so.3 (0x00007fe514dea000)
libvorbis.so.0 => ././/lib/libvorbis.so.0 (0x00007fe514bbd000)
libogg.so.0 => ././/lib/libogg.so.0 (0x00007fe5149b4000)
libltdl.so.7 => ././/lib/libltdl.so.7 (0x00007fe5147aa000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe5145a6000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe51437e000)
libgmodule-2.0.so.0 => ././/lib/libgmodule-2.0.so.0 (0x00007fe51417b000)
libXi.so.6 => ././/lib/libXi.so.6 (0x00007fe513f6b000)
libXdamage.so.1 => ././/lib/libXdamage.so.1 (0x00007fe513d68000)
libXfixes.so.3 => ././/lib/libXfixes.so.3 (0x00007fe513b62000)
libatk-bridge-2.0.so.0 => ././/lib/libatk-bridge-2.0.so.0 (0x00007fe513934000)
libepoxy.so.0 => ././/lib/libepoxy.so.0 (0x00007fe51363f000)
libpangoft2-1.0.so.0 => ././/lib/libpangoft2-1.0.so.0 (0x00007fe51342a000)
libfontconfig.so.1 => /tmp/.mount_dZKu2R/usr/optional/fontconfig/libfontconfig.so.1 (0x00007fe5131e7000)
libfreetype.so.6 => ././/lib/libfreetype.so.6 (0x00007fe512f46000)
libXext.so.6 => ././/lib/libXext.so.6 (0x00007fe512d34000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe512b2c000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe512915000)
libpixman-1.so.0 => ././/lib/libpixman-1.so.0 (0x00007fe51266d000)
libEGL.so.1 => /usr/lib/x86_64-linux-gnu/libEGL.so.1 (0x00007fe512439000)
libxcb-shm.so.0 => ././/lib/libxcb-shm.so.0 (0x00007fe512236000)
libxcb-render.so.0 => ././/lib/libxcb-render.so.0 (0x00007fe51202d000)
libXrender.so.1 => ././/lib/libXrender.so.1 (0x00007fe511e23000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fe511bb1000)
libffi.so.6 => ././/lib/libffi.so.6 (0x00007fe5119a9000)
libpcre.so.3 => /tmp/.mount_dZKu2R/usr/lib/libpcre.so.3 (0x00007fe51176b000)
liblzma.so.5 => /tmp/.mount_dZKu2R/usr/lib/liblzma.so.5 (0x00007fe511549000)
libjbig.so.0 => /tmp/.mount_dZKu2R/usr/lib/libjbig.so.0 (0x00007fe51133b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe51bcb4000)
libXau.so.6 => /tmp/.mount_dZKu2R/usr/lib/libXau.so.6 (0x00007fe511137000)
libXdmcp.so.6 => /tmp/.mount_dZKu2R/usr/lib/libXdmcp.so.6 (0x00007fe510f31000)
libatspi.so.0 => ././/lib/libatspi.so.0 (0x00007fe510d01000)
libdbus-1.so.3 => ././/lib/libdbus-1.so.3 (0x00007fe510abc000)
libharfbuzz.so.0 => ././/lib/libharfbuzz.so.0 (0x00007fe510821000)
libX11-xcb.so.1 => ././/lib/libX11-xcb.so.1 (0x00007fe51061f000)
libxcb-dri2.so.0 => ././/lib/libxcb-dri2.so.0 (0x00007fe51041a000)
libxcb-xfixes.so.0 => ././/lib/libxcb-xfixes.so.0 (0x00007fe510213000)
libxcb-dri3.so.0 => ././/lib/libxcb-dri3.so.0 (0x00007fe510010000)
libxcb-present.so.0 => ././/lib/libxcb-present.so.0 (0x00007fe50fe0d000)
libxcb-sync.so.1 => ././/lib/libxcb-sync.so.1 (0x00007fe50fc07000)
libxshmfence.so.1 => ././/lib/libxshmfence.so.1 (0x00007fe50fa05000)
libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007fe50f7f6000)
libwayland-server.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007fe50f5e3000)
libgbm.so.1 => /usr/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007fe50f3d6000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fe50f1c6000)
libglapi.so.0 => ././/lib/libglapi.so.0 (0x00007fe50ef9f000)
libxcb-glx.so.0 => ././/lib/libxcb-glx.so.0 (0x00007fe50ed88000)
libXxf86vm.so.1 => ././/lib/libXxf86vm.so.1 (0x00007fe50eb82000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fe50e97a000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fe50e75d000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fe50e558000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fe50e342000)

Hope this helps… :stuck_out_tongue:

UPDATE:
Output from tower:
stefan@ChirilaTOWER:/backup/APPS/RAWTHERAPEE-4.5$ ./fix-3*
System stdc++ library: “/usr/lib/x86_64-linux-gnu/libstdc++.so.6”
System stdc++ library version: “3.4.25”
Bundled stdc++ library version: “3.4.22”
Newest stdc++ library version: “3.4.25”
Using system stdc++ library
fcv: “1.11.1” fcv2: “1.9.2”
echo “1.11.1 1.9.2” | tr " " “\n” | sort -V | tail -n 1
Newest fontconfig library version: “1.11.1”
Using system fontconfig library
linux-vdso.so.1 (0x00007ffe991ce000)
libcanberra-gtk3.so.0 => /tmp/.mount_j05fNZ/usr/lib/libcanberra-gtk3.so.0 (0x00007f1632922000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f16325e4000)
libcanberra.so.0 => /tmp/.mount_j05fNZ/usr/lib/libcanberra.so.0 (0x00007f16323d4000)
libgtk-3.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgtk-3.so.0 (0x00007f1631ac8000)
libgdk-3.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgdk-3.so.0 (0x00007f1631806000)
libatk-1.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libatk-1.0.so.0 (0x00007f16315e0000)
libgio-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgio-2.0.so.0 (0x00007f1631237000)
libpangocairo-1.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libpangocairo-1.0.so.0 (0x00007f163102a000)
libgdk_pixbuf-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f1630e07000)
libcairo-gobject.so.2 => /tmp/.mount_j05fNZ/usr/lib/libcairo-gobject.so.2 (0x00007f1630bff000)
libpango-1.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libpango-1.0.so.0 (0x00007f16309b2000)
libcairo.so.2 => /tmp/.mount_j05fNZ/usr/lib/libcairo.so.2 (0x00007f1630683000)
libgobject-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgobject-2.0.so.0 (0x00007f163042f000)
libglib-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libglib-2.0.so.0 (0x00007f163011b000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f162fee9000)
libfftw3f.so.3 => /tmp/.mount_j05fNZ/usr/lib/libfftw3f.so.3 (0x00007f162fae4000)
libfftw3f_omp.so.3 => /tmp/.mount_j05fNZ/usr/lib/libfftw3f_omp.so.3 (0x00007f162f8de000)
libgiomm-2.4.so.1 => /tmp/.mount_j05fNZ/usr/lib/libgiomm-2.4.so.1 (0x00007f162f531000)
libglibmm-2.4.so.1 => /tmp/.mount_j05fNZ/usr/lib/libglibmm-2.4.so.1 (0x00007f162f2b5000)
libsigc-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libsigc-2.0.so.0 (0x00007f162f0af000)
libgthread-2.0.so.0 => /tmp/.mount_j05fNZ/usr/lib/libgthread-2.0.so.0 (0x00007f162eeae000)
libgtkmm-3.0.so.1 => /tmp/.mount_j05fNZ/usr/lib/libgtkmm-3.0.so.1 (0x00007f162e73c000)
libatkmm-1.6.so.1 => /tmp/.mount_j05fNZ/usr/lib/libatkmm-1.6.so.1 (0x00007f162e4f0000)
libgdkmm-3.0.so.1 => /tmp/.mount_j05fNZ/usr/lib/libgdkmm-3.0.so.1 (0x00007f162e29e000)
libpangomm-1.4.so.1 => /tmp/.mount_j05fNZ/usr/lib/libpangomm-1.4.so.1 (0x00007f162e071000)
libcairomm-1.0.so.1 => /tmp/.mount_j05fNZ/usr/lib/libcairomm-1.0.so.1 (0x00007f162de4a000)
libiptcdata.so.0 => /tmp/.mount_j05fNZ/usr/lib/libiptcdata.so.0 (0x00007f162dc3e000)
libjpeg.so.9 => /tmp/.mount_j05fNZ/usr/lib/libjpeg.so.9 (0x00007f162da04000)
liblcms2.so.2 => /tmp/.mount_j05fNZ/usr/lib/liblcms2.so.2 (0x00007f162d7ab000)
libpng12.so.0 => /tmp/.mount_j05fNZ/usr/lib/libpng12.so.0 (0x00007f162d585000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f162d36b000)
libtiff.so.5 => /tmp/.mount_j05fNZ/usr/lib/libtiff.so.5 (0x00007f162d103000)
liblensfun.so.1 => /tmp/.mount_j05fNZ/usr/lib/liblensfun.so.1 (0x00007f162cee4000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f162cb63000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f162c7d0000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f162c5a1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f162c389000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f162c16b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f162bdb1000)
libvorbisfile.so.3 => ././/lib/libvorbisfile.so.3 (0x00007f162bba9000)
libvorbis.so.0 => ././/lib/libvorbis.so.0 (0x00007f162b97c000)
libogg.so.0 => ././/lib/libogg.so.0 (0x00007f162b773000)
libltdl.so.7 => ././/lib/libltdl.so.7 (0x00007f162b569000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f162b365000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f162b13d000)
libgmodule-2.0.so.0 => ././/lib/libgmodule-2.0.so.0 (0x00007f162af3a000)
libXi.so.6 => ././/lib/libXi.so.6 (0x00007f162ad2a000)
libXdamage.so.1 => ././/lib/libXdamage.so.1 (0x00007f162ab27000)
libXfixes.so.3 => ././/lib/libXfixes.so.3 (0x00007f162a921000)
libatk-bridge-2.0.so.0 => ././/lib/libatk-bridge-2.0.so.0 (0x00007f162a6f3000)
libepoxy.so.0 => ././/lib/libepoxy.so.0 (0x00007f162a3fe000)
libpangoft2-1.0.so.0 => ././/lib/libpangoft2-1.0.so.0 (0x00007f162a1e9000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f1629fa7000)
libfreetype.so.6 => ././/lib/libfreetype.so.6 (0x00007f1629d06000)
libXext.so.6 => ././/lib/libXext.so.6 (0x00007f1629af4000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f16298ec000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f16296d5000)
libpixman-1.so.0 => ././/lib/libpixman-1.so.0 (0x00007f162942d000)
libEGL.so.1 => /usr/lib/x86_64-linux-gnu/libEGL.so.1 (0x00007f1629219000)
libxcb-shm.so.0 => ././/lib/libxcb-shm.so.0 (0x00007f1629016000)
libxcb-render.so.0 => ././/lib/libxcb-render.so.0 (0x00007f1628e0d000)
libXrender.so.1 => ././/lib/libXrender.so.1 (0x00007f1628c03000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f1628977000)
libffi.so.6 => ././/lib/libffi.so.6 (0x00007f162876f000)
libpcre.so.3 => /tmp/.mount_j05fNZ/usr/lib/libpcre.so.3 (0x00007f1628531000)
liblzma.so.5 => /tmp/.mount_j05fNZ/usr/lib/liblzma.so.5 (0x00007f162830f000)
libjbig.so.0 => /tmp/.mount_j05fNZ/usr/lib/libjbig.so.0 (0x00007f1628101000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1632b26000)
libXau.so.6 => /tmp/.mount_j05fNZ/usr/lib/libXau.so.6 (0x00007f1627efd000)
libXdmcp.so.6 => /tmp/.mount_j05fNZ/usr/lib/libXdmcp.so.6 (0x00007f1627cf7000)
libatspi.so.0 => ././/lib/libatspi.so.0 (0x00007f1627ac7000)
libdbus-1.so.3 => ././/lib/libdbus-1.so.3 (0x00007f1627882000)
libharfbuzz.so.0 => ././/lib/libharfbuzz.so.0 (0x00007f16275e7000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f16273e0000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f162712a000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f1626ef8000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f1626cf0000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f1626ad3000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f16268be000)

(process:1464): Gtk-WARNING **: 04:57:03.050: Locale not supported by C library.
Using the fallback ‘C’ locale.
Fontconfig warning: “/etc/fonts/conf.d/90-fonts-nanum-gothic-light.conf”, line 8: Having multiple values in isn’t supported and may not work as expected

(rawtherapee:1464): Gtk-CRITICAL **: 04:57:07.111: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar

(rawtherapee:1464): Gtk-CRITICAL **: 04:57:07.123: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar

(rawtherapee:1464): Gtk-CRITICAL **: 04:57:07.154: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar

(rawtherapee:1464): Gtk-CRITICAL **: 04:57:07.187: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar

(rawtherapee:1464): Gtk-CRITICAL **: 04:57:07.736: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar


I must have done something to my fonts folder :stuck_out_tongue: I wish I were more knowledgeable.

@Carmelo_DrRaw updated reply :slight_smile:

@Morgan_Hardwood @stefan.chirila
Given that the most of the issues discussed here seem to be solved in the latest RawTherapee-dev-5.4-* AppImage (and in particular the slow UI), are you OK if I update the rest of the AppImages as well?

@Carmelo_DrRaw I tested:
https://github.com/Beep6581/RawTherapee/releases/download/nightly/RawTherapee-dev-5.4-271-gfde0dccd.AppImage

Clicking on a main tab now takes 1 second. That is still slower than a native build, but a great improvement :+1:
What was the cause of the slowness and how did you fix it?

The console still shows:

Gtk-Message: 13:26:32.026: Failed to load module "canberra-gtk-module"

which probably means that audio feedback won’t work.

That’s still quite a lot, and significantly more than what I observe on other systems… if you have some time to help me dig into this, here is what I propose to do:

  • install bsdtar and valgrind if you do not have them yet
  • extract the AppImage:
mkdir $HOME/RawTherapee.AppDir && cd $HOME/RawTherapee.AppDir
bsdtar xfp /path-to-where-you-downloaded-the-appimage/RawTherapee-dev-5.4-271-gfde0dccd.AppImage

Edit the AppRun script, comment out the last-but-one line and un-comment the last one, that should look like this:

#valgrind --tool=callgrind --instr-atstart=no "./bin/rawtherapee" "$@"

Start RT like this

./AppRun

Open a second terminal, and issue this command just before clicking on a main tab:

callgrind_control -i on

followed by

callgrind_control -i off

as soon as the tab switching is completed. Then exit RT.

This will save a function call graph under $HOME/RawTherapee.AppDir/usr/callgrind.out.<pid> that can be visually inspected with kcachegrind. Please send me this callgrind output, hopefully it will give us some hint of what functions are taking so long to complete…

Using the method above, I traced the slowness down to some librsvg calls. What is strange is that AFAIK RT is not loading any .svg icon, so the reason for such calls is a mistery. Anyhow, compiling the code against librsvg-2.42.1 solved the issue.

Regarding the camberra module, I still have to figure out how to make it work properly…

Thanks!

@Carmelo_DrRaw yes, RT does not (or should not) use any SVGs. We do use SVGs as the source, but generate PNGs from them and only use the PNGs in the UI. I grepped the UI source files and found no instances of an SVG being loaded.

I will try valgrind tonight. The last time I ran it, it was on an i7 quad-core and it took forever. Now I’m on a 2-core 0.9GHz…