Skip to content

TommyBoiss/lsfg-vk

 
 

Repository files navigation

lsfg-vk

Lossless Scaling is a Windows-exclusive program featuring various algorithms for scaling and interpolating programs.

lsfg-vk is a Vulkan layer that hooks into Vulkan applications and generates additional frames using Lossless Scaling's frame generation algorithm.

Caution

You are reading the README for the upcoming version 2.0 of lsfg-vk. For the stable version 1.x, please read here

Installation

Tip

If you are on a Steam Deck or similar handheld, consider using the Decky plugin for lsfg-vk. This is an easy way to install and configure lsfg-vk on the Steam Deck. Please keep in mind that it is not officially supported and support questions should be directed to the plugin's repository & discord.

  1. Before proceeding, please make sure you have Lossless Scaling downloaded on Steam.
  2. Head to the GitHub Releases and download the file named "lsfg-vk-2.0.0-x86_64.tar.xz".
  3. Open a terminal in the folder where you downloaded the file and run the following:
tar -xvf lsfg-vk-2.0.0-linux.tar.xz -C ~/.local

This will extract lsfg-vk to ~/.local. Please keep track of the files that were extracted, in case you want to uninstall lsfg-vk later.

  1. The graphical interface requires Qt6 and Qt6 Quick in order to run. If you do not have these installed, install the following packages:
sudo apt install qt6-qpa-plugins libqt6quick6 qml6-module-qtquick-controls qml6-module-qtquick-layouts qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qtqml-workerscript qml6-module-qtquick-templates qml6-module-qt-labs-folderlistmodel # On Debian/Ubuntu-based systems
sudo pacman -S qt6-declarative qt6-base # On Arch-based systems
sudo dnf install qt6-qtdeclarative qt6-qtbase # On Fedora
  1. (Optional) If you wish to use lsfg-vk within Flatpak applications, see the Flatpak Guide.

Usage

In order to start using lsfg-vk, you will need to configure it. This can either be done using the GUI application, or manually.

Graphical Configuration

Start 'lsfg-vk Configuration Window' from your application launcher, or run ~/.local/bin/lsfg-vk-ui in a terminal:

  • On the left side, you will see a list of profiles. Each profile has its own settings.
  • All properties in the "Global Settings" section apply to all profiles.
    • Should Lossless Scaling be installed in a non-standard location, you can specify the path here.
  • Select a profile and configure the "Profile Settings" section to your liking.
    • When editing the "Active In" list, you can add a game using its executable name (e.g. Game.exe, mpv).
  • Please see the documentation for detailed information on each setting.
  • Once you are done configuring, simply starting a game that matches one of the profiles will automatically apply the settings.

Manual Configuration

The default configuration is located in ~/.config/lsfg-vk/conf.toml. It will be created automatically when any Vulkan application is started.

  • In the [global] section, you can change where Lossless Scaling is installed, as well as other global settings.
  • Each profile is defined in its own [[profile]] section.
  • The active_in array/string defines which applications the profile is active in. You can add applications using their executable name (e.g. Game.exe, mpv).
  • Please see the documentation for detailed information on each setting.
  • Once you are done configuring, simply starting a game that matches one of the profiles will automatically apply the settings.

You can validate the configuration using lsfg-vk-cli:

~/.local/bin/lsfg-vk-cli validate

Benchmarking Mode

You can run a frame generation benchmark using lsfg-vk-cli:

~/.local/bin/lsfg-vk-cli benchmark

By default, the benchmark will run for 10 seconds. Add -h to see all available benchmarking options.

Support and Troubleshooting

If you encounter any issues or have questions regarding lsfg-vk, read through the Troubleshooting documentation page or join the Discord server for assistance.

About

Lossless Scaling Frame Generation on Linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 93.9%
  • QML 4.0%
  • CMake 2.1%