Skip to content

About

Forked from waifu2x-extension-gui, for linux.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

141 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image2x-Extension-GUI

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.

Structure

├── 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

Building

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"
done

Linux runtime

The Qt executable needs inference runtimes and public model files in addition to Qt libraries. Install the pinned, checksum-verified distributable bundles for the complete public still-image matrix under dependencies/distributable/:

./scripts/install_linux_runtime.sh /path/to/application-directory

This creates the dependencies/distributable/ 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.

The first-run download panel offers two choices: distributable components, or distributable components plus proprietary W2xEX models. Proprietary files are kept separately under dependencies/non-free/ and are never included in the distributable set.

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.png

Flatpak

The Flatpak manifest packages the GUI and Rust core only. Public distributable engines/models and proprietary models remain outside the OSTree app payload and are downloaded into the persistent dependencies/distributable/ and dependencies/non-free/ directories through the in-app component panel. Flatpak updates therefore reuse unchanged OSTree objects instead of replacing the whole application payload.

The Flatpak Pages workflow builds and publishes a signed OSTree repository.

For a separate disposable build environment:

flatpak-builder --user --install --force-clean \
  build-flatpak flatpak/com.aipbs.Image2xExtensionGUI.yml

Models

Open-source models (349 files, MIT/BSD) — pulled from our GitHub Releases:

./scripts/download_models.sh

Auto-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 --latest

These 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.png

Native 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

License

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.

About

Forked from waifu2x-extension-gui, for linux.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages