Open remann2 opened 4 months ago
I have the same issue on Fedora 39
$ hyprpm add -v https://github.com/Duckonaut/split-monitor-workspaces
[v] version returned: Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445 (props: bump ver 0.37.1).
Date: Sat Mar 16 14:51:49 2024
Tag: v0.37.1
flags: (if any)
[v] parsed commit c5e28ebcfe00a510922779b2c568cfa52a317445 at branch HEAD
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces
MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
Are you sure? [Y/n]
→ Cloning https://github.com/Duckonaut/split-monitor-workspaces
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
→ split-monitor-workspaces by Duckonaut version
✔ Hyprland headers OK
→ Building split-monitor-workspaces
✖ Plugin split-monitor-workspaces failed to build.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━ 3 / 5 Building plugin(s)[v] shell returned: -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/fynn/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build --wipe
The Meson build system
Version: 1.3.2
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: split-monitor-workspaces
Project version: 0.1
C++ compiler for the host machine: c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20240316 (Red Hat 13.2.1-7)")
C++ linker for the host machine: c++ ld.bfd 2.40-14
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 1.9.5
Run-time dependency hyprland found: YES 0.37.1
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1
Found ninja-1.11.1 at /usr/bin/ninja
-> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/fynn/.local/share/hyprpm/headersRoot/share/pkgconfig" meson compile -C build
ninja: Entering directory `/tmp/hyprpm/new/build'
[1/2] Compiling C++ object libsplit-monitor-workspaces.so.p/src_main.cpp.o
FAILED: libsplit-monitor-workspaces.so.p/src_main.cpp.o
c++ -Ilibsplit-monitor-workspaces.so.p -I. -I.. -I../include -I/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/wlroots -I/home/fynn/.local/share/hyprpm/headersRoot/include -I/usr/include/pixman-1 -I/usr/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -DWLR_USE_UNSTABLE -fPIC -MD -MQ libsplit-monitor-workspaces.so.p/src_main.cpp.o -MF libsplit-monitor-workspaces.so.p/src_main.cpp.o.d -o libsplit-monitor-workspaces.so.p/src_main.cpp.o -c ../src/main.cpp
In file included from /home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../Window.hpp:8,
from /home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/config/ConfigManager.hpp:16,
from /home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:10,
from ../src/main.cpp:3:
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp: In member function ‘virtual std::string CGradientValueData::toString()’:
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp:64:5: warning: no return statement in function returning non-void [-Wreturn-type]
64 | }
| ^
In file included from ../src/main.cpp:6:
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
7 | enum eFullscreenMode : int8_t {
| ^~~~~~~~~~~~~~~
In file included from /home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here
7 | enum eFullscreenMode : int8_t {
| ^~~~~~~~~~~~~~~
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:15:7: error: redefinition of ‘class CWorkspace’
15 | class CWorkspace {
| ^~~~~~~~~~
/home/fynn/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:15:7: note: previous definition of ‘class CWorkspace’
15 | class CWorkspace {
| ^~~~~~~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/hyprpm/new/build
✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5 / 5 Done!
@remann2 Can you attach the hyprlandCrashReport?
@Xohoox That build log seems like a different issue, which has already been fixed I believe?
@zjeffer I am having the same problem on NixOS, here is my logs, I think.
--------------------------------------------
Hyprland Crash Report
--------------------------------------------
All these computers...
Hyprland received signal 6 (Aborted)
Version: v0.32.3
Tag:
System info:
System name: Linux
Node name: danielpc
Release: 6.1.73
Version: #1-NixOS SMP PREEMPT_DYNAMIC Mon Jan 15 17:54:51 UTC 2024
GPU:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] [10de:1e07] (rev a1) (prog-if 00 [VGA controller])
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c3) (prog-if 00 [VGA controller])
os-release:
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="23.11.3019.8bf65f17d807"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 23.11 (Tapir)"
SUPPORT_END="2024-06-30"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="23.11 (Tapir)"
VERSION_CODENAME=tapir
VERSION_ID="23.11"
Backtrace:
#0 | /run/current-system/sw/bin/Hyprland(_Z12getBacktracev+0x48) [0x56bad8]
_Z12getBacktracev
??:?
#1 | /run/current-system/sw/bin/Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x59f) [0x525b3f]
_ZN13CrashReporter18createAndSaveCrashEi
??:?
#2 | /run/current-system/sw/bin/Hyprland(_Z25handleUnrecoverableSignali+0x3f) [0x49cbdf]
_Z25handleUnrecoverableSignali
??:?
#3 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(+0x3da70) [0x7f4b3ab75a70]
??
??:0
#4 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(+0x8cd7c) [0x7f4b3abc4d7c]
??
??:0
#5 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(raise+0x16) [0x7f4b3ab759c6]
??
??:0
#6 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(abort+0xd7) [0x7f4b3ab5e8fa]
??
??:0
#7 | /nix/store/1z0lkblksl7niy2w5rfv265hw0fn9p1q-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xacc0b) [0x7f4b3aeacc0b]
??
??:0
#8 | /nix/store/1z0lkblksl7niy2w5rfv265hw0fn9p1q-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc21a) [0x7f4b3aebc21a]
??
??:0
#9 | /nix/store/1z0lkblksl7niy2w5rfv265hw0fn9p1q-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc285) [0x7f4b3aebc285]
??
??:0
#10 | /nix/store/1z0lkblksl7niy2w5rfv265hw0fn9p1q-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc4d7) [0x7f4b3aebc4d7]
??
??:0
#11 | /run/current-system/sw/bin/Hyprland() [0x460c60]
_Z10throwErrorRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.cold
??:?
#12 | /run/current-system/sw/bin/Hyprland(_ZN11CCompositor10initServerEv+0x5cd) [0x4b265d]
_ZN11CCompositor10initServerEv
??:?
#13 | /run/current-system/sw/bin/Hyprland(main+0xb09) [0x4888b9]
main
??:?
#14 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(+0x27fce) [0x7f4b3ab5ffce]
??
??:0
#15 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(__libc_start_main+0x89) [0x7f4b3ab60089]
??
??:0
#16 | /run/current-system/sw/bin/Hyprland(_start+0x25) [0x49ca45]
_start
??:?
Log tail:
[LOG] os-release:
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="23.11.3019.8bf65f17d807"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 23.11 (Tapir)"
SUPPORT_END="2024-06-30"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="23.11 (Tapir)"
VERSION_CODENAME=tapir
VERSION_ID="23.11"
[LOG] ========================
[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/
[LOG]
Current splash: "There are reasons to not use rust." - Boga
[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] [hookSystem] New hook event registered: configReloaded
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 16.62µs. Estimated average calc time: 0.05µs.
[LOG] Creating the ConfigManager!
[LOG] Creating the CHyprError!
[LOG] [hookSystem] New hook event registered: focusedMon
[LOG] [hookSystem] New hook event registered: preRender
[LOG] Creating the LayoutManager!
[LOG] [hookSystem] New hook event registered: preConfigReload
[LOG] Reloading the config!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.25µs. Estimated average calc time: 0.04µs.
[LOG] Using config: /home/daniel/.config/hypr/hyprland.conf
[WARN] Creating config home directory
[WARN] No config file found; attempting to generate.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 5.13µs. Estimated average calc time: 0.03µs.
[LOG] Registered dynamic var "$mainMod" -> SUPER
[LOG] Disabling stdout logs! Check the log for further logs.
[wlr] [backend/backend.c:107] Timeout waiting session to become active
[wlr] [backend/backend.c:359] Failed to start a DRM session
[CRITICAL] m_sWLRBackend was NULL!
[CRITICAL] Critical error thrown: wlr_backend_autocreate() failed!
@Pico-Dev you're on a very old Hyprland release, please update to at least Hyprland v0.38.1
@zjeffer that is strange, according to my flake I should be up to date
flake.nix
{
description = "NixOS Config";
inputs = {
# Add the main repo to the flake.
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# Add home manager to the flake.
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Get hyprland source for plugins
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
split-monitor-workspaces = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland"; # <- make sure this line is present for the plugin to work as intended
};
};
outputs = { self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./hosts/default/configuration.nix
];
};
};
};
}
configuration.nix
{ config, lib, pkgs, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# User defined modules
../../modules/nixos/other/allow.nix
../../modules/nixos/other/user.nix
../../modules/nixos/hardware/gpu-amd.nix
../../modules/nixos/hardware/sound.nix
../../modules/nixos/hardware/boot.nix
../../modules/nixos/hardware/other.nix
../../modules/nixos/software/services.nix
#../../modules/nixos/software/python.nix
../../modules/nixos/software/hyprland.nix
../../modules/nixos/software/virtualisation.nix
../../modules/nixos/software/other.nix
# home manager mods
../../modules/home-manager/hyprland.nix
# Include home manager
inputs.home-manager.nixosModules.default
];
# Tell home manager to use home.nix
home-manager = {
extraSpecialArgs = { inherit inputs; };
users = {
"daniel" = import ./home.nix;
};
};
...
hyprland.nix linked to configuration.nix
{ config, pkgs, ... }:
let
# Fix GTK themes in Hyprland.
configure-gtk = pkgs.writeTextFile {
name = "configure-gtk";
destination = "/bin/configure-gtk";
executable = true;
text = let
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
in ''
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
gnome_schema=org.gnome.desktop.interface
gsettings set $gnome_schema gtk-theme 'rose-pine'
gsettings set $gnome_schema icon-theme 'rose-pine'
gsettings set $gnome_schema cursor-theme 'breeze_cursors'
'';
};
in
{
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
#programs.hyprland = {
# enable = true;
# xwayland.enable = true;
#};
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
xdg.portal.config.common.default = "*";
# Set session variables.
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};
environment.systemPackages = with pkgs; [
wayland
xwayland
xdg-utils
xdg-desktop-portal-hyprland
hyprpaper
configure-gtk
mako
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
})
)
];
}
home.nix
{ inputs, config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "daniel";
home.homeDirectory = "/home/daniel";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
".bashrc".source = ../../modules/home-manager/extra/.bashrc;
".bash_profile".source = ../../modules/home-manager/extra/.bash_profile;
".gitconfig".source = ../../modules/home-manager/extra/.gitconfig;
".Xresources".source = ../../modules/home-manager/extra/.Xresources;
".gtkrc-2.0".source = ../../modules/home-manager/extra/.gtkrc-2.0;
".config/gtk-3.0/bookmarks".source = ../../modules/home-manager/extra/.config/gtk-3.0/bookmarks;
".config/gtk-3.0/settings.ini".source = ../../modules/home-manager/extra/.config/gtk-3.0/settings.ini;
".config/awesome/rc.lua".source = ../../modules/home-manager/extra/.config/awesome/rc.lua;
".config/awesome/theme.lua".source = ../../modules/home-manager/extra/.config/awesome/theme.lua;
".config/awesome/autorun.sh".source = ../../modules/home-manager/extra/.config/awesome/autorun.sh;
".config/neofetch/config.conf".source = ../../modules/home-manager/extra/.config/neofetch/config.conf;
".config/alacritty/alacritty.yml".source = ../../modules/home-manager/extra/.config/alacritty/alacritty.yml;
".config/rofi/config.rasi".source = ../../modules/home-manager/extra/.config/rofi/config.rasi;
".config/X11/xrandr.sh".source = ../../modules/home-manager/extra/.config/X11/xrandr.sh;
".config/onlyoffice/DesktopEditors.conf".source = ../../modules/home-manager/extra/.config/onlyoffice/DesktopEditors.conf;
".config/Mousepad.settings.conf".source = ../../modules/home-manager/extra/.config/Mousepad/settings.conf;
".config/btop/btop.conf".source = ../../modules/home-manager/extra/.config/btop/btop.conf;
".config/btop/themes/rose-pine.theme".source = ../../modules/home-manager/extra/.config/btop/themes/rose-pine.theme;
".config/hypr/hyprpaper.conf".source = ../../modules/home-manager/extra/.config/hypr/hyprpaper.conf;
".config/hypr/rose-pine.conf".source = ../../modules/home-manager/extra/.config/hypr/rose-pine.conf;
".config/waybar/config".source = ../../modules/home-manager/extra/.config/waybar/config;
".config/waybar/style.css".source = ../../modules/home-manager/extra/.config/waybar/style.css;
};
# Home Manager can also manage your environment variables through 'home.sessionVariables'.
home.sessionVariables = {
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Manage hyprland
#wayland.windowManager.hyprland = {
# enable = true;
# extraConfig = builtins.readFile ../../modules/home-manager/extra/.config/hypr/hyprland.conf;
# plugins = [
# inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
# ];
# # ...
#};
}
hyprland.nix connected to home.nix
{ config, pkgs, inputs, ... }: {
home-manager.users.daniel = {pkgs, ...}: {
wayland.windowManager.hyprland = {
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
enable = true;
xwayland.enable = true;
plugins = [
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
];
extraConfig = builtins.readFile ./extra/.config/hypr/hyprland.conf;
};
};
}
So I dont see where I have an old version set.
Sadly I have no clue how NixOS works, but what's the output of hyprctl systeminfo
? If that command doesn't work, try hyprctl version
.
From your logs, it seems you're using Hyprland v0.32.3, which was released in November of last year: https://github.com/hyprwm/Hyprland/releases/tag/v0.32.3
If the logs are right, something is causing your Nix config to use that version of Hyprland, while this plugin is not supported for versions lower than v0.38.1
.
@zjeffer This is the output of those two,
Hyprland, built from branch at commit ecf282d331a8aa19c0fe10c739cd31d3b3ab64a2 ().
Date: 2024-04-25
Tag: , commits: @COMMITS@
flags: (if any)
System Information:
System name: Linux
Node name: danielpc
Release: 6.6.31
Version: #1-NixOS SMP PREEMPT_DYNAMIC Fri May 17 10:02:40 UTC 2024
GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] [10de:1e07] (rev a1) (prog-if 00 [VGA controller])
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c3) (prog-if 00 [VGA controller])
os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240521.5710852"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"
plugins:
split-monitor-workspaces by Duckonaut ver 1.1.0
Hyprland, built from branch at commit ecf282d331a8aa19c0fe10c739cd31d3b3ab64a2 ().
Date: 2024-04-25
Tag: , commits: @COMMITS@
flags: (if any)
I think the build in the logs is wrong because I have based my hyprland off of a branch instead of a tag so it is using the last one.
Looking at the commit ID (https://github.com/hyprwm/Hyprland/commit/ecf282d331a8aa19c0fe10c739cd31d3b3ab64a2), it seems you're running at least 0.39.1, so that should be okay.
The backtrace you posted doesn't really mention split-monitor-workspaces, are you sure it's crashing because of the plugin?
Or did you upload the wrong crash report by accident? Keep in mind you should upload the latest file in ~/.cache/hyprland/, not the one with the highest number in the filename (hyprlandCrashReport<number>.txt
)
Now i work for me with hyperland v0.40.0
@Pico-Dev do you have the nvidia_drm.modeset=1 kernel parameter as mentioned in the Nvidia - Hyprland Wiki?
I am not sure if it's just me, after updated Hyprland to 0.37, running split-changemonitor will crash the Hyprland session.