# [v2.9.1 is out! 🥳](https://github.com/upscayl/upscayl/releases/tag/v2.9.1)
# 🆙 Upscayl
#### Free and Open Source AI Image Upscaler
Upscayl lets you enlarge and enhance low-resolution images using advanced AI algorithms.
Enlarge images without losing quality. It's almost like magic! 🎩🪄
Upscayl is a cross-platform application built with the Linux-first philosophy.
This means that Linux users receive pre-release builds earlier, but Upscayl itself is available on all major desktop operating systems :)
**https://upscayl.org**
![Screenshot](https://raw.githubusercontent.com/upscayl/upscayl.github.io/main/static/upscayl-desktop.png)
> [!IMPORTANT]
> You'll need a Vulkan compatible GPU to upscale images. Many CPU and iGPUs do not work but no harm in trying.
# 👨💻 Installation
### 🐧 Linux
Upscayl should be available on the software listings of most Linux operating systems. Your distro's Store app might also support the [Flatpak](https://flatpak.org/setup) or Snap version.
#### Portable Method
1. Go to [releases section](https://github.com/upscayl/upscayl/releases/latest)
2. Download the `upscayl-x.x.x-linux.AppImage` file.
3. Right Click AppImage -> Go to Permissions tab -> Check 'allow file to execute' and then double click the file to run Upscayl.
*You can also choose to install using other formats like RPM (Fedora), DEB (Debian/Ubuntu based), and ZIP (Any Linux OS).*
### 🍎 macOS
(MacOS 12 and later)
#### Portable Method
1. Go to [releases section](https://github.com/upscayl/upscayl/releases/latest)
2. Download the `upscayl-x.x.x-mac.dmg` file.
3. Double click dmg, drag Upscayl icon into Applications folder.
4. Open Finder, click 'Applications' tab in the left sidebar. Find Upscayl and right click on it. Select 'Open'.
5. In the window that appears, press 'Open' yet again.
### 🐌 Windows
(Windows 10 and later)
1. Go to [releases section](https://github.com/upscayl/upscayl/releases/latest)
2. Download the `.exe` file.
3. Double click exe file, wait for installation, profit.
# 👨🏫 Wiki - Tutorials and Guides
Check out our Wiki [here](https://github.com/upscayl/upscayl/wiki/Guide).
- [Try out even more new models!](https://github.com/upscayl/custom-models)
- [Convert your own models](https://github.com/upscayl/upscayl/wiki/%F0%9F%96%A5%EF%B8%8F-Model-Conversion---Create-more-AI-models!)
- [Compatibility List](https://github.com/upscayl/upscayl/wiki/Compatibility-List)
- [Troubleshooting](https://github.com/upscayl/upscayl/wiki/Troubleshooting)
# ⚖️ Results
Check out Upscayl before/after comparisons [here](COMPARISONS.MD).
# 🤫 Roadmap
You can track all the progress here: https://github.com/orgs/upscayl/projects/1
- Fix bugs
- Make the whole world use FOSS (WIP 🚧)
# 🛠 Development
I recommend using Volta: https://volta.sh for installing Node.js.
Download and install volta, then do: `volta install node`.
## 🏃 Running
> [!NOTE]
> If you are not willing to install [git](https://git-scm.com/downloads), you can skip the first line, download [the source zip](https://github.com/upscayl/upscayl/archive/refs/heads/main.zip) and extract it to `upscayl` instead and carry on with the rest of the instructions.
```sh
git clone https://github.com/upscayl/upscayl
cd upscayl
# INSTALL DEPENDENCIES
npm install
# RUN THE DEVELOPMENT SERVER LOCALLY
## YOUR LOGS WILL NOW APPEAR IN THE TERMINAL
npm run start
```
## 🏗️ Building
```sh
# INSTALL DEPENDENCIES
npm install
# PACKAGE THE APP
npm run dist
# PUBLISH THE APP, MAKE SURE TO ADD GH_TOKEN= IN SHELL
npm run publish-app
```
# 🤓 FAQ
- **How does Upscayl work?**
- Upscayl uses AI models to enhance your images by guessing what the details could be. It uses Real-ESRGAN to achieve this.
- **Is there a CLI available?**
- The CLI tool is called real-esrgan-ncnn-vulkan and it's available on the Real-ESRGAN repository.
- As of v2.9, we're using our fork of Real-ESRGAN-ncnn-vulkan at https://github.com/upscayl/upscayl-ncnn.
- **Do I need a GPU for this to work?**
- Yes, unfortunately. NCNN Vulkan requires a Vulkan-compatible GPU. Upscayl won't work with **most** iGPUs or CPUs. But hey, no harm in trying ;)
- @Wyrdgirn has contributed a workaround for Windows and Linux in [#390](https://github.com/upscayl/upscayl/issues/390)! Nobody knows how to manipulate the macOS and Haiku frameworks...
- **How can I contribute?**
- You can report issues, fix code and add features by submitting PRs, or donate! 😊
- **What's the GPU ID for?**
- It is for selecting which GPU to use. The specific procedure is detailed in the [Wiki](https://github.com/upscayl/upscayl/wiki/Guide).
- Note that for Windows systems, if Upscayl is not set to performance mode, the system may override this setting.
- **You are not fully open source!!😡**
- We are! We're using completely free and open-source tech. We do ship a binary, but that's because not including it would kill the entire purpose of the project. If you want to deal with all those PyTorch, NCNN, and Python errors, you're more than welcome to compile your own binary using the code provided by Real-ESRGAN. The binary is pre-compiled for convenience; if you do not trust it, then you can compile your own since everything is free and open source here 😁
- As of v2.9, we're using our fork of Real-ESRGAN-ncnn-vulkan at https://github.com/upscayl/upscayl-ncnn.
- **Where do I find more models?**
- More models can be taken from here: https://github.com/upscayl/custom-models
Upscayl uses Real-ESRGAN-ncnn-vulkan binaries to upscale images.
# 🎁 Donate
# ❤ Credits
- Real-ESRGAN for their wonderful research work.
[Real-ESRGAN: Copyright (c) 2021, Xintao Wang](https://github.com/xinntao/Real-ESRGAN/)
- @JanDeDinoMan, @xanderfrangos, @Fdawgs, @keturn for their code contributions :)
- @aaronliu0130 for providing community support :)
- Foolhardy for their [Remacri model](https://upscale.wiki/wiki/Model_Database).
- [Kim2091](https://upscale.wiki/wiki/User:Kim2091) for their [Ultrasharp and Ultramix Balanced model](https://upscale.wiki/wiki/Model_Database).
- NicKoehler for the amazing logo.
#