Open z3ch5 opened 3 months ago
I don't think it's up to us to support but rather wlroots.
At any rate, what's the point?
The difference is huge between the two drivers, and the only option for users at the moment is Gnome. I opened an issue for wlroots devs, for the people who are interested following the issue here is the link: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3842
It would be immensely helpful if you could provide a version number or commit this broke. Try following this guide to bisect in order to find the version/commit this broke for hyprland/wlroots.
Unfortunately I don't have a windows machine handy but if you can find the breaking commit this should be pretty easy to fix (: I'm happy to take a look if you can find the breaking commit.
Thank you guys for taking this serious, adding the line "debug:disable_logs = false" has no effect what so ever, it is worth to mention that SwayWM is working fine, so I am not sure if it is a wlroots bug anymore.
I guess bisect won't help, as so far I know, there is no version for me that works.
And I am now having difficulties getting the Hyprland to build in debug mode, as NixOS fails to build under the flake, which actually should be also maintained officially by you, not sure if I should open another issue for it.
{ config, pkgs, lib, ... }:
{
nix.settings = {
substituters = [
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
programs.hyprland = {
enable = true;
};
environment.systemPackages = with pkgs ; [
(pkgs.hyprland.override { # or inputs.hyprland.packages.${pkgs.system}.hyprland
debug = true;
})
];
services.displayManager.sessionPackages = [ pkgs.hyprland ];
}
{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; hyprland.url = "github:hyprwm/Hyprland"; };
outputs = inputs@{ self, nixpkgs, nixpkgs-stable, hyprland, ... }: { nixosConfigurations = { userr = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { pkgs-stable = import nixpkgs-stable { inherit system inputs; config.allowUnfree = true; }; }; modules = [ hyprland.nixosModules.default ./configuration.nix ]; }; }; }; }
The error I am getting while building:
In file included from /nix/store/s3pvsv4as7mc8i2nwnk2hnsyi2qdj4bq-glibc-2.39-31-dev/include/bits/libc-header-start.h:33, from /nix/store/s3pvsv4as7mc8i2nwnk2hnsyi2qdj4bq-glibc-2.39-31-dev/include/stdint.h:26, from /nix/store/9hgsinpfgyvsd92v0wlvmxv9wnaal68r-gcc-13.2.0/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/include/stdint.h:9, from ../subprojects/udis86/libudis86/types.h:52, from ../subprojects/udis86/libudis86/decode.h:29, from ../subprojects/udis86/libudis86/itab.c:2: /nix/store/s3pvsv4as7mc8i2nwnk2hnsyi2qdj4bq-glibc-2.39-31-dev/include/features.h:414:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] 414 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) | ^
~~ ninja: build stopped: subcommand failed.
@fufexan for nix
generally if sway works it could be an issue within hyprland, but I have no experience with hyper-v and little interest in supporting windows vms
I am not fan of windows products either, but I have to say, Hyper-V's performance is really the best, and I am not feeling any frame rate drops whatsoever, otherwise I'm forced to go back to Sway after months and years configuring my Hyperland, I hope there would be a solution... Maybe if I found the time I would contribute to do a patch myself.
Change the hyprland input url to the one in the pinned issue.
@fufexan I am trying to change the commit, inputs.hyprland.url = "github:hyprwm/Hyprland/{here the commits}"; but I keep build the "hyprland-debug-0.39.1" version, and here is how I build Hyprland
environment.systemPackages = with pkgs ; [ (pkgs.hyprland.override { debug = true; }) ];
Can you guide me how to build another version of hyperland-debug in flakes?
That's not the way to do it.
Change the input to inputs.hyprland.url = "git+https://github.com/hyprwm/hyprland?submodules=1";
. Optionally append &ref=<commit>
.
In your config, set
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland.override { debug = true; };
@fufexan I was able to build, thanks to you, but I'm not sure logs keep complaining about not enabling logs I added these two lines at the beggining debug:enable_stdout_logs = true debug:disable_logs = false it seems to me, the drm is not supported @vaxerski any clue? thanks for hyprland by the way. I enabled WLR_RENDERER_ALLOW_SOFTWARE as requested, the result was very unpleasant
/dev/dri/card1
[ 0.096178] ACPI: bus type drm_connector registered [ 0.096337] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0 [ 0.096656] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device [ 12.454766] systemd[1]: Starting Load Kernel Module drm... [ 12.464756] systemd[1]: modprobe@drm.service: Deactivated successfully. [ 12.464853] systemd[1]: Finished Load Kernel Module drm. [ 12.560339] hv_vmbus: registering driver hyperv_drm [ 12.563726] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] Synthvid Version major 3, minor 5 [ 12.585003] [drm] Initialized hyperv_drm 1.0.0 2020 for 5620e0c7-8062-4dce-aeb7-520c7ef76171 on minor 1 [ 12.587812] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] fb0: hyperv_drmdrmfb frame buffer device
I tried so hard, and got so far...
Hyprland received signal 6(ABRT) Version: 7173f0c9e722b52eebcc231a118df738c8e32013 Tag:
System info: System name: Linux Node name: user Release: 6.8.6-zen1 Version: #1-NixOS ZEN SMP PREEMPT_DYNAMIC Tue Jan 1 00:00:00 UTC 1980
GPU:
os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.05.20240515.33d1e75" 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" Backtrace:
getBacktrace()
??:?
#1 | /run/current-system/sw/bin/Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x998) [0x60cea8]
CrashReporter::createAndSaveCrash(int)
??:?
#2 | /run/current-system/sw/bin/Hyprland(_Z25handleUnrecoverableSignali+0x5f) [0x5966ef]
handleUnrecoverableSignal(int)
??:?
#3 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(+0x3ff30) [0x74ced2252f30]
??
??:0
#4 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(+0x8fefc) [0x74ced22a2efc]
??
??:0
#5 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(gsignal+0x16) [0x74ced2252e86]
??
??:0
#6 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(abort+0xd7) [0x74ced223b935]
??
??:0
#7 | /nix/store/xq4l4d5yva871mbqf99k1d40pqir490c-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xacc0b) [0x74ced24acc0b]
??
??:0
#8 | /nix/store/xq4l4d5yva871mbqf99k1d40pqir490c-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc21a) [0x74ced24bc21a]
??
??:0
#9 | /nix/store/xq4l4d5yva871mbqf99k1d40pqir490c-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc285) [0x74ced24bc285]
??
??:0
#1 | /nix/store/xq4l4d5yva871mbqf99k1d40pqir490c-gcc-13.2.0-lib/lib/libstdc++.so.6(+0xbc4d7) [0x74ced24bc4d7]
??
??:0
#11 | /run/current-system/sw/bin/Hyprland() [0x50741d]
throwError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold]
??:?
#12 | /run/current-system/sw/bin/Hyprland(_ZN11CCompositor10initServerEv+0x2ca) [0x5ada5a]
CCompositor::initServer()
??:?
#13 | /run/current-system/sw/bin/Hyprland(main+0x7f9) [0x552c49]
main
??:?
#14 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(+0x2a10e) [0x74ced223d10e]
??
??:0
#15 | /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6(__libc_start_main+0x89) [0x74ced223d1c9]
??
??:0
#16 | /run/current-system/sw/bin/Hyprland(_start+0x25) [0x596555]
_start
??:?
Log tail:
[LOG] Creating the EventLoopManager! [LOG] Creating the HookSystem! [LOG] Creating the ProtocolManager! [LOG] [WLSeat] Registered global [LOG] [WLDataDevice] Registered global [LOG] [TearingControl] Registered global [LOG] [FractionalScale] Registered global [LOG] [XDGOutput] Registered global [LOG] [CursorShape] Registered global [LOG] [IdleInhibit] Registered global [LOG] [RelativePointer] Registered global [LOG] [XDGDecoration] Registered global [LOG] [AlphaModifier] Registered global [LOG] [GammaControl] Registered global [LOG] [ForeignToplevel] Registered global [LOG] [PointerGestures] Registered global [LOG] [ForeignToplevelWlr] Registered global [LOG] [ShortcutsInhibit] Registered global [LOG] [TextInputV3] Registered global [LOG] [PointerConstraints] Registered global [LOG] [OutputPower] Registered global [LOG] [XDGActivation] Registered global [LOG] [IdleNotify] Registered global [LOG] [SessionLock] Registered global [LOG] [IMEv2] Registered global [LOG] [VirtualKeyboard] Registered global [LOG] [VirtualPointer] Registered global [LOG] [OutputManagement] Registered global [LOG] [ServerDecorationKDE] Registered global [LOG] [FocusGrab] Registered global [LOG] [TabletV2] Registered global [LOG] [LayerShell] Registered global [LOG] [Presentation] Registered global [LOG] [XDGShell] Registered global [LOG] [DataDeviceWlr] Registered global [LOG] [PrimarySelection] Registered global [LOG] ToplevelExportManager started successfully! [LOG] TextInputV1Manager started successfully! [LOG] GlobalShortcutsManager started successfully! [LOG] ScreencopyProtocolManager started successfully! [LOG] Creating the SeatManager! [LOG] Creating the KeybindManager! [LOG] Creating the AnimationManager! [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 13.98µs. Estimated average calc time: 0.02µs. [LOG] Creating the ConfigManager! [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 7.57µs. Estimated average calc time: 0.02µs. [LOG] Using config: /home/user/.cache/wal/hyprland.conf [INFO] !!!!HEY YOU, YES YOU!!!!: further logs to stdout / logfile are disabled by default. BEFORE SENDING THIS LOG, ENABLE THEM. Use debug:disable_logs = false to do so: https://wiki.hyprland.org/Configuring/Variables/#debug [LOG] Creating the CHyprError! [LOG] Creating the LayoutManager! [LOG] Creating the TokenManager! [LOG] [hookSystem] New hook event registered: preConfigReload [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.69µs. Estimated average calc time: 0.02µs. [LOG] Using config: /home/user/.cache/wal/hyprland.conf [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 430.01µs. Estimated average calc time: 0.04µs. [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.28µs. Estimated average calc time: 0.02µs. [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.28µs. Estimated average calc time: 0.02µs. [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.32µs. Estimated average calc time: 0.02µs. [LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.32µs. Estimated average calc time: 0.02µs. [LOG] Creating the PointerManager! [render/egl.c:473] Failed to get DRM device: Invalid argument [render/egl.c:319] Software rendering detected, please use the WLR_RENDERER_ALLOW_SOFTWARE environment variable to proceed [render/egl.c:571] Failed to initialize EGL context [render/gles2/renderer.c:503] Could not initialize EGL [render/egl.c:473] Failed to get DRM device: Invalid argument [render/egl.c:319] Software rendering detected, please use the WLR_RENDERER_ALLOW_SOFTWARE environment variable to proceed [render/egl.c:571] Failed to initialize EGL context [render/gles2/renderer.c:503] Could not initialize EGL [CRITICAL] m_sWLRRenderer was NULL! This usually means wlroots could not find a GPU or enountered some issues. [CRITICAL] Critical error thrown: wlr_gles2_renderer_create_with_drm_fd() failed!
Hyprland Version
Tested on NIXOS unstable + stable verison 23.11
Bug or Regression?
Bug
Description
I would like to see hyprland support under Hyper-v with hyperv_drm, Hyprland works okay with the old dated kernel module "hyperv_fb", but now it is outdated because it suffers from frame rates drop, hyperv_drm works like a charm and to support this protocol is a game changer for hyprland users, who have high end GPU and want to have windows as host machine. I really hope this scope would get serious attention from the maintainers, because the users could be good enough.
How to reproduce
using NixOS boot = { blacklistedKernelModules = [ "hyperv_fb" ]; # force to use hyperv_drm, because hyper_fb had low frame rates (see github issue) initrd.kernelModules = [ "hv_vmbus" "hv_storvsc" ]; virtualisation.hypervGuest = { enable = true; }; };
Crash reports, logs, images, videos
No response