LSFG Android — A6xx Compatibility is a modified fork of FrankBarretta/LSFG-Android, focused on expanding LSFG frame generation compatibility to Qualcomm A6xx GPUs.
LSFG-Android brings the
lsfg-vk
frame-generation pipeline to Android.
Instead of directly hooking into another application's Vulkan swapchain,
frame interpolation runs from an Android MediaProjection capture and the
generated frames are displayed through a system overlay.
✅ Frame generation working on Adreno 619.
✅ A6xx compatibility improvements
✅ 2x / 3x / 4x Frame Generation
✅ Performance Mode
✅ Low Latency Mode
✅ Flow Scale control
✅ Frame pacing controls
✅ Real / Generated / Total FPS HUD
Note
Compatibility with other A6xx GPUs is currently experimental and requires physical device testing.
| Device | SoC | GPU | Status |
|---|---|---|---|
| Moto G34 | Snapdragon 695 | Adreno 619 | ✅ Working |
More device reports are welcome.
If you test the project on another A6xx GPU, feel free to open an Issue with your results.
Android does not provide the same Vulkan implicit-layer mechanism used by LSFG on Linux for hooking directly into another application's swapchain.
Instead, LSFG-Android uses a capture and overlay pipeline:
Game
↓
MediaProjection
↓
AHardwareBuffer
↓
Vulkan / LSFG
↓
Generated Frames
↓
Android Overlay
This allows frame generation to work without modifying the target game.
- 2x / 3x / 4x Frame Generation
- LSFG frame interpolation
- AHardwareBuffer-based Vulkan processing
- A6xx compatibility improvements
- Performance Mode
- Low Latency Mode
- Flow Scale control
- Anti-artifact controls
- Frame pacing configuration
- Target FPS controls
- VSync alignment
- Queue depth control
- EMA jitter smoothing
- Real / Generated / Total FPS monitoring
- Frame-time graph
- In-game settings overlay
- Automatic per-app overlay
- ARM64 Android support
The main goal of this fork is improving compatibility with Qualcomm A6xx GPUs.
The current implementation has been physically tested and confirmed working on:
Snapdragon 695
Adreno 619
Frame generation, generated-frame presentation and the main LSFG options work correctly on the tested device.
Other A6xx GPUs such as:
Adreno 610
Adreno 612
Adreno 616
Adreno 618
Adreno 620
Adreno 630
Adreno 640
Adreno 650
Adreno 660
may also work, but compatibility is not guaranteed yet.
Different Android versions, OEM Vulkan drivers and device implementations can affect compatibility.
If you test another device, please include:
Device:
SoC:
GPU:
Android version:
Vulkan driver:
LSFG multiplier:
Performance Mode:
Result:
Reports from other A6xx devices will help improve the compatibility matrix.
- Android 10+
- ARM64 device
- Vulkan support
- Compatible GPU
- Screen capture permission
- Overlay permission
- Legitimately purchased copy of Lossless Scaling
Important
You need a legitimately purchased copy of Lossless Scaling.
Lossless.dll is not shipped, downloaded or distributed by this
repository.
The user must provide their own legitimate copy.
Stable releases are tested before publication.
Pre-releases contain experimental changes and may contain bugs.
Stable releases contain changes that have already been physically tested.
Pre-releases may contain experimental work such as:
- A6xx compatibility improvements
- additional GPU support
- UI changes
- overlay improvements
- touch fixes
- driver experiments
- performance improvements
Use pre-releases for testing and report any regressions through GitHub Issues.
Clone the repository:
git clone https://github.com/amyroseee/LSFG-Android-A6xx.git
cd LSFG-Android-A6xx/LSFG-Android-ApplicationBuild a debug APK:
./gradlew :app:assembleDebugOr build a release APK:
./gradlew :app:assembleReleaseThe project uses:
- Kotlin
- Jetpack Compose
- C++
- JNI
- Vulkan
- AHardwareBuffer
- CMake
- Android NDK
The native LSFG components are built together with the Android application.
| Path | Description |
|---|---|
LSFG-Android-Application/ |
Android application, Kotlin UI and JNI/C++ render pipeline |
lsfg-vk-android/ |
Android-compatible lsfg-vk frame-generation backend |
The Android application links the native frame-generation components through CMake.
Keep the repository structure intact when building from source.
LSFG-Android uses Android screen capture and overlay APIs rather than directly hooking into the target application's Vulkan swapchain.
Because of this:
- additional latency compared with desktop/Linux LSFG is expected
- compatibility may vary between Android ROMs
- some GSIs may behave differently from stock ROMs
- touch passthrough behavior may vary between devices
- Vulkan driver behavior varies between manufacturers
- A6xx compatibility may vary between devices
- some upstream LSFG-Android bugs may still exist
These areas may improve in future releases.
If frame generation does not work correctly, include the following when reporting the problem:
Device model:
SoC:
GPU:
Android version:
Stock ROM / Custom ROM / GSI:
Vulkan driver information:
LSFG multiplier:
Performance Mode status:
Real FPS:
Generated FPS:
Total FPS:
Logs are also useful when available.
This project would not exist without the work of:
Creator of the Android port and its Android-specific infrastructure, including the MediaProjection capture pipeline, JNI/Vulkan integration, AHardwareBuffer sharing, overlay system, UI and Android frame-generation implementation.
Authors and contributors of the original lsfg-vk Vulkan frame-generation
project that provides the foundation for this Android port.
Original creators of Lossless Scaling and its frame-generation technology.
Lossless Scaling assets are not distributed by this repository.
This project is based on:
Please support the original projects and contributors.
This repository is a modified fork of LSFG-Android.
The repository contains components under different licenses:
LSFG-Android-Application/— GNU General Public License v3.0lsfg-vk-android/— MIT License- top-level repository files — MIT License
Always preserve the applicable license files, copyright notices and attribution when redistributing or modifying the project.
Lossless.dll and other proprietary Lossless Scaling assets are not
distributed by this project.