Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dwilliam62 opened this issue Nov 18, 2024 · 23 comments

Comments

@dwilliam62
Copy link

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
3b00e96

545f506

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
Copy link
Contributor

UjinT34 commented Nov 19, 2024

AQ > 0.4.5 will work with HL git only.
545f506 before that explicit sync was half functional. Try disablingexplicit_sync_kms and/or explicit_sync.

@dwilliam62
Copy link
Author

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
Copy link
Member

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
Copy link

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
Copy link
Author

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
Copy link
Contributor

UjinT34 commented Nov 19, 2024

huh? IMO it should work fine once rebuilt.

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

@dwilliam62
Copy link
Author

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
Copy link
Member

fufexan commented Nov 19, 2024

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

@dwilliam62
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link

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
Copy link

b4shful commented Nov 20, 2024

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<CMonitor>, SMonitorRule*, bool)
		??:?
	#16 | Hyprland(_ZN8CMonitor9onConnectEb+0xd72) [0x6463360470a2]
		CMonitor::onConnect(bool)
		??:?
	#17 | Hyprland(_ZN11CCompositor12onNewMonitorEN9Hyprutils6Memory14CSharedPointerIN10Aquamarine7IOutputEEE+0x2a4) [0x646335f78864]
		CCompositor::onNewMonitor(Hyprutils::Memory::CSharedPointer<Aquamarine::IOutput>)
		??:?
	#18 | Hyprland(_ZN11CCompositor10initServerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0xd86) [0x646335f5ff16]
		CCompositor::initServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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
Copy link

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
Copy link
Author

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
Copy link

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
Copy link
Member

can someone bisect the exact aq commit that breaks qemu?

@mattkasun
Copy link

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
Copy link

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

@vaxerski
Copy link
Member

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

Please see my comment above.

@mylinuxforwork
Copy link

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.

@adminy
Copy link

adminy commented Nov 25, 2024

I can also confirm that 0.4.4 -> 0.5.0 results in black screen with hyprland and very ramped up spinning fans.

I've yet to determine which commit did this.

Update

Its commit: DRM: Add a dumb allocator (#104)

Its broken even in latest version.

@JManch
Copy link
Contributor

JManch commented Nov 28, 2024

#106 is the regressor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests