Supercell Brawl Stars with libhoudini

1,814 views
Skip to first unread message

AntonP

unread,
Oct 25, 2019, 12:19:55 PM10/25/19
to Android-x86
Hi,

Supercell in September 2019 removed x86 support from Brawl Stars.
It is online game and it is impossible to use previous version - it detects update and loading stops.

I have Dell notebook and tried several Android-x86.
Also Virtualbox was used.

Working combinations:
android-x86-7.1-r2.iso + houdini7_x.sfs (version: 6.1.2d_x.48748 RELEASE)
android-x86-7.1-r3.iso + houdini7_x.sfs (version: 6.1.2d_x.48748 RELEASE)

Crash combinations:
android-x86_64-7.1-r2.iso + houdini7_y.sfs + houdini7_z.sfs
android-x86_64-7.1-r3.iso + houdini7_y.sfs + houdini7_z.sfs
android-x86-8.1-r2.iso + houdini8_y.sfs (version: 8.0.0_y.49374 RELEASE)
android-x86_64-8.1-r2.iso + houdini8_y.sfs (version: 8.0.0_y.49374 RELEASE)
android-x86_64-8.1-r2-k49.iso + houdini8_y.sfs (version: 8.0.0_y.49374 RELEASE)
android_x86_64_9.0.0-r34_k4.19.50_m19.0.0-rc6v_SU_arm32v9_gapps_20190810.iso (embedded houdini (version: 9.0.0e_y.50085 RELEASE))
BlissOS, PhoenixOS.

Crash exotic combinations:
android-x86_64-7.1-r2.iso + houdini7_x.sfs 
android-x86_64-8.1-r2.iso + houdini9_y.sfs

logcat of success:
10-22 16:07:50.926 I/ActivityManager( 1560): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.supercell.brawlstars/.GameApp bnds=[95,36][291,149] (has extras)} from uid 10056 on display 0
10-22 16:07:50.950 I/ActivityManager( 1560): Start proc 6583:com.supercell.brawlstars/u0a69 for activity com.supercell.brawlstars/.GameApp
10-22 16:07:55.276 D/houdini ( 6583): [6583] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libfmod.so for ClassLoader by Native Bridge.
10-22 16:07:58.110 D/houdini ( 6583): [6583] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libg.so for ClassLoader by Native Bridge.
10-22 16:07:58.466 I/cell.brawlstars( 6639): type=1400 audit(0.0:1202): avc: denied { execute } for name="sh" dev="sda6" ino=383151 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1
10-22 16:07:58.467 I/cell.brawlstars( 6639): type=1400 audit(0.0:1203): avc: denied { read open } for path="/system/bin/sh" dev="sda6" ino=383151 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1
10-22 16:07:58.467 I/cell.brawlstars( 6639): type=1400 audit(0.0:1204): avc: denied { execute_no_trans } for path="/system/bin/sh" dev="sda6" ino=383151 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1
10-22 16:07:59.712 D/houdini ( 6583): [6583] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libcrashlytics.so for ClassLoader by Native Bridge.

logcat of crash 8.1 x64:
10-21 16:50:03.629 D/houdini (17329): [17329] Initialize library(version: 8.0.0_y.49374 RELEASE)... successfully.
10-21 16:50:03.833 D/houdini (17329): [17329] loaded library /data/app/com.supercell.brawlstars-TLohNDHY7ty2LX-tr7I9TA==/lib/arm/libfmod.so via Native Bridge.
10-21 16:50:04.027 D/houdini (17329): [17329] loaded library /data/app/com.supercell.brawlstars-TLohNDHY7ty2LX-tr7I9TA==/lib/arm/libg.so via Native Bridge.
10-21 16:50:04.183 F/libc    (17329): Fatal signal 4 (SIGILL), code 0, fault addr 0x43b1 in tid 17329 (cell.brawlstars), pid 17329 (cell.brawlstars)
10-21 16:50:04.220 F/DEBUG   (17384): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-21 16:50:04.221 F/DEBUG   (17384): Build fingerprint: 'Android-x86/android_x86_64/x86_64:8.1.0/OPM8.190605.003/cwhuang0613:userdebug/test-keys'
10-21 16:50:04.221 F/DEBUG   (17384): Revision: '0'
10-21 16:50:04.221 F/DEBUG   (17384): ABI: 'x86'
10-21 16:50:04.221 F/DEBUG   (17384): pid: 17329, tid: 17329, name: cell.brawlstars  >>> com.supercell.brawlstars <<<
10-21 16:50:04.221 F/DEBUG   (17384): signal 4 (SIGILL), code 0 (SI_USER), fault addr --------
10-21 16:50:04.221 F/DEBUG   (17384):     eax 00000000  ebx 000043b1  ecx 00000004  edx d6250ff4
10-21 16:50:04.221 F/DEBUG   (17384):     esi d63f6de4  edi d64d766c
10-21 16:50:04.221 F/DEBUG   (17384):     xcs 00000023  xds 0000002b  xes 0000002b  xfs 0000006b  xss 0000002b
10-21 16:50:04.221 F/DEBUG   (17384):     eip d60245cf  ebp 000043b1  esp ffb0fd30  flags 00000246
10-21 16:50:04.221 F/DEBUG   (17384): 
10-21 16:50:04.221 F/DEBUG   (17384): backtrace:
10-21 16:50:04.221 F/DEBUG   (17384):     #00 pc 0020e5cf  /system/lib/libhoudini.so

Is any idea how to understand: why lihoudini crashed and avoid it?
logcat-7.1_r2_86_ok.txt
logcat-7.1_r3_86_ok.txt
logcat-error_8.1_64_error.txt
logcat-error_9_64_error.txt

fguy

unread,
Oct 25, 2019, 1:21:33 PM10/25/19
to Android-x86
For "android-x86_64-7.1-r3.iso + houdini7_y.sfs + houdini7_z.sfs" change in file system/build.prop
line
ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi
to
ro.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi,arm64-v8a

This will change the priority of choosing a processor type for programs in which the arm and arm64 libraries are present in favor of arm. Unfortunately, arm64 support for 7.1.2-r3 does not work very well for a combination of 4.9 kernel and 17.1.10 mesa.

AntonP

unread,
Oct 25, 2019, 3:41:20 PM10/25/19
to Android-x86
Thank you for idea.


This is before change:
10-25 19:04:53.977 D/houdini ( 3560): [3560] Initialize library(version: 7.1.0a_z.49344 RELEASE)... successfully.
10-25 19:04:54.268 D/houdini ( 3560): [3560] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm64/libfmod.so for ClassLoader by Native Bridge.
10-25 19:04:54.589 D/houdini ( 3560): [3560] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm64/libg.so for ClassLoader by Native Bridge.
10-25 19:04:54.645 F/libc    ( 3560): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7f0f6671db3a in tid 3560 (cell.brawlstars)
10-25 19:04:54.653 F/DEBUG   ( 3615): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-25 19:04:54.653 F/DEBUG   ( 3615): Build fingerprint: 'Android-x86/android_x86_64/x86_64:7.1.2/N2G48H/lh10170834:userdebug/test-keys'
10-25 19:04:54.653 F/DEBUG   ( 3615): Revision: '0'
10-25 19:04:54.653 F/DEBUG   ( 3615): ABI: 'x86_64'
10-25 19:04:54.653 F/DEBUG   ( 3615): pid: 3560, tid: 3560, name: cell.brawlstars  >>> com.supercell.brawlstars <<<
10-25 19:04:54.653 F/DEBUG   ( 3615): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7f0f6671db3a
10-25 19:04:54.653 F/DEBUG   ( 3615):     rax 00007eff6671db4a  rbx 00000001044d9984  rcx 0000000ffffffff0  rdx 0000000000004001
10-25 19:04:54.653 F/DEBUG   ( 3615):     rsi 0000000000000001  rdi 00007eff6c5ca000
10-25 19:04:54.653 F/DEBUG   ( 3615):     r8  0000000000000de8  r9  00007eff6c5d0b40  r10 0000000000000000  r11 00007eff668ee660
10-25 19:04:54.653 F/DEBUG   ( 3615):     r12 00000000ffffffff  r13 0000000010012060  r14 ffffffffffffffff  r15 0000000004192f94
10-25 19:04:54.653 F/DEBUG   ( 3615):     cs  0000000000000033  ss  000000000000002b
10-25 19:04:54.653 F/DEBUG   ( 3615):     rip 00007eff6621db2f  rbp ffffffffffffffff  rsp 00007fff04eb3060  eflags 0000000000010206
10-25 19:04:54.655 F/DEBUG   ( 3615): 
10-25 19:04:54.655 F/DEBUG   ( 3615): backtrace:
10-25 19:04:54.655 F/DEBUG   ( 3615):     #00 pc 000000000029cb2f  /system/lib64/libhoudini.so
10-25 19:04:54.655 F/DEBUG   ( 3615):     #01 pc 0000000000257e20  /system/lib64/libhoudini.so
10-25 19:04:54.655 F/DEBUG   ( 3615):     #02 pc 00000000002ca202  /system/lib64/libhoudini.so
10-25 19:04:54.655 F/DEBUG   ( 3615):     #03 pc 00000000000022ca  <anonymous:00007eff46616000>
10-25 19:04:54.655 F/DEBUG   ( 3615):     #04 pc 00000000007fb95f  [stack:00007fff046b8000]
10-25 19:04:54.655 F/DEBUG   ( 3615):     #05 pc 0048000000000004  <unknown>

After change:
10-25 19:01:17.885 D/houdini ( 4618): [4618] Initialize library(version: 7.1.0a_y.49344 RELEASE)... successfully.
10-25 19:01:18.162 D/houdini ( 4618): [4618] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libfmod.so for ClassLoader by Native Bridge.
10-25 19:01:18.369 D/houdini ( 4618): [4618] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libg.so for ClassLoader by Native Bridge.
10-25 19:01:18.404 F/libc    ( 4618): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc7de1014 in tid 4618 (cell.brawlstars)
10-25 19:01:18.410 F/DEBUG   ( 4666): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-25 19:01:18.410 F/DEBUG   ( 4666): Build fingerprint: 'Android-x86/android_x86_64/x86_64:7.1.2/N2G48H/lh10170834:userdebug/test-keys'
10-25 19:01:18.410 F/DEBUG   ( 4666): Revision: '0'
10-25 19:01:18.410 F/DEBUG   ( 4666): ABI: 'x86'
10-25 19:01:18.410 F/DEBUG   ( 4666): pid: 4618, tid: 4618, name: cell.brawlstars  >>> com.supercell.brawlstars <<<
10-25 19:01:18.410 F/DEBUG   ( 4666): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc7de1014
10-25 19:01:18.410 F/DEBUG   ( 4666):     eax e24dd00c  ebx f1ccbff4  ecx 016fa000  edx e24dd00c
10-25 19:01:18.410 F/DEBUG   ( 4666):     esi 10012040  edi 00000000
10-25 19:01:18.410 F/DEBUG   ( 4666):     xcs 00000023  xds 0000002b  xes 0000002b  xfs 0000006b  xss 0000002b
10-25 19:01:18.410 F/DEBUG   ( 4666):     eip f18fd08e  ebp e5904008  esp ffdbd040  flags 00010246
10-25 19:01:18.410 F/DEBUG   ( 4666): 
10-25 19:01:18.410 F/DEBUG   ( 4666): backtrace:
10-25 19:01:18.410 F/DEBUG   ( 4666):     #00 pc 0009c08e  /system/lib/libhoudini.so

The application does not contain all platforms inside.
Even when I made the change, Google play downloaded arm64-v8a version.
So I manually downloaded armeabi-v7a from apkcombo.com and installed it.
I can see that Y version was loaded but even it has the issue.

I cannot understand the crash is inside main application or in the libg.so library which is loaded before crash?

Something happens here:

x86
10-25 19:26:08.799 D/houdini ( 3359): [3359] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libg.so for ClassLoader by Native Bridge.
10-25 19:26:08.818 I/cell.brawlstars( 3409): type=1400 audit(0.0:671): avc: denied { execute_no_trans } for path="/system/bin/sh" dev="sda5" ino=397084 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1
10-25 19:26:08.820 I/sh      ( 3409): type=1400 audit(0.0:672): avc: denied { read } for name="which" dev="sda5" ino=397151 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=lnk_file permissive=1
10-25 19:26:08.944 D/houdini ( 3359): [3359] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libcrashlytics.so for ClassLoader by Native Bridge.

x64-arm
10-25 19:01:18.369 D/houdini ( 4618): [4618] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm/libg.so for ClassLoader by Native Bridge.
10-25 19:01:18.384 I/sh      ( 4659): type=1400 audit(0.0:906): avc: denied { read } for name="which" dev="sda5" ino=389168 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=lnk_file permissive=1
10-25 19:01:18.404 F/libc    ( 4618): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc7de1014 in tid 4618 (cell.brawlstars)

x64-arm64
10-25 19:04:54.589 D/houdini ( 3560): [3560] Added shared library /data/app/com.supercell.brawlstars-1/lib/arm64/libg.so for ClassLoader by Native Bridge.
10-25 19:04:54.624 I/cell.brawlstars( 3612): type=1400 audit(0.0:638): avc: denied { execute_no_trans } for path="/system/bin/sh" dev="sda5" ino=389101 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1
10-25 19:04:54.626 I/sh      ( 3612): type=1400 audit(0.0:639): avc: denied { read } for name="which" dev="sda5" ino=389168 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=lnk_file permissive=1
10-25 19:04:54.645 F/libc    ( 3560): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7f0f6671db3a in tid 3560 (cell.brawlstars)


P.S.
"Failed to register native method com.supercell.titan.UnbotifyManager.sendPackage([B)V in /data/app/com.supercell.brawlstars-1/base.apk"
It appeared in last version of game, 2 days ago. This is not the reason of issue.
On x86-r3 it presented too and no issue.


Is it possible to use this one: "android-x86_64-7.1-r2.iso + houdini7_x.sfs + ro.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi,arm64-v8a" ?
logcat-7.1_64_r3_error arm.txt
logcat-7.1_64_r3_error arm64.txt
logcat-7.1_86_r3_ok.txt

fguy

unread,
Oct 25, 2019, 4:43:42 PM10/25/19
to Android-x86
After the change, you must restart the android and reinstall the applications that contain both the arm and arm64 libraries. I do not know how much this affects the choice of version for installation from the playmarket.
This is not my idea - this order of architectures is specified in the tablet Lenovo YB1-X90L firmware, from which the Houdini libraries for android x86 7.1 are taken. I am also sure that this option is more optimal, because Arm32 emulation is simpler than arm64 and use arm64 emulation only if there are no other options.

AntonP

unread,
Oct 26, 2019, 2:29:39 AM10/26/19
to Android-x86
I did restart after build.prop.
And Y houdini was loaded with arm32 libs.

android-x86_64-8.1-r2.iso contains this:
ro.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi.
And armeabi-v7a version installed and loaded with Y houdini with crash...

DDS Central

unread,
Oct 26, 2019, 2:49:47 AM10/26/19
to Android-x86
You have a segfault in Houdini libs. I've seen this kind of thing before. It's just that not all apps work with Houdini. Try a newer version of Android if possible.

--
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 view this discussion on the web visit https://groups.google.com/d/msgid/android-x86/51a7e508-fb23-4bd9-84fb-ddcaee99993d%40googlegroups.com.

Chih-Wei Huang

unread,
Oct 27, 2019, 11:12:32 PM10/27/19
to Android-x86
AntonP <anton.pe...@gmail.com> 於 2019年10月26日 週六 上午3:41寫道:
[deleted]
> The application does not contain all platforms inside.
> Even when I made the change, Google play downloaded arm64-v8a version.
> So I manually downloaded armeabi-v7a from apkcombo.com and installed it.
> I can see that Y version was loaded but even it has the issue.
>
> I cannot understand the crash is inside main application or in the libg.so library which is loaded before crash?

All crash inside libhoudini. Should be a bug of libhoudini.

[deleted]
> P.S.
> "Failed to register native method com.supercell.titan.UnbotifyManager.sendPackage([B)V in /data/app/com.supercell.brawlstars-1/base.apk"
> It appeared in last version of game, 2 days ago. This is not the reason of issue.
> On x86-r3 it presented too and no issue.
>
> Is it possible to use this one: "android-x86_64-7.1-r2.iso + houdini7_x.sfs + ro.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi,arm64-v8a" ?

It's interesting that houdini 6.1.2d has no issue, while newer houdini
all crash.

You can try 64-bit 7.1-r3 with houdini6_y and/or houdini6_z.
You can download them manually and replace houdini7_[yz]
in /data/arm. (may need to reboot the system to make them work)


--
Chih-Wei
Android-x86 project
http://www.android-x86.org

AntonP

unread,
Oct 28, 2019, 9:16:10 AM10/28/19
to Android-x86
I used your advice:
android-x86_64-7.1-r3.iso + houdini6_y.sfs + houdini6_z.sfs (renamed to houdini7_y.sfs + houdini7_z.sfs)

arm64-v8a
10-28 10:56:57.029 D/houdini ( 3181): [3181] Initialize library(version: 6.1.2d_z.48748 RELEASE)... successfully.
loading is ok.
First game stage is ok.
Then crash in another place (in /system/lib64/libhoudini.so).

armeabi-v7a:
10-28 15:24:21.240 D/houdini ( 4146): [4146] Initialize library(version: 6.1.2d_y.48748 RELEASE)... successfully.
No problem.

I also tried another combinations:

android-x86_64-8.1-r2.iso + houdini6_y.sfs + houdini6_z.sfs (renamed to houdini8_y.sfs + houdini8_z.sfs)
android-x86_64-8.1-r2.iso + houdini7_y.sfs + houdini7_z.sfs (renamed to houdini8_y.sfs + houdini8_z.sfs)
armeabi-v7a:
10-28 13:53:17.248 E/libnb   ( 7010): Unable to open /system/lib/libhoudini.so
10-28 13:53:17.248 W/libnb   ( 7010): Native bridge is enabled but callbacks not found

arm64-v8a:
10-28 14:26:04.195 E/libnb   ( 3861): Unable to open /system/lib64/libhoudini.so
10-28 14:26:04.197 W/libnb   ( 3861): Native bridge is enabled but callbacks not found


So now I have 2 working combinations:
android-x86-7.1-r3.iso + houdini7_x.sfs (version: 6.1.2d_x.48748 RELEASE) - during last two weeks I faced with many freezes in game, so hard reset was needed.
android-x86_64-7.1-r3.iso + houdini6_y.sfs (renamed to houdini7_y.sfs) (version: 6.1.2d_y.48748 RELEASE). Test started.

fguy

unread,
Oct 28, 2019, 9:59:32 AM10/28/19
to Android-x86
I conducted a series of tests with different build options for android 7.1.2 x86_64 for kernels 4.4, 4.9, 4.11, 4.19 and mesa 17.1.10, 17.2.2, 18.3.6 (intel only). For my set of games, the assembly with the kernel 4.4 and mesa 17.1.10 turned out to be optimal - all games work on it and the antutu test shows more details on fire than in newer ones. Upgrading the kernel version from 4.9 to 4.19 and mesa from 17 to 18 leads to poor compatibility with arm64 and improves arm32. The original firmware from a lenovo tablet with houdini is based on the 3.17 kernel - maybe the quality of the emulation depends on the version of the kernel, and not on mesa.

AntonP

unread,
Oct 28, 2019, 11:43:57 AM10/28/19
to Android-x86
>the assembly with the kernel 4.4 and mesa 17.1.10 turned out to be optimal
Could you please share it?

fguy

unread,
Oct 28, 2019, 3:35:35 PM10/28/19
to Android-x86
Unfortunately, this build does not solve the problems with your game. Also, rotation sensors, etc. do not work in it. If this suits you, I can publish it.

понедельник, 28 октября 2019 г., 18:43:57 UTC+3 пользователь AntonP написал:

AntonP

unread,
Oct 29, 2019, 2:59:39 AM10/29/19
to Android-x86
Please publish.
I will try it.
May be it could be useful for somebody else.

fguy

unread,
Oct 29, 2019, 4:47:55 AM10/29/19
to Android-x86
android_x86_64_7.1.2-r39_k4.4.62_m17.1.10_gapps-pico_SU_arm_20191026.zip (863 Mb)

AntonP

unread,
Oct 29, 2019, 6:55:33 AM10/29/19
to Android-x86
Thank you.

Yes it has same problem in houdini7_z.

It is complicated to change houdini to houdini6_z.sfs.
I removed all 7_z files, and installed by enable_native houdini6_z.sfs but it does not work.
Should 6_z load by 4.4 kernel?

I will try to insert houdini6_z in the installation image.

fguy

unread,
Oct 29, 2019, 7:40:32 AM10/29/19
to Android-x86
My build does not use houdini * .sfs files. Arm native bridge files are located in their places in the folders of the system section. Arm emulation is always on.

вторник, 29 октября 2019 г., 13:55:33 UTC+3 пользователь AntonP написал:

AntonP

unread,
Oct 29, 2019, 8:12:20 AM10/29/19
to Android-x86
I understood. I tried to replace them on installed OS.

Siaw Zen

unread,
May 13, 2020, 12:38:56 AM5/13/20
to Android-x86
your build is greatful

BTW you  have build with The original firmware from a lenovo tablet with houdini is based on the 3.17 kernel ?

Thanks

fguy

unread,
May 13, 2020, 7:42:20 AM5/13/20
to Android-x86
I did not do such assemblies, because I think that the old Linux 3.x kernel will most likely not work well with the core m3 6Y30 processor.

среда, 13 мая 2020 г., 7:38:56 UTC+3 пользователь Siaw Zen написал:

Siaw Zen

unread,
May 13, 2020, 11:15:56 PM5/13/20
to Android-x86
can you share the best build that you own working well with your device :D

https://yadi.sk/d/HzmoDe7wd6bpVA is great most many game compatible but you have newer one ? hehehe

Thanks
Reply all
Reply to author
Forward
0 new messages