qwerty12356-wart / test_libnb

BSD 2-Clause "Simplified" License
6 stars 1 forks source link

Does not work with Wild Rift #1

Open ryanrudolfoba opened 2 months ago

ryanrudolfoba commented 2 months ago

Hi this is continuation from https://github.com/ryanrudolfoba/SteamOS-Waydroid-Installer/issues/102

I'm testing on Steam Deck using libhoudini translation layer.

The README mentions 2 libnb versions, im confused on step 2 as after building I only got one libnb.so file -

  1. Build libnb from source (See Build)
  2. Copy the two libnb version to their respective folder. (/system/lib and system/lib64)
  3. Edit build.prop and add or edit ro.dalvik.vm.native.bridge to ro.dalvik.vm.native.bridge=libnb.so

I've compiled libnb.so using default parameters and enabled the experimental patches. It produces one file - libnb.so

Copied it to /var/lib/waydroid/overlay/system/lib64, and edited the waydroid config file to use libnb.so instead of libhoudini.so

Wild Rift crashes, although Wild Rift works when using the original libhoudini.so

Blue Archie doesn't work too it crashes right away.

EDIT: do i still need to build nbpatcher.so?

qwerty12356-wart commented 2 months ago

Hi this is continuation from ryanrudolfoba/SteamOS-Waydroid-Installer#102

I'm testing on Steam Deck using libhoudini translation layer.

The README mentions 2 libnb versions, im confused on step 2 as after building I only got one libnb.so file -

  1. Build libnb from source (See Build)
  2. Copy the two libnb version to their respective folder. (/system/lib and system/lib64)
  3. Edit build.prop and add or edit ro.dalvik.vm.native.bridge to ro.dalvik.vm.native.bridge=libnb.so

I've compiled libnb.so using default parameters and enabled the experimental patches. It produces one file - libnb.so

Copied it to /var/lib/waydroid/overlay/system/lib64, and edited the waydroid config file to use libnb.so instead of libhoudini.so

Wild Rift crashes, although Wild Rift works when using the original libhoudini.so

Blue Archie doesn't work too it crashes right away.

EDIT: do i still need to build nbpatcher.so?

You are supposed to build 2 libs manually for 2 architecture, x86 (32 bit) and x86_64 (64 bit) and put it into two folders system/lib and system/lib64 respectively

And no, you dont need to build nbpatcher

EDIT: If you are too lazy to type out the commands manually, here is the 2 command that will generate build folders for both 64 bit and 32 bit libraries in that order: cmake . -B build -DSKIP_NB_ENABLED_CHECK=ON -DENABLE_EXPERIMENTAL_PATCHES=ON cmake . -B build_x86 -DSKIP_NB_ENABLED_CHECK=ON -DCOMPILE_ARCH=x86 -DENABLE_EXPERIMENTAL_PATCHES=ON

qwerty12356-wart commented 2 months ago

By the way, the waydroid system can get to a state that i usually call "soft dead". Which would make native bridge immediately crash. To check if the system is "soft dead", simply check waydroid logcat, if it end abruptly, it is soft dead. The only way to fix it as far as i know is to restart the waydroid image. This usually happen when i start waydroid the first time after a restart or a full shutdown. I dont know how to reliably replicate this, but if you can find a way to, please report this to waydroid devs

ryanrudolfoba commented 2 months ago

it works now thank you! i guess im missing the x86 build - once i put that in Wild Rift works now.

i'm getting similar performance on Wild Rift when using libhoudini and the libnb around 10fps. cant compare with libndk as that game refuses to boot when using libndk translation.

Blue Archive still closes when using libnb.

qwerty12356-wart commented 2 months ago

it works now thank you! i guess im missing the x86 build - once i put that in Wild Rift works now.

i'm getting similar performance on Wild Rift when using libhoudini and the libnb around 10fps. cant compare with libndk as that game refuses to boot when using libndk translation.

Blue Archive still closes when using libnb.

can you show me the logcat when Blue Archive closes?