Compare commits

...

3 Commits

5 changed files with 71 additions and 11 deletions

View File

@ -108,6 +108,11 @@
LOW_LATENCY_LAYER = "1"; LOW_LATENCY_LAYER = "1";
# Note: set LOW_LATENCY_LAYER_REFLEX = "1" for games with nvidia reflex # Note: set LOW_LATENCY_LAYER_REFLEX = "1" for games with nvidia reflex
# (or some like cyberpunk 2077 where anti-lag 2 is supported but is worse than reflex and/or none) # (or some like cyberpunk 2077 where anti-lag 2 is supported but is worse than reflex and/or none)
# flatpak --user remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
# flatpak --user install org.freedesktop.Platform.GL.mesa-git
# flatpak --user install org.freedesktop.Platform.GL32.mesa-git
FLATPAK_GL_DRIVERS = "mesa-git";
}; };
programs = { programs = {

View File

@ -0,0 +1,45 @@
{
lib,
fetchFromGitHub,
cmake,
llvmPackages,
qt6,
}:
llvmPackages.stdenv.mkDerivation (finalAttrs: {
pname = "lsfg-vk-ui";
version = "2.0.0-dev";
src = fetchFromGitHub {
owner = "PancakeTAS";
repo = "lsfg-vk";
tag = "v${finalAttrs.version}";
hash = "sha256-Qb3vufCzNpM1r+vgo8M9nnA7CENgGTithWG0oXqLKbI=";
};
nativeBuildInputs = [
llvmPackages.clang-tools
llvmPackages.libllvm
cmake
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qtdeclarative
];
cmakeFlags = [
"-DLSFGVK_BUILD_VK_LAYER=OFF"
"-DLSFGVK_BUILD_UI=ON"
"-DLSFGVK_INSTALL_XDG_FILES=ON"
"-DLSFGVK_BUILD_CLI=OFF"
];
meta = {
description = "Lossless Scaling Frame Generation on Linux (UI part)";
homepage = "https://github.com/PancakeTAS/lsfg-vk/";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
};
})

View File

@ -4,7 +4,6 @@
cmake, cmake,
vulkan-headers, vulkan-headers,
llvmPackages, llvmPackages,
qt6,
}: }:
llvmPackages.stdenv.mkDerivation (finalAttrs: { llvmPackages.stdenv.mkDerivation (finalAttrs: {
@ -22,19 +21,16 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
llvmPackages.clang-tools llvmPackages.clang-tools
llvmPackages.libllvm llvmPackages.libllvm
cmake cmake
qt6.wrapQtAppsHook
]; ];
buildInputs = [ buildInputs = [
vulkan-headers vulkan-headers
qt6.qtbase
qt6.qtdeclarative
]; ];
cmakeFlags = [ cmakeFlags = [
"-DLSFGVK_LAYER_LIBRARY_PATH=${placeholder "out"}/lib/liblsfg-vk-layer.so" "-DLSFGVK_LAYER_LIBRARY_PATH=${placeholder "out"}/lib/liblsfg-vk-layer.so"
"-DLSFGVK_BUILD_UI=ON" "-DLSFGVK_BUILD_VK_LAYER=ON"
"-DLSFGVK_INSTALL_XDG_FILES=ON" "-DLSFGVK_BUILD_UI=OFF"
"-DLSFGVK_BUILD_CLI=OFF" "-DLSFGVK_BUILD_CLI=OFF"
]; ];

View File

@ -17,6 +17,7 @@ in
}; };
extraPackages = with pkgs; [ extraPackages = with pkgs; [
(functions.mkUnstable low-latency-layer) # Better alternative (+ vendor-agnostic) to mesa's amd anti-lag 2 (functions.mkUnstable low-latency-layer) # Better alternative (+ vendor-agnostic) to mesa's amd anti-lag 2
(functions.mkUnstable lsfg-vk)
]; ];
}; };
} }

View File

@ -2,13 +2,14 @@
let let
functions = rec { functions = rec {
mkSpecial = pkg: version: suffix: mkSpecial = pkg: version: src_name: suffix:
pkg.overrideAttrs (old: { pkg.overrideAttrs (old: {
inherit version; inherit version;
src = nixtamal.${pkg.pname + suffix}; src = nixtamal.${src_name + suffix};
}); });
mkSpecialVersion = pkg: version: mkSpecial pkg version ""; mkSpecialAuto = pkg: version: suffix: mkSpecial pkg version pkg.pname suffix;
mkUnstable = pkg: mkSpecial pkg "unstable" "-git"; mkSpecialVersion = pkg: version: mkSpecialAuto pkg version "";
mkUnstable = pkg: mkSpecialAuto pkg "unstable" "-git";
mkPatched = pkg: newPatches: mkPatched = pkg: newPatches:
pkg.overrideAttrs (old: { pkg.overrideAttrs (old: {
@ -43,7 +44,7 @@ in
cmake cmake
sbctl # For secure boot with Limine sbctl # For secure boot with Limine
jq # I use it somewhere in my nixtamal manifest jq # I use it somewhere in my nixtamal manifest
(functions.mkUnstable lsfg-vk) # TODO: Split package in 2 so I can put the ui here, and the layer in mesa.nix (functions.mkSpecial lsfg-vk-ui "unstable" "lsfg-vk" "-git")
]; ];
programs.steam = { programs.steam = {
@ -65,6 +66,18 @@ in
}; };
services.flatpak.enable = true; services.flatpak.enable = true;
systemd.user.services.flatpak-repos = {
after = [ "network.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStart = "${pkgs.bash}/bin/sh -c '" +
"${pkgs.flatpak}/bin/flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && " +
"${pkgs.flatpak}/bin/flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo" +
"'";
};
wantedBy = [ "default.target" ];
};
services.lact = { services.lact = {
enable = true; enable = true;