supremegamers / vendor_google_proprietary_ndk_translation-prebuilt

Prebuilt of Google's ndk_translation native bridge
Other
9 stars 2 forks source link

ndk_translation.rc should be updated #2

Open cnRrex opened 7 months ago

cnRrex commented 7 months ago

In libndk_translation.mk, ro.vendor.enable.native.bridge.exec(64)=1 is defined but not used in ndk_translation.rc. The rc file is still using ro.enable.native.bridge.exec(64)=1

hmtheboy154 commented 7 months ago

oh yea

wait how am I still be able to game

ilhan-athn7 commented 7 months ago

Actually, even binfmt_misc kernel module is not loaded, thus make ndk_translation.rc meaningless.

I kinda think houdini/libndk does not depends on binfmt_misc

hmtheboy154 commented 7 months ago

Didn't we directly integrate it into the kernel ? https://github.com/hmtheboy154/Darkmatter-kernel/blob/gloria/arch/x86/configs/android-x86_64_defconfig#L1025

ilhan-athn7 commented 7 months ago

Didn't we directly integrate it into the kernel ? https://github.com/hmtheboy154/Darkmatter-kernel/blob/gloria/arch/x86/configs/android-x86_64_defconfig#L1025

So is it not have to be listed in lsmod output ?

cnRrex commented 7 months ago

Most arm app can be handled by the nativebridge interface, so binfmt_misc doesn't seem that important. Another unimportant file we may ignore is libclcore_neon.bc, has the same Group id with other libndk_translation files in zork a9 image (checked by 7zip).

cnRrex commented 7 months ago

BTW i found something interesting about libndk. Unlike houdini which integrates all system proxy libs symbol (when android version upgrade this is a big changing part), libndk_translation build system proxy libs separately. From a11 on, you can find all the requied stub symbol and some code about building those fake proxy libs, in /frameworks/libs/native_bridge_support/.

And more funny thing is the Berberis, a riscv binary translator at /frameworks/libs/binary_translation/, is similar to libndk. It also have the code of proxy_loader. so i think there may be possible to build those proxy libs for a10, a12's arm, a14's arm and future version.

hmtheboy154 commented 7 months ago

We can actually take berberis as a reference to make a source for ndk_translation prebuilts

hmtheboy154 commented 7 months ago

BTW i found something interesting about libndk. Unlike houdini which integrates all system proxy libs symbol (when android version upgrade this is a big changing part), libndk_translation build system proxy libs separately. From a11 on, you can find all the requied stub symbol and some code about building those fake proxy libs, in /frameworks/libs/native_bridge_support/.

And more funny thing is the Berberis, a riscv binary translator at /frameworks/libs/binary_translation/, is similar to libndk. It also have the code of proxy_loader. so i think there may be possible to build those proxy libs for a10, a12's arm, a14's arm and future version.

On second thought, there is an issue Proxy libraries according to berberis will rely on special headers made for the guest arch. So this might be another hard challenge

cnRrex commented 6 months ago

On second thought, there is an issue Proxy libraries according to berberis will rely on special headers made for the guest arch. So this might be another hard challenge

I just checked out Android 15 AVD image. It contains new libndk_translation 0.2.3 (update to v7 nativebridge interface). Just like the recent libndk_translation, it stripped , but its exported symbols and proxy libraries' symbols show that lots of the function namespaces and names have changed from ndk_translation to berberis.

This is a good news as ndk_translation now split its partial source to berberis. I'll try my idea when android mainline is stable enough to release berberis.

hmtheboy154 commented 6 months ago

On second thought, there is an issue Proxy libraries according to berberis will rely on special headers made for the guest arch. So this might be another hard challenge

I just checked out Android 15 AVD image. It contains new libndk_translation 0.2.3 (update to v7 nativebridge interface). Just like the recent libndk_translation, it stripped , but its exported symbols and proxy libraries' symbols show that lots of the functions namespace and name has changed to berberis.

yea if you see main branch then berberis namespace started to appear everywhere. If you can get the symbols then I guess we can try to build

This is a good news as ndk_translation now split its partial source to berberis. I'll try my idea when android mainline is stable enough to release berberis.

Meanwhile, berberis seems....... usable on mainline I think.

ilhan-athn7 commented 6 months ago

On second thought, there is an issue Proxy libraries according to berberis will rely on special headers made for the guest arch. So this might be another hard challenge

I just checked out Android 15 AVD image. It contains new libndk_translation 0.2.3 (update to v7 nativebridge interface). Just like the recent libndk_translation, it stripped , but its exported symbols and proxy libraries' symbols show that lots of the function namespaces and names have changed from ndk_translation to berberis.

This is a good news as ndk_translation now split its partial source to berberis. I'll try my idea when android mainline is stable enough to release berberis.

ChromeOS zork r121 got same libndk version 0.2.3