meta: change version number to 0.9.0

This commit is contained in:
PancakeTAS 2025-07-25 22:54:30 +02:00
parent 614a2a14fb
commit 3893d49dbb
No known key found for this signature in database
10 changed files with 33 additions and 118 deletions

View file

@ -1,8 +1,8 @@
name: (Test) Build lsfg-vk
name: Build lsfg-vk
on:
push:
branches: ["develop"]
branches: ["release"]
env:
CARGO_TERM_COLOR: always

View file

@ -1,8 +1,8 @@
name: (Test) Build lsfg-vk Flatpak extensions
name: Build lsfg-vk Flatpak extensions
on:
push:
branches: ["develop"]
branches: ["release"]
jobs:
flatpak:

View file

@ -1,11 +1,11 @@
name: (Test) Package lsfg-vk
name: Package lsfg-vk
on:
workflow_run:
workflows: ["(Test) Build lsfg-vk"]
workflows: ["Build lsfg-vk"]
types:
- completed
branches: ["develop"]
branches: ["release"]
jobs:
package:

3
.gitignore vendored
View file

@ -3,9 +3,6 @@
# cargo files
/ui/target
/ui/libs
/ui/appimagetool
/ui/icon.png
# ide/lsp files
/.zed

View file

@ -1,17 +1,11 @@
cmake_minimum_required(VERSION 3.28)
cmake_minimum_required(VERSION 3.25)
set(CMAKE_SKIP_RPATH ON)
# subprojects
add_compile_options(-fPIC
-Wno-deprecated-declarations
-Wno-unused-template
-Wno-tautological-compare
-Wno-undef)
set(BUILD_EXAMPLES OFF)
set(GLFW_BUILD_WAYLAND ON)
set(GLFW_BUILD_X11 ON)
-Wno-unused-template)
add_subdirectory(thirdparty/dxbc EXCLUDE_FROM_ALL)
add_subdirectory(thirdparty/pe-parse/pe-parser-library EXCLUDE_FROM_ALL)
@ -21,8 +15,8 @@ add_subdirectory(framegen)
# main project
project(lsfg-vk
VERSION 0.0.1
DESCRIPTION "LSFG on Linux"
VERSION 0.9.0
DESCRIPTION "Lossless Scaling Frame Generation on Linux"
LANGUAGES CXX)
file(GLOB SOURCES

View file

@ -1,20 +1,26 @@
# lsfg-vk
This project brings [Lossless Scaling's Frame Generation](https://store.steampowered.com/app/993090/Lossless_Scaling/) to Linux!
Lossless Scaling is a Windows-exclusive app with the goal of bringing frame generation (among other features) to every single game or app.
>[!NOTE]
> The latest few commits replace the traditional environment system with a config file. Read [this wiki page](https://github.com/PancakeTAS/lsfg-vk/wiki/Configuring-lsfg%E2%80%90vk) for more information.
lsfg-vk brings this frame generation to Linux users by acting as a Vulkan layer inbetween your game and your graphics card.
>[!CAUTION]
> **This is a work-in-progress**. While frame generation has worked in quite a few games, compatibility in many games as well as frame pacing issues still need to be fixed.
>[!TIP]
> **This is a pre-release**. We are still ironing out the last few issues before finally releasing a first version, so beware of any issues you encounter on the way and report them via GitHub issues or the Discord.
You can install lsfg-vk by running this in your command line. Always be careful when copy pasting commands from the internet:
```bash
curl -sSf https://pancake.gay/lsfg-vk.sh | sh
```
## Installation
Please see the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki) for more information and join the [Discord](https://discord.gg/losslessscaling) for help (In order to see the linux channels, verify your Steam account.)
lsfg-vk can run on a variety of Linux distributions:
- Click [here](https://github.com/PancakeTAS/lsfg-vk/releases) to download lsfg-vk for your distribution
- Follow [this guide](https://github.com/PancakeTAS/lsfg-vk/wiki/Installation-Guide) if you any more help.
Thanks to @Caliel666 for writing the GTK-based gui for lsfg-vk!
Once installed, open up the lsfg-vk Configuration Window which should hopefully appear in your application menu.
>[!WARNING]
> **Please do not open GitHub** issues for anything other than feature requests. Due to the nature of this project, it is much easier to deal with issues through Discord, than GitHub. Use the #linux-reports channel for game compatibility.
Please see the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki) for more information and join the [Discord](https://discord.gg/losslessscaling) for help (needs Steam verification).
## 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](https://github.com/0xNULLderef): Teaching me how to reverse engineer software.
- [Caliel666](https://github.com/Caliel666): Writing the initial draft of the user interface.
- [Samueru-sama](https://github.com/Samueru-sama): Helping with various things XDG as well as app images and testing.
- Other contributors: Thank you for your contribution!
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.

View file

@ -1,82 +0,0 @@
#!/bin/sh
: "${INSTALL_PATH:=$HOME/.local}"
BASE_URL='https://pancake.gay/lsfg-vk'
NIX_FLAKE_REPO='https://github.com/pabloaul/lsfg-vk-flake'
# prompt for distro
echo "Which version would you like to install?"
echo "1) Arch Linux (Artix Linux, CachyOS, Steam Deck, etc.)"
echo "2) Debian"
echo "3) Ubuntu"
echo "4) Fedora"
echo "5) NixOS (external flake project)"
printf "Enter the number (1-5): "
read -r version_choice < /dev/tty
case "$version_choice" in
1) DISTRO="archlinux"; DISTRO_PRETTY="Arch Linux" ;;
2) DISTRO="debian"; DISTRO_PRETTY="Debian" ;;
3) DISTRO="ubuntu"; DISTRO_PRETTY="Ubuntu" ;;
4) DISTRO="fedora"; DISTRO_PRETTY="Fedora" ;;
5) DISTRO="nixos"; DISTRO_PRETTY="NixOS"; USE_NIX=true ;;
*) echo "Invalid choice."; exit 1 ;;
esac
ZIP_NAME="lsfg-vk_${DISTRO}.zip"
SHA_NAME="lsfg-vk_${DISTRO}.zip.sha"
SHA_FILE="$INSTALL_PATH/share/lsfg-vk.sha"
# get local and remote versions
LOCAL_HASH=$(test -f "$SHA_FILE" && cat "$SHA_FILE")
if [ "$USE_NIX" ]; then
command -v nix >/dev/null 2>&1 || { echo "Error: nix command not found."; exit 1; }
REMOTE_HASH=$(curl -fsSL "${NIX_FLAKE_REPO/github.com/api.github.com/repos}/releases/latest" | grep '"tag_name"' | cut -d '"' -f 4)
else
REMOTE_HASH=$(curl -fsSL "$BASE_URL/$SHA_NAME")
fi
[ -z "$REMOTE_HASH" ] && { echo "Failed to fetch latest release."; exit 1; }
if [ "$REMOTE_HASH" != "$LOCAL_HASH" ]; then
# prompt user for confirmation
echo -n "Are you sure you want to install lsfg-vk ($REMOTE_HASH) for ${DISTRO_PRETTY}? (y/n) "
read -r answer < /dev/tty
if [ "$answer" != "y" ]; then
echo "Installation aborted."
exit 0
fi
TEMP_DIR=$(mktemp -d) && cd "$TEMP_DIR" || { echo "Failed to create temporary directory."; exit 1; }
if [ "$USE_NIX" ]; then
# download, build and install lsfg-vk-flake from GitHub
curl -fsSL "$NIX_FLAKE_REPO/archive/refs/tags/$REMOTE_HASH.tar.gz" | tar -xz
cd lsfg-vk-flake-* && nix build || { echo "Build failed."; rm -vrf "$TEMP_DIR"; exit 1; }
install -Dvm644 result/lib/liblsfg-vk.so "$INSTALL_PATH/lib/liblsfg-vk.so"
install -Dvm644 result/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json "$INSTALL_PATH/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"
else
# download and install prebuilt lsfg-vk
curl -fsSL -o "$TEMP_DIR/$ZIP_NAME" "$BASE_URL/$ZIP_NAME" || { echo "Failed to download lsfg-vk. Please check your internet connection."; rm -vrf "$TEMP_DIR"; exit 1; }
cd "$INSTALL_PATH" && unzip -o "$TEMP_DIR/$ZIP_NAME" || { echo "Extraction failed. Is install path writable or unzip installed?"; rm -vrf "$TEMP_DIR"; exit 1; }
fi
rm -vrf "$TEMP_DIR"
echo "$REMOTE_HASH" > "$SHA_FILE"
echo "lsfg-vk for ${DISTRO_PRETTY} has been installed."
else
echo "lsfg-vk is up to date."
# offer to uninstall
echo -n "Do you want to uninstall lsfg-vk? (y/n) "
read -r uninstall_answer < /dev/tty
if [ "$uninstall_answer" = "y" ]; then
rm -v $INSTALL_PATH/lib/liblsfg-vk.so
rm -v $INSTALL_PATH/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
rm -v "$SHA_FILE"
echo "Uninstallation completed."
fi
fi

View file

@ -25,6 +25,6 @@ modules:
sources:
- type: git
url: https://github.com/PancakeTAS/lsfg-vk.git
branch: develop
branch: release
- type: patch
path: VkLayer_LS_frame_generation.patch

View file

@ -25,6 +25,6 @@ modules:
sources:
- type: git
url: https://github.com/PancakeTAS/lsfg-vk.git
branch: develop
branch: release
- type: patch
path: VkLayer_LS_frame_generation.patch

View file

@ -1,6 +1,6 @@
[package]
name = "lsfg-vk-ui"
version = "0.0.1"
version = "0.9.0"
edition = "2021"
[dependencies]