Bug 427906 - Appimage fails to launch on Wayland stating xkb
Summary: Appimage fails to launch on Wayland stating xkb
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-AppImage (show other bugs)
Version: 7.1.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-18 08:12 UTC by Ilgaz Öcal
Modified: 2022-11-29 12:13 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.9.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ilgaz Öcal 2020-10-18 08:12:36 UTC
SUMMARY


STEPS TO REPRODUCE
1. Install Opensuse Tumbleweed 
2. Start a new session "Plasma (Full Wayland)"
3. Get Digikam appimage from digikam.org
4. Make it executable
5. Run

OBSERVED RESULT
Fails with the following text
/digikam-7.1.0-x86-64_426bf2da2f9688e7e69b5708f65a73d4.appimage
-- 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 
libnss3.so 
libnssutil3.so 
libxcb-dri3.so.0 
-- Preloading shared libs: :/tmp/.mount_digikaE25U5x/usr/lib64/libnss3.so:/tmp/.mount_digikaE25U5x/usr/lib64/libnssutil3.so:/tmp/.mount_digikaE25U5x/usr/lib64/libxcb-dri3.so.0
unknown: KCatalog being used without a Q*Application instance. Some translations won't work
xkbcommon: ERROR: failed to add default include path ././/share/X11/xkb
unknown: failed to create xkb context
/tmp/.mount_digikaE25U5x/AppRun: line 163: 10823 Segmentation fault      (core dumped) digikam $@


EXPECTED RESULT

Digikam launching

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20201014
KDE Plasma Version: 5.20.0
KDE Frameworks Version: 5.75.0
Qt Version: 5.15.1
Kernel Version: 5.8.14-1-default
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-5200U CPU @ 2.20GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 5500
ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2020-10-18 09:18:25 UTC
The AppImage currently only supports X11, no Wayland.

Maik
Comment 2 Maik Qualmann 2020-10-18 09:31:02 UTC
A short test here shows that my native digiKam version works with Wayland.
What stands out:
The start splash screen is at the top left.
Tools like text decoration or Healing Clone Tool are slower.

Maik
Comment 3 caulier.gilles 2020-10-18 09:43:50 UTC
Maik,

If i remember, i include the Qt wayland device plugin in the bundle. This must be enough to work fine.

I know that KDE as created an extension kf5waylang...stuff..., but i'm not sure if we really need to include this framework component in AppImage.

Gilles
Comment 4 Ilgaz Öcal 2020-10-18 11:06:46 UTC
I know no KDE in any distro (even including Fedora) doesn't come with Wayland yet but if it won't be waste of time for you, I can test app images.
Thanks for caring.
Comment 5 Maik Qualmann 2020-10-18 11:32:17 UTC
Setting an environment variable helps as a workaround before you start the AppImage.

export XKB_CONFIG_ROOT=/usr/share/X11/xkb

Maik
Comment 6 Ilgaz Öcal 2020-10-18 12:13:03 UTC
(In reply to Maik Qualmann from comment #5)
> Setting an environment variable helps as a workaround before you start the
> AppImage.
> 
> export XKB_CONFIG_ROOT=/usr/share/X11/xkb
> 
> Maik

It works, thank you. (tested with 7.2 beta 1 app image)
Comment 7 caulier.gilles 2021-07-19 06:48:23 UTC
With next digiKam 7.4.0 release, AppImage bundle is compiled using a more recent Linux Mageia 7.1 host. Last stable Qt 5.15.2 and KF5 5.84 are used. ImageMagick codec 7 and libav 58 (ffmpeg) are used to supports extra image and video formats.

https://i.imgur.com/XV1tZkL.png

Please check if problem still reproducible with this version available as pre-release here:

https://files.kde.org/digikam/

Gilles Caulier
Comment 8 Ilgaz Öcal 2021-07-19 11:43:50 UTC
on current openSUSE Tumbleweed I get the following errors:

./digiKam-7.4.0-20210718T194158-x86-64.appimage 
-- 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 
libxcb-dri3.so.0 
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0
xkbcommon: ERROR: failed to add default include path ././/share/X11/xkb
unknown: failed to create xkb context
libEGL warning: MESA-LOADER: failed to open iris (search paths ././/lib64/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths ././/lib64/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths ././/lib64/dri)

unknown: Failed to initialize EGL display 3001
/tmp/.mount_digiKa3pAw0i/AppRun: line 172: 10679 Segmentation fault      (core dumped) digikam $@

(wayland still enabled of course). I will test KDE Neon distro once I have some memory/CPU available.
Comment 9 caulier.gilles 2021-07-19 15:05:22 UTC
Hum, i must douche check with Wayland. I think AppImage bundle is not compiled with Qt plugin for Wayland. Let's me few days to double check.

Gilles Caulier
Comment 10 Maik Qualmann 2021-07-19 16:51:32 UTC
The AppImage works under openSUSE Tumbleweed with X11 graphics. However, only with today's update, libnss was updated from 3.64 to 3.66. The AppImage requires libnss 3.65.
I think the AppImage requirement for base libraries will be too high for most Linux distributions.

Maik
Comment 11 caulier.gilles 2021-07-19 19:52:55 UTC
Hi Maik,

The AppImage use Mageia 7 instead Mageia 6. Both are not maintained anymore.

We use Mageia 6 since a while now, and i think it's will be time to switch to a more recent version, for multiple reasons, as the security issues (openssh), or codecs update (imagemagick, ffmpeg). Also, compiling Qt 5.15.2 under Mageia 6 is a big pain as GCC is 5.5 and very old now. Mageia 7 provide GCC 8.

Gilles
Comment 12 caulier.gilles 2021-07-20 13:15:18 UTC
Maik, 

I found a solution to be able to compile Qt 5.15.2 under Mageia6. It compile since 4 hours, QtWebEngine is a monster...

But, to continue with Mageia6 can be problematic about native library used to compile the AppImage bundle, aka ImageMagick and ffmpeg. 

So for the moment, i let's Mageia7 to compile the AppImage. we will see if we needs to go back to Mageia6.

Gilles
Comment 13 caulier.gilles 2022-01-01 14:49:06 UTC
Hi all and happy new year.

Mageia6 is abandoned to build AppImage. Now we switch to Mageia7 for security reason and low level components update used to build the bundle.

Maik, it make a sense to include the rule "export XKB_CONFIG_ROOT=/usr/share/X11/xkb" in AppRun bash script of AppImage ?

Best

Gilles
Comment 14 Hendursaga 2022-03-27 16:12:12 UTC
> export XKB_CONFIG_ROOT=/usr/share/X11/xkb
> 
> Maik

With the latest 7.6.0 AppImage under Swaywm/Wayland, this workaround still works.
Comment 15 caulier.gilles 2022-11-24 07:02:46 UTC
Hi all,

What's about the 7.9.0 pre-release available here :

https://files.kde.org/digikam/

Problem still reproducible ?

Thanks in advance

Gilles Caulier
Comment 16 Ilgaz Öcal 2022-11-27 05:13:53 UTC
(In reply to caulier.gilles from comment #15)
> Hi all,
> 
> What's about the 7.9.0 pre-release available here :
> 
> https://files.kde.org/digikam/
> 
> Problem still reproducible ?
> 
> Thanks in advance
> 
> Gilles Caulier

Hello,

Unfortunately it segfaults under openSUSE Tumbleweed.

(In reply to caulier.gilles from comment #15)
> Hi all,
> 
> What's about the 7.9.0 pre-release available here :
> 
> https://files.kde.org/digikam/
> 
> Problem still reproducible ?
> 
> Thanks in advance
> 
> Gilles Caulier

Hello

Unfortunately(In reply to caulier.gilles from comment #15)
> Hi all,
> 
> What's about the 7.9.0 pre-release available here :
> 
> https://files.kde.org/digikam/
> 
> Problem still reproducible ?
> 
> Thanks in advance
> 
> Gilles Caulier

Hello,
Unfortunately under openSUSE Tumbleweed problem still seem to exist.

 ./digiKam-7.9.0-20221124T090601-x86-64.appimage 
-- 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"'.
-- Detected host Linux -64-
-- AppImage mounted directory: /tmp/.mount_digiKa4PcQut
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
-- Preloading shared libs: :/tmp/.mount_digiKa4PcQut/usr/lib/libavif.so.13:/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libcrypto.so.1.1:/usr/lib64/libssl.so.1.1:/usr/lib64/libnss3.so:/usr/lib64/libnssutil3.so:/usr/lib64/libsmime3.so:/usr/lib64/libgmodule-2.0.so.0
xkbcommon: ERROR: failed to add default include path ././/share/X11/xkb
unknown: failed to create xkb context
unknown: EGL not available
/tmp/.mount_digiKa4PcQut/AppRun: line 198:  2065 Segmentation fault      (core dumped) digikam $@
Comment 17 caulier.gilles 2022-11-27 12:35:01 UTC
If you use "export XKB_CONFIG_ROOT=/usr/share/X11/xkb" before to run AppImage as Maik said in comment #5 , this fix the problem ?

Gilles Caulier
Comment 18 Ilgaz Öcal 2022-11-29 03:46:55 UTC
(In reply to caulier.gilles from comment #17)
> If you use "export XKB_CONFIG_ROOT=/usr/share/X11/xkb" before to run
> AppImage as Maik said in comment #5 , this fix the problem ?
> 
> Gilles Caulier

Yes, it fixes the problem and Digikam launches fine.
Comment 19 caulier.gilles 2022-11-29 05:12:36 UTC
Git commit ec03e332788e611aa3ce9397a14a595acc075449 by Gilles Caulier.
Committed on 29/11/2022 at 05:10.
Pushed by cgilles into branch 'qt5-maintenance'.

XKB directory is not hosted in appimage anymore

M  +1    -1    project/bundles/appimage/data/AppRun

https://invent.kde.org/graphics/digikam/commit/ec03e332788e611aa3ce9397a14a595acc075449
Comment 20 caulier.gilles 2022-11-29 07:02:18 UTC
Ilgaz Öcal,

The new 7.9.0 AppImage pre-release bundle is online : digiKam-7.9.0-20221129T052211-x86-64.appimage

At usual place : https://files.kde.org/digikam/

It include a change about the XKB path. Please test to see if can be started on your computer without problem.

Thanks in advance

Gilles Caulier
Comment 21 Maik Qualmann 2022-11-29 07:24:00 UTC
Hi Gilles, the problem persists on Wayland and openSUSE.

xkbcommon: ERROR: failed to add default include path ././/share/X11/xkb
unknown: failed to create xkb context
unknown: EGL not available


With the export of the XKB_CONFIG_ROOT, the AppImage continues to work.
export XKB_CONFIG_ROOT=/usr/share/X11/xkb

Maik
Comment 22 caulier.gilles 2022-11-29 10:09:26 UTC
Git commit 174b6655cab06aa9efd745e27666dcef1d734982 by Gilles Caulier.
Committed on 29/11/2022 at 10:08.
Pushed by cgilles into branch 'qt5-maintenance'.

adjust xkb path from host if necessary

M  +5    -1    project/bundles/appimage/data/AppRun

https://invent.kde.org/graphics/digikam/commit/174b6655cab06aa9efd745e27666dcef1d734982
Comment 23 caulier.gilles 2022-11-29 11:50:09 UTC
A new AppImage is online : digiKam-7.9.0-20221129T101501-x86-64.appimage

Gilles
Comment 24 Maik Qualmann 2022-11-29 12:02:54 UTC
The AppImage now works without problems under Wayland or X11 on openSUSE Tumbleweed.

Maik
Comment 25 caulier.gilles 2022-11-29 12:13:08 UTC
Great (:=))... +1

Gilles