libdrm/wayland installation breaks native apps

asked 2019-12-08 21:36:50 +0200

bomo gravatar image

updated 2019-12-08 23:37:23 +0200

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?

edit retag flag offensive close delete

Comments

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 rpm -qato https://gist.github.com/bonanza123/6b12301faee3cc41fda68604e3fe1fcd may I kindly ask you to diff this to your installation in case you have a XA2?

bomo ( 2019-12-08 23:08:27 +0200 )edit

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: [nemo@jollas ~]$ harbour-sailotp [D] unknown:0 - Using Wayland-EGL Segmentation fault

bomo ( 2019-12-08 23:38:06 +0200 )edit