mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-10-30 07:01:10 +00:00
Compare commits
15 commits
5e04b4f5f6
...
0048283a8a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0048283a8a | ||
|
|
8b87a0c71b | ||
|
|
714326ce11 | ||
|
|
a22ad81056 | ||
|
|
45ae660e78 | ||
|
|
6a2fa943c4 | ||
|
|
4260f29bc6 | ||
|
|
bfd8d0b8e5 | ||
|
|
1ab4f2ef56 | ||
|
|
60d4e10c5c | ||
|
|
68c10561de | ||
|
|
ccd4d92a3e | ||
|
|
2de618809c | ||
|
|
7deeea9e98 | ||
|
|
acd3366e0c |
20 changed files with 423 additions and 71 deletions
36
.github/workflows/build.yml
vendored
36
.github/workflows/build.yml
vendored
|
|
@ -3,10 +3,6 @@ name: Build lsfg-vk
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["release"]
|
branches: ["release"]
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
@ -15,8 +11,6 @@ jobs:
|
||||||
# prepare system
|
# prepare system
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- name: Install build dependencies
|
- name: Install build dependencies
|
||||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||||
with:
|
with:
|
||||||
|
|
@ -35,7 +29,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=./build-release \
|
-DCMAKE_INSTALL_PREFIX=./target \
|
||||||
-DCMAKE_C_COMPILER=clang \
|
-DCMAKE_C_COMPILER=clang \
|
||||||
-DCMAKE_CXX_COMPILER=clang++ \
|
-DCMAKE_CXX_COMPILER=clang++ \
|
||||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
||||||
|
|
@ -45,33 +39,33 @@ jobs:
|
||||||
- name: Install with CMake
|
- name: Install with CMake
|
||||||
run: |
|
run: |
|
||||||
cmake --install build --strip
|
cmake --install build --strip
|
||||||
- name: Build lsfg-vk-ui with appimage.sh
|
- name: Build lsfg-vk-ui
|
||||||
run: |
|
run: |
|
||||||
pushd ui
|
pushd ui
|
||||||
chmod +x ../scripts/build/appimage.sh
|
chmod +x ./build_appimage.sh
|
||||||
../scripts/build/appimage.sh
|
./build_appimage.sh
|
||||||
popd
|
popd
|
||||||
- name: Install lsfg-vk-ui
|
- name: Install lsfg-vk-ui
|
||||||
run: |
|
run: |
|
||||||
mkdir -p build-release/{bin,share/applications,share/icons/hicolor/256x256/apps}
|
mkdir -p target/{bin,share/applications,share/icons/hicolor/256x256/apps}
|
||||||
mv ui/lsfg-vk-ui.AppImage build-release/bin/lsfg-vk-ui
|
mv ui/lsfg-vk-ui.AppImage target/bin/lsfg-vk-ui
|
||||||
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop build-release/share/applications/lsfg-vk-ui.desktop
|
cp ui/rsc/gay.pancake.lsfg-vk-ui.desktop target/share/applications/lsfg-vk-ui.desktop
|
||||||
cp ui/rsc/icon.png build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
cp ui/rsc/icon.png target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
# upload all files
|
# upload all files
|
||||||
- name: Upload lsfg-vk artifact
|
- name: Upload lsfg-vk artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: lsfg-vk
|
name: lsfg-vk
|
||||||
path: |
|
path: |
|
||||||
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
build-release/share/applications/lsfg-vk-ui.desktop
|
target/share/applications/lsfg-vk-ui.desktop
|
||||||
build-release/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
target/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||||
build-release/lib/liblsfg-vk.so
|
target/lib/liblsfg-vk.so
|
||||||
build-release/bin/lsfg-vk-ui
|
target/bin/lsfg-vk-ui
|
||||||
- name: Upload lsfg-vk artifact (without UI)
|
- name: Upload lsfg-vk artifact (without UI)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: lsfg-vk_noui
|
name: lsfg-vk_noui
|
||||||
path: |
|
path: |
|
||||||
build-release/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
target/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
||||||
build-release/lib/liblsfg-vk.so
|
target/lib/liblsfg-vk.so
|
||||||
|
|
|
||||||
71
.github/workflows/build_ci.yml
vendored
Normal file
71
.github/workflows/build_ci.yml
vendored
Normal 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
|
||||||
24
.github/workflows/flatpak.yml
vendored
24
.github/workflows/flatpak.yml
vendored
|
|
@ -1,11 +1,11 @@
|
||||||
name: Build lsfg-vk Flatpak extensions
|
name: Build lsfg-vk for Flatpak
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["release"]
|
branches: ["release"]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
flatpak:
|
flatpak-extensions:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
|
@ -20,5 +20,21 @@ jobs:
|
||||||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
with:
|
with:
|
||||||
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak"
|
bundle: "org.freedesktop.Platform.VulkanLayer.lsfg_vk_${{ matrix.version }}.flatpak"
|
||||||
manifest-path: "scripts/flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
|
manifest-path: "flatpak/org.freedesktop.Platform.VulkanLayer.lsfgvk_${{ matrix.version }}.yml"
|
||||||
verbose: true
|
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
40
.github/workflows/flatpak_ci.yml
vendored
Normal 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
|
||||||
11
.github/workflows/package.yml
vendored
11
.github/workflows/package.yml
vendored
|
|
@ -1,4 +1,5 @@
|
||||||
name: Package lsfg-vk
|
name: Package lsfg-vk
|
||||||
|
run-name: ${{ github.event.workflow_run.head_commit.message }}
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_run:
|
workflow_run:
|
||||||
|
|
@ -11,9 +12,11 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||||
steps:
|
steps:
|
||||||
# prepare system
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.workflow_run.head_sha }}
|
||||||
|
fetch-depth: 0
|
||||||
- name: Download lsfg-vk artifacts
|
- name: Download lsfg-vk artifacts
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|
@ -23,9 +26,9 @@ jobs:
|
||||||
run-id: ${{ github.event.workflow_run.id }}
|
run-id: ${{ github.event.workflow_run.id }}
|
||||||
- name: Package lsfg-vk for various distros
|
- name: Package lsfg-vk for various distros
|
||||||
run: |
|
run: |
|
||||||
export VERSION=$(grep -oP ' VERSION\s+\K[\d.]+' CMakeLists.txt)
|
export VERSION=1.0.0
|
||||||
chmod +x scripts/package/package.sh
|
chmod +x ./package/package.sh
|
||||||
bash ./scripts/package/package.sh
|
./package/package.sh
|
||||||
- name: Upload lsfg-vk for dpkg
|
- name: Upload lsfg-vk for dpkg
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
48
.github/workflows/package_ci.yml
vendored
Normal file
48
.github/workflows/package_ci.yml
vendored
Normal 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
122
.github/workflows/test.yml
vendored
Normal 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 }}
|
||||||
|
|
@ -20,7 +20,6 @@ endif()
|
||||||
|
|
||||||
# main project
|
# main project
|
||||||
project(lsfg-vk
|
project(lsfg-vk
|
||||||
VERSION 1.0.0
|
|
||||||
DESCRIPTION "Lossless Scaling Frame Generation on Linux"
|
DESCRIPTION "Lossless Scaling Frame Generation on Linux"
|
||||||
LANGUAGES CXX)
|
LANGUAGES CXX)
|
||||||
|
|
||||||
|
|
|
||||||
30
flatpak/gay.pancake.lsfg-vk-ui.metainfo.xml
Normal file
30
flatpak/gay.pancake.lsfg-vk-ui.metainfo.xml
Normal 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'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>
|
||||||
37
flatpak/gay.pancake.lsfg-vk-ui.yml
Normal file
37
flatpak/gay.pancake.lsfg-vk-ui.yml
Normal 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
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
|
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
|
||||||
branch: '23.08'
|
default-branch: develop
|
||||||
|
|
||||||
runtime: org.freedesktop.Platform
|
runtime: org.freedesktop.Platform
|
||||||
runtime-version: '23.08'
|
runtime-version: '23.08'
|
||||||
sdk: org.freedesktop.Sdk
|
sdk: org.freedesktop.Sdk
|
||||||
|
branch: '23.08'
|
||||||
build-extension: true
|
build-extension: true
|
||||||
|
|
||||||
sdk-extensions:
|
sdk-extensions:
|
||||||
|
|
@ -10,21 +12,19 @@ sdk-extensions:
|
||||||
|
|
||||||
build-options:
|
build-options:
|
||||||
prefix: /usr/lib/extensions/vulkan/lsfgvk
|
prefix: /usr/lib/extensions/vulkan/lsfgvk
|
||||||
|
append-path: /usr/lib/sdk/llvm18/bin
|
||||||
|
prepend-ld-library-path: /usr/lib/sdk/llvm18/lib
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- name: lsfg-vk
|
- name: lsfg-vk
|
||||||
buildsystem: cmake-ninja
|
buildsystem: cmake-ninja
|
||||||
build-options:
|
|
||||||
append-path: /usr/lib/sdk/llvm18/bin
|
|
||||||
prepend-ld-library-path: /usr/lib/sdk/llvm18/lib
|
|
||||||
config-opts:
|
config-opts:
|
||||||
- -DCMAKE_BUILD_TYPE=Release
|
- -DCMAKE_BUILD_TYPE=Release
|
||||||
- -DCMAKE_C_COMPILER=clang
|
- -DCMAKE_C_COMPILER=clang
|
||||||
- -DCMAKE_CXX_COMPILER=clang++
|
- -DCMAKE_CXX_COMPILER=clang++
|
||||||
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
||||||
sources:
|
sources:
|
||||||
- type: git
|
- type: dir
|
||||||
url: https://github.com/PancakeTAS/lsfg-vk.git
|
path: ..
|
||||||
branch: release
|
|
||||||
- type: patch
|
- type: patch
|
||||||
path: VkLayer_LS_frame_generation.patch
|
path: VkLayer_LS_frame_generation.patch
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
|
id: org.freedesktop.Platform.VulkanLayer.lsfgvk
|
||||||
branch: '24.08'
|
default-branch: develop
|
||||||
|
|
||||||
runtime: org.freedesktop.Platform
|
runtime: org.freedesktop.Platform
|
||||||
runtime-version: '24.08'
|
runtime-version: '24.08'
|
||||||
sdk: org.freedesktop.Sdk
|
sdk: org.freedesktop.Sdk
|
||||||
|
branch: '24.08'
|
||||||
build-extension: true
|
build-extension: true
|
||||||
|
|
||||||
sdk-extensions:
|
sdk-extensions:
|
||||||
|
|
@ -10,21 +12,19 @@ sdk-extensions:
|
||||||
|
|
||||||
build-options:
|
build-options:
|
||||||
prefix: /usr/lib/extensions/vulkan/lsfgvk
|
prefix: /usr/lib/extensions/vulkan/lsfgvk
|
||||||
|
append-path: /usr/lib/sdk/llvm20/bin
|
||||||
|
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- name: lsfg-vk
|
- name: lsfg-vk
|
||||||
buildsystem: cmake-ninja
|
buildsystem: cmake-ninja
|
||||||
build-options:
|
|
||||||
append-path: /usr/lib/sdk/llvm20/bin
|
|
||||||
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
|
|
||||||
config-opts:
|
config-opts:
|
||||||
- -DCMAKE_BUILD_TYPE=Release
|
- -DCMAKE_BUILD_TYPE=Release
|
||||||
- -DCMAKE_C_COMPILER=clang
|
- -DCMAKE_C_COMPILER=clang
|
||||||
- -DCMAKE_CXX_COMPILER=clang++
|
- -DCMAKE_CXX_COMPILER=clang++
|
||||||
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
|
||||||
sources:
|
sources:
|
||||||
- type: git
|
- type: dir
|
||||||
url: https://github.com/PancakeTAS/lsfg-vk.git
|
path: ..
|
||||||
branch: release
|
|
||||||
- type: patch
|
- type: patch
|
||||||
path: VkLayer_LS_frame_generation.patch
|
path: VkLayer_LS_frame_generation.patch
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
pkgname = lsfg-vk
|
pkgname = lsfg-vk
|
||||||
pkgbase = lsfg-vk
|
pkgbase = lsfg-vk
|
||||||
pkgver = ${VERSION}-1
|
pkgver = ${ALPM_VERSION}-1
|
||||||
pkgdesc = "Lossless Scaling Frame Generation on Linux via DXVK/Vulkan"
|
pkgdesc = "Lossless Scaling Frame Generation on Linux via DXVK/Vulkan"
|
||||||
url = https://discord.gg/losslessscaling
|
url = https://discord.gg/losslessscaling
|
||||||
packager = "PancakeTAS <???>"
|
packager = "PancakeTAS <???>"
|
||||||
|
|
@ -2,7 +2,7 @@ Package: lsfg-vk
|
||||||
Description: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
Description: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
||||||
Homepage: https://discord.gg/losslessscaling
|
Homepage: https://discord.gg/losslessscaling
|
||||||
Maintainer: "PancakeTAS <???>"
|
Maintainer: "PancakeTAS <???>"
|
||||||
Version: ${VERSION}-1
|
Version: ${DPKG_VERSION}
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Section: utils
|
Section: utils
|
||||||
Priority: optional
|
Priority: optional
|
||||||
|
|
@ -1,11 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
if [ -z "$VERSION" ]; then
|
if [ -z "$VERSION" ]; then
|
||||||
echo "VERSION environment variable is not set."
|
set -eux
|
||||||
exit 1
|
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
|
fi
|
||||||
|
|
||||||
set -eux
|
|
||||||
|
|
||||||
# set permission bits
|
# set permission bits
|
||||||
chmod 755 bin/lsfg-vk-ui
|
chmod 755 bin/lsfg-vk-ui
|
||||||
chmod 755 lib/liblsfg-vk.so
|
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..."
|
echo "Building ALPM package..."
|
||||||
|
|
||||||
mkdir -pv alpm
|
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}
|
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
|
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..."
|
echo "Building DEB package..."
|
||||||
|
|
||||||
mkdir -pv deb/DEBIAN
|
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}
|
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
|
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..."
|
echo "Building RPM package..."
|
||||||
|
|
||||||
mkdir -pv rpm
|
mkdir -pv rpm
|
||||||
envsubst < scripts/package/rpm.spec > rpm/lsfg-vk.spec
|
envsubst < package/rpm.spec > rpm/lsfg-vk.spec
|
||||||
|
|
||||||
mkdir -pv rpm/SOURCES
|
mkdir -pv rpm/SOURCES
|
||||||
cp -v bin/lsfg-vk-ui 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
|
rpm/SOURCES/gay.pancake.lsfg-vk-ui.png
|
||||||
|
|
||||||
rpmbuild -bb rpm/lsfg-vk.spec --define "_topdir $(pwd)/rpm"
|
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
|
# cleanup
|
||||||
rm -rf alpm deb rpm
|
rm -rf alpm deb rpm
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
Name: lsfg-vk
|
Name: lsfg-vk
|
||||||
Summary: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
Summary: Lossless Scaling Frame Generation on Linux via DXVK/Vulkan
|
||||||
Version: ${VERSION}
|
Version: ${RPM_VERSION}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: https://discord.gg/losslessscaling
|
URL: https://discord.gg/losslessscaling
|
||||||
Packager: "PancakeTAS <???>"
|
Packager: "PancakeTAS <???>"
|
||||||
2
ui/Cargo.lock
generated
2
ui/Cargo.lock
generated
|
|
@ -682,7 +682,7 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lsfg-vk-ui"
|
name = "lsfg-vk-ui"
|
||||||
version = "1.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"glib-build-tools",
|
"glib-build-tools",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "lsfg-vk-ui"
|
name = "lsfg-vk-ui"
|
||||||
version = "1.0.0"
|
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
||||||
|
|
@ -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"
|
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"
|
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)
|
VERSION=$(awk -F'=|"' '/^version/{print $3}' ./Cargo.toml)
|
||||||
echo "$VERSION-dev" > ~/version
|
echo "$VERSION-dev" > ~/version
|
||||||
|
|
||||||
|
|
@ -25,16 +21,7 @@ chmod +x uruntime uruntime-lite
|
||||||
|
|
||||||
# build lsfg-vk-ui
|
# build lsfg-vk-ui
|
||||||
echo "Building lsfg-vk-ui..."
|
echo "Building lsfg-vk-ui..."
|
||||||
cargo build --release # doesn't compile with debloated llvm
|
cargo build --release
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# deploy app directory
|
# deploy app directory
|
||||||
echo "Deploying app directory..."
|
echo "Deploying app directory..."
|
||||||
Loading…
Add table
Reference in a new issue