From 5421d0a4bbb41b2c8e11dc874ecce54706b97a42 Mon Sep 17 00:00:00 2001 From: Nojus Date: Sat, 19 Jul 2025 19:46:48 +0200 Subject: [PATCH 01/18] flake.lock: bump --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a63de06..3b37958 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "type": "github" }, "original": { From f6d9f067780d9ba56549831599c23c0df2cdece1 Mon Sep 17 00:00:00 2001 From: Nojus Date: Sat, 19 Jul 2025 20:02:46 +0200 Subject: [PATCH 02/18] readme: touchups --- README.md | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index fa5f8d2..547095d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Nix flake for using [Lossless Scaling's frame generation on Linux](https://githu ### System-wide (NixOS module) This approach will install an implicit layer to ``/etc/vulkan/implicit_layer.d/`` -Add this repository to your flake inputs, output function and module list: +Add this to your flake inputs, output function and modules list: ```nix inputs = { ... @@ -29,25 +29,39 @@ outputs = {nixpkgs, lsfg-vk-flake, ...}: { } ``` -And then you should be able to enable this in your system config using: +And then enable this in your system config: ```nix services.lsfg-vk.enable = true; ``` ### User install (manual) 1. Build the library: - ``nix build`` -3. Create the following path in case it does not exist: - ``mkdir -p $HOME/.local/share/vulkan/implicit_layer.d`` + ```bash + nix build + ``` +2. Create the following path in case it does not exist: + ```bash + mkdir -p $HOME/.local/share/vulkan/implicit_layer.d + ``` 3. Symlink the build results to your $HOME/.local/ - ``cp -ifrsv "$(readlink -f ./result)"/* $HOME/.local/`` + ```bash + cp -ifrsv "$(readlink -f ./result)"/* $HOME/.local/ + ``` ## Usage Run a Vulkan application with the environment variable ``ENABLE_LSFG=1`` set. -Example: ``ENABLE_LSFG=1 vkcube`` and look for output like this in the terminal: lsfg-vk(...): ... +Example: +```bash +ENABLE_LSFG=1 vkcube +``` -You can also enable it per game on Steam by adding this to the launch options of a game like this: - ``ENABLE_LSFG=1 %COMMAND%`` +To confirm that it is working, look for output like this in the terminal: lsfg-vk(...): ... -There are many more options that can be set. Consult the original repository for further documentation. \ No newline at end of file +You can also enable it per game on Steam by adding this to the launch options: +``` +ENABLE_LSFG=1 %COMMAND% +``` + +>[!NOTE] +> If the environment variable is set but the program doesn't show any lsfg-vk output, you may need to add the application to your lsfg-vk configuration file at `~/.config/lsfg-vk/config.toml`. Read more about it in the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki/Configuring-lsfg-vk) \ No newline at end of file From de1d2031dcfc9c5e59dcf4da949bb26120d16552 Mon Sep 17 00:00:00 2001 From: exalexi Date: Sat, 19 Jul 2025 22:17:09 +0200 Subject: [PATCH 03/18] module.nix: add configFile option --- module.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/module.nix b/module.nix index ee61e8f..92ab300 100644 --- a/module.nix +++ b/module.nix @@ -31,6 +31,17 @@ in Required if Lossless Scaling isn't installed in a standard location ''; }; + + configFile = lib.mkOption + { + type = with lib.types; nullOr str; + default = null; + example = "/home/user/.config/lsfg-vk/conf.toml"; + description = '' + Sets the LSFG_CONFIG environment variable. + Required if the lsfg-vk configuration file isn't stored at the standard location + ''; + }; }; }; @@ -42,5 +53,7 @@ in "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; environment.sessionVariables.LSFG_DLL_PATH = lib.mkIf (cfg.losslessDLLFile != null) cfg.losslessDLLFile; + + environment.sessionVariables.LSFG_CONFIG = lib.mkIf (cfg.configFile != null) cfg.configFile; }; } From c88ac624f0e1b5fd3ba28bb63e89c3b075c618dc Mon Sep 17 00:00:00 2001 From: adisbladis Date: Mon, 21 Jul 2025 16:00:26 +1200 Subject: [PATCH 04/18] module.nix: Don't warn when declaring option The option is _always_ evaluated and therefore the warning is always output, even if your configuration is unaffected. This refactors the module to: - Only create env vars if their config is actually declared - Stick the warning in the config declaration instead of the option --- module.nix | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/module.nix b/module.nix index 92ab300..19bc424 100644 --- a/module.nix +++ b/module.nix @@ -19,9 +19,7 @@ in default = lsfg-vk; }; - losslessDLLFile = - lib.warn "losslessDLLFile is deprecated and will only be used by lsfg-vk if LSFG_LEGACY is set." - lib.mkOption + losslessDLLFile = lib.mkOption { type = with lib.types; nullOr str; default = null; @@ -45,15 +43,23 @@ in }; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.systemPackages = [ cfg.package ]; - # Installs the Vulkan implicit layer system-wide - environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = - "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; - - environment.sessionVariables.LSFG_DLL_PATH = lib.mkIf (cfg.losslessDLLFile != null) cfg.losslessDLLFile; - - environment.sessionVariables.LSFG_CONFIG = lib.mkIf (cfg.configFile != null) cfg.configFile; - }; + # Installs the Vulkan implicit layer system-wide + environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = + "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; + } + (lib.mkIf (cfg.losslessDLLFile != null) { + environment.sessionVariables.LSFG_DLL_PATH = + lib.warn "losslessDLLFile is deprecated and will only be used by lsfg-vk if LSFG_LEGACY is set." + cfg.losslessDLLFile; + }) + (lib.mkIf (cfg.configFile != null) { + environment.sessionVariables.LSFG_CONFIG = cfg.configFile; + }) + ] + ); } From 12763fb704c4d5dc24661eb4be8d3ffde04bea2e Mon Sep 17 00:00:00 2001 From: Nojus Date: Mon, 21 Jul 2025 14:15:42 +0200 Subject: [PATCH 05/18] default.nix: update lsfg-vk to e67fcd3 spirv-headers got vendored? huh --- default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/default.nix b/default.nix index 07fa9d5..124b747 100644 --- a/default.nix +++ b/default.nix @@ -6,7 +6,6 @@ vulkan-headers, vulkan-loader, llvmPackages, - spirv-headers, libX11, libXrandr, libXinerama, @@ -21,13 +20,13 @@ llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "unstable-2025-07-19-dd5190a"; + version = "unstable-2025-07-20-e67fcd3"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "dd5190aa680a7543143e724a100bd5d6e9898dd7"; - hash = "sha256-2WrUtjUG8l3tSElDYfhvi4lrFUG1Oh5M7DAEX2mFh5s="; + rev = "e67fcd3dd832c9d177ad2be780e5dd0e47810bdf"; + hash = "sha256-c0anP3lWJ2GcjJNGIHcY/sS86AS1tFk0t7vXbaEGTQg="; fetchSubmodules = true; }; @@ -49,7 +48,6 @@ llvmPackages.stdenv.mkDerivation { buildInputs = [ vulkan-headers vulkan-loader - spirv-headers libX11 libXrandr libXinerama From 382a1614c007506ee36cb02abe05b6631575b4aa Mon Sep 17 00:00:00 2001 From: Nojus Date: Mon, 21 Jul 2025 23:52:21 +0200 Subject: [PATCH 06/18] flake.nix: add arm64 as system Closes: #5 --- flake.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index c9a3db2..fb6b09d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,13 +1,15 @@ { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = { nixpkgs, ... }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; - in - { - packages.${system}.default = pkgs.callPackage ./default.nix { }; - nixosModules.default = import ./module.nix; - }; + outputs = { nixpkgs, ... }: + let + forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; + in + { + packages = forAllSystems (system: + { default = nixpkgs.legacyPackages.${system}.callPackage ./default.nix { }; } + ); + + nixosModules.default = import ./module.nix; + }; } From d8929d91d253a4bb0766d52974dd6306337b9075 Mon Sep 17 00:00:00 2001 From: Nojus Date: Fri, 25 Jul 2025 18:43:53 +0200 Subject: [PATCH 07/18] default.nix: update lsfg-vk to c959c8f --- default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/default.nix b/default.nix index 124b747..9a04154 100644 --- a/default.nix +++ b/default.nix @@ -20,13 +20,13 @@ llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "unstable-2025-07-20-e67fcd3"; + version = "unstable-2025-07-24-c959c8f"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "e67fcd3dd832c9d177ad2be780e5dd0e47810bdf"; - hash = "sha256-c0anP3lWJ2GcjJNGIHcY/sS86AS1tFk0t7vXbaEGTQg="; + rev = "c959c8f542e416a63d5436e47e1762e8c8074285"; + hash = "sha256-/JS97I6OgzLAPzC1CbilQAx9B1T765aMa5Pr4dVyKzk="; fetchSubmodules = true; }; From fcd672a3b608825cd8df3e3e3d63bcdbec97dc00 Mon Sep 17 00:00:00 2001 From: Nojus Date: Fri, 25 Jul 2025 18:56:38 +0200 Subject: [PATCH 08/18] default.nix: reduce --- default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/default.nix b/default.nix index 9a04154..a484680 100644 --- a/default.nix +++ b/default.nix @@ -6,7 +6,6 @@ vulkan-headers, vulkan-loader, llvmPackages, - libX11, libXrandr, libXinerama, libXcursor, @@ -35,9 +34,7 @@ llvmPackages.stdenv.mkDerivation { ]; nativeBuildInputs = [ - # clang-tools needs to come before clang so it can locate Vulkan headers correctly llvmPackages.clang-tools - llvmPackages.clang llvmPackages.libllvm # needed for release builds cmake ninja @@ -48,7 +45,6 @@ llvmPackages.stdenv.mkDerivation { buildInputs = [ vulkan-headers vulkan-loader - libX11 libXrandr libXinerama libXcursor @@ -59,7 +55,7 @@ llvmPackages.stdenv.mkDerivation { ]; meta = with lib; { - description = "Vulkan layer for frame generation (Requires Lossless Scaling install)"; + description = "Vulkan layer for frame generation (Requires owning Lossless Scaling)"; homepage = "https://github.com/PancakeTAS/lsfg-vk/"; license = licenses.mit; platforms = platforms.linux; From 0b57544e477f612679a23ea08e9e804edb99c0e0 Mon Sep 17 00:00:00 2001 From: Nojus Date: Fri, 25 Jul 2025 21:46:15 +0200 Subject: [PATCH 09/18] default.nix: update lsfg-vk to e8f8056 --- default.nix | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/default.nix b/default.nix index a484680..7db0ef7 100644 --- a/default.nix +++ b/default.nix @@ -2,30 +2,19 @@ lib, fetchFromGitHub, cmake, - ninja, vulkan-headers, - vulkan-loader, llvmPackages, - libXrandr, - libXinerama, - libXcursor, - libXi, - libglvnd, - libxkbcommon, - wayland-scanner, - pkg-config, - wayland, }: llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "unstable-2025-07-24-c959c8f"; + version = "unstable-2025-07-25-e8f8056"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "c959c8f542e416a63d5436e47e1762e8c8074285"; - hash = "sha256-/JS97I6OgzLAPzC1CbilQAx9B1T765aMa5Pr4dVyKzk="; + rev = "e8f805632307ab526a989b33dcf9653c5679d374"; + hash = "sha256-3EmH8skhpa0ELYE3UoV2SanGUqjC9nu8IPE3JPny+V4="; fetchSubmodules = true; }; @@ -35,23 +24,12 @@ llvmPackages.stdenv.mkDerivation { nativeBuildInputs = [ llvmPackages.clang-tools - llvmPackages.libllvm # needed for release builds + llvmPackages.libllvm cmake - ninja - wayland-scanner - pkg-config ]; buildInputs = [ vulkan-headers - vulkan-loader - libXrandr - libXinerama - libXcursor - libXi - libglvnd - libxkbcommon - wayland ]; meta = with lib; { From a796344ac26650bfac9f30a052b33f630f16dca0 Mon Sep 17 00:00:00 2001 From: Nojus Date: Sun, 27 Jul 2025 02:14:25 +0200 Subject: [PATCH 10/18] lsfg-vk-ui: init --- flake.nix | 8 ++++--- lsfg-vk-ui.nix | 47 ++++++++++++++++++++++++++++++++++++++ default.nix => lsfg-vk.nix | 5 ++++ module.nix | 46 ++++++++++++++++++++----------------- 4 files changed, 82 insertions(+), 24 deletions(-) create mode 100644 lsfg-vk-ui.nix rename default.nix => lsfg-vk.nix (85%) diff --git a/flake.nix b/flake.nix index fb6b09d..663cf94 100644 --- a/flake.nix +++ b/flake.nix @@ -6,9 +6,11 @@ forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; in { - packages = forAllSystems (system: - { default = nixpkgs.legacyPackages.${system}.callPackage ./default.nix { }; } - ); + packages = forAllSystems (system: { + default = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk.nix { }; + lsfg-vk = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk.nix { }; + lsfg-vk-ui = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk-ui.nix { }; + }); nixosModules.default = import ./module.nix; }; diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix new file mode 100644 index 0000000..fe2f972 --- /dev/null +++ b/lsfg-vk-ui.nix @@ -0,0 +1,47 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + glib, + pango, + gdk-pixbuf, + gtk4, + libadwaita +}: + +rustPlatform.buildRustPackage { + pname = "lsfg-vk-ui"; + version = "unstable-2025-07-25-e8f8056"; + + src = fetchFromGitHub { + owner = "PancakeTAS"; + repo = "lsfg-vk"; + rev = "e8f805632307ab526a989b33dcf9653c5679d374"; + hash = "sha256-3EmH8skhpa0ELYE3UoV2SanGUqjC9nu8IPE3JPny+V4="; + }; + + cargoHash = "sha256-EMVDcThepj8Lq42NBxROPUin94TikUdwR/wTVXn2tI0="; + + sourceRoot = "source/ui"; + + nativeBuildInputs = [ + pkg-config + glib + ]; + + buildInputs = [ + pango + gdk-pixbuf + gtk4 + libadwaita + ]; + + meta = with lib; { + description = "Graphical interface for lsfg-vk"; + homepage = "https://github.com/PancakeTAS/lsfg-vk/"; + license = licenses.mit; + platforms = platforms.linux; + mainProgram = "lsfg-vk-ui"; + }; +} \ No newline at end of file diff --git a/default.nix b/lsfg-vk.nix similarity index 85% rename from default.nix rename to lsfg-vk.nix index 7db0ef7..48a632a 100644 --- a/default.nix +++ b/lsfg-vk.nix @@ -18,6 +18,11 @@ llvmPackages.stdenv.mkDerivation { fetchSubmodules = true; }; + postPatch = '' + substituteInPlace VkLayer_LS_frame_generation.json \ + --replace "liblsfg-vk.so" "$out/lib/liblsfg-vk.so" + ''; + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; diff --git a/module.nix b/module.nix index 19bc424..f2fcaa6 100644 --- a/module.nix +++ b/module.nix @@ -6,40 +6,41 @@ }: let cfg = config.services.lsfg-vk; - lsfg-vk = pkgs.callPackage ./default.nix { }; + lsfg-vk = pkgs.callPackage ./lsfg-vk.nix { }; + lsfg-vk-ui = pkgs.callPackage ./lsfg-vk-ui.nix { }; in { options = { services.lsfg-vk = { enable = lib.mkEnableOption "Lossless Scaling Frame Generation Vulkan layer"; + ui.enable = lib.mkEnableOption "Enables a GUI for configuring lsfg-vk"; + package = lib.mkOption { type = lib.types.package; description = "The lsfg-vk package to use"; default = lsfg-vk; }; - losslessDLLFile = lib.mkOption - { - type = with lib.types; nullOr str; - default = null; - example = "/home/user/games/Lossless Scaling/Lossless.dll"; - description = '' - Sets the LSFG_DLL_PATH environment variable. - Required if Lossless Scaling isn't installed in a standard location - ''; - }; + losslessDLLFile = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + example = "/home/user/games/Lossless Scaling/Lossless.dll"; + description = '' + Sets the LSFG_DLL_PATH environment variable. + Required if Lossless Scaling isn't installed in a standard location + ''; + }; - configFile = lib.mkOption - { - type = with lib.types; nullOr str; - default = null; - example = "/home/user/.config/lsfg-vk/conf.toml"; - description = '' - Sets the LSFG_CONFIG environment variable. - Required if the lsfg-vk configuration file isn't stored at the standard location - ''; - }; + configFile = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + example = "/home/user/.config/lsfg-vk/conf.toml"; + description = '' + Sets the LSFG_CONFIG environment variable. + Required if the lsfg-vk configuration file isn't stored at the standard location + ''; + }; }; }; @@ -52,6 +53,9 @@ in environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; } + (lib.mkIf cfg.ui.enable { + environment.systemPackages = [ lsfg-vk-ui ]; + }) (lib.mkIf (cfg.losslessDLLFile != null) { environment.sessionVariables.LSFG_DLL_PATH = lib.warn "losslessDLLFile is deprecated and will only be used by lsfg-vk if LSFG_LEGACY is set." From dfdc7159e1ab7017afbce7645ace36a8c31d837a Mon Sep 17 00:00:00 2001 From: Nojus Date: Sun, 27 Jul 2025 02:23:37 +0200 Subject: [PATCH 11/18] readme: mention ui package at this point it might be better to overlay the packages onto pkgs but this remains a task for future me --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 547095d..fba34ce 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,10 @@ outputs = {nixpkgs, lsfg-vk-flake, ...}: { And then enable this in your system config: ```nix -services.lsfg-vk.enable = true; +services.lsfg-vk = { + enable = true; + ui.enable = true; # installs gui for configuring lsfg-vk +}; ``` ### User install (manual) From 0fa0918ada267e177274af61dd1875ef1b5a0a8e Mon Sep 17 00:00:00 2001 From: Nojus Date: Sun, 27 Jul 2025 02:34:36 +0200 Subject: [PATCH 12/18] lsfg-vk(-ui): bump to 3c77bad --- lsfg-vk-ui.nix | 8 ++++---- lsfg-vk.nix | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix index fe2f972..23615fa 100644 --- a/lsfg-vk-ui.nix +++ b/lsfg-vk-ui.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage { pname = "lsfg-vk-ui"; - version = "unstable-2025-07-25-e8f8056"; + version = "0.9.0-2025-07-26-3c77bad"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "e8f805632307ab526a989b33dcf9653c5679d374"; - hash = "sha256-3EmH8skhpa0ELYE3UoV2SanGUqjC9nu8IPE3JPny+V4="; + rev = "3c77bad7941e2699a797b2741b64b8d907118bb6"; + hash = "sha256-ZAtTzdSx81NK2ABSEIDOeYUgJDH4ROMApDSlg8U140k="; }; - cargoHash = "sha256-EMVDcThepj8Lq42NBxROPUin94TikUdwR/wTVXn2tI0="; + cargoHash = "sha256-1/3CTCXTqSfb/xtx/Q1whaHPeQ0fxu0Zg2sVJPxdcK0="; sourceRoot = "source/ui"; diff --git a/lsfg-vk.nix b/lsfg-vk.nix index 48a632a..88d6468 100644 --- a/lsfg-vk.nix +++ b/lsfg-vk.nix @@ -8,13 +8,13 @@ llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "unstable-2025-07-25-e8f8056"; + version = "0.9.0-2025-07-26-3c77bad"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "e8f805632307ab526a989b33dcf9653c5679d374"; - hash = "sha256-3EmH8skhpa0ELYE3UoV2SanGUqjC9nu8IPE3JPny+V4="; + rev = "3c77bad7941e2699a797b2741b64b8d907118bb6"; + hash = "sha256-ZAtTzdSx81NK2ABSEIDOeYUgJDH4ROMApDSlg8U140k="; fetchSubmodules = true; }; From 6e5f2362dc9941b8fe3670c988bf9b413ab4e6e9 Mon Sep 17 00:00:00 2001 From: Nojus Date: Wed, 30 Jul 2025 19:14:06 +0200 Subject: [PATCH 13/18] lsfg-vk(-ui): bump to b4f2833 --- lsfg-vk-ui.nix | 6 +++--- lsfg-vk.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix index 23615fa..2fe4239 100644 --- a/lsfg-vk-ui.nix +++ b/lsfg-vk-ui.nix @@ -12,13 +12,13 @@ rustPlatform.buildRustPackage { pname = "lsfg-vk-ui"; - version = "0.9.0-2025-07-26-3c77bad"; + version = "0.9.0-2025-07-30-b4f2833"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "3c77bad7941e2699a797b2741b64b8d907118bb6"; - hash = "sha256-ZAtTzdSx81NK2ABSEIDOeYUgJDH4ROMApDSlg8U140k="; + rev = "b4f2833785845c4c08dd78e9a793cfd56d8752e4"; + hash = "sha256-zepZicQ2D0Fx9qxyNyYbOqmEnJVrrsb+qiZ3OXvL8Rs="; }; cargoHash = "sha256-1/3CTCXTqSfb/xtx/Q1whaHPeQ0fxu0Zg2sVJPxdcK0="; diff --git a/lsfg-vk.nix b/lsfg-vk.nix index 88d6468..5a7308c 100644 --- a/lsfg-vk.nix +++ b/lsfg-vk.nix @@ -8,13 +8,13 @@ llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "0.9.0-2025-07-26-3c77bad"; + version = "0.9.0-2025-07-30-b4f2833"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "3c77bad7941e2699a797b2741b64b8d907118bb6"; - hash = "sha256-ZAtTzdSx81NK2ABSEIDOeYUgJDH4ROMApDSlg8U140k="; + rev = "b4f2833785845c4c08dd78e9a793cfd56d8752e4"; + hash = "sha256-zepZicQ2D0Fx9qxyNyYbOqmEnJVrrsb+qiZ3OXvL8Rs="; fetchSubmodules = true; }; From caeeaf5b6d45ccbab1a841c98b351bf7d14f0290 Mon Sep 17 00:00:00 2001 From: Nojus Date: Wed, 30 Jul 2025 22:11:03 +0200 Subject: [PATCH 14/18] lsfg-vk(-ui): 1.0.0 release bump --- lsfg-vk-ui.nix | 10 +++++----- lsfg-vk.nix | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix index 2fe4239..fd465fc 100644 --- a/lsfg-vk-ui.nix +++ b/lsfg-vk-ui.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage { pname = "lsfg-vk-ui"; - version = "0.9.0-2025-07-30-b4f2833"; + version = "1.0.0"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "b4f2833785845c4c08dd78e9a793cfd56d8752e4"; - hash = "sha256-zepZicQ2D0Fx9qxyNyYbOqmEnJVrrsb+qiZ3OXvL8Rs="; + rev = "7113d7d02da9fc9df5cb3b03230d1f7de86f7056"; + hash = "sha256-hWpuPH7mKbeMaLaRUwtlkNLy4lOnJEe+yd54L7y2kV0="; }; - - cargoHash = "sha256-1/3CTCXTqSfb/xtx/Q1whaHPeQ0fxu0Zg2sVJPxdcK0="; + + cargoHash = "sha256-hIQRS/egIDU5Vu/1KWHtpt4S26h+9GadVr+lBAG2LDg="; sourceRoot = "source/ui"; diff --git a/lsfg-vk.nix b/lsfg-vk.nix index 5a7308c..3c9de0b 100644 --- a/lsfg-vk.nix +++ b/lsfg-vk.nix @@ -8,13 +8,13 @@ llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; - version = "0.9.0-2025-07-30-b4f2833"; + version = "1.0.0"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "b4f2833785845c4c08dd78e9a793cfd56d8752e4"; - hash = "sha256-zepZicQ2D0Fx9qxyNyYbOqmEnJVrrsb+qiZ3OXvL8Rs="; + rev = "7113d7d02da9fc9df5cb3b03230d1f7de86f7056"; + hash = "sha256-hWpuPH7mKbeMaLaRUwtlkNLy4lOnJEe+yd54L7y2kV0="; fetchSubmodules = true; }; From 754f64f7e489ba16ebc3e77ad8f480c50b5a428c Mon Sep 17 00:00:00 2001 From: Nojus Date: Wed, 30 Jul 2025 22:14:59 +0200 Subject: [PATCH 15/18] flake.lock: bump --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 3b37958..8a9da88 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { From cdcec1d2be7541113d9b5ce40a28856458b1fad8 Mon Sep 17 00:00:00 2001 From: Nojus Date: Thu, 31 Jul 2025 02:44:21 +0200 Subject: [PATCH 16/18] lsfg-vk-ui: fix fetch hash submodules make a difference, whoops. stuff worked on my side because the repo got cached with the submodules included --- lsfg-vk-ui.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix index fd465fc..d12f832 100644 --- a/lsfg-vk-ui.nix +++ b/lsfg-vk-ui.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage { owner = "PancakeTAS"; repo = "lsfg-vk"; rev = "7113d7d02da9fc9df5cb3b03230d1f7de86f7056"; - hash = "sha256-hWpuPH7mKbeMaLaRUwtlkNLy4lOnJEe+yd54L7y2kV0="; + hash = "sha256-nIyVOil/gHC+5a+sH3vMlcqVhixjJaGWqXbyoh2Nqyw="; }; cargoHash = "sha256-hIQRS/egIDU5Vu/1KWHtpt4S26h+9GadVr+lBAG2LDg="; From 081cd66b1369188777ea146a759d35e99ea6b031 Mon Sep 17 00:00:00 2001 From: Nojus Date: Thu, 31 Jul 2025 07:04:52 +0200 Subject: [PATCH 17/18] lsfg-vk(-ui): sync up with nixpkgs pr --- lsfg-vk-ui.nix | 21 ++++++++++++++------- lsfg-vk.nix | 20 +++++++++----------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/lsfg-vk-ui.nix b/lsfg-vk-ui.nix index d12f832..700eb7a 100644 --- a/lsfg-vk-ui.nix +++ b/lsfg-vk-ui.nix @@ -7,17 +7,17 @@ pango, gdk-pixbuf, gtk4, - libadwaita + libadwaita, }: -rustPlatform.buildRustPackage { +rustPlatform.buildRustPackage rec { pname = "lsfg-vk-ui"; version = "1.0.0"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "7113d7d02da9fc9df5cb3b03230d1f7de86f7056"; + tag = "v${version}"; hash = "sha256-nIyVOil/gHC+5a+sH3vMlcqVhixjJaGWqXbyoh2Nqyw="; }; @@ -37,11 +37,18 @@ rustPlatform.buildRustPackage { libadwaita ]; - meta = with lib; { - description = "Graphical interface for lsfg-vk"; + postInstall = '' + install -Dm444 $src/ui/rsc/gay.pancake.lsfg-vk-ui.desktop $out/share/applications/gay.pancake.lsfg-vk-ui.desktop + install -Dm444 $src/ui/rsc/icon.png $out/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png + ''; + + meta = { + description = "Graphical configuration interface for lsfg-vk"; homepage = "https://github.com/PancakeTAS/lsfg-vk/"; - license = licenses.mit; - platforms = platforms.linux; + changelog = "https://github.com/PancakeTAS/lsfg-vk/releases/tag/${src.tag}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ pabloaul ]; mainProgram = "lsfg-vk-ui"; }; } \ No newline at end of file diff --git a/lsfg-vk.nix b/lsfg-vk.nix index 3c9de0b..63e494c 100644 --- a/lsfg-vk.nix +++ b/lsfg-vk.nix @@ -6,27 +6,23 @@ llvmPackages, }: -llvmPackages.stdenv.mkDerivation { +llvmPackages.stdenv.mkDerivation rec { pname = "lsfg-vk"; version = "1.0.0"; src = fetchFromGitHub { owner = "PancakeTAS"; repo = "lsfg-vk"; - rev = "7113d7d02da9fc9df5cb3b03230d1f7de86f7056"; + tag = "v${version}"; hash = "sha256-hWpuPH7mKbeMaLaRUwtlkNLy4lOnJEe+yd54L7y2kV0="; fetchSubmodules = true; }; postPatch = '' substituteInPlace VkLayer_LS_frame_generation.json \ - --replace "liblsfg-vk.so" "$out/lib/liblsfg-vk.so" + --replace-fail "liblsfg-vk.so" "$out/lib/liblsfg-vk.so" ''; - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - ]; - nativeBuildInputs = [ llvmPackages.clang-tools llvmPackages.libllvm @@ -37,10 +33,12 @@ llvmPackages.stdenv.mkDerivation { vulkan-headers ]; - meta = with lib; { + meta = { description = "Vulkan layer for frame generation (Requires owning Lossless Scaling)"; homepage = "https://github.com/PancakeTAS/lsfg-vk/"; - license = licenses.mit; - platforms = platforms.linux; + changelog = "https://github.com/PancakeTAS/lsfg-vk/releases/tag/${src.tag}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ pabloaul ]; }; -} +} \ No newline at end of file From 62aadfc844b2002abe47cbbc9dfd028033376248 Mon Sep 17 00:00:00 2001 From: Nojus Date: Thu, 28 Aug 2025 09:47:53 +0200 Subject: [PATCH 18/18] flake.lock: bump --- flake.lock | 6 +++--- flake.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8a9da88..83fcd4c 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1756266583, + "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 663cf94..99e7737 100644 --- a/flake.nix +++ b/flake.nix @@ -1,12 +1,12 @@ { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = { nixpkgs, ... }: + outputs = { nixpkgs, ... }: let forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; - in + in { - packages = forAllSystems (system: { + packages = forAllSystems (system: { default = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk.nix { }; lsfg-vk = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk.nix { }; lsfg-vk-ui = nixpkgs.legacyPackages.${system}.callPackage ./lsfg-vk-ui.nix { };