Compare commits

...

17 commits

Author SHA1 Message Date
flightlessmango
c4c8024f6f
Merge 4c4452c9e5 into 0048283a8a 2025-08-29 19:48:15 +03:00
PancakeTAS
0048283a8a fix: hide unload message if never loaded
Some checks failed
(CI) Build lsfg-vk / build (push) Has been cancelled
(CI) Build lsfg-vk for Flatpak / flatpak-extensions (23.08) (push) Has been cancelled
(CI) Build lsfg-vk for Flatpak / flatpak-extensions (24.08) (push) Has been cancelled
(CI) Build lsfg-vk for Flatpak / flatpak-ui (push) Has been cancelled
2025-08-29 13:01:19 +02:00
PancakeTAS
8b87a0c71b
workflows: better manual dispatch 2025-08-29 12:51:23 +02:00
PancakeTAS
714326ce11
enhancement(flatpakui): fix workflow 2025-08-29 11:53:40 +02:00
PancakeTAS
a22ad81056 enhancement(flatpakui): add manually triggered workflow 2025-08-29 11:24:12 +02:00
PancakeTAS
45ae660e78 enhancement(flatpakui): force version number in release workflow 2025-08-29 11:24:12 +02:00
PancakeTAS
6a2fa943c4 enhancement(flatpakui): also update packages 2025-08-29 11:24:12 +02:00
PancakeTAS
4260f29bc6 enhancement(flatpakui): update packaging logic 2025-08-29 11:24:12 +02:00
PancakeTAS
bfd8d0b8e5 enhancement(flatpakui): enhance main build workflow 2025-08-29 11:24:12 +02:00
PancakeTAS
1ab4f2ef56 enhancement(flatpakui): remove version information from most files 2025-08-29 11:24:12 +02:00
PancakeTAS
60d4e10c5c enhancement(flatpakui): update release flatpak workflow 2025-08-29 11:24:12 +02:00
PancakeTAS
68c10561de enhancement(flatpakui): add metainfo file for main application 2025-08-29 11:24:12 +02:00
PancakeTAS
ccd4d92a3e enhancement(flatpakui): update action branch and cache 2025-08-29 11:24:12 +02:00
PancakeTAS
2de618809c enhancement(flatpakui): create github action for continuous integration 2025-08-29 11:24:12 +02:00
PancakeTAS
7deeea9e98 enhancement(flatpakui): update other flatpak files 2025-08-29 11:24:12 +02:00
PancakeTAS
acd3366e0c enhancement(flatpakui): add flatpak file for the user interface 2025-08-29 11:24:12 +02:00
flightlessmango
4c4452c9e5 Add unmangled symbol to retrieve conf 2025-07-31 12:06:50 +02:00
21 changed files with 428 additions and 71 deletions

View file

@ -3,10 +3,6 @@ name: Build lsfg-vk
on:
push:
branches: ["release"]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
@ -15,8 +11,6 @@ jobs:
# prepare system
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
@ -35,7 +29,7 @@ jobs:
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./build-release \
-DCMAKE_INSTALL_PREFIX=./target \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
@ -45,33 +39,33 @@ jobs:
- name: Install with CMake
run: |
cmake --install build --strip
- name: Build lsfg-vk-ui with appimage.sh
- name: Build lsfg-vk-ui
run: |
pushd ui
chmod +x ../scripts/build/appimage.sh
../scripts/build/appimage.sh
chmod +x ./build_appimage.sh
./build_appimage.sh
popd
- name: Install lsfg-vk-ui
run: |
mkdir -p build-release/{bin,share/applications,share/icons/hicolor/256x256/apps}
mv ui/lsfg-vk-ui.AppImage build-release/bin/lsfg-vk-ui
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop build-release/share/applications/lsfg-vk-ui.desktop
cp ui/rsc/icon.png build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
# upload all files
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk
path: |
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
build-release/share/applications/lsfg-vk-ui.desktop
build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
build-release/lib/liblsfg-vk.so
build-release/bin/lsfg-vk-ui
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/share/applications/lsfg-vk-ui.desktop
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
target/lib/liblsfg-vk.so
target/bin/lsfg-vk-ui
- name: Upload lsfg-vk artifact (without UI)
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_noui
path: |
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
build-release/lib/liblsfg-vk.so
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/lib/liblsfg-vk.so

71
.github/workflows/build_ci.yml vendored Normal file
View file

@ -0,0 +1,71 @@
name: (CI) Build lsfg-vk
on:
push:
branches: ["develop"]
jobs:
build:
runs-on: ubuntu-latest
steps:
# prepare system
- name: Checkout repository
uses: actions/checkout@v4
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: git wget xvfb
clang clang-tools llvm rustup
cmake ninja-build pkg-config
libdecor-0-0 libvulkan-dev
libgtk-4-dev libadwaita-1-dev
version: 1.0
execute_install_scripts: true
- name: Install rust dependency
run: |
rustup default stable
# build the project
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=./target \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
- name: Build with Ninja
run: |
ninja -C build
- name: Install with CMake
run: |
cmake --install build --strip
- name: Build lsfg-vk-ui
run: |
pushd ui
chmod +x ./build_appimage.sh
./build_appimage.sh
popd
- name: Install lsfg-vk-ui
run: |
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
# upload all files
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk
path: |
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/share/applications/lsfg-vk-ui.desktop
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
target/lib/liblsfg-vk.so
target/bin/lsfg-vk-ui
- name: Upload lsfg-vk artifact (without UI)
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_noui
path: |
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/lib/liblsfg-vk.so

View file

@ -1,11 +1,11 @@
name: Build lsfg-vk Flatpak extensions
name: Build lsfg-vk for Flatpak
on:
push:
branches: ["release"]
jobs:
flatpak:
flatpak-extensions:
runs-on: ubuntu-latest
strategy:
matrix:
@ -20,5 +20,21 @@ jobs:
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak"
manifest-path: "scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
verbose: true
manifest-path: "flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
branch: "${{ matrix.version }}"
cache: false
flatpak-ui:
runs-on: ubuntu-latest
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48
options: --privileged
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: "gay.pancake.lsfg-vk-ui.flatpak"
manifest-path: "flatpak/gay.pancake.lsfg-vk-ui.yml"
branch: "release"
cache: false

40
.github/workflows/flatpak_ci.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: (CI) Build lsfg-vk for Flatpak
on:
push:
branches: ["develop"]
jobs:
flatpak-extensions:
runs-on: ubuntu-latest
strategy:
matrix:
version: ["23.08", "24.08"]
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:freedesktop-${{ matrix.version }}
options: --privileged
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Flatpak extension (${{ matrix.version }})
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak"
manifest-path: "flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
branch: "${{ matrix.version }}"
cache: false
flatpak-ui:
runs-on: ubuntu-latest
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48
options: --privileged
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: "gay.pancake.lsfg-vk-ui.flatpak"
manifest-path: "flatpak/gay.pancake.lsfg-vk-ui.yml"
branch: "develop"
cache: false

View file

@ -1,4 +1,5 @@
name: Package lsfg-vk
run-name: ${{ github.event.workflow_run.head_commit.message }}
on:
workflow_run:
@ -11,9 +12,11 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
# prepare system
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha }}
fetch-depth: 0
- name: Download lsfg-vk artifacts
uses: actions/download-artifact@v4
with:
@ -23,9 +26,9 @@ jobs:
run-id: ${{ github.event.workflow_run.id }}
- name: Package lsfg-vk for various distros
run: |
export VERSION=$(grep -oP ' VERSION\s+\K[\d.]+' CMakeLists.txt)
chmod +x scripts/package/package.sh
bash ./scripts/package/package.sh
export VERSION=1.0.0
chmod +x ./package/package.sh
./package/package.sh
- name: Upload lsfg-vk for dpkg
uses: actions/upload-artifact@v4
with:

48
.github/workflows/package_ci.yml vendored Normal file
View file

@ -0,0 +1,48 @@
name: (CI) Package lsfg-vk
run-name: ${{ github.event.workflow_run.head_commit.message }}
on:
workflow_run:
workflows: ["(CI) Build lsfg-vk"]
types:
- completed
jobs:
package:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha }}
fetch-depth: 0
- name: Download lsfg-vk artifacts
uses: actions/download-artifact@v4
with:
name: lsfg-vk
path: .
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}
- name: Package lsfg-vk for various distros
run: |
chmod +x ./package/package.sh
./package/package.sh
- name: Upload lsfg-vk for dpkg
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.dpkg
path: |
*.deb
- name: Upload lsfg-vk for rpm
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.rpm
path: |
*.rpm
- name: Upload lsfg-vk for alpm
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.alpm
path: |
*.zst

122
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,122 @@
name: (Manual) Build lsfg-vk
on:
issue_comment:
types: ["created"]
permissions:
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
if: |
github.event.issue.pull_request &&
github.event.comment.body == '@actions build' &&
github.event.comment.user.login == 'PancakeTAS'
steps:
# prepare system
- name: Find commit hash
id: prRef
run: |
echo "ref=$(gh pr view $PR_NUMBER --repo ${{ github.repository }} --json headRefName \
| jq -r '.headRefName')" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.issue.number }}
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ steps.prRef.outputs.ref }}
fetch-depth: 0
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: git wget xvfb
clang clang-tools llvm rustup
cmake ninja-build pkg-config
libdecor-0-0 libvulkan-dev
libgtk-4-dev libadwaita-1-dev
version: 1.0
execute_install_scripts: true
- name: Install rust dependency
run: |
rustup default stable
# build the project
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=./target \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
- name: Build with Ninja
run: |
ninja -C build
- name: Install with CMake
run: |
cmake --install build
- name: Build lsfg-vk-ui
run: |
pushd ui
chmod +x ./build_appimage.sh
./build_appimage.sh
popd
- name: Install lsfg-vk-ui
run: |
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
# create packages for various distros
- name: Package lsfg-vk for various distros
run: |
cp -rv target/* .
chmod +x ./package/package.sh
./package/package.sh
# upload all files
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk
path: |
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/share/applications/lsfg-vk-ui.desktop
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
target/lib/liblsfg-vk.so
target/bin/lsfg-vk-ui
- name: Upload lsfg-vk artifact (without UI)
uses: actions/upload-artifact@v4
with:
name: lsfg-vk_noui
path: |
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
target/lib/liblsfg-vk.so
- name: Upload lsfg-vk for dpkg
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.dpkg
path: |
*.deb
- name: Upload lsfg-vk for rpm
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.rpm
path: |
*.rpm
- name: Upload lsfg-vk for alpm
uses: actions/upload-artifact@v4
with:
name: lsfg-vk.alpm
path: |
*.zst
# comment on pull request
- name: Comment on PR
uses: thollander/actions-comment-pull-request@v3
with:
pr-number: ${{ github.event.issue.number }}
message: |
**Development Build**
I have built this lsfg-vk pull request for you:
https://github.com/PancakeTAS/lsfg-vk/actions/runs/${{ github.run_id }}

View file

@ -20,7 +20,6 @@ endif()
# main project
project(lsfg-vk
VERSION 1.0.0
DESCRIPTION "Lossless Scaling Frame Generation on Linux"
LANGUAGES CXX)

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>gay.pancake.lsfg-vk-ui</id>
<name>lsfg-vk-ui</name>
<summary>Lossless Scaling Frame Generation on Linux (user interface only)</summary>
<developer id="gay.pancake">
<name>PancakeTAS</name>
</developer>
<url type="homepage">https://github.com/PancakeTAS/lsfg-vk</url>
<url type="bugtracker">https://github.com/PancakeTAS/lsfg-vk/issues</url>
<url type="faq">https://github.com/PancakeTAS/lsfg-vk/wiki</url>
<url type="help">https://github.com/PancakeTAS/lsfg-vk/wiki</url>
<metadata_license>MIT</metadata_license>
<project_license>MIT</project_license>
<description>
<p>The lsfg-vk project brings Lossless Scaling&apos;s frame generation to Linux users by acting as a Vulkan layer inbetween your game and your graphics card.</p>
</description>
<releases>
<release date="2025-08-28" version="1.1.0-dev" />
<release date="2025-07-30" version="1.0.0" />
</releases>
<launchable type="desktop-id">gay.pancake.lsfg-vk-ui.desktop</launchable>
<content_rating type="oars-1.1" />
</component>

View file

@ -0,0 +1,37 @@
id: gay.pancake.lsfg-vk-ui
command: lsfg-vk-ui
default-branch: develop
runtime: org.gnome.Platform
runtime-version: '48'
sdk: org.gnome.Sdk
finish-args:
- --share=ipc
- --socket=x11
- --socket=wayland
- --device=dri
- --filesystem=xdg-config
sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
build-options:
append-path: /usr/lib/sdk/rust-stable/bin
build-args:
- --share=network
modules:
- name: lsfg-vk-ui
buildsystem: simple
build-commands:
- cargo build --release --locked
- install -Dm755 ./target/release/lsfg-vk-ui /app/bin/lsfg-vk-ui
- install -Dm644 ./rsc/gay.pancake.lsfg-vk-ui.desktop /app/share/applications/gay.pancake.lsfg-vk-ui.desktop
- install -Dm644 ./rsc/icon.png /app/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
- install -Dm644 ./gay.pancake.lsfg-vk-ui.metainfo.xml /app/share/metainfo/gay.pancake.lsfg-vk-ui.metainfo.xml
sources:
- type: dir
path: ../ui
- type: file
path: gay.pancake.lsfg-vk-ui.metainfo.xml

View file

@ -1,8 +1,10 @@
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
branch: '23.08'
default-branch: develop
runtime: org.freedesktop.Platform
runtime-version: '23.08'
sdk: org.freedesktop.Sdk
branch: '23.08'
build-extension: true
sdk-extensions:
@ -10,21 +12,19 @@ sdk-extensions:
build-options:
prefix: /usr/lib/extensions/vulkan/lsfgvk
append-path: /usr/lib/sdk/llvm18/bin
prepend-ld-library-path: /usr/lib/sdk/llvm18/lib
modules:
- name: lsfg-vk
buildsystem: cmake-ninja
build-options:
append-path: /usr/lib/sdk/llvm18/bin
prepend-ld-library-path: /usr/lib/sdk/llvm18/lib
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_C_COMPILER=clang
- -DCMAKE_CXX_COMPILER=clang++
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
sources:
- type: git
url: https://github.com/PancakeTAS/lsfg-vk.git
branch: release
- type: dir
path: ..
- type: patch
path: VkLayer_LS_frame_generation.patch

View file

@ -1,8 +1,10 @@
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
branch: '24.08'
default-branch: develop
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
branch: '24.08'
build-extension: true
sdk-extensions:
@ -10,21 +12,19 @@ sdk-extensions:
build-options:
prefix: /usr/lib/extensions/vulkan/lsfgvk
append-path: /usr/lib/sdk/llvm20/bin
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
modules:
- name: lsfg-vk
buildsystem: cmake-ninja
build-options:
append-path: /usr/lib/sdk/llvm20/bin
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_C_COMPILER=clang
- -DCMAKE_CXX_COMPILER=clang++
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
sources:
- type: git
url: https://github.com/PancakeTAS/lsfg-vk.git
branch: release
- type: dir
path: ..
- type: patch
path: VkLayer_LS_frame_generation.patch

View file

@ -1,6 +1,6 @@
pkgname = lsfg-vk
pkgbase = lsfg-vk
pkgver = ${VERSION}-1
pkgver = ${ALPM_VERSION}-1
pkgdesc = "Lossless Scaling Frame Generation on Linux via DXVK/Vulkan"
url = https://discord.gg/losslessscaling
packager = "PancakeTAS <???>"

View file

@ -2,7 +2,7 @@ Package: lsfg-vk
Description: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
Homepage: https://discord.gg/losslessscaling
Maintainer: "PancakeTAS <???>"
Version: ${VERSION}-1
Version: ${DPKG_VERSION}
Architecture: amd64
Section: utils
Priority: optional

View file

@ -1,11 +1,17 @@
#!/bin/bash
if [ -z "$VERSION" ]; then
echo "VERSION environment variable is not set."
exit 1
set -eux
export VERSION="1.1.0"
export ALPM_VERSION=$(git describe --long --tags | sed 's/\([^-]*-\)g/r\1/;s/-/./g' | sed "s/.\..\../$VERSION/")
export DPKG_VERSION=$(git describe --long --tags | sed 's/\([^-]*-\)g/r\1/;s/-/./g' | sed "s/^v.\..\..\.r[1-9]\+./$VERSION~git$(date '+%Y%m%d')./")
export RPM_VERSION=$(git describe --long --tags | sed 's/\([^-]*-\)g/r\1/;s/-/./g' | sed "s/v.\..\...r/$VERSION^/")
else
set -eux
export ALPM_VERSION="$VERSION"
export DPKG_VERSION="$VERSION"
export RPM_VERSION="$VERSION"
fi
set -eux
# set permission bits
chmod 755 bin/lsfg-vk-ui
chmod 755 lib/liblsfg-vk.so
@ -17,7 +23,7 @@ chmod 644 share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
echo "Building ALPM package..."
mkdir -pv alpm
envsubst < scripts/package/alpm.PKGINFO > alpm/.PKGINFO
envsubst < package/alpm.PKGINFO > alpm/.PKGINFO
mkdir -pv alpm/usr/{bin,lib,share/vulkan/implicit_layer.d,share/applications,share/icons/hicolor/256x256/apps}
cp -v bin/lsfg-vk-ui alpm/usr/bin/lsfg-vk-ui
@ -36,7 +42,7 @@ tar -cvzf "lsfg-vk-$VERSION.x86_64.tar.zst" -C alpm \
echo "Building DEB package..."
mkdir -pv deb/DEBIAN
envsubst < scripts/package/dpkg.control > deb/DEBIAN/control
envsubst < package/dpkg.control > deb/DEBIAN/control
mkdir -pv deb/usr/{bin,lib,share/vulkan/implicit_layer.d,share/applications,share/icons/hicolor/256x256/apps}
cp -v bin/lsfg-vk-ui deb/usr/bin/lsfg-vk-ui
@ -54,7 +60,7 @@ dpkg-deb --root-owner-group --build deb "lsfg-vk-$VERSION.x86_64.deb"
echo "Building RPM package..."
mkdir -pv rpm
envsubst < scripts/package/rpm.spec > rpm/lsfg-vk.spec
envsubst < package/rpm.spec > rpm/lsfg-vk.spec
mkdir -pv rpm/SOURCES
cp -v bin/lsfg-vk-ui rpm/SOURCES
@ -67,7 +73,7 @@ cp -v share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png \
rpm/SOURCES/gay.pancake.lsfg-vk-ui.png
rpmbuild -bb rpm/lsfg-vk.spec --define "_topdir $(pwd)/rpm"
mv -v "rpm/RPMS/x86_64/lsfg-vk-$VERSION-1.x86_64.rpm" "lsfg-vk-$VERSION.x86_64.rpm"
mv -v "rpm/RPMS/x86_64/lsfg-vk-$RPM_VERSION-1.x86_64.rpm" "lsfg-vk-$VERSION.x86_64.rpm"
# cleanup
rm -rf alpm deb rpm

View file

@ -1,6 +1,6 @@
Name: lsfg-vk
Summary: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
Version: ${VERSION}
Version: ${RPM_VERSION}
Release: 1%{?dist}
URL: https://discord.gg/losslessscaling
Packager: "PancakeTAS <???>"

View file

@ -26,6 +26,11 @@ using namespace Config;
GlobalConfiguration Config::globalConf{};
std::optional<GameConfiguration> Config::currentConf{};
extern "C" __attribute__((visibility("default")))
void lsfg_get_active_conf(Configuration *cfg) {
*cfg = Config::activeConf;
}
namespace {
/// Turn a string into a VkPresentModeKHR enum value.
VkPresentModeKHR into_present(const std::string& mode) {

2
ui/Cargo.lock generated
View file

@ -682,7 +682,7 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]]
name = "lsfg-vk-ui"
version = "1.0.0"
version = "0.0.0"
dependencies = [
"anyhow",
"glib-build-tools",

View file

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

View file

@ -8,10 +8,6 @@ URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime
URUNTIME_LITE="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-lite-x86_64"
SHARUN="https://github.com/VHSgunzo/sharun/releases/latest/download/sharun-x86_64-aio"
LIBXML_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/libxml2-iculess-x86_64.pkg.tar.zst"
MESA_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/mesa-mini-x86_64.pkg.tar.zst"
LLVM_URL="https://github.com/pkgforge-dev/llvm-libs-debloated/releases/download/continuous/llvm-libs-nano-x86_64.pkg.tar.zst"
VERSION=$(awk -F'=|"' '/^version/{print $3}' ./Cargo.toml)
echo "$VERSION-dev" > ~/version
@ -25,16 +21,7 @@ chmod +x uruntime uruntime-lite
# build lsfg-vk-ui
echo "Building lsfg-vk-ui..."
cargo build --release # doesn't compile with debloated llvm
# install debloated dependencies
echo "Installing debloated packages..."
wget -O libxml2.pkg.tar.zst "$LIBXML_URL"
wget -O mesa.pkg.tar.zst "$MESA_URL"
wget -O llvm-libs.pkg.tar.zst "$LLVM_URL"
#pacman -U --noconfirm *.pkg.tar.zst
rm -fv *.pkg.tar.zst
cargo build --release
# deploy app directory
echo "Deploying app directory..."