Lossless Scaling frame generation, the MAKO Scaler and the LS1 upscaler, through MAKO's backend - as an optional module for
the ns-dlss-wine live filter. License: GPL-3.0-or-later (MAKO is GPL-3.0-or-later; this module is built with it).
The module is a set of stand-alone programs that speak the filter's module protocol (docs/module-protocol.md in the filter's repository) - frames go through
memory-mapped files, nothing is linked into the filter. That is what lets the filter itself stay MIT.
| backend key | kind | program |
|---|---|---|
mako |
frame generation (arbitrary interpolation positions, x2..x4) | bin/mako_fg_host |
mako_scaler |
upscaler (GLES 3.0 port of MAKO's spatial scaler) | bin/mako_scale_host |
ls1 |
upscaler (LS1 on Vulkan compute) | bin/ls1_host |
- The user's own Lossless Scaling (Steam) -
Lossless.dllis read at run time from~/.local/share/Steam/steamapps/common/Lossless Scaling/, or from$NS_LOSSLESS_DLL, or~/.local/share/ns-dlss/user_files/Lossless.dll. Nothing derived from it is stored or shipped here. - To build: git, cmake, ninja, a C/C++ compiler, the Vulkan headers,
libvkd3d-shader(Arch:vkd3d), EGL/GLES.
git clone <this repository> ns-mako && cd ns-mako && ./build.sh # clones MAKO at the pinned revision into third_party/ and builds bin/then make the filter see it: put (or symlink) this folder into the filter's modules/ directory, or add its parent to NS_MODULES_PATH
(or use the filter's tools/fetch_modules.sh). python3 app/modules.py in the filter lists what it found. The new backends appear in the settings panel.
flow_scale (0.25-1.0, motion-estimation resolution, frame generation), performance (0/1), sharpness (0-1, upscalers), dll=PATH, gpu=NAME (Vulkan device name substring, default NVIDIA).
This module: GPL-3.0-or-later (LICENSE). MAKO: GPL-3.0-or-later, copyright Eugenio Segala and contributors (cloned at build time, not copied here). src/mako_lib.c is a port of MAKO's
spatial scaling shader (see MAKO-LICENSE-NOTE.txt). The Lossless Scaling files are the user's own.