/libhoudini-package

给Android11 x86_64 安装libhoudini arm兼容层,提取自Windows Subsystem for Android™️ (WSA)。A Gearlock package for install libhoudini translation on x86_64 Android11,extracted from Windows Subsystem for Android™️ (WSA).

Primary LanguageShellThe UnlicenseUnlicense

libhoudini-for-x86_64-android11

(Sorry for my poor English)

简体中文 || English

1、Description

A Gearlock package for install libhoudini translation on x86_64 Android11,extracted from Windows Subsystem for Android™️ (WSA).

2、Supports Platform

Only supports x86_64 Android11.

3、Environment

  • Computer:Lenovo Legion Y7000 2020 (82AV)
  • CPU:Intel core i5-10200H
  • GPU:
    • Integrated Graphics:Intel(R) UHD Graphics 630
    • Discrete Graphics:Nvidia GeForce GTX 1650
  • RAM:16GB DDR4 (8GB+8GB)
  • OS: AOSP11-stock

4、Instructions

  1. Install Gearlock on Android x86 .
  2. Download and install this package
  3. Go to Settings and turn on the arm compatibility switch,reboot.
  4. Enjoy!

5、Extracts

You can use this batch file to extract libhoudini files by yourselves.

Show all
  1. Arm_32(armeabi,armeabi-v7a)
  • /system/bin/houdini
  • /system/bin/arm/linker
  • /system/lib/libhoudini.so
  • /system/lib/arm/*
  1. Arm_64(arm64-v8a)
  • /system/bin/houdini64
  • /system/bin/arm64/linker64
  • /system/lib64/libhoudini.so
  • /system/lib64/arm64/*

6、How to build

git clone https://github.com/AXIM0S/gearlock-dev-kit; cd ./gearlock-dev-kit
./configure; rm -rf ./workdir 
  • choose "3) Custom Core Package"
git clone https://github.com/natsumerinchan/libhoudini-package.git workdir
rm -rf ./workdir/*.md ./workdir/LICENSE ./workdir/.git ./workdir/.gitignore
./build
  • choose "1) I configured it manually"

7、Specify app native libraries

pm install --abi %ARCH% %APK_PATH%

ARCH:

  • armeabi
  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

8、Effect

  1. AIDA64 AIDA64

  2. Desktop Desktop

  3. PCR PCR

  4. Wallpaper Engine Wallpaper Engine

9、Known bugs

1.Blue Archive (Can open the title page, but it crashes on loading.)

  • Due to app's data is not recognized it will make the game crash on loading. To fix this, there're 2 solutions :

    These method are for people who can be able to compile custom Android-x86 images

    The proper way is to use file-systems such as sdcardfs or esdfs so that it can bind mount both apps data or obb correctly. This method is still being used by Android devices today.

    • Find a kernel that include the file-systems :

      ** For sdcardfs, check out maurossi or youling257 repo : (recommend to set CONFIG_SDCARD_FS to =y instead of =m)

      ** For esdfs, check out HMTheBoy154 (umbral branch) or youling257 (5.18 branch and above). esdfs and pkglist are pulled from ChromiumOS's third_party kernel repo.

    • Go to device/generic/common and revert this commit

    (These next step are required for people who want to use esdfs instead, which HMTheBoy154 recommend)

    • Still in device/generic/common, open device.mk and add these line
    PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
    ro.sys.sdcardfs=false \
    persist.sys.sdcardfs=force_off
    

    Result : Tested by HMTheBoy154 using BlissOS 15.6 (Android 12L) photo_2022-07-19_14-01-19