hyprwm / aquamarine

Aquamarine is a very light linux rendering backend library
BSD 3-Clause "New" or "Revised" License
282 stars 21 forks source link

Hyprland fails to start in a QEMU VM Hyprland 0.45+ aquamarine 5.0 -- black screen no errors #109

Open dwilliam62 opened 2 weeks ago

dwilliam62 commented 2 weeks ago

Updating Arch (and NIXOS) to Hyrprland 0.45.* and aquamarine 0.4.5+ resulted in black screen with no errors in a Proxmox QEMU VM.

Was forced to roll back to older versions to restore function image

The recent DRM changes seem to be the only ones that might relate to this https://github.com/hyprwm/aquamarine/commit/3b00e96f90cb0040de6d88ad99bf5f4d443f0c59

https://github.com/hyprwm/aquamarine/commit/545f506a6331e4a35ec16561c10509bf43bb9328

I tried various combination of hyprland and aquamarine but only rolling back to aquamarine 0.4.3 and hyprland 0.45.0 For NIXOS I had to go back to 0.44.

Anything newer just results in back screen image

Normally that screen appears for a few seconds then hyprland loads.

This is using SDDM for arch, selecting hyprland not hyprland-systemd (which has never worked for me) In NIXOS I use greetd which also yields the same result.

I am using Proxmox but others using Virt Manger w/QEMU are reporting the same issues

UjinT34 commented 2 weeks ago

AQ > 0.4.5 will work with HL git only. https://github.com/hyprwm/aquamarine/commit/545f506a6331e4a35ec16561c10509bf43bb9328 before that explicit sync was half functional. Try disablingexplicit_sync_kms and/or explicit_sync.

dwilliam62 commented 2 weeks ago

I was using 0.45 and 0.45.1 with AQ I tried disabling explict_sync and that didn't resolve the issue. expicit_sync_kms isn't set

vaxerski commented 2 weeks ago

AQ > 0.4.5 will work with HL git only.

huh? IMO it should work fine once rebuilt.

Can this be bisected? stuff works here.

mylinuxforwork commented 2 weeks ago

I was using 0.45 and 0.45.1 with AQ I tried disabling explict_sync and that didn't resolve the issue. expicit_sync_kms isn't set

Where do I set these configs. Then I could test as well.

dwilliam62 commented 1 week ago

AQ > 0.4.5 will work with HL git only.

huh? IMO it should work fine once rebuilt.

Can this be bisected? stuff works here.

Are you running in a QEMU virtual machine? On H/W no issue. If I update to current builds in NIXOS for example I get from source via a flake, make no other changes, it fails to start with black screen In arch when I updated from AUR same issue. Black screen.

UjinT34 commented 1 week ago

huh? IMO it should work fine once rebuilt.

Just assumed that those are pre-built packages which might not be compatible

dwilliam62 commented 1 week ago

huh? IMO it should work fine once rebuilt.

Just assumed that those are pre-built packages which might not be compatible

They work fine on Hw And in NIXOS I build frm source

inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; # hyprland development hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; So for NIXOS that should be fine correct?

fufexan commented 1 week ago

Correct. Also, you don't need submodules anymore, you can revert back to the regular github: url.

dwilliam62 commented 1 week ago

Correct. Also, you don't need submodules anymore, you can revert back to the regular github: url.

Yeah I saw that but haven't bothered to change it back So to review with either Arch or NIXOS current buidls as of a few days ago stopped working in VMs using QEMU. No other changes to config.

dwilliam62 commented 1 week ago

FYI: Another person reported that after upgrading Hyprland/AQ their VMware Workstation VM no longer works. I asked them to post it as well.

dwilliam62 commented 1 week ago

Just helped someone on the Hyprland discord with Virtual box to downgrade to 0.44, 0.4.4 and now it works. Fresh install Arch hyprland I asked them to post here and provide their info.

elenacrs commented 1 week ago

hyprlanddoesnotwork zoom

Ive got a fresh arch installation in VMware Workstation VM but when i try to run Hyprland the error in the screenshoots happens... Downgrading both hyprland and aquamarine to 0.4.4 it worked.

That error was not one week ago in the same VMware Workstation VM with another fresh arch installation.

b4shful commented 1 week ago

Wasn't sure if it was the same issue or not - I had issues on VMWare Workstation and had posted it in #110

I'll copy it below:


This VM was working previously, seems like a regression potentially in Aquamarine v5? Been using hyprland-git and aquamarine-git etc.

3D acceleration etc. is enabled and the proper VMWare graphics driver is loaded.

This might be a duplicate of other crashes reported here but I'm not sure, feel free to mark as duplicate if you find which specific issue this aligns with.

Quickly checked to see if Sway works, and it launches fine.

Also occurs both when launching Hyprland from the tty and when using uwsm so it's not related to that.

Details

``` -------------------------------------------- Hyprland Crash Report -------------------------------------------- Vaxry is going to be upset. Hyprland received signal 6(ABRT) Version: 67cee430061626ccd73dc6d30eed9db289053608 Tag: v0.45.0-47-g67cee430 Date: Tue Nov 19 01:16:11 2024 Flags: System info: System name: Linux Node name: lobster-vm-archlinux Release: 6.11.9-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Sun, 17 Nov 2024 16:06:17 +0000 GPU: 00:0f.0 VGA compatible controller [0300]: VMware SVGA II Adapter [15ad:0405] (prog-if 00 [VGA controller]) Subsystem: VMware SVGA II Adapter [15ad:0405] os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo Backtrace: # | Hyprland(_Z12getBacktracev+0x46) [0x6463360437b6] getBacktrace() ??:? #1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xabe) [0x646335fca8de] CrashReporter::createAndSaveCrash(int) ??:? #2 | Hyprland(_Z25handleUnrecoverableSignali+0x5c) [0x646335f5800c] handleUnrecoverableSignal(int) ??:? #3 | /usr/lib/libc.so.6(+0x3d1d0) [0x7efd7c35d1d0] ?? ??:0 #4 | /usr/lib/libc.so.6(+0x963f4) [0x7efd7c3b63f4] ?? ??:0 #5 | /usr/lib/libc.so.6(gsignal+0x20) [0x7efd7c35d120] ?? ??:0 #6 | /usr/lib/libc.so.6(abort+0xdf) [0x7efd7c3444c3] ?? ??:0 #7 | /usr/lib/libstdc++.so.6(+0x97b2c) [0x7efd7c697b2c] ?? ??:0 #8 | /usr/lib/libstdc++.so.6(+0xadf3a) [0x7efd7c6adf3a] ?? ??:0 #9 | /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7efd7c69752a] ?? ??:0 #1 | /usr/lib/libstdc++.so.6(+0xae1f6) [0x7efd7c6ae1f6] ?? ??:0 #11 | /usr/lib/libstdc++.so.6(_ZSt24__throw_out_of_range_fmtPKcz+0x162) [0x7efd7c69b423] ?? ??:0 #12 | /usr/lib/libaquamarine.so.4(+0x28731) [0x7efd7d018731] ?? ??:0 #13 | Hyprland(_ZN13CMonitorState19ensureBufferPresentEv+0x2d3) [0x64633604dbc3] CMonitorState::ensureBufferPresent() ??:? #14 | Hyprland(_ZN13CMonitorState4testEv+0x20) [0x64633604de20] CMonitorState::test() ??:? #15 | Hyprland(_ZN13CHyprRenderer16applyMonitorRuleEN9Hyprutils6Memory14CSharedPointerI8CMonitorEEP12SMonitorRuleb+0x9b2) [0x6463362525c2] CHyprRenderer::applyMonitorRule(Hyprutils::Memory::CSharedPointer, SMonitorRule*, bool) ??:? #16 | Hyprland(_ZN8CMonitor9onConnectEb+0xd72) [0x6463360470a2] CMonitor::onConnect(bool) ??:? #17 | Hyprland(_ZN11CCompositor12onNewMonitorEN9Hyprutils6Memory14CSharedPointerIN10Aquamarine7IOutputEEE+0x2a4) [0x646335f78864] CCompositor::onNewMonitor(Hyprutils::Memory::CSharedPointer) ??:? #18 | Hyprland(_ZN11CCompositor10initServerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0xd86) [0x646335f5ff16] CCompositor::initServer(std::__cxx11::basic_string, std::allocator >, int) ??:? #19 | Hyprland(main+0xaac) [0x646335ee40ac] main ??:? #2 | /usr/lib/libc.so.6(+0x25e08) [0x7efd7c345e08] ?? ??:0 #21 | /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7efd7c345ecc] ?? ??:0 #22 | Hyprland(_start+0x25) [0x646335f14775] _start ??:? Log tail: [LOG] XCursor theme Adwaita inherits AdwaitaLegacy [LOG] XCursor theme Adwaita inherits hicolor [LOG] XCursor scanning theme AdwaitaLegacy [LOG] XCursor parsing index.theme /usr/share/icons/AdwaitaLegacy/index.theme [LOG] XCursor theme AdwaitaLegacy inherits hicolor [LOG] XCursor scanning theme hicolor [LOG] XCursor parsing index.theme /usr/share/icons/hicolor/index.theme [LOG] XCursor already has a shape default loaded, skipping [LOG] XCursor already has a shape context-menu loaded, skipping [LOG] XCursor already has a shape help loaded, skipping [LOG] XCursor already has a shape pointer loaded, skipping [LOG] XCursor already has a shape progress loaded, skipping [LOG] XCursor already has a shape wait loaded, skipping [LOG] XCursor failed to find a legacy shape with name plus, skipping [LOG] XCursor already has a shape crosshair loaded, skipping [LOG] XCursor already has a shape text loaded, skipping [LOG] XCursor already has a shape vertical-text loaded, skipping [LOG] XCursor failed to find a legacy shape with name dnd-link, skipping [LOG] XCursor failed to find a legacy shape with name dnd-copy, skipping [LOG] XCursor already has a shape move loaded, skipping [LOG] XCursor failed to find a legacy shape with name dnd-none, skipping [LOG] XCursor failed to find a legacy shape with name crossed_circle, skipping [LOG] XCursor already has a shape grab loaded, skipping [LOG] XCursor already has a shape grabbing loaded, skipping [LOG] XCursor already has a shape e-resize loaded, skipping [LOG] XCursor already has a shape n-resize loaded, skipping [LOG] XCursor already has a shape ne-resize loaded, skipping [LOG] XCursor already has a shape nw-resize loaded, skipping [LOG] XCursor already has a shape s-resize loaded, skipping [LOG] XCursor already has a shape se-resize loaded, skipping [LOG] XCursor already has a shape sw-resize loaded, skipping [LOG] XCursor already has a shape w-resize loaded, skipping [LOG] XCursor already has a shape ew-resize loaded, skipping [LOG] XCursor already has a shape ns-resize loaded, skipping [LOG] XCursor already has a shape nesw-resize loaded, skipping [LOG] XCursor already has a shape nwse-resize loaded, skipping [LOG] XCursor already has a shape col-resize loaded, skipping [LOG] XCursor already has a shape row-resize loaded, skipping [LOG] XCursor already has a shape all-scroll loaded, skipping [LOG] XCursor already has a shape zoom-in loaded, skipping [LOG] XCursor already has a shape zoom-out loaded, skipping [LOG] Starting XWayland [LOG] Starting up the XWayland server [LOG] XWayland found a suitable display socket at DISPLAY: :0 [LOG] New output with name Virtual-1 [LOG] [hookSystem] New hook event registered: newMonitor [LOG] [hookSystem] New hook event registered: preMonitorAdded [WARN] No rule found for Virtual-1, trying to use the first. [WARN] No rules configured. Using the default hardcoded one. [LOG] Applying monitor rule for Virtual-1 [LOG] Setting preferred mode for Virtual-1 [LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3457, y: 1937] and format XR24 with modifier 0 aka LINEAR [LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3457, y: 1937] and format XR24 with modifier 0 aka LINEAR [LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3457, y: 1937] XR24 of length 2 [LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible [ERR] [AQ] drm: No renderer attached to backend [ERR] output Virtual-1 failed basic test on format DRM_FORMAT_XRGB8888 [ERR] [AQ] GBM: Allocating with modifiers failed, falling back to modifier-less allocation [ERR] [AQ] GBM: Failed to allocate a GBM buffer: bo null [ERR] [AQ] Couldn't allocate a gbm buffer with size [Vector2D: x: 3457, y: 1937] and format XB24 [ERR] [AQ] Swapchain: Failed acquiring a buffer [ERR] output Virtual-1 failed basic test on format DRM_FORMAT_XBGR8888 [LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible ```

hyprlandCrashReport1133.txt

mattkasun commented 1 week ago

I have the same issue on bare h/w. interesting enough, latest version works running in an incus arch container on same hw

[LOG] ===== SYSTEM INFO: ===== [LOG] System name: Linux [LOG] Node name: endeavour [LOG] Release: 6.6.62-1-lts [LOG] Version: #1 SMP PREEMPT_DYNAMIC Sun, 17 Nov 2024 16:35:16 +0000

[LOG] GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06) (prog-if 00 [VGA controller])

[LOG] os-release: NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID="2021.12.17" ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros"

[LOG] ========================

dwilliam62 commented 1 week ago

I have the same issue on bare h/w. interesting enough, latest version works running in an incus arch container on same hw

That I have not seen. Bare metal works fine. Also like you the VM worked before the update, and if I roll back aquamarine it works

mylinuxforwork commented 1 week ago

I have the same issue on bare h/w. interesting enough, latest version works running in an incus arch container on same hw

That I have not seen. Bare metal works fine. Also like you the VM worked before the update, and if I roll back aquamarine it works

Can you share how you roll back aquamarine after installing Hyprland 0.45.x on Arch and Fedora to make it working again?

vaxerski commented 1 week ago

can someone bisect the exact aq commit that breaks qemu?

mattkasun commented 1 week ago

I have the same issue on bare h/w. interesting enough, latest version works running in an incus arch container on same hw

That I have not seen. Bare metal works fine. Also like you the VM worked before the update, and if I roll back aquamarine it works

Can you share how you roll back aquamarine after installing Hyprland 0.45.x on Arch and Fedora to make it working again?

i used downgrade aur/downgrade 11.4.2-1 (+797 8.35) (Installed) Bash script for downgrading one or more packages to a version in your cache or the A.L.A.

Due to dependency of hyprland on aquamarine, had to uninstall hyprland, downgrade aquamarine (0.4.5-1) and then downgrade hyprland(0.45.0.-1)

gnussbaum67 commented 1 week ago

I believe I have the same issue as above. Running a NIXOS VM on Virtualbox. hyprlandCrashReport2043.txt

vaxerski commented 1 week ago

Repeating information that is already known or providing more duplicate crash reports will not help this issue.

Please see my comment above.

mylinuxforwork commented 1 week ago

I have the same issue on bare h/w. interesting enough, latest version works running in an incus arch container on same hw

That I have not seen. Bare metal works fine. Also like you the VM worked before the update, and if I roll back aquamarine it works

Can you share how you roll back aquamarine after installing Hyprland 0.45.x on Arch and Fedora to make it working again?

i used downgrade aur/downgrade 11.4.2-1 (+797 8.35) (Installed) Bash script for downgrading one or more packages to a version in your cache or the A.L.A.

Due to dependency of hyprland on aquamarine, had to uninstall hyprland, downgrade aquamarine (0.4.5-1) and then downgrade hyprland(0.45.0.-1)

aquamarine 0.4.5-1 + hyprland 0.45.0 works for me as well. Thank you so much. 0.45.2 still not working on KVM.

JManch commented 4 days ago

106 is the regressor