sailfishos-open / waydroid

Waydroid packaging for Sailfish OS
34 stars 8 forks source link

Xperia XZ2 Compact fresh install don't start #17

Closed Dracks closed 1 year ago

Dracks commented 2 years ago

Hello,

I bought this week an zperia xz2 compact, and install sailfish, but I don't get working waydroid. I've got this error:

lxc-start: waydroid: utils.c: lxc_can_use_pidfd: 1772 Kernel does not support pidfds
lxc-start: waydroid: network.c: netdev_configure_server_veth: 708 No such file or directory - Failed to attach "veth25ajuG" to bridge "waydroid0", bridge interface doesn't exist
lxc-start: waydroid: network.c: lxc_create_network_priv: 3419 No such file or directory - Failed to create network device
lxc-start: waydroid: start.c: lxc_spawn: 1826 Failed to create the network
lxc-start: waydroid: start.c: __lxc_start: 2053 Failed to spawn container "waydroid"
lxc-start: waydroid: conf.c: run_buffer: 323 Script exited with status 126
lxc-start: waydroid: start.c: lxc_end: 996 Failed to run lxc.hook.post-stop for container "waydroid"
lxc-start: waydroid: tools/lxc_start.c: main: 308 The container failed to start
lxc-start: waydroid: tools/lxc_start.c: main: 314 Additional information can be obtained by setting the --logfile and --logpriority options

I restart the device after installing it, I tried first with the chum version, and later without. I asked before in the project of the sailfish port to the xz2 here

Thanks,

rinigus commented 2 years ago

I tried to remove my Waydroid install and reinstall it as well. As a result, I couldn't start Waydroid session either (same HW, but that should be irrelevant). Note that Waydroid images have been updated and maybe we miss something from newer Waydroid releases? @piggz: have you tried to reinstall Waydroid recently? I am blank on what is broken...

Dracks commented 2 years ago

Looking the logs of waydroid when try to start and for what I see,

Seems that lxc is trying to link the video to the wrong container:

(006726) [10:26:07] New background process: pid=20435, output=background
lxc-start: waydroid: utils.c: lxc_can_use_pidfd: 1772 Kernel does not support pidfds
lxc-start: waydroid: utils.c: safe_mount: 1198 Not a directory - Failed to mount "/dev/video" onto "/usr/lib64/lxc/rootfs/dev/video"
lxc-start: waydroid: utils.c: open_without_symlink: 1062 Too many levels of symbolic links - vibrator in /usr/lib64/lxc/rootfs/sys/class/leds/vibrator was a symbolic link!

the rootfs of android is mounted on this folders:

/home/waydroid/images/system.img on /home/waydroid/rootfs type ext4 (ro,relatime,seclabel)
/home/waydroid/images/vendor.img on /home/waydroid/rootfs/vendor type ext4 (ro,relatime,seclabel)

At least that will match my feeling, of what logcat says about the width>0:

08-25 05:12:47.481  4521  4521 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.launcher3/com.android.launcher3.lineage.LineageLauncher}: java.lang.IllegalArgumentException: width and height must be > 0
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:107)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7356)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
08-25 05:12:47.481  4521  4521 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)

But this is only a feeling. (I tried to change the lig64 rootfs folder to a softlink the the waydroid mounted folder and failed everywhere.

rinigus commented 1 year ago

I can reproduce it on my XZ2c fresh install. Right now trying the latest Waydroid images and those don't start.

@piggz: any tips regarding waydroid logcat:

11-19 08:16:26.287    78    78 W HidlServiceManagement: Waited one second for android.hardware.graphics.composer@2.1::IComposer/default
11-19 08:16:26.289    21    21 I hwservicemanager: Since android.hardware.graphics.composer@2.1::IComposer/default is not registered, trying to start it as a lazy HAL.
11-19 08:16:26.290    78    78 I HidlServiceManagement: getService: Trying again for android.hardware.graphics.composer@2.1::IComposer/default...
11-19 08:16:26.294   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:26.699   208   208 I chatty  : uid=1000 system_server identical 4 lines
11-19 08:16:26.800   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:26.821    20    20 E Parcel  : Expecting header 0x53595354 but found 0x1a. Mixing copies of libbinder?
11-19 08:16:26.901   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:27.102   208   208 I chatty  : uid=1000 system_server identical 2 lines
11-19 08:16:27.203   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:27.290    78    78 W HidlServiceManagement: Waited one second for android.hardware.graphics.composer@2.1::IComposer/default
11-19 08:16:27.291    21    21 I hwservicemanager: Since android.hardware.graphics.composer@2.1::IComposer/default is not registered, trying to start it as a lazy HAL.
11-19 08:16:27.292    78    78 I HidlServiceManagement: getService: Trying again for android.hardware.graphics.composer@2.1::IComposer/default...
11-19 08:16:27.304   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:27.708   208   208 I chatty  : uid=1000 system_server identical 4 lines
11-19 08:16:27.809   208   208 I ServiceManager: Waiting for service 'SurfaceFlinger' on '/dev/binder'...
11-19 08:16:27.830    20    20 E Parcel  : Expecting header 0x53595354 but found 0x1a. Mixing copies of libbinder?

In particular, curious about " Expecting header 0x53595354 but found 0x1a. Mixing copies of libbinder?"

piggz commented 1 year ago

What android base is it? maybe look at https://github.com/sailfish-on-fxtecpro1/droid-config-halium-qx1050/issues/1

rinigus commented 1 year ago

That was with the official Waydroid images (18.1-221111 or so) from https://sourceforge.net/projects/waydroid/ . Just tested and official May 2022 images worked on XZ2c.

Looking at the linked pro1 instructions: we don't have /dev/binderfs and puddle permissions seem to be all fine. What's changed in Verevka's images?

I can see that /etc/gbinder.d/anbox-hybris.conf is also different. What would these changes do? Should we apply them by default?

rinigus commented 1 year ago

Forgot to reply, base is AOSP10

rinigus commented 1 year ago

Adjusting /etc/gbinder.d/anbox.conf didn't help, I am still getting "Expecting header 0x53595354 but found 0x1a. Mixing copies of libbinder".

I wonder whether we have too old libgbinder. In our case it is libgbinder-1.1.18-1.9.1.jolla.aarch64 . But I don't expect that Jolla changed libgbinder massively within 4.4 releases (Tama is still on 4.4.0.58)

Dracks commented 1 year ago

I will close this, as the waydroid image was the source of the problem, and was fixed, Is it fine @rinigus? (Otherwise, reopen the issue)

rinigus commented 1 year ago

Thank you!