Cross-platform rebuild derived from Aaron Feng's Waifu2x-Extension-GUI. Renamed as image2x-Extension-GUI for distinguishing purpose, but also clearly stating that this a fork. Created because w2x does not work well on linux.
| What | Version | License |
|---|---|---|
| This project | AGPLv3 | |
| Aaron Feng original source | v3.41.01-beta | AGPLv3 |
| Aaron Feng latest binary | v3.139.01 | Proprietary |
├── vendor/ ← Upstream baseline (not our code)
│ └── w2x-v3.41.01-beta/ ← Pristine original source (diff baseline)
├── src/ ← Our project
│ ├── image2x-core/ ← Rust business core (in migration)
│ ├── image2x-ui/ ← Qt presentation client (in migration)
│ ├── image2x-ui/ ← Qt presentation client
│ │ ├── MODELS.md ← Model license boundaries & inventory
│ │ ├── engine_registry.h ← 179+ model weight mappings
│ │ ├── platform_compat.h ← Linux / Windows / macOS
│ │ └── ...
│ ├── scripts/
│ │ ├── download_models.sh ← Fetch open-source models from our releases
│ │ └── download_non_free_models.sh ← Extract W2xEX models from official release
│ └── .gitignore
├── README.md ← You are here
└── Change_log.md
cd src
# Download open-source models (one-time):
./scripts/download_models.sh
# Build:
mkdir build && cd build
qmake ../image2x-ui/Waifu2x-Extension-QT.pro
make -j$(nproc)
# Generate catalogs beside the executable.
for ts in ../image2x-ui/translations/language_*.ts; do
qm="$(basename "${ts%.ts}.qm")"
lrelease "$ts" -qm "$qm"
doneThe Qt executable needs inference runtimes and public model files in addition to Qt libraries. Install the pinned, checksum-verified Linux runtime bundles for the complete public still-image matrix beside the executable:
./scripts/install_linux_runtime.sh /path/to/application-directoryThis creates the dependencies/engines/ tree beside the executable for
Waifu2x, SRMD, RealSR, Real-ESRGAN, Real-CUGAN, and the separately tracked
frame engines. The application validates the selected engine and exact model
directory before processing and reports this same repair command when assets
are missing.
Run the complete public still-image matrix against an installed bundle with:
./scripts/test_linux_model_matrix.sh /path/to/application-directory /path/to/input.pngOpen-source models (349 files, MIT/BSD) — pulled from our GitHub Releases:
./scripts/download_models.shAuto-detects the latest open-model-set-* release from AIPBS/image2x-Extension-GUI.
Proprietary W2xEX models (18 files, Aaron Feng) — extracted from the official release:
./scripts/download_non_free_models.sh --latestThese are NOT redistributed. The script downloads the official release directly from Aaron Feng's repo and extracts only the model files.
The application scans vendor/models-non-free/ next to the source tree. For a
build stored elsewhere, set IMAGE2X_PROPRIETARY_MODEL_ROOT to that directory
before launching the application.
For WSL GPU matrix tests, prepare Comet's machine-local GPU cache once and load its environment before running the matrix. The cache is not part of the portable application bundle:
eval "$(comet gpu-cache env)"
./scripts/test_linux_model_matrix.sh /path/to/application-directory /path/to/input.pngNative Linux uses the system Vulkan driver instead of the WSL DZN cache.
To store proprietary models in the persistent model cache instead, set
MODEL_OUTPUT_DIRECTORY when running the downloader:
MODEL_OUTPUT_DIRECTORY=/var/cache/image2x-models/non-free \
./scripts/download_non_free_models.sh --latest| Files | License |
|---|---|
Original Aaron Feng files (vendor/w2x-v3.41.01-beta/) |
GNU AGPL v3 |
| New Rust and UI files | GNU AGPLv3 |
Existing inherited Qt files retain their original copyright and header notices. New files created during the Rust migration use the standard GNU AGPLv3 header without an additional permissive exception.
Check out LICENSE for the governing license text.