From 3893d49dbb3438629ba4e0dd1980085d4f5bf356 Mon Sep 17 00:00:00 2001 From: PancakeTAS Date: Fri, 25 Jul 2025 22:54:30 +0200 Subject: [PATCH] meta: change version number to 0.9.0 --- .github/workflows/build.yml | 4 +- .github/workflows/flatpak.yml | 4 +- .github/workflows/package.yml | 6 +- .gitignore | 3 - CMakeLists.txt | 14 +--- README.md | 32 +++++--- install.sh | 82 ------------------- ...ktop.Platform.VulkanLayer.lsfgvk_23.08.yml | 2 +- ...ktop.Platform.VulkanLayer.lsfgvk_24.08.yml | 2 +- ui/Cargo.toml | 2 +- 10 files changed, 33 insertions(+), 118 deletions(-) delete mode 100755 install.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63079b2..a4b3eae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,8 @@ -name: (Test) Build lsfg-vk +name: Build lsfg-vk on: push: - branches: ["develop"] + branches: ["release"] env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index c2e38b7..f71d65e 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -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: diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 3df0132..ea76947 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -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: diff --git a/.gitignore b/.gitignore index 64c3ae1..682effd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,6 @@ # cargo files /ui/target -/ui/libs -/ui/appimagetool -/ui/icon.png # ide/lsp files /.zed diff --git a/CMakeLists.txt b/CMakeLists.txt index 46c7f81..065f14f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/README.md b/README.md index 4fe55c1..2825a0b 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/install.sh b/install.sh deleted file mode 100755 index 1f2a48a..0000000 --- a/install.sh +++ /dev/null @@ -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 diff --git a/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_23.08.yml b/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_23.08.yml index f3a5e3c..5ff2d12 100644 --- a/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_23.08.yml +++ b/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_23.08.yml @@ -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 diff --git a/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_24.08.yml b/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_24.08.yml index 7196745..156e94c 100644 --- a/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_24.08.yml +++ b/scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_24.08.yml @@ -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 diff --git a/ui/Cargo.toml b/ui/Cargo.toml index fb69cb0..70d88fb 100644 --- a/ui/Cargo.toml +++ b/ui/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lsfg-vk-ui" -version = "0.0.1" +version = "0.9.0" edition = "2021" [dependencies]