libgbinder icon indicating copy to clipboard operation
libgbinder copied to clipboard

Cannot add services to vndservicemanager

Open aleasto opened this issue 2 years ago • 1 comments

On a HALIUM device i'm unable to register services to /dev/vndbinder. My device is a Volla Phone 22, HALIUM 11, running either SailfishOS or Ubuntu Touch

Using the python bindings i can reproduce with this snippet:

import gbinder
serviceManager = gbinder.ServiceManager("/dev/vndbinder")
response = serviceManager.new_local_object("org.foo.bar", lambda x,y,z: print(x,y,z))
serviceManager.add_service_sync("foobar", response)

On my desktop running the vndservicemanager from Waydroid I can register services just fine. But on the Volla Phone 22 using vndservicemanager from Waydroid doesn't help.

aleasto avatar Dec 31 '22 16:12 aleasto

This appears to come down to VNDK vs VNDK-lite. With full VNDK it expects 'VNDR' in the header https://github.com/mer-hybris/libgbinder/blob/885d27c12c52eab96cf8155636bf2d3d0fca05f5/src/gbinder_rpc_protocol.c#L191

It works with Waydroid on my desktop because Waydroid runs as vndk-lite except on HALIUM

aleasto avatar Jan 20 '23 00:01 aleasto