waydroid_script icon indicating copy to clipboard operation
waydroid_script copied to clipboard

libhoudini install breaks 32 bit waydroid

Open dreamlayers opened this issue 3 years ago • 4 comments
trafficstars

I'm running Waydroid in Ubuntu 22.10. The CPU doesn't support SSE4.2, so Waydroid installs 32-bit Android. It works. But then if I install libhoudini, it stops working. The only relevant error message I'm able to see is this in waydroid log: lxc-start: waydroid: conf.c: run_buffer: 321 Script exited with status 126

This seems to be because of the way build props are set, including 64 abi props. I got Waydroid to work again by changing abi props to:

ro.product.cpu.abi=x86
ro.product.cpu.abilist=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi

After that I could install an app with 32 bit arm libraries. But then, trying to run it, I get this in logcat:

11-15 16:33:10.653 44041 44110 D houdini : [44110] Expected CPU feature >> AES << is not supported.
11-15 16:33:10.653 44041 44110 D houdini : [44110] Expected CPU feature >> POPCNT << is not supported.
11-15 16:33:10.653 44041 44110 D houdini : [44110] Expected CPU feature >> SSE4_2 << is not supported.
11-15 16:33:10.653 44041 44110 D houdini : [44110] Expected CPU feature >> PCLMULQDQ << is not supported.
11-15 16:33:10.658    45    45 I tombstoned: received crash request for pid 44041

So, at least this build of houdini can't actually run on my CPU. I wonder if houdini can be built without those requirements?

Edit: Installing libndk runs into the same problems. Again there is a need to edit system/build.prop the same way. Then when I try to run the app, it dies with SIGILL (illegal instruction) in the NDK library.

Using https://github.com/mirh/opemu-linux, which I needed to alter a bit to run with my kernel, the translators crash a different way instead. Opemu works well enough to make POPCNT work, but I guess there are some problems with other instructions.

dreamlayers avatar Nov 15 '22 16:11 dreamlayers

update your hardware

WesleyVanNeck avatar Jan 11 '23 19:01 WesleyVanNeck

It would be nice if waydroid_script refused to install Houdini on 32 bit Waydroid instead of breaking Waydroid.

dreamlayers avatar Jan 12 '23 21:01 dreamlayers

There are 3 versions of Houdini:

x: arm32 translation for x86
y: arm32 translation for x86_64
z: arm64 translation for x86_64

But after Android11, only y and z exist.

ayasa520 avatar Jan 20 '23 03:01 ayasa520