libdrm/wayland installation breaks native apps
I was experimenting a bit and installed some packages related to DRM and wayland on my XA2 Ultra:
[nemo@jollas redshift]$ devel-su pkcon install wayland-egl wayland-egl-devel
Password:
Resolving
Testing changes
Finished [ ] (0%)
The following packages have to be installed:
wayland-devel-1.17.0+git1-1.3.3.jolla.armv7hl wayland devel library
wayland-egl-1.17.0+git1-1.3.3.jolla.armv7hl wayland-egl library
wayland-egl-devel-1.17.0+git1-1.3.3.jolla.armv7hl wayland-egl devel library
Proceed with changes? [N/y] y
Installing
Refreshing software list
Querying
Resolving dependencies
Installing packages
Downloading packages
Installing packages
Finished
[nemo@jollas redshift]$ devel-su pkcon install libdrm libdrm-devel libhybris-libwayland-egl-devel
Password:
Resolving
Testing changes
Finished [ ] (0%)
The following packages have to be installed:
libdrm-2.4.97-1.2.3.jolla.armv7hl Direct Rendering Manager runtime library
libdrm-devel-2.4.97-1.2.3.jolla.armv7hl Direct Rendering Manager development package
libdrm-nouveau-2.4.97-1.2.3.jolla.armv7hl Direct Rendering Manager nouveau api
libdrm-omap-2.4.97-1.2.3.jolla.armv7hl Direct Rendering Manager omap api
libdrm-radeon-2.4.97-1.2.3.jolla.armv7hl Direct Rendering Manager radeon api
libhybris-libwayland-egl-devel-0.0.5.31-1.5.4.jolla.armv7hl Wayland EGL development library for libhybris
Proceed with changes? [N/y] y
Installing
Refreshing software list
Querying
Resolving dependencies
Installing packages
Downloading packages
Installing packages
Finished
Since then, every native app (Android apps work fine) crashes. E.g. here sailotp:
[nemo@jollas ~]$ harbour-sailotp
[D] unknown:0 - Using Wayland-EGL
Segmentation fault
I then tried to undo some installations
[nemo@jollas ~]$ devel-su pkcon remove wayland-egl wayland-egl-devel
Password:
Resolving
Testing changes
Finished [ ] (0%)
The following packages have to be removed:
wayland-egl-1.17.0+git1-1.3.3.jolla.armv7hl wayland-egl library
wayland-egl-devel-1.17.0+git1-1.3.3.jolla.armv7hl wayland-egl devel library
Proceed with changes? [N/y] y
Removing
Removing packages
Resolving dependencies
Removing packages
Finished
But now I am left with
[nemo@jollas ~]$ harbour-sailotp
[W] unknown:0 - Failed to load client buffer integration: wayland-egl
[F] unknown:0 - Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior 0, swapInterval 1, profile 0)
Aborted
Despite that I did not remove any packages that I didn't install manually before the experiment. Here a list of currently installed wayland-related packages
[nemo@jollas ~]$ pkcon search name wayland
Searching by name
Refreshing software list
Querying
Finished
Installed libhybris-libwayland-egl-0.0.5.31-1.5.4.jolla.armv7hl (installed) Wayland EGL for libhybris
Installed libhybris-libwayland-egl-devel-0.0.5.31-1.5.4.jolla.armv7hl (installed) Wayland EGL development library for libhybris
Installed maliit-framework-wayland-0.99.1+git5-1.4.1.jolla.armv7hl (installed) Core libraries of Maliit and server (Lipstick/Wayland environment)
Available maliit-framework-wayland-0.99.1+git5-1.4.1.jolla.source (jolla) Core libraries of Maliit and server (Lipstick/Wayland environment)
Available maliit-framework-wayland-debuginfo-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Debug information for package maliit-framework-wayland
Available maliit-framework-wayland-debugsource-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Debug sources for package maliit-framework-wayland
Available maliit-framework-wayland-devel-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Maliit Framework Input Method Development Package
Available maliit-framework-wayland-doc-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Maliit Framework Documentation
Available maliit-framework-wayland-examples-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Maliit Framework Input Method Examples
Installed maliit-framework-wayland-inputcontext-0.99.1+git5-1.4.1.jolla.armv7hl (installed) Qt5 plugin for connecting to Maliit input method server
Available maliit-framework-wayland-tests-0.99.1+git5-1.4.1.jolla.armv7hl (jolla) Maliit Framework Input Method Tests Package
Installed qt5-qtwayland-wayland_egl-5.4.0+git48-1.2.18.jolla.armv7hl (installed) Qt Wayland compositor, wayland_egl variant
Available qt5-qtwayland-wayland_egl-5.4.0+git48-1.2.18.jolla.source (jolla) Qt Wayland compositor, wayland_egl variant
Available qt5-qtwayland-wayland_egl-debuginfo-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Debug information for package qt5-qtwayland-wayland_egl
Available qt5-qtwayland-wayland_egl-debugsource-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Debug sources for package qt5-qtwayland-wayland_egl
Available qt5-qtwayland-wayland_egl-devel-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Qt Wayland compositor - development files for wayland_egl
Available qt5-qtwayland-wayland_egl-examples-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Qt Wayland compositor - examples
Installed wayland-1.17.0+git1-1.3.3.jolla.armv7hl (installed) wayland compositor
Available wayland-1.17.0+git1-1.3.3.jolla.source (jolla) wayland compositor
Available wayland-debuginfo-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) Debug information for package wayland
Available wayland-debugsource-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) Debug sources for package wayland
Installed wayland-devel-1.17.0+git1-1.3.3.jolla.armv7hl (installed) wayland devel library
Available wayland-egl-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) wayland-egl library
Available wayland-egl-devel-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) wayland-egl devel library
Available wayland-protocols-1.17.0+git1-1.2.3.jolla.source (jolla) Wayland protocols that adds functionality not available in the core protocol
Available wayland-protocols-debuginfo-1.17.0+git1-1.2.3.jolla.armv7hl (jolla) Debug information for package wayland-protocols
Available wayland-protocols-debugsource-1.17.0+git1-1.2.3.jolla.armv7hl (jolla) Debug sources for package wayland-protocols
Available wayland-protocols-devel-1.17.0+git1-1.2.3.jolla.armv7hl (jolla) Wayland protocols that adds functionality not available in the core protocol
[root@jollas nemo]# pkcon search EGL
Searching by details
Refreshing software list
Querying
Finished
Installed libhybris-libEGL-0.0.5.31-1.5.4.jolla.armv7hl (installed) EGL for hybris
Available libhybris-libEGL-devel-0.0.5.31-1.5.4.jolla.armv7hl (adaptation0) EGL development headers for libhybris
Installed libhybris-libwayland-egl-0.0.5.31-1.5.4.jolla.armv7hl (installed) Wayland EGL for libhybris
Available libhybris-libwayland-egl-devel-0.0.5.31-1.5.4.jolla.armv7hl (adaptation0) Wayland EGL development library for libhybris
Available mesa-llvmpipe-libEGL-19.0.3+git2-1.3.3.jolla.armv7hl (jolla) Mesa libEGL runtime libraries and DRI drivers
Available mesa-llvmpipe-libEGL-devel-19.0.3+git2-1.3.3.jolla.armv7hl (jolla) Mesa libEGL development package
[nemo@jollas ~]$ pkcon search egl
Searching by details
Refreshing software list
Querying
Finished
Installed libhybris-libwayland-egl-0.0.5.31-1.5.4.jolla.armv7hl (installed) Wayland EGL for libhybris
Installed libhybris-libwayland-egl-devel-0.0.5.31-1.5.4.jolla.armv7hl (installed) Wayland EGL development library for libhybris
Available qt5-plugin-platform-eglfs-5.6.3+git14-1.10.2.jolla.armv7hl (jolla) Eglfs platform plugin
Available qt5-plugin-platform-minimalegl-5.6.3+git14-1.10.2.jolla.armv7hl (jolla) Minimalegl platform plugin
Available qt5-qtmultimedia-plugin-video-eglvideonode-5.6.2+git16-1.7.1.jolla.armv7hl (jolla) Qt Multimedia - eglvideonode plugin
Installed qt5-qtwayland-wayland_egl-5.4.0+git48-1.2.18.jolla.armv7hl (installed) Qt Wayland compositor, wayland_egl variant
Available qt5-qtwayland-wayland_egl-debuginfo-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Debug information for package qt5-qtwayland-wayland_egl
Available qt5-qtwayland-wayland_egl-debugsource-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Debug sources for package qt5-qtwayland-wayland_egl
Available qt5-qtwayland-wayland_egl-devel-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Qt Wayland compositor - development files for wayland_egl
Available qt5-qtwayland-wayland_egl-examples-5.4.0+git48-1.2.18.jolla.armv7hl (jolla) Qt Wayland compositor - examples
Available wayland-egl-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) wayland-egl library
Available wayland-egl-devel-1.17.0+git1-1.3.3.jolla.armv7hl (jolla) wayland-egl devel library
Moreover, I also cannot remove libdrm anymore
[nemo@jollas ~]$ devel-su pkcon remove libdrm libdrm-devel
Password:
Resolving
Testing changes
Finished
Fatal error: This request will break your system!
[nemo@jollas ~]$ devel-su pkcon remove libdrm libdrm-devel libhybris-libwayland-egl-devel
[nemo@jollas ~]$ devel-su zypper rm libdrm
Password:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: This request will break your system!
feature-jolla-0.1.2-1.4.8.jolla.noarch requires patterns-sailfish-consumer-generic, but this requirement cannot be provided
deleted providers: patterns-sailfish-consumer-generic-1.0.22-1.13.1.jolla.noarch
Solution 1: ignore the warning of a broken system (requires:feature-jolla)
Solution 2: keep libdrm-2.4.97-1.2.3.jolla.armv7hl
Solution 3: break feature-jolla-0.1.2-1.4.8.jolla.noarch by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/3/c] (c):
How is it possible that it pops up as dependency despite it wasn't installed before? And how to fix the native apps?
I ran once into a similar situation. And was even in a worse situation where even lipstick did not start. But got it resolved somehow (telnet and so on ...).
Before continuing I would make a backup and save all important data to PC/SD! You may need rescue shell, my device did not even boot fully (black display).
It wasI about some GL driver.
Afair I installed also some egl devel package.
Keep calm, it may get resolved (but it took me two or three evenings :)
Please report also pkcon search egl pkcon search EGL
About libdrm: I do have that installed but not any libdrm-* package. So remove all those -* packages only but leave libdrm.
peterleinchen ( 2019-12-08 22:45:03 +0200 )edit@peterleinchen thanks for your comment. I updated the post with the EGL search result and removed the other libdrm-* packages, but it did not fix it. Do you further ideas? Thanks so much!
bomo ( 2019-12-08 22:59:39 +0200 )edit@peterleinchen I also uploaded the output of
bomo ( 2019-12-08 23:08:27 +0200 )editrpm -qa
to https://gist.github.com/bonanza123/6b12301faee3cc41fda68604e3fe1fcd may I kindly ask you to diff this to your installation in case you have a XA2?I may diff but there will be lots of diffs :) (and only tomorrow)
Re-install
pkcon install wayland-egl
AND put also output of (mind uppercase)
pkcon search EGL
peterleinchen ( 2019-12-08 23:24:38 +0200 )edit@peterleinchen I added the new search result to the post. After installing wayland-egl, I am back to the first error:
bomo ( 2019-12-08 23:38:06 +0200 )edit[nemo@jollas ~]$ harbour-sailotp [D] unknown:0 - Using Wayland-EGL Segmentation fault