native bridge libnb versus libhoudini?

2,369 views
Skip to first unread message

ma...@xemi.net

unread,
Apr 6, 2018, 6:52:11 PM4/6/18
to Android-x86
What is the difference between:

libbb.so and libhoudini.so?

It appears that by default the property ro.dalvik.vm.native.bridge is set to libnb, at least in my oreo x86 build.

How do I change to libhoudini?

Povilas Staniulis

unread,
Apr 7, 2018, 2:05:45 PM4/7/18
to andro...@googlegroups.com
IIRC, libnb.so is a wrapper around libhoudini.
Houdini itself is only available on 64-bit kernel / 32-bit userspace
version (the 8_y version).
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


ma...@xemi.net

unread,
Apr 7, 2018, 2:52:35 PM4/7/18
to Android-x86
Thanks for the info.

As far as oreo build, ot make a 64-bit kernel build and 32-bit userspace, do I just do the following:

1.  Build 64-bit image, and extract kernel image
2.  Build 32-bit image, and replace kernel image from 64-bit built

Would the 8_y version of houdini be automatically included #2?  Or are there additional steps involved to include this?

On Saturday, April 7, 2018 at 2:05:45 PM UTC-4, Povilas Staniulis wrote:
IIRC, libnb.so is a wrapper around libhoudini.
Houdini itself is only available on 64-bit kernel / 32-bit userspace
version (the 8_y version).

On 2018.04.07 01:52, ma...@xemi.net wrote:
> What is the difference between:
>
> libbb.so and libhoudini.so?
>
> It appears that by default the property ro.dalvik.vm.native.bridge is
> set to libnb, at least in my oreo x86 build.
>
> How do I change to libhoudini?
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com

youling 257

unread,
Apr 8, 2018, 3:36:27 AM4/8/18
to Android-x86
32 bit Android userspace must use the old 32-bit binder API,64 bit kernel must CONFIG_ANDROID_BINDER_IPC_32BIT=y,then can boot 32bit nougat/oreo.

ours patch “android: support 32-bit binder in 64-bit kernel” not work with nougat/oreo,can't boot 64k32u.

i edit drivers/android/Kconfig

config ANDROID_BINDER_IPC_32BIT
 bool "Use old (Android 4.4 and earlier) 32-bit binder API"
 depends on ANDROID_BINDER_IPC
 default y
 ---help---
   The Binder API has been changed to support both 32 and 64bit
   applications in a mixed environment.

   Enable this to support an old 32-bit Android user-space (v4.4 and
   earlier).

   Note that enabling this will break newer Android user-space.

youling 257

unread,
Apr 8, 2018, 3:51:19 AM4/8/18
to Android-x86
64bit kernel,32bit Android,32bit old binder,now,i can chroot to 64bit Ubuntu.

[15:25:23] >>> start
[15:25:23] Checking file system ... done
[15:25:23] Mounting the container: 
[15:25:23] / ... fail
[15:25:23] <<< start
[15:25:26] >>> stop
[15:25:26] The container is not mounted.
[15:25:26] <<< stop
[15:25:38] >>> start
[15:25:38] Checking file system ... done
[15:25:38] Mounting the container: 
[15:25:38] / ... done
[15:25:38] /proc ... done
[15:25:38] /sys ... done
[15:25:38] /sys/fs/selinux ... done
[15:25:38] /dev ... done
[15:25:38] /dev/shm ... done
[15:25:38] /dev/pts ... done
[15:25:38] /dev/fd ... done
[15:25:38] /dev/net/tun ... done
[15:25:38] :: Configuring core/mnt ... 
[15:25:38] :: Configuring core/net ... 
[15:25:39] :: Starting extra/ssh ... done
[15:25:39] <<< start

Welcome to Ubuntu Bionic Beaver (development branch) (GNU/Linux 4.14.32-android-x86_64+ i686)

 * Documentation: https://help.ubuntu.com

Ubuntu 12.04 LTS end-of-life is April 25, 2017 -- Upgrade your Precise systems!
 $ sudo do-release-upgrade -m server

223 个可升级软件包。
0 个安全更新。

*** 需要重启系统 ***
Last login: Sun Apr 8 15:25:51 2018 from 127.0.0.1
youling257@localhost:~$ su
密码:
root@localhost:/home/youling257# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-14ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-14ubuntu1)
root@localhost:/home/youling257#
root@localhost:/home/youling257#
Screenshot_20180408-153940.png

youling 257

unread,
Apr 8, 2018, 3:53:40 AM4/8/18
to Android-x86
32 bit kernel,32bit Android,32bit old binder,

[15:43:03] >>> start
[15:43:04] Checking file system ... done
[15:43:04] Mounting the container: 
[15:43:04] / ... fail
[15:43:04] <<< start
[15:43:13] >>> start
[15:43:13] Checking file system ... done
[15:43:13] Mounting the container: 
[15:43:13] / ... done
[15:43:13] /proc ... done
[15:43:13] /sys ... done
[15:43:13] /sys/fs/selinux ... done
[15:43:13] /dev ... done
[15:43:13] /dev/shm ... done
[15:43:13] /dev/pts ... done
[15:43:13] /dev/fd ... done
[15:43:13] /dev/net/tun ... done
[15:43:14] :: Configuring core/mnt ... 
[15:43:14] :: Configuring core/net ... 
[15:43:14] :: Starting extra/ssh ... fail
[15:43:14] <<< start
Screenshot_20180408-154355.png

ma...@xemi.net

unread,
Apr 8, 2018, 1:21:24 PM4/8/18
to Android-x86
Povilas,

This link appears to reference a 8_z version:


Is the 8_z version available now?  Who typically provides libhoudini?  Arm? Intel?  Open source development?


On Saturday, April 7, 2018 at 2:05:45 PM UTC-4, Povilas Staniulis wrote:
IIRC, libnb.so is a wrapper around libhoudini.
Houdini itself is only available on 64-bit kernel / 32-bit userspace
version (the 8_y version).

On 2018.04.07 01:52, ma...@xemi.net wrote:
> What is the difference between:
>
> libbb.so and libhoudini.so?
>
> It appears that by default the property ro.dalvik.vm.native.bridge is
> set to libnb, at least in my oreo x86 build.
>
> How do I change to libhoudini?
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com

DDS Central

unread,
Apr 9, 2018, 5:32:33 AM4/9/18
to andro...@googlegroups.com
Intel makes Houdini libs but they not distributed publicly.
Android x86 uses Houdini libs extracted from official x86 Android device ROMs.

On Sun, Apr 8, 2018, 8:21 PM <ma...@xemi.net> wrote:
Povilas,

This link appears to reference a 8_z version:


Is the 8_z version available now?  Who typically provides libhoudini?  Arm? Intel?  Open source development?

On Saturday, April 7, 2018 at 2:05:45 PM UTC-4, Povilas Staniulis wrote:
IIRC, libnb.so is a wrapper around libhoudini.
Houdini itself is only available on 64-bit kernel / 32-bit userspace
version (the 8_y version).

On 2018.04.07 01:52, ma...@xemi.net wrote:
> What is the difference between:
>
> libbb.so and libhoudini.so?
>
> It appears that by default the property ro.dalvik.vm.native.bridge is
> set to libnb, at least in my oreo x86 build.
>
> How do I change to libhoudini?
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.

ma...@xemi.net

unread,
Apr 10, 2018, 12:35:49 AM4/10/18
to Android-x86
Pov,

Thanks for the info.  I've been trying to track down how the libhoudini.so gets into the build, and where the binary is stored in the repo....  Any idea?


On Monday, April 9, 2018 at 5:32:33 AM UTC-4, Povilas Staniulis wrote:
Intel makes Houdini libs but they not distributed publicly.
Android x86 uses Houdini libs extracted from official x86 Android device ROMs.

On Sun, Apr 8, 2018, 8:21 PM <ma...@xemi.net> wrote:
Povilas,

This link appears to reference a 8_z version:


Is the 8_z version available now?  Who typically provides libhoudini?  Arm? Intel?  Open source development?

On Saturday, April 7, 2018 at 2:05:45 PM UTC-4, Povilas Staniulis wrote:
IIRC, libnb.so is a wrapper around libhoudini.
Houdini itself is only available on 64-bit kernel / 32-bit userspace
version (the 8_y version).

On 2018.04.07 01:52, ma...@xemi.net wrote:
> What is the difference between:
>
> libbb.so and libhoudini.so?
>
> It appears that by default the property ro.dalvik.vm.native.bridge is
> set to libnb, at least in my oreo x86 build.
>
> How do I change to libhoudini?
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


DDS Central

unread,
Apr 10, 2018, 5:42:02 AM4/10/18
to andro...@googlegroups.com
Binary isn't in the repo. It gets downloaded from a remote server after enabling native bridge in settings.

Pov,

> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Message has been deleted

youling 257

unread,
Apr 11, 2018, 1:34:02 PM4/11/18
to Android-x86

youling 257

unread,
Apr 12, 2018, 1:02:17 AM4/12/18
to Android-x86
https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
extract zip,extract bin,extract ROOT-A.img,mount opt/google/containers/android/vendor.raw.img

android_x86:/ $ su
android_x86:/ # logcat | grep houdini
04-12 12:59:56.326 1310 1310 I loop3 : type=1400 audit(0.0:1271): avc: denied { use } for path="/data/arm/houdini7_y.sfs" dev="mmcblk1p3" ino=2466077 scontext=u:r:kernel:s0 tcontext=u:r:toolbox:s0 tclass=fd permissive=1
04-12 13:00:13.360 3717 3717 D houdini : [3717] Initialize library(version: 7.1.1a_y.49564 RELEASE)... successfully.
04-12 13:00:13.998 3717 3717 D houdini : [3717] Added shared library /data/app/com.androvidpro-1/lib/arm/libvideokit.so for ClassLoader by Native Bridge.
Killed
android_x86:/ # uname -a
Linux localhost 4.14.33-android-x86_64+ #1 SMP PREEMPT Wed Apr 11 23:46:41 CST 2018 i686
android_x86:/ # uname -m
i686
android_x86:/ #
Reply all
Reply to author
Forward
0 new messages