Bug 417088

Summary: AppImage with QWebEngine does not start
Product: [Applications] digikam Reporter: r4c3
Component: Bundle-AppImageAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, dvb, ilgaz, ldoktor, metzpinguin, sguyader, spam
Priority: NOR    
Version: 7.0.0   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed In: 7.2.0
Sentry Crash Report:
Attachments: output of glxinfo
output of App Image launch both in stable and unstable

Description r4c3 2020-02-03 06:55:22 UTC
SUMMARY
digikam-7.0.0-beta3-20200130T131559-x86-64-debug.appimage


STEPS TO REPRODUCE
1. every execution -> no start


EXPECTED RESULT
no start

Operating System: Manjaro Linux 
KDE Plasma Version: 5.17.5
KDE Frameworks Version: 5.66.0
Qt Version: 5.14.0
Kernel Version: 4.19.99-1-MANJARO
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-7200U CPU @ 2.50GHz
Memory: 7,7 GiB


ADDITIONAL INFORMATION

Only the appimage does not start. Version 6.4 starts normaly.

This is the bug report:

 
./digikam-7.0.0-beta3-20200130T131559-x86-64-debug.appimage -debug
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
libudev.so.0 
/tmp/.mount_digikaKdjM64/AppRun: Zeile 16: arch: Kommando nicht gefunden.
-- Preloading shared libs: 
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: Could not initialize GLX
/tmp/.mount_digikaKdjM64/AppRun: Zeile 155: 30422 Abgebrochen             (Speicherabzug geschrieben) digikam $@
Comment 1 Maik Qualmann 2020-02-03 07:33:10 UTC
The AppImage is currently using the QWebEngine. This requires a functioning OpenGL support. Which graphics card and drivers do you use?

Maik
Comment 2 r4c3 2020-02-03 08:40:58 UTC
I am using the newest nvidia driver.
I have Hybrid Grafics.
The Error appears on both graficcards.
But on Nvidia grafics the error is different.

The Log on Nvidia grafics:

./digikam-7.0.0-beta3-20200130T131559-x86-64-debug.appimage -debug
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
libudev.so.0 
/tmp/.mount_digikalkOjzi/AppRun: Zeile 16: arch: Kommando nicht gefunden.
-- Preloading shared libs: 
digikam: Unknown options: d, e, b, u, g.



lspci -nnk | grep -i VGA -A2 
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 620 [8086:5916] (rev 02)
        Subsystem: Acer Incorporated [ALI] HD Graphics 620 [1025:108f]
        Kernel driver in use: i915
[martin@mangiare Applications]$ glxinfo | grep "OpenGL core profile version string" 
OpenGL core profile version string: 4.6.0 NVIDIA 440.44
Comment 3 caulier.gilles 2020-02-03 09:10:46 UTC
appimage arg "-debug" => "debug" (not with minus
Comment 4 r4c3 2020-02-03 11:40:29 UTC
Oh sorry.

Again:
When I start digikam with my Intel HD 620 activated. Digikam does not start.
./digikam-7.0.0-beta3-20200130T131559-x86-64-debug.appimage debug
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
libudev.so.0 
/tmp/.mount_digikaHcwu5i/AppRun: Zeile 16: arch: Kommando nicht gefunden.
-- Preloading shared libs: 
Starting digiKam into GDB...
Use 'bt' command on debugger prompt to get a crash backtrace.
Use 'q' command to quit debugger session.
GNU gdb (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from digikam...
Starting program: /tmp/.mount_digikaHcwu5i/usr/bin/digikam 
/usr/lib/../share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma?
  refcounts = ['_M_refcount']['_M_pi']
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffd3ce2700 (LWP 5809)]
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: Could not initialize GLX

Thread 1 "digikam" received signal SIGABRT, Aborted.
0x00007ffff3adff25 in raise () from /usr/lib/libc.so.6



When I start Digikam with the Nvidia grafics (940MX)

Everything starts normaly
Comment 5 r4c3 2020-02-27 20:31:12 UTC
One Question about the fault.
Is this a bug or is it fault from my installation of the Intel 620 Grapicscard?
Because outside so much people have a Intel 620.

Sorry for the easy question.

I will help to improve Digikam.
Martin
Comment 6 Maik Qualmann 2020-02-27 21:32:17 UTC
Yes, it depends on the graphics card and driver. No problems at all here with AMD and Radeon. The activation of QWebEngine is a test in the beta version to assess how QWebEngine works. We can switch back to QWebkit for the AppImage at any time. But the future will be QWebEngine. Some distributions have already removed programs that still use QWebkit from the standard installation.

Does the Chromium browser work with active hardware acceleration when you open pages like Google Maps and quickly zoom in and out?

Maik
Comment 7 caulier.gilles 2020-02-28 07:42:09 UTC
No problem here too with NVidia video cards tested on desktop and laptop computers.

QtWebKit is really problematic with security issues, even if code maintenance continue (until when, we don't know). The plans are clear : use it for MacOS and Linux by default for 7.0.0. Only Windows cross compiled version will use QtWebkit, as QtWebEngine compile only with MSVC. We have a MSVC compilation workflow working fine on the CI but for the deployement, compilation do not pass yet.

Gilles Caulier
Comment 8 Maik Qualmann 2020-07-24 19:12:03 UTC
*** Bug 424617 has been marked as a duplicate of this bug. ***
Comment 9 caulier.gilles 2020-07-25 20:40:33 UTC
*** Bug 424664 has been marked as a duplicate of this bug. ***
Comment 10 Maik Qualmann 2020-10-11 10:28:17 UTC
*** Bug 427533 has been marked as a duplicate of this bug. ***
Comment 11 Ilgaz Öcal 2020-10-12 14:42:23 UTC
Created attachment 132299 [details]
output of glxinfo
Comment 12 Ilgaz Öcal 2020-10-12 14:47:36 UTC
I have purchased a laptop which only has Intel based GPU for Linux compatibility and so far it never failed. It claims to support up to OpenGL 4.6 and Intel is known for their lower performance but bug free drivers. What bugs me is, Mac Mini 2009 including proprietary closed source  (nvidia 340)  driver and featuring pretty outdated nvidia 9400 can launch the appimage.

I am all for new frameworks but it seems there is a QA issue with the new web rendering library.
Comment 13 Ilgaz Öcal 2020-10-12 14:57:56 UTC
Output of 7.2.beta1-debug via args "debug"
libudev.so.0 
libxcb-dri3.so.0 
-- Preloading shared libs: :/tmp/.mount_digikawBVd9m/usr/lib64/libxcb-dri3.so.0
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: Could not initialize GLX
/tmp/.mount_digikawBVd9m/AppRun: line 166:  8663 Aborted                 (core dumped) digikam $@
[ilgaz@ilgaz-hppavilion13x360pc Applications]$
Comment 14 Maik Qualmann 2020-10-12 18:06:01 UTC
On googling you can find this hint that libglvnd should not be installed because it breaks Qt ... just one try ...

Maik
Comment 15 Ilgaz Öcal 2020-10-12 18:59:45 UTC
I moved to SUSE Tumbleweed from Manjaro, it does have  libglvnd installed (default I think)
 zypper search libglvnd
Loading repository data...
Reading installed packages...

S | Name                 | Summary                                | Type
--+----------------------+----------------------------------------+--------
i | libglvnd             | The GL Vendor-Neutral Dispatch library | package

and yet Digikam appimage launches fine. (I moved the exact same file). I can setup a Manjaro VM and do further testing.
Comment 16 Ilgaz Öcal 2020-10-12 19:49:13 UTC
Created attachment 132307 [details]
output of App Image launch both in stable and unstable
Comment 17 Ilgaz Öcal 2020-10-12 19:53:15 UTC
Comment on attachment 132307 [details]
output of App Image launch both in stable and unstable

I installed a fresh Manjaro to a Virtualbox VM (using VMSVGA, the kernel supported gpu) and tried to launch 7.2 beta 1 appimage. Didn't work. I also switched to bleeding edge "unstable" Manjaro to make sure if update fixes anything. No luck. Again, I really like Digikam and can help testing no matter what.
Comment 18 Ilgaz Öcal 2020-10-12 19:54:18 UTC
(In reply to Maik Qualmann from comment #14)
> On googling you can find this hint that libglvnd should not be installed
> because it breaks Qt ... just one try ...
> 
> Maik

I tried to remove that library. It removes almost the entire KDE from OS :-) Everything depends on it, at least on Manjaro current.
Comment 19 Lukáš Doktor 2020-11-26 07:32:22 UTC
Hello guys, I'm also suffering from this issue on F32 and here and I tried a workaround given here: https://github.com/probonopd/linuxdeployqt/issues/331#issuecomment-441544377 which removes the bundled libxcb-dri3 library and it works.

Tried with 7.2.0-beta1 as well as digikam-7.2.0-beta2-20201122T121503.

I don't know much about appimage but it looks like the bundled library is outdated or just wrong and it works well with the system-wide installed libxcb-1.13.1-4.fc32.
Comment 20 Dietrich 2020-12-28 19:23:39 UTC
To confirm Lukáš Doktors posting:
With digikam AppImage 7.1.0 on F33 (and system-provided libxcb-1.13.1-5.fc33) the following helps:

./digikam-7.1.0-x86-64_426bf2da2f9688e7e69b5708f65a73d4.appimage  --appimage-extract
find squashfs-root/ -iname '*libxcb-dri3*' -delete
./squashfs-root/AppRun

It seems that libxcb-dri3 should either not be included in the AppImage or at least in a current version.
Comment 21 caulier.gilles 2020-12-29 15:00:29 UTC
Git commit 193108c90595362211e42a182a200390d56aca36 by Gilles Caulier.
Committed on 29/12/2020 at 14:58.
Pushed by cgilles into branch 'master'.

remove libxcb-dri3 from appimage bundle
FIXED-IN: 7.2.0

M  +5    -2    project/bundles/appimage/04-build-appimage.sh

https://invent.kde.org/graphics/digikam/commit/193108c90595362211e42a182a200390d56aca36