From 4b283c96b9e30528ae2bcd7f796c8e897c663077 Mon Sep 17 00:00:00 2001 From: PancakeTAS Date: Wed, 24 Dec 2025 21:43:23 +0100 Subject: [PATCH] refactor(cleanup): update README.md --- README.md | 86 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index e4cc5ce..0e9b224 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,70 @@ # lsfg-vk +**Lossless Scaling** is a Windows-exclusive program featuring various algorithms for scaling and interpolating programs. -Lossless Scaling is a Windows-exclusive app bringing frame generation (among other features) to every single game or app. +**lsfg-vk** is a Vulkan layer that hooks into Vulkan applications and generates additional frames using Lossless Scaling's frame generation algorithm. -**lsfg-vk** brings this frame generation to Linux users by acting as a Vulkan layer inbetween your game and your graphics card. +>[!CAUTION] +>You are reading the README for the upcoming version 2.0 of lsfg-vk. For the stable version 1.x, [please read here](https://github.com/PancakeTAS/lsfg-vk/tree/ff1a0f72a7d6d08b84d58b7b4dc5f05c9f904f98) -## Getting Started +More information, as well as how to build from source, can be found on the [wiki](https://pancake.gay/lsfg-vk/). -For comprehensive instructions on setting up, configuring, and using **lsfg-vk**, please refer to the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki). +## Installation +1. Before proceeding, please make sure you have [Lossless Scaling](https://store.steampowered.com/app/993090/Lossless_Scaling/) downloaded on Steam. +2. Head to the [GitHub Releases](https://github.com/PancakeTAS/lsfg-vk/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: +```bash +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. -### Installation +4. The graphical interface requires Qt6 and Qt6 Quick in order to run. If you do not have these installed, install the following packages: +```bash +sudo apt install qt6-qpa-plugins libqt6quick6 # 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 +``` -**lsfg-vk** is available as pre-built packages for various Linux distributions. +5. (Optional) If you wish to use lsfg-vk within Flatpak applications, see the [Flatpak Setup Guide](https://pancake.gay/lsfg-vk/#/flatpak). -1. Visit the [Releases page](https://github.com/PancakeTAS/lsfg-vk/releases) to download the package for your Linux distribution. -2. Follow the step-by-step instructions in the [Installation Guide](https://github.com/PancakeTAS/lsfg-vk/wiki/Installation-Guide) for your specific distro. +## 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. -### Configuration and Usage +### 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 [wiki](https://pancake.gay/lsfg-vk/#/configure) 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. -After installation, you can open the graphical configuration editor **lsfg-vk-ui** from your application menu or by typing `lsfg-vk-ui` in your console. +### 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 [wiki](https://pancake.gay/lsfg-vk/#/configure) 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. -* For detailed instructions on setting up your preferences, visit the [Configuring lsfg-vk](https://github.com/PancakeTAS/lsfg-vk/wiki/Configuring-lsfg%E2%80%90vk) page. -* Learn how to use **lsfg-vk**'s integrated benchmark on the [Using lsfg-vk's integrated benchmark](https://github.com/PancakeTAS/lsfg-vk/wiki/Using-lsfg%E2%80%90vk's-integrated-benchmark) page. +You can validate the configuration using `lsfg-vk-cli`: +```bash +~/.local/bin/lsfg-vk-cli validate +``` -## Building from Source +### Environment Variables +Certain environment variables can be used to modify the behavior of lsfg-vk: +- `LSFGVK_CONFIG`: Specify a custom path to the configuration file. +- `LSFGVK_PROFILE`: Choose a specific profile to use by name, overriding the automatic selection. +- `LSFGVK_ENV`: Configure the profile based on environment variables. Please see the [wiki](https://pancake.gay/lsfg-vk/#/configure) for more information. -If you prefer to build **lsfg-vk** yourself for development, debugging, or to use the latest and greatest features, a detailed build guide is available in the [Build Guide](https://github.com/PancakeTAS/lsfg-vk/wiki/Building-from-source) page. +### Benchmarking Mode +You can run a frame generation benchmark using `lsfg-vk-cli`: +```bash +~/.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 need assistance, please consult the following resources: - -* **Quirks:** Before reporting any issues refer to the [Quirks](https://github.com/PancakeTAS/lsfg-vk/wiki/Quirks) page. -* **How to Ask for Help:** When creating a report, refer to the [How to ask for help](https://github.com/PancakeTAS/lsfg-vk/wiki/How-to-ask-for-help) page. -* **Discord:** Join the [Lossless Scaling Discord server](https://discord.gg/losslessscaling) for help (Steam verification required). - -## Credits - -Most of the project has still only been written by me, PancakeTAS, but I couldn't have done it without the help of these people: - -* **0xNULLderef:** Teaching me how to reverse engineer software. -* **Caliel666:** Writing the initial draft of the user interface. -* **Samueru-sama:** Helping with various things XDG as well as app images and testing. -* Other contributors: Thank you for your contributions! - -I'd also like to thank every single person sponsoring this project. Thanks to you I'll be able to invest more time into this and hopefully bring some cool new features to everyone. +If you encounter any issues or have questions regarding lsfg-vk, read through the [Troubleshooting](https://pancake.gay/lsfg-vk/#/troubleshooting) page on the wiki or join the [Discord server](https://discord.gg/losslessscaling) for assistance.