Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save maxim-saplin/6913b1b87f63f47529833ff6d8d38e08 to your computer and use it in GitHub Desktop.

Select an option

Save maxim-saplin/6913b1b87f63f47529833ff6d8d38e08 to your computer and use it in GitHub Desktop.
Lossless Scaling on Bazzite (Decky + lsfg-vk) + `Lossless.dll` from a Windows

Frame generation on Bazzite using the decky-lsfg-vk plugin and Lossless.dll from a Windows install. You do not need to install Lossless Scaling on Linux via Steam — only the .dll file.

What you need

  • Bazzite (Deck edition)
  • Decky Loader installed
  • decky-lsfg-vk plugin (Decky Store)
  • Lossless.dll from Windows (Steam install, C:\Program Files\lsfg\, or your Windows partition)

1. Install the Vulkan layer

Option A — Decky plugin (recommended)
Open Game Mode → Decky → LSFG-VK → Install lsfg-vk.

Option B — Bazzite helper
Desktop Mode terminal:

ujust get-lsfg

Choose Install lsfg-vk directly or Install Decky Plugin.

This installs liblsfg-vk.so, the Vulkan implicit layer, ~/lsfg launch script, and ~/.config/lsfg-vk/conf.toml.

2. Provide Lossless.dll

The plugin UI checks Steam library paths. Put the DLL here:

mkdir -p ~/.local/share/Steam/steamapps/common/Lossless\ Scaling
cp /path/to/Lossless.dll ~/.local/share/Steam/steamapps/common/Lossless\ Scaling/

From a dual-boot Windows partition

Bazzite does not auto-mount internal NTFS. Mount manually (Desktop terminal):

sudo mkdir -p /var/mnt/windows
sudo mount -t ntfs3 -o ro,uid=1000,gid=1000 /dev/nvme0n1p3 /var/mnt/windows

Find the DLL (common locations):

find /var/mnt/windows -iname 'Lossless.dll'
# often: /var/mnt/windows/Program Files/lsfg/Lossless.dll

Copy to the Steam path above. Unmount when done — you don't need Windows mounted to play.

In Decky → LSFG-VK, status should show Lossless Scaling Installed. Reopen the plugin if it still says not installed.

3. Configure in Decky

Game Mode → Decky → LSFG-VK:

  • Multiplier: 2× (good starting point on handhelds)
  • Performance mode: on
  • Flow scale: ~0.6
  • Gamescope WSI: off (unless troubleshooting)

Settings are written to ~/.config/lsfg-vk/conf.toml.

4. Per-game launch options

Add to each game's Steam Launch Options:

~/lsfg %command%

For non-Steam games, edit shortcuts.vdf or set launch options in Steam properties the same way.

5. In-game tips (handheld / VRR)

  • Use borderless windowed or fullscreen (not exclusive fullscreen if unstable)
  • Cap base FPS to half your refresh rate (e.g. 60 FPS on 120 Hz) via in-game settings or MangoHud — reduces pacing jitter
  • lsfg-vk is a Vulkan layer; it injects per game, not system-wide

Quick checklist

  • decky-lsfg-vk installed
  • lsfg-vk layer installed (via plugin or ujust get-lsfg)
  • Lossless.dll in ~/.local/share/Steam/steamapps/common/Lossless Scaling/
  • Decky shows Lossless Scaling Installed
  • ~/lsfg %command% in game launch options
  • Base FPS capped ~½ refresh rate

Troubleshooting

Issue Fix
Plugin says "Not Installed" DLL must be in Steam common/Lossless Scaling/ path, not a random folder
No frame gen in game Confirm ~/lsfg %command% in launch options; restart Steam
Jittery pacing Lower base FPS; enable performance mode; try borderless
/games/... path fails Bazzite root FS is immutable — use home or Steam paths

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment