mrkeyoor.com_
Sat 03 Oct 06:47 UTC
Dev Toolsevaluationupdated 03 Oct 2026

DuoFold-Android review

DuoFold is an Android visual-effect app that makes a normal phone screen appear to fold as you tilt the device. Its documentation is available in English and Simplified Chinese, and release v0.6.1 also added an English app interface. It uses Shizuku, accessibility access, motion sensors, screen capture, and OpenGL ES instead of requiring root or foldable hardware.

Verdict

Our DuoFold build and test commands both stopped after 6 seconds with ./gradlew: Permission denied, so the source checkout did not clear the first reproducibility check. Try the signed APK if the whole-screen fold illusion is the point and you accept Shizuku plus accessibility access. Developers should wait for an executable wrapper and automated build checks, or repair and audit the checkout before trusting a local build.

We ran it

Lab card: what happened when we ran DuoFold-AndroidScreenshot of DuoFold-Android (github.com/jcx396905-gif/DuoFold-Android)
Install✓ · 6s
Build✗ · 6s
Tests✗ · 6sran, no count parsed
Repo61 files~2,232 lines of source · 0.9 MB · 0 CI workflows

Answers from our run

Does DuoFold-Android build from source?

Dependencies installed in 6 seconds, and the build failed. We cloned commit 86a3578 into a clean Debian container with 3 CPUs and no project-specific setup.

Do DuoFold-Android's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use DuoFold-Android?

Anyone uncomfortable granting Shizuku and accessibility access to an app that captures the current display, even though the README says it has no Internet permission and does not save normal screen images.

What are the alternatives to DuoFold-Android?

Lawnchair, Muzei, Wallpaper Engine for Android. Our DuoFold build and test commands both stopped after 6 seconds with `.

Setup2/5APK setup has four steps; source commands hit permission denied
Docs4/5Bilingual setup, platform limits, internals, and build requirements
Community2/5181 stars and four issue reports in a three-week-old project
Maturity2/5v0.6.1 is active, but device coverage and build checks are thin

Who it’s for

Android enthusiasts who want a system-wide motion effect rather than a launcher-only animation.
Developers studying sensor-driven OpenGL projection and Shizuku-based screen capture.
Android 14 or newer users who want live capture plus corrected touch coordinates.
Tinkerers willing to test vendor-specific capture and overlay behavior on their own phone.

Who it’s NOT for

Anyone uncomfortable granting Shizuku and accessibility access to an app that captures the current display, even though the README says it has no Internet permission and does not save normal screen images.
Android 10 or 11 users expecting live screen movement: the compatibility build moves one captured frame until the effect restarts or the display rotates.
Users who need protected video or screenshot-blocked apps to remain visible: the README says those surfaces may turn black.
Battery-sensitive users: the project warns that extended use raises GPU load and power consumption.
Teams requiring a reproducible source build on clone: our build and test commands both stopped with ./gradlew: Permission denied, and the repo has no CI workflows or tests directory.

Setup reality

Our fresh JVM sandbox installed the checkout in 6 seconds. The build then failed with exit 126 after 6 seconds because the shell could not execute ./gradlew; the only build-log line was Permission denied. The test step ended the same way after 6 seconds.

Building from source calls for JDK 17 and Android SDK 36. Running the app needs an Android 10 or newer phone, Shizuku started through wireless debugging or ADB, authorization inside DuoFold, and its accessibility service enabled.

Android 14 and newer get live capture and touch-coordinate correction. Android 10 and 11 use a static captured frame, Android 10 through 13 lack that touch correction, protected content can appear black, and vendor screen-capture rules can change the result.

DuoFold bends the displayed image, not the Android layout

DuoFold treats the current screen as a texture and projects that texture as the phone tilts. Perspective, translation, lighting, blur, and depth move with the game rotation vector and gyroscope. The app leaves icons, text, and third-party layouts where they are. You are looking at a transformed final image, which is why the effect can cover the launcher and other apps without foldable hardware.

The renderer caps captured width at 1080 pixels and updates at up to 30 FPS. Its defaults include an 80-degree maximum tilt, 6 to 32 blur samples, and 40 ms of gyroscope prediction. Six visual styles range from the original frosted effect to clear projection and a lens-bokeh mode. Those are implementation details you can reason about, not a vague promise that the phone will feel more spatial.

Shizuku and accessibility access make the illusion possible

The app uses Shizuku to reach the display image, passes frames through local memory, and renders them with OpenGL ES. It also needs its screen-effect accessibility service. Setup therefore means starting Shizuku through wireless debugging or ADB, authorizing DuoFold, enabling accessibility, trying the effect for 10 seconds, and then turning on the global mode. Root is not required.

That permission bundle deserves a deliberate decision. The README says DuoFold has no Internet permission and neither saves nor uploads screen images during normal use. The overlay is excluded from system screenshots to avoid capturing itself. Those are sensible limits, but the app still observes the displayed image and adjusts touch coordinates on supported releases. Read the source and install only an APK whose origin you trust.

What happened when we ran it

Our sandbox cloned commit 86a3578, a 0.9 MB repository with 61 files and roughly 2,232 lines of source. The unprivileged container had 3 CPUs, 10 GB of RAM, and JDK 21. Its install step succeeded in 6 seconds. The repository scan found no CI workflow files, no Dockerfile, and no tests directory.

The build command failed after 6 seconds with exit 126. The complete useful message was bash: line 1: ./gradlew: Permission denied. The test command produced the same message, exit code, and 6-second duration. We did not reach Gradle configuration, Android dependency resolution, compilation, or the motion module's JVM tests, so none of those later stages received a pass or failure.

The log establishes only that the shell could not execute the wrapper in our checkout. It does not establish why, and we will not substitute a guess. What matters to a developer is the handoff: the README's documented build command could not start in a fresh Debian container. A CI workflow would catch that sort of source-package problem before a release. DuoFold currently has 0 workflows.

Android 14 is the meaningful feature boundary

Two APKs split support. The standard build targets Android 14 and newer, where DuoFold can stream the screen and correct touch coordinates to follow the transformed image. Android 10 through 13 use a compatibility build. Versions 10 and 11 capture one base frame at startup, then move that still image from sensor data until rotation or a restart refreshes it.

Android 10 through 13 also lack the newer accessibility API for touch correction. If interaction becomes awkward while the display appears tilted, the README tells users to return to the calibrated pose. Protected or screenshot-blocked content may show black. Xiaomi devices may require an extra USB debugging security setting, while other vendors can impose different capture and overlay restrictions.

Those limits narrow the ideal audience to recent Android phones used by people who enjoy tinkering. A system-wide visual trick that raises GPU load is a poor fit for battery-first use, protected streaming apps, or a phone where Shizuku must be reauthorized frequently. It is more convincing as an optional effect you switch on for short stretches than as an invisible daily utility.

Version 0.6.1 moved quickly, but device proof is still narrow

The repository was created on September 12, 2026, pushed on October 1, and had 181 stars when checked on October 3. Release v0.6.1 says it addresses all four community reports: a stuck capture-service connection, recovery after screen lock, Android 17 compatibility, and an English interface. The four issue records were still open, so the release notes and tracker had not been reconciled.

The README names a Xiaomi 15 running Android 16 as its tested device. Runtime signature scanning and fallbacks try to cope with AOSP and vendor variants of hidden screen-capture APIs, but one phone cannot represent Samsung, Pixel, Xiaomi, and custom-ROM behavior. DuoFold is interesting because it turns a precise visual idea into a small Android project. Its next proof should be less glamorous: an executable wrapper, automated builds, and a short device matrix tied to each release.

Alternatives

ProjectWhat it isPick it when
LawnchairAn open-source Android launcher with home-screen customization and motion features.pick this instead when you want to change the launcher without reprojecting every app on the display.
MuzeiAn open-source live wallpaper app that refreshes and presents artwork behind the launcher.pick this instead when a visual background is enough and you do not want screen capture or accessibility access.
Wallpaper Engine for AndroidA mobile companion for using animated wallpapers from the Wallpaper Engine library.pick this instead when you want animated wallpaper rather than a system-wide folding illusion.

What people are saying

  1. [velocity-scout] jcx396905-gif/DuoFold-Android

Sources

  1. DuoFold README
  2. DuoFold repository facts
  3. DuoFold v0.6.1 release
  4. DuoFold issue tracker

More dev tools reviews

ToolReplay · CUDA-for-AMD-Windows · wutw-public · viserys-agent · birdview · YOINK · the whole board →