Skip to content

Repository files navigation

OpenGeLify

A Magisk / KernelSU Zygisk module that forces selected apps to render via the OpenGL backend instead of Vulkan. It works by PLT-hooking android::base::GetProperty() inside each target app's libhwui.so and making the property read of debug.hwui.renderer return skiagl (OpenGL) instead of skiavk (Vulkan), which is useful as a workaround for apps with buggy Vulkan drivers.

⚠️ Anti-Cheat Disclaimer

OpenGeLify works by hooking into app processes to force the OpenGL renderer. Online games with anti-cheat protection may detect this as tampering, which can result in temporary or permanent bans of your account or device.

Proceed with caution. TLDR: Only force OpenGL on apps that DO NOT HAVE ANTI-CHEAT.

OpenGeLify WebUI

Requirements

  • Device: arm64 (arm64-v8a)
  • Runtime: KernelSU Manager or Magisk with Zygisk enabled
  • Host (to build):
    • Android NDK (with ndk-build on PATH)
    • Node.js >= 18 and npm
    • zip and sh

Build

The module ships with the WebUI source (webroot/src/) and the Zygisk module source (zygisk_src/). Everything is compiled into place before packaging.

1. Build the Zygisk library

cd zygisk_src
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./jni/Android.mk NDK_APPLICATION_MK=./jni/Application.mk
cp libs/arm64-v8a/libopengelify.so ../zygisk/arm64-v8a.so

This produces libs/libopengelify.so, the module's hook library. It must be regenerated whenever zygisk_src/jni/opengelify.cpp changes; it should be renamed into the abi (for example arm64-v8a) and put into the "zygisk" directory.

2. Build the WebUI

cd webroot
npm install
npm run build

This runs Parcel on src/script.js and emits webroot/script.js (the file that actually ships in the module).

3. Package the module

cd ..
./release.sh

This zips the module into OpenGeLify.zip at the repo root, excluding dev-only files (zygisk_src/, webroot/src/, node_modules, walkthrough.md, release.sh, the README, and the images/ screenshot).

Install

  1. Transfer OpenGeLify.zip to the device.
  2. Enable Zygisk in magisk settings or install a Zygisk implementation module (zygisk-next or rezygisk).
  3. Flash OpenGeLify.zip in KernelSU Manager or Magisk.
  4. Reboot.
  5. Open the module's WebUI (via the manager) and toggle which apps should be forced to render via OpenGL.

Config is stored at /data/adb/opengelify/packages.txt (persists across module updates/uninstalls).

About

A Zygisk module that switches apps from using Vulkan to OpenGL on the fly!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages