Skip to content

v0.2.2-beta

Pre-release
Pre-release

Choose a tag to compare

@cyberps96 cyberps96 released this 28 Oct 05:58

Shaderless v0.2.2-beta

Major reliability, large-cache, and usability update fixing GitHub Issues #1, #2, and #3, plus library filtering, live Proton switch detection, and an in-app Support modal.

Highlights & What's Fixed

  • Multi-part NVIDIA shader caches & configurable max cache size (5–500 GB, default 10 GB) (#1):
    • Fixes late-game shader eviction and NVIDIA's single-file ~2 GB (int32 offset) truncation wall on huge Unreal Engine 5 games (such as Valor Mortis and The Blood of Dawnwalker).
    • Automatically splits >40,000-pipeline compiles into clean batches and packs NVIDIA GLCache across <1.85 GB lock-free multi-part files (steamapp_merged_shader_cache + shaderless_part1..N) with zero duplicate copies — cutting legacy 4.0 GB duplicated caches in half while preserving every overflow shader.
    • Configurable in ⚙️ Settings (10 / 25 / 50 / 100 GB or custom 5–500 GB) or via ./run-cli.sh settings --max-cache-gb <5..500> for both NVIDIA (__GL_SHADER_DISK_CACHE_SIZE) and AMD Mesa (MESA_SHADER_CACHE_MAX_SIZE), overriding Steam's 4 GB default inside Proton's user_settings.py.
    • Legacy truncated >=2 GB single-file caches are automatically marked Stale (>2 GB Truncated) for a one-click rebuild.
  • Standalone recorded-pipeline compile fallback, AMD headless warmer fix & Flatpak Mesa linking (#2):
    • Games whose static archives aren't directly extractable (such as CryEngine / Kingdom Come: Deliverance II and custom DX12 engines) now compile directly from recorded gameplay pipelines in recording.db.
    • Disables vk_khr_present_wait during headless warmer runs so hidden swapchains don't crash AMD Mesa / RADV on Wayland/XWayland.
    • Links compiled AMD Mesa caches into Flatpak Heroic and Flatpak Lutris sandboxes.
  • Smarter game client .exe detection (#3):
    • Filters out launcher/updater/API wrapper executables (such as World of Tanks wgc_api.exe, crash reporters, and installers) and prioritizes real win64 / Bin64 game binaries.
  • Instant Proton version switch detection & headless prefix bootstrap:
    • Watches Steam, Heroic, and Lutris Proton configuration changes live and marks affected games Stale (Proton updated) within ~2 seconds.
    • Initializes fresh or newly switched Proton prefixes headlessly before warming so compilation works even before launching the game once.
  • Launcher & library filter bar + auto-refresh on game exit:
    • Filter installed games by All / Steam / Heroic / Lutris, toggle ⚡ Needs Compile, or press / to instant-search by name, engine, launcher, or AppID (also available in CLI via ./run-cli.sh list --source ... --needs-compile --search ...).
    • Closing a recorded game while Shaderless is open now automatically imports shaderless.db and updates the card's Recorded Pipelines count right away, even when Auto-Compile on Exit is turned off.
  • In-app 💜 Support modal & dark-theme UI polish:
    • Added an optional 💜 Support

Install

tar -xzf Shaderless-v0.2.2-beta-linux-x64.tar.gz
cd Shaderless-v0.2.2-beta-linux-x64
./run-gui.sh          # launch the app
./install-desktop.sh  # optional: adds Shaderless to your app menu and desktop

Needs webkit2gtk-4.1. See the README for full instructions.

AMD users: please share your results via the AMD test report.