We have moved to a new Sailfish OS Forum. Please start new discussions there.
1

hybris/mesa package replacement maybe screwed up my system

asked 2020-06-26 16:15:03 +0200

Cigydd gravatar image

updated 2020-06-28 02:12:58 +0200

Hi folks,

I was playing around with my Xperia X device with Sailfish OS 3.3.0.16 (Rokua), trying to install the PyQt5 Python 3 binding for Qt5. I needed to install the Qt development libraries because the only possibility is to build PyQt from source using pip3. Well, I know I should have done it on the Sailfish SDK emulator but itʼs late now. When installing the needed libraries and tools, I ran into a situation where I was presented a choice if I want to replace a package. And I chose “yes”. ☹

The system now doesnʼt finish the boot and is stuck at the SONY logo but I can still log in via SSH.

Now Iʼm trying to remember what packages that were. I know for sure that one of the packages had "mesa" in its name and the other "hybris" or "libhybris". One of them had "GLES" in its name.

Here are the packages Iʼve got installed now and they sound familiar.

Hereʼs a gist showing my system log since the bootup. What could be the culprit?

Tried to install the libhybris-libGLESv1 library but I get this error:

[root@xperia-x ~]# zypper install libhybris-libGLESv1
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  libhybris-libGLESv1

1 new package to install.
Overall download size: 26.7 KiB. Already cached: 0 B. After the operation, additional 49.5 KiB will be used.
Continue? [y/n/...? shows all options] (y): 
Retrieving package libhybris-libGLESv1-0.0.5.34-1.9.2.jolla.armv7hl                                                                                                                                                                        (1/1),  26.7 KiB ( 49.5 KiB unpacked)
Failed to provide Package libhybris-libGLESv1-0.0.5.34-1.9.2.jolla.armv7hl (adaptation0). Do you want to retry retrieval?

[adaptation0|plugin:/ssu?repo=adaptation0] Can't provide file './armv7hl/libhybris-libGLESv1-0.0.5.34-1.9.2.jolla.armv7hl.rpm' from repository 'adaptation0'
History:
 - Store credentials not received. Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
 - Can't provide ./armv7hl/libhybris-libGLESv1-0.0.5.34-1.9.2.jolla.armv7hl.rpm

Abort, retry, ignore? [a/r/i] (a): 
Problem occurred during or after installation or removal of packages:
Installation aborted by user
Please see the above error message for a hint.

My internet connection works well.

I canʼt mark this as a bug since itʼs all my fault. Do I have any other chance than to flash my Xperia X? Well, I can still backup the data via rsync but it would be annoying to start from scratch again…

edit retag flag offensive close delete

Comments

2

Any chance you could download that package from somewhere else (such as here, but I don't know if that's the right one for your CPU), and install it from the downloaded RPM directly? Maybe this repository https://store-repository.jolla.com/releases/3.3.0.16 ? I can't access it because I don't have an official SFOS device, but you might be able to. This question makes it sound like this would be the repository your package manager is trying for (adaptation0).

nsensfel ( 2020-06-26 16:42:21 +0200 )edit

@nsensfel OK, downloaded a bunch of RPM packages (they were newer versions than the latest Sailfish ones) and finally got to a point where zypper complained only about the conflict with the mesa libraries. Uninstalled the conflicting mesa libraries:

zypper remove mesa-llvmpipe-{libEGL,libGLESv1,libGLESv2}

and installed the libhybris ones:

zypper --no-gpg-checks install libhybris-libwayland-egl-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libGLESv1-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libEGL-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libhardware-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libsync-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libvibrator-0.0.5.36-1.21.1.jolla.armv7hl.rpm libhybris-libGLESv2-0.0.5.36-1.21.1.jolla.armv7hl.rpm

OK, still no luck but I sense that I know why. The correct library was the @ System one, not the jolla one. And the libhybris libraries are the jolla ones so the correct libs are maybe those mesa-related. What do you think?

Edit: Nope. The library that would replace the installed one is always marked jolla and the installed one is marked as @ System. Nevertheless, I am going to try the mesa libs.

Cigydd ( 2020-06-26 17:36:12 +0200 )edit
1

In your system logs, it was indicating three issues when trying to start the lipstick (the graphical interface, basically) service:

  • libEGL warning: invalid EGL_PLATFORM given
  • library "libscale.so" not found
  • library "libtinyxml.so" not found

I do not know if those are what actually prevent a successful start of lipstick, but could you check if the system logs still indicate these exact issues now that you have changed packages?

I'd check that whatever "hwcomposer" is (since that's the supposed EGL_PLATFORM), it's still installed. Not sure about the missing libraries, I can't find info on those. Maybe they prevent hwcomposer from starting?

nsensfel ( 2020-06-26 17:55:18 +0200 )edit

@nsensfel Tried to access the repository with my Jolla Account credentials but no luck there.

Here you have the journalctl output with the libhybris libraries installed. It seems that the errors disappeared but the device is still stuck at the logo.

Edit: Nope. Lipstick still fails to start.

Cigydd ( 2020-06-26 18:16:26 +0200 )edit

Just a tiny flashback: Before I first rebooted the device the People application was failing to start. So I rebooted and there I am.

Cigydd ( 2020-06-26 18:28:18 +0200 )edit

3 Answers

Sort by » oldest newest most voted
2

answered 2020-06-26 17:32:12 +0200

razcampagne gravatar image

I have run into this problem every time I install the devel packages for qt5 on my device. I think you'll need to force install (zypper install -f) these two packages : libhybris-libGLESv2 and libhybris-libEGL

It will remove the two corresponding packages from mesa and you should be good to go.

edit flag offensive delete publish link more

Comments

Itʼs strange but I didnʼt need to force the installation. Maybe itʼs just that I removed the mesa packages before.

Edit:

However, installing those libhybris packages didnʼt help.

Cigydd ( 2020-06-26 18:24:17 +0200 )edit

This is probably the cleanest solution I should have taken at the beginning. And yes, I had to be more precise about removing the mesa packages and installing the libhybris packages, i. e. the correct ones for my chipset.

Cigydd ( 2020-06-27 11:58:52 +0200 )edit
2

answered 2020-06-26 22:22:43 +0200

Cigydd gravatar image

It seems I have just solved it, with great help from @nsensfel!

Found out that my Xperia X phone is the F5121 model, from here:

https://www.gsmarena.com/sony_xperia_x-7948.php#f5121

Recognized it by the single-SIM support.

Then, after a thorough search, I found this repository:

http://repo.merproject.org/obs/nemo:/devel:/hw:/qualcomm:/f5121/sailfish_latest_armv7hl/armv7hl/

and downloaded all the packages that I thought I had had misplaced before (basically [lib]hybris*) and installed them via zypper.

Rebooted, and voilá! My Xperia X started as expected! Now all the “Tainted” warnings disappeared. Should I discover any glitches, I would try to install the rest of the libhybris repository too.

edit flag offensive delete publish link more

Comments

You mat have found this here
https://together.jolla.com/question/218789/libdrmwayland-installation-breaks-native-apps/
but unluckily it was a bit of longer time gone already and I did not remember exact packages. Just something with EGL egl vesa hybris wayland and so on.
So you probably knew better already :)


I just cannot understand that we have similar sounding packages in the repository that could screw uo lipstick / video.

peterleinchen ( 2020-06-26 23:39:21 +0200 )edit

Could you add exact names of packages, please?

peterleinchen ( 2020-06-26 23:40:24 +0200 )edit

@peterleinchen Wait, I just found yesterday that my internet browser (Nightly or how is it named) stopped working. I see only a white screen and nothing more. Will investigate further in the upcoming days, maybe already today. I think Iʼll try to download and install all the packages from the libhybris repository and report here.

Cigydd ( 2020-06-27 12:03:43 +0200 )edit

@peterleinchen You start here and select your model specs and then search here for the repository containing packages for your model and chipset (not GPU but chipset). However, I searched for "hw:qualcomm" to no avail. ☹ The repos listed are only for Xperia X.

Cigydd ( 2020-06-27 13:08:27 +0200 )edit
1

@peterleinchen You asked for the exact names of the packages. These are the two I should have restored:

[nemo@xperia-x Downloads]$ grep '\(libGLESv2\|libEGL\)' "rpm -qa nsensfel.txt" 
libhybris-libEGL-0.0.5.34-1.5.3.jolla.armv7hl
libhybris-libGLESv2-0.0.5.34-1.5.3.jolla.armv7hl
Cigydd ( 2020-06-28 01:57:31 +0200 )edit
0

answered 2020-06-28 13:53:36 +0200

updated 2020-06-28 13:54:34 +0200

As a note to myself I add here the list of all
egl gles hybris mesa wayland
packages of a sane SFOS (3.2.1.20) installation:

zypper search egl gles hybris mesa wayland

Loading repository data... Reading installed packages...

S | Name | Summary | Type ---+--------------------------------------------+------------------------------------------------------------------------------+-----------

i | geoclue-provider-hybris-binder | Geoinformation Service Hybris Provider | package

| glesplash | GL splash screen | package

i | hybris-libsensorfw-qt5-hal | Sensor Framework Qt5 | package

i | libhybris | Utilize Bionic-based HW adaptations on glibc systems | package

| libhybris-devel | Common development headers for libhybris | package

i+ | libhybris-libEGL | EGL for hybris | package

| libhybris-libEGL-devel | EGL development headers for libhybris | package

i+ | libhybris-libGLESv1 | OpenGL ES 1.x for libhybris | package

| libhybris-libGLESv1-devel | OpenGL ES 1.x development library for libhybris | package

i+ | libhybris-libGLESv2 | OpenGL ES 2.0 for libhybris | package

| libhybris-libGLESv2-devel | OpenGL ES 2.0 development library for libhybris | package

| libhybris-libOpenCL | OpenCL for libhybris | package

| libhybris-libOpenCL-devel | OpenCL development library for libhybris | package

| libhybris-libOpenVG | OpenVG for libhybris | package

| libhybris-libOpenVG-devel | OpenVG development library for libhybris | package

i | libhybris-libhardware | libhardware for libhybris | package

| libhybris-libhardware-devel | libhardware development library for libhybris | package

| libhybris-libnfc | Near Field Communication for libhybris | package | libhybris-libnfc-devel | Near Field Communication development library for libhybris | package

| libhybris-libsf | SurfaceFlinger support helpers for libhybris | package

i | libhybris-libsync | libsync for libhybris | package

| libhybris-libsync-devel | libsync development library for libhybris | package

| libhybris-libvibrator | Vibrator for libhybris | package

| libhybris-libvibrator-devel | Vibrator development library for libhybris | package

i+ | libhybris-libwayland-egl | Wayland EGL for libhybris | package

| libhybris-libwayland-egl-devel | Wayland EGL development library for libhybris | package

| libhybris-tests | Tests for libhybris | package

| libhybris-tests-upstream | Tests from upstream libhybris but not working on our side | package

i | maliit-framework-wayland | Core libraries of Maliit and server (Lipstick/Wayland environment) | package

| maliit-framework-wayland | Core libraries of Maliit and server (Lipstick/Wayland environment) | srcpackage

| maliit-framework-wayland-debuginfo | Debug information for package maliit-framework-wayland | package

| maliit-framework-wayland-debugsource | Debug sources for package maliit-framework-wayland | package

| maliit-framework-wayland-devel | Maliit Framework Input Method Development Package | package

| maliit-framework-wayland-doc | Maliit Framework Documentation | package

| maliit-framework-wayland-examples | Maliit Framework Input Method Examples | package

i | maliit-framework-wayland-inputcontext | Qt5 plugin for connecting to Maliit input method server | package

| maliit-framework-wayland-tests | Maliit Framework Input Method Tests Package | package

i | mce-plugin-libhybris | Libhybris plugin for Mode Control Entity | package

| mesa-llvmpipe | Mesa graphics libraries built for LLVMpipe | srcpackage

| mesa-llvmpipe-debuginfo | Debug information for package mesa-llvmpipe | package

| mesa-llvmpipe-debugsource | Debug sources for package mesa-llvmpipe | package

| mesa-llvmpipe-dri-drivers-devel | Mesa-based DRI development files | package

| mesa-llvmpipe-dri-swrast-driver | Mesa-based DRI drivers | package

| mesa-llvmpipe-libEGL | Mesa libEGL runtime libraries and DRI drivers | package

| mesa-llvmpipe-libEGL-devel | Mesa libEGL development package | package

| mesa-llvmpipe-libGL-devel | Mesa libGL development package | package

| mesa-llvmpipe-libGLESv1 | Mesa libGLESv1 runtime libraries | package

| mesa-llvmpipe-libGLESv1-devel | Mesa libGLESv1 development package | package

| mesa-llvmpipe-libGLESv2 | Mesa libGLESv2 runtime libraries | package

| mesa-llvmpipe-libGLESv2-devel | Mesa libGLESv2 development package | package

| mesa-llvmpipe-libgbm | Generic buffer management API | package

| mesa-llvmpipe-libgbm-devel | Mesa libgbm development package | package

i | mesa-llvmpipe-libglapi | Mesa shared gl api library | package

| mesa-llvmpipe-libglapi-devel | Mesa libglapi development package | package

| qt5-plugin-platform-eglfs | Eglfs platform plugin | package

| qt5-plugin-platform-minimalegl | Minimalegl platform plugin | package

| qt5-qtmultimedia-plugin-video-eglvideonode | Qt Multimedia - eglvideonode plugin | package

i+ | qt5-qtwayland-wayland_egl | Qt Wayland compositor, wayland_egl variant | package

| qt5-qtwayland-wayland_egl | Qt Wayland compositor, wayland_egl variant | srcpackage

| qt5-qtwayland-wayland_egl-debuginfo | Debug information for package qt5-qtwayland-wayland_egl | package

| qt5-qtwayland-wayland_egl-debugsource | Debug sources for package qt5-qtwayland-wayland_egl | package

| qt5-qtwayland-wayland_egl-devel | Qt Wayland compositor - development files for wayland_egl | package

| qt5-qtwayland-wayland_egl-examples | Qt Wayland compositor - examples | package

i+ | wayland | wayland compositor | package

| wayland | wayland compositor | srcpackage

| wayland-debuginfo | Debug information for package wayland | package

| wayland-debugsource | Debug sources for package wayland | package

| wayland-devel | wayland devel library | package

i+ | wayland-egl | wayland-egl library | package

| wayland-egl-devel | wayland-egl devel library | package

| wayland-protocols | Wayland protocols that adds functionality not available in the core protocol | srcpackage

| wayland-protocols-debuginfo | Debug information for package wayland-protocols | package

| wayland-protocols-debugsource | Debug sources for package wayland-protocols | package

| wayland-protocols-devel | Wayland protocols that adds functionality not available in the core protocol | package

egl-gles-hybris-mesa-wayland.txt

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
3 followers

Stats

Asked: 2020-06-26 16:15:03 +0200

Seen: 643 times

Last updated: Jun 28 '20