Releases: AbrahamPaulJ/npuforge
Release list
NPUforge 1.0.6 (experimental) — SD1.5 Swap conversion
⚠ Experimental pre-release. 1.0.5 stays the stable release.
What's new
- Convert as → SD1.5 Swap (experimental): a third mode beside Text-to-image and Inpainting. It builds the UNet with LoRA (rank 64) and ControlNet as inputs, so Nightmare Mobile 1.6.064 picks LoRAs and canny / depth / openpose ControlNets per render, with no reconversion. The export is named
…_npuforge_swap.zip; import it in Nightmare's Models → SD 1.5 Swap.
Good to know
- Cost: a Swap model renders about 15% slower than a plain conversion of the same checkpoint, and its compile takes about twice as long (about 3 minutes on an 8 Elite, 8 minutes for the whole conversion). 512×512 only.
- LoRAs are chosen in Nightmare, so the LoRA list is hidden in Swap mode. To bake a LoRA in permanently, use Text-to-image as before.
- Convert on the phone you will generate on: as with every mode, the phone compiles for its own chip.
- ⚠ New, please report: Swap conversion has been run on an 8 Elite. On 8 GB phones and on 8 Gen 1 it is untested: its compile needs more memory than a plain one.
Details: SD15-LORA-CN-TEMPLATE.md
NPUforge 1.0.5 — Snapdragon 8 Gen 1 support
What's new
- Snapdragon 8 Gen 1 / 8+ Gen 1 support for SD1.5, including inpainting. The 8 Gen 1 NPU libraries removed in 1.0.3 are back; without them conversion failed immediately on these phones. Tested by an 8 Gen 1 user: conversion and inpainting in Nightmare Mobile both work. SDXL is not available on 8 Gen 1 and the app now says so up front.
- Clear message on Snapdragon 8s Gen 4 (SM8735) instead of a raw compiler error (see Known issue).
Good to know
- Convert on the phone you will generate on. The phone compiles the model for its own chip, so a model converted on a newer chip (for example an 8 Elite) will not load on an older one (for example an 8 Gen 2).
- 8 GB phones: conversion takes longer since 1.0.4, because the compile keeps its memory in a temporary file instead of RAM.
Known issue
- Snapdragon 8s Gen 4 (SM8735) cannot convert SD1.5 models. Its NPU has no fp16 support, which the SD1.5 VAE needs. A fix is planned: an integer VAE and an older compiler for chips like it (roadmap).
Requirements are unchanged: Nightmare Mobile 1.6.033 or later for SD1.5 exports. Full notes: Limits
NPUforge 1.0.4 — SD1.5 inpainting, clip skip and resilient downloads
What's new
- SD1.5 inpainting. Inpainting checkpoints (the "-inpainting" releases) are detected and converted automatically. Any normal SD1.5 checkpoint can also be turned into an inpainting model: choose Convert as → Inpainting. The first time, this downloads the official SD1.5 inpainting difference (1.7 GB).
- Clip skip 1 or 2 for SD1.5. 2 stays the default and matches earlier exports; clip skip 1 adds
_cs1to the model name. - Downloads that don't give up. Downloads resume where they stopped and switch between Hugging Face and the hf-mirror.com mirror if one fails. Choose which to try first in Utility → Download source; phones set to China's timezone start with the mirror. If downloading still fails, download the file in a browser and pick it with Use downloaded file.
- Pick files with any file manager, such as MiXplorer or Material Files.
- 8 GB phones: the SD1.5 compile no longer keeps its working memory in RAM, so Android is far less likely to stop the conversion. It takes about twice as long.
- Less storage while converting: the checkpoint copy is deleted before the compile, and each file is deleted once it is in the ZIP.
- The SDXL VAE download is only asked for when you convert an SDXL model, not every time the app opens.
- Chinese and Russian translations for the new options.
⚠ Please report: if you use an 8 GB phone or are in China, tell us whether conversion and downloads work for you. Use Save full troubleshooting log on the Convert tab and attach it.
Requirements
- Nightmare Mobile 1.6.033 or later for SD1.5 exports, including inpainting models. Inpainting in Fancy-Ai is untested.
- Snapdragon 8 Gen 2 or newer for SD1.5, 8 Gen 3 or newer for SDXL. 8 Gen 1 and older are not supported.
Details
- Inpainting renders from the phone-converted model match the PC build byte for byte. DreamShaper 8 inpainting, DreamShaper 8 base and CuteYukiMix (anime) were converted on the phone and inpainted in Nightmare Mobile.
- The 8 GB failures were not caused by inpainting models: logs showed the normal and inpaint compiles using the same memory, both reaching about 4.3 GB. On a Galaxy S25 Ultra, the new mode cut the compiler's RAM use from 2.89 GB to 0.03 GB and produced an identical model; the compile took 157 s instead of 70 s.
- The clip-skip-1 text encoder matches the reference PyTorch output (cosine 0.999998).
Full notes: SD1.5 inpainting · Limits
NPUforge 1.0.3
- Added json config for 8 elite & 8gen5.
- Moved language button to utility tab.
NPUforge 1.0.2
- Due to restriction in China for huggingface, you can now download and import the SDXL VAE files here
NPUforge 1.0.1
- The app now makes you download a stable VAE files for SDXL conversions, it reduces the conversion time and produces better results since some checkpoint VAE are sensible to mobile conversion.
- Polished and cleaned UI.
NPUforge 1.0.0
NPUforge 1.0.0
The first stable release: convert SD1.5 and SDXL checkpoints into Qualcomm NPU models directly on your Android phone.
Included
- Complete checkpoint conversion: UNet, text encoder(s), embeddings, VAE encoder and VAE decoder.
- F16, F32 and BF16 checkpoints and supported UNet LoRAs, including mixed input weight types.
- Multiple UNet LoRAs with individual strengths, merged into the exported model.
- Offline conversion once the APK and checkpoint are on the phone. No initial CLIP or VAE download is required.
- Importable ZIPs for Local Dream and Fancy-Ai.
- In-app troubleshooting logs and guidance for replacing an incompatible SDXL VAE.
Install
Download npuforge-1.0.0.apk below. Requires Android 13+ and compatible ARM64 Snapdragon hardware. SD1.5 output is 512 × 512; SDXL output is 1024 × 1024. Device and checkpoint compatibility varies; see supported formats and limits.
Coming from a debug/test build: save anything you need, then uninstall that build before installing this release. Version 1.0.0 uses the project's dedicated release signing key.
Select a complete .safetensors checkpoint, optionally add UNet LoRAs, and convert. Import the exported ZIP from Download/npuforge/ into a supported generation app.
Build verification
Signed release APK, version code 1. R8 and resource shrinking enabled; release build and lint passed. APK signature and 16 KB ZIP alignment verified. A SHA-256 checksum file is included.