mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-10-30 07:01:10 +00:00
meta: change version number to 0.9.0
This commit is contained in:
parent
614a2a14fb
commit
3893d49dbb
10 changed files with 33 additions and 118 deletions
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
name: (Test) Build lsfg-vk
|
||||
name: Build lsfg-vk
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["develop"]
|
||||
branches: ["release"]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
|
|
|||
4
.github/workflows/flatpak.yml
vendored
4
.github/workflows/flatpak.yml
vendored
|
|
@ -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:
|
||||
|
|
|
|||
6
.github/workflows/package.yml
vendored
6
.github/workflows/package.yml
vendored
|
|
@ -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
3
.gitignore
vendored
|
|
@ -3,9 +3,6 @@
|
|||
|
||||
# cargo files
|
||||
/ui/target
|
||||
/ui/libs
|
||||
/ui/appimagetool
|
||||
/ui/icon.png
|
||||
|
||||
# ide/lsp files
|
||||
/.zed
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
32
README.md
32
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.
|
||||
|
|
|
|||
82
install.sh
82
install.sh
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "lsfg-vk-ui"
|
||||
version = "0.0.1"
|
||||
version = "0.9.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue