Compare commits

..

No commits in common. "ec1b66adcb83276d60251b879f0f273e4eef823a" and "51fc478daee163a812e8dc2a22ba358f4c5df4bd" have entirely different histories.

4 changed files with 16 additions and 51 deletions

View file

@ -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 to your flake inputs, output function and modules list:
Add this repository to your flake inputs, output function and module list:
```nix
inputs = {
...
@ -29,39 +29,25 @@ outputs = {nixpkgs, lsfg-vk-flake, ...}: {
}
```
And then enable this in your system config:
And then you should be able to enable this in your system config using:
```nix
services.lsfg-vk.enable = true;
```
### User install (manual)
1. Build the library:
```bash
nix build
```
2. Create the following path in case it does not exist:
```bash
mkdir -p $HOME/.local/share/vulkan/implicit_layer.d
```
``nix build``
3. Create the following path in case it does not exist:
``mkdir -p $HOME/.local/share/vulkan/implicit_layer.d``
3. Symlink the build results to your $HOME/.local/
```bash
cp -ifrsv "$(readlink -f ./result)"/* $HOME/.local/
```
``cp -ifrsv "$(readlink -f ./result)"/* $HOME/.local/``
## Usage
Run a Vulkan application with the environment variable ``ENABLE_LSFG=1`` set.
Example:
```bash
ENABLE_LSFG=1 vkcube
```
Example: ``ENABLE_LSFG=1 vkcube`` and look for output like this in the terminal: lsfg-vk(...): ...
To confirm that it is working, look for output like this in the terminal: lsfg-vk(...): ...
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%``
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)
There are many more options that can be set. Consult the original repository for further documentation.

View file

@ -13,21 +13,17 @@
libXcursor,
libXi,
libglvnd,
libxkbcommon,
wayland-scanner,
pkg-config,
wayland,
}:
llvmPackages.stdenv.mkDerivation {
pname = "lsfg-vk";
version = "unstable-2025-07-19-dd5190a";
version = "unstable-2025-07-18-53b4438";
src = fetchFromGitHub {
owner = "PancakeTAS";
repo = "lsfg-vk";
rev = "dd5190aa680a7543143e724a100bd5d6e9898dd7";
hash = "sha256-2WrUtjUG8l3tSElDYfhvi4lrFUG1Oh5M7DAEX2mFh5s=";
rev = "53b4438a2a567c26d739c856329c1a4d13aa1968";
hash = "sha256-Ze4PBu3W7wKbYAMwQIdV2LBI8xWpYWvNJ3qIId2ByPU=";
fetchSubmodules = true;
};
@ -42,8 +38,6 @@ llvmPackages.stdenv.mkDerivation {
llvmPackages.libllvm # needed for release builds
cmake
ninja
wayland-scanner
pkg-config
];
buildInputs = [
@ -56,8 +50,6 @@ llvmPackages.stdenv.mkDerivation {
libXcursor
libXi
libglvnd
libxkbcommon
wayland
];
meta = with lib; {

6
flake.lock generated
View file

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1752687322,
"narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=",
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"type": "github"
},
"original": {

View file

@ -31,17 +31,6 @@ 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
'';
};
};
};
@ -53,7 +42,5 @@ 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;
};
}