KytyPlus v2.5 — FSR 1.0 Upscaler Activated + Launcher UI + Log Viewer
Tag: v2.5 · License: GPL-2.0
Downloads
Windows: KytyPlus-Windows-x64.zip
macOS: KytyPlus-macOS-x86_64.zip
Linux: KytyPlus-Linux-x86_64.zip
FSR 1.0 Upscaler (Now Actually Wired In)
An FSR 1.0 upscaler has been in the codebase for a while, but until now it was compiled but never invoked — the presentation path used a plain blit to stretch the guest frame, and the upscaler code sat unused. v2.5 wires it into the render path for real. When enabled, the final guest-to-swapchain stretch now runs the full FSR 1.0 two-pass pipeline instead of a bilinear blit.
- EASU — edge-adaptive upscaling raises the internal render resolution back up to your window/monitor size with directional filtering instead of a blurry bilinear stretch.
- RCAS — robust contrast-adaptive sharpening applies a final crisp pass for a clean image.
- No GPU brand restriction — works on AMD, NVIDIA, and Intel equally. FSR 1.0 is a single-frame upscaler (no motion vectors), which is the correct fit for an emulator presentation path.
- Four quality presets to balance image quality vs. performance: Ultra Quality (77% render scale), Quality (67%, default), Balanced (59%), Performance (50%).
- Adjustable sharpening slider (0.0–1.0) to dial in how crisp the image looks.
- Falls back gracefully to the standard blit if your GPU can't handle the storage-image swapchain format FSR requires — so enabling it can't break the base experience.
Note: FSR 1.0 is not FSR 3 / 3.1 (temporal + frame generation), which requires motion-vector data an emulator doesn't have. The internal config name has been corrected from Fsr31 to Fsr1 to match the actual implementation.
The FSR 1.0 upscaler is implemented, wired into the render path, and compiles cleanly — but it has not yet been validated against real games on real hardware. That's the next step, and it needs testers with a PS5. If you run KytyPlus, please share your _kyty.txt log and what you observed.
Launcher UI for Upscaler Settings
The upscaler is now configurable from the launcher's Settings dialog instead of only via the config file:
- Upscaler dropdown (Off / Fsr1)
- Upscaler quality dropdown (Ultra Quality / Quality / Balanced / Performance)
- Upscaler sharpness slider (0.0–1.0)
Settings persist across launches and are passed through to the emulator on game start via command-line arguments (--upscaler-method, --upscaler-quality, --upscaler-sharpness).
Log Viewer + One-Click Share Log
A new Log Viewer in the launcher makes reporting bugs one click instead of a chore:
- Right-click a game → View log... to open the emulator's _kyty.txt for that game in a read-only, monospace viewer.
- Right-click empty space → View log... to open the global log.
- Share Log button copies the full log plus your system info (OS, Qt version, app directory) to your clipboard, then tells you exactly where to paste it — the KytyPlus issues page — and what to include (game title + what you observed: boot, menu, in-game, crash).
- Open Log Folder button opens the folder containing the log in your file manager.
- If no log exists yet (you haven't run a game), the viewer shows a clear "run a game first" message instead of an error.
Why this matters: every bug report needs the log, and until now sharing it meant finding the file, opening it, copying it, and figuring out where to paste it. Now it's one click. Please use it — your logs are what move the project forward.
Pipeline Disk Cache
Compiled Vulkan graphics pipelines are serialized to disk and reloaded on subsequent launches, skipping work for shaders that haven't changed.
- Pipelines persist to _Cache/vulkan_pipeline_cache.bin between runs.
- A compatibility check ensures a stale or mismatched cache is rejected rather than loaded.
- The cache is written periodically during a run and on exit, so progress survives even an ungraceful close.
Build Stability: All Three Platforms Green
This release lands a round of build-system fixes so KytyPlus compiles cleanly across the board:
- Windows, macOS, and Linux all build green.
- Linux: fixed a std::min type-deduction failure in the graphics driver layer (unsigned long vs unsigned long long on Linux) in agc.cpp.
- macOS: fixed a Mach-O segment overlap where the program image collided with the reserved guest address-space region.
- Cleaned up uncompiled experimental scaffolding out of the repository root.
This is experimental software. "Boots further" is not "playable." You must legally obtain any game content you use with it.