From 836856604407da41e1c38324abd812b7884637b8 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Thu, 8 Jan 2026 10:57:56 +0100 Subject: start: use nixGL if Hyprland is nix but not NixOS (#12845) --------- Co-authored-by: Mihai Fufezan --- start/src/core/Instance.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'start/src/core/Instance.cpp') diff --git a/start/src/core/Instance.cpp b/start/src/core/Instance.cpp index ec56cc75..2f5007bd 100644 --- a/start/src/core/Instance.cpp +++ b/start/src/core/Instance.cpp @@ -1,6 +1,7 @@ #include "Instance.hpp" #include "State.hpp" #include "../helpers/Logger.hpp" +#include "../helpers/Nix.hpp" #include #include @@ -54,7 +55,12 @@ void CHyprlandInstance::runHyprlandThread(bool safeMode) { procctl(P_PID, getpid(), PROC_PDEATHSIG_CTL, &sig); #endif - execvp(g_state->customPath.value_or("Hyprland").c_str(), args.data()); + if (Nix::shouldUseNixGL()) { + argsStd.insert(argsStd.begin(), g_state->customPath.value_or("Hyprland")); + args.insert(args.begin(), strdup(argsStd.front().c_str())); + execvp("nixGL", args.data()); + } else + execvp(g_state->customPath.value_or("Hyprland").c_str(), args.data()); g_logger->log(Hyprutils::CLI::LOG_ERR, "fork(): execvp failed: {}", strerror(errno)); std::fflush(stdout); -- cgit v1.2.3