Real-Time Upscaler for Linux
A real-time SRCNN upscaler for any X-Window (X11 or XWayland) on GNU/Linux. It uses CuNNy neural networks to perform 2x (or 4x) upscaling to full screen while preserving aspect ratio. Mouse clicks and motion are automatically forwarded to the original window.
Results at 400% magnification
Features
- Neural-Network upscaling using SRCNNs trained for high-quality upscaling of visual novels and illustrations.
- Model selection from 9 variants with variable quality/performance trade-offs.
- Hardware accelerated using Vulkan compute.
- Tile-Based processing that upscales only the frame regions that change, reducing GPU load for mostly static content.
- Customizable output geometry: scaling mode (fit, stretch, cover), offset, crop and zoom.
- Input forwarding as if interacting directly with the original window.
Requirements
- OS: GNU/Linux
- Display server: X11, or Wayland with XWayland
- GPU: Vulkan-capable (NVIDIA, AMD, Intel)
- Python: 3.10 or newer
- Qt dependencies: see Dependencies
Installation
Install with pipx:
pipx install linux-rt-upscaler
For detailed installation instructions, including how to install pipx, see the Installation Guide.
After installation, the upscale and upscale-gui commands will be available globally. You can also create a desktop entry of the GUI for easy access.
Guides and Docs
Roadmap
- GUI Profiles operations (drag & drop, duplicate)
- Complete GUI Style settings (font size, spacing, etc.)
- More SRCNN models (FSRCNNX planned)
-
Native Wayland upscaling(not planned: see Architecture Limitations)
Acknowledgments
This project stands on the shoulders of several open-source works, mantained by amazing people:
- L65536, for the original RealTimeSuperResolutionScreenUpscalerforLinux, which demonstrated the feasibility of real-time SRCNN upscaling on Linux and served as a proof-of-concept for this project.
- funnyplanter, for the incredible CuNNy neural network upscaling models.
- Compushady, which served as an invaluable Vulkan foundation during early development.
- PySide6, the Qt binding that powers the entire graphical interface and overlay window.
- xcffib, the XCB binding used for window management, monitor querying and event forwarding.
- Pillow, the Python Imaging Library, used for saving screenshots and rendering OSD messages.
- PyYAML, the YAML parser used for configuration file operations.
Metadata
Release files for linux-rt-upscaler 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| linux_rt_upscaler-1.1.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| linux_rt_upscaler-1.1.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| linux_rt_upscaler-1.1.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| linux_rt_upscaler-1.1.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| linux_rt_upscaler-1.1.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 23.8 MB
Release files / linux_rt_upscaler-1.1.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | linux_rt_upscaler-1.1.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
071ab72330846ec000918acd8eec328fba882e14ad8bef6a19668196a041fd9a
|
|
BLAKE2b-256 checksum How to use checksums |
1f075d5a1d91e7b5542db162ee2918d72a6630c2bd97b4e3b0b0145317f01002
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / linux_rt_upscaler-1.1.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | linux_rt_upscaler-1.1.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
927aefc47637d41bd589e997354f467c4c6e55d0ec45de94c8d810898b64bf68
|
|
BLAKE2b-256 checksum How to use checksums |
184d25856dc274c1e195ae4a6eeca475ddb021678b80b97ece56014880dd38e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / linux_rt_upscaler-1.1.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | linux_rt_upscaler-1.1.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0682c58e07c462256ca1a1fe585e00d9b2d753ac5102a448b63322418c51971
|
|
BLAKE2b-256 checksum How to use checksums |
e70e6f178f93c282a44cd2278ff3b385c86f98b07cbc8e0fdad645add9a9e8e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / linux_rt_upscaler-1.1.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | linux_rt_upscaler-1.1.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c81319bd2390a497de139a219159fe78451d29f7dbb7751c709f66784598598
|
|
BLAKE2b-256 checksum How to use checksums |
ca6a2b7aa400ee00040bf53da179bf1dc95d7555dc0e08fa68af6e0649b0df79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / linux_rt_upscaler-1.1.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | linux_rt_upscaler-1.1.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
76ae1dd9eaf55b7b9a923aee42c5eccdcdaee3948aed619de974109d28fd1483
|
|
BLAKE2b-256 checksum How to use checksums |
1075ba611660f2389f0e63c3cd94accb34e8219e0d0165f1b5b1d7da56d901b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency log