Skip to content

Releases: AbrahamPaulJ/npuforge

NPUforge 1.0.6 (experimental) — SD1.5 Swap conversion

Choose a tag to compare

@AbrahamPaulJ AbrahamPaulJ released this 29 Sep 18:17

⚠ 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

Choose a tag to compare

@AbrahamPaulJ AbrahamPaulJ released this 27 Sep 15:47

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

Choose a tag to compare

@AbrahamPaulJ AbrahamPaulJ released this 27 Sep 13:29

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 _cs1 to 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

Choose a tag to compare

@Mr-J-369 Mr-J-369 released this 24 Sep 12:59
  • Added json config for 8 elite & 8gen5.
  • Moved language button to utility tab.

NPUforge 1.0.2

Choose a tag to compare

@Mr-J-369 Mr-J-369 released this 19 Sep 14:09
  • Due to restriction in China for huggingface, you can now download and import the SDXL VAE files here

NPUforge 1.0.1

Choose a tag to compare

@Mr-J-369 Mr-J-369 released this 18 Sep 21:45
  • 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

Choose a tag to compare

@Mr-J-369 Mr-J-369 released this 16 Sep 17:08

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.