[MSI Stealth] Failing to start Hyperland on Arch Linux

Hi,

I’m trying to run Hyprland on Arch Linux on this laptop:

MSI Stealth A16 Mercedes AMG AI+ A3XWGG
Ryzen AI 9
RTX 5070 (Ada)
QHD 240Hz

Installed via archinstall, bootloader: systemd-boot
Kernel: 6.18.9-arch1-2

After boot I get kernel messages briefly, then a black screen. No SDDM login, no Wayland session.


NVIDIA stack

nvidia-open 590.48.01-12
nvidia-utils 590.48.01-4
linux-firmware-nvidia
libva-nvidia-driver

nvidia-smi works:

Driver 590.48.01, CUDA 13.1
GPU: RTX 5070


Kernel parameters

nvidia_drm.modeset=1


Wayland / EGL

egl-gbm
egl-wayland
egl-wayland2
egl-x11
libglvnd
wayland


Logs

sddm: Failed to read display number from pipe
ACPI BIOS Error (bug): AE_ALREADY_EXISTS
ACPI: EC: Firmware Bug


Notes

  • Can switch to TTY

  • Hyprland binary exists

  • Using systemd-boot, not GRUB


Questions

  • Is nvidia-open-dkms known to break Hyprland on Ada/Lovelace laptops?

  • Should I switch to proprietary nvidia-open instead?

  • Any required kernel params for NVIDIA + Wayland + Hyprland?

Thanks for any pointers.

PS: I’m relatively new to Arch. I have it installed on an old Alienware M15, and it works fine there.

  • Nvidia 1070, with Intel CPU.

Other Wayland compositors (E.g. Sway) function without issue?

Or has this nothing to do with Hyprland and should be asked on the Arch Linux Forum rather?

If you insist on using a Display Manager (SDDM), have you ensured the nvidia modules are added to your initramfs?

1 Like

I installed KDE Manually and it started the DE. Haven’t tried sway.

So, taking SDDM out of the equation, can you launch Hyprland from a TTY directly as well?

start-hyprland

Nope, I get the below output and can’t quit the process.

start-hyprland 
Welcome to Hyprland!
DEBUG ]: Instance Signature: dd220efe7b1e292415bd0ea7161f63df9c95bfd3_1771089178_2129622158
DEBUG ]: Runtime directory: /run/user/1000/hypr/dd220efe7b1e292415bd0ea7161f63df9c95bfd3_1771089178_2129622158
DEBUG ]: Hyprland PID: 1804
DEBUG ]: ===== SYSTEM INFO: =====
DEBUG ]: System name: Linux
DEBUG ]: Node name: archlinux
DEBUG ]: Release: 6.18.9-arch1-2
DEBUG ]: Version: #1 SMP PREEMPT_DYNAMIC Mon, 09 Feb 2026 17:16:33 +0000
DEBUG ]: 

DEBUG ]: GPU information:
64:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB206M [GeForce RTX 5070 Max-Q / Mobile] [10de:2d18] (rev a1) (prog-if 00 [VGA controller])
65:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix [Radeon 880M / 890M] [1002:150e] (rev c1)


WARN ]: Warning: you're using an NVIDIA GPU. Make sure you follow the instructions on the wiki if anything is amiss.

DEBUG ]: os-release:
DEBUG ]: 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
DEBUG ]: ========================
DEBUG ]: 


DEBUG ]: If you are crashing, or encounter any bugs, please consult https://wiki.hypr.land/Crashes-and-Bugs/


DEBUG ]: 
Current splash: "stop playing league loser" - hyprBot


DEBUG ]: Old rlimit: soft -> 1024, hard -> 524288
DEBUG ]: New rlimit: soft -> 524288, hard -> 524288
DEBUG ]: Creating the EventLoopManager!
DEBUG ]: Creating the HookSystem!
DEBUG ]: Creating the KeybindManager!
DEBUG ]: Creating the AnimationManager!
DEBUG ]: Creating the DynamicPermissionManager!
DEBUG ]: Creating the ConfigManager!
DEBUG ]: Using config: /home/user/.config/hypr/hyprland.conf
DEBUG ]: !!!!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.hypr.land/Configuring/Variables/#debug
DEBUG ]: Creating the CHyprError!
DEBUG ]: Creating the LayoutManager!
DEBUG ]: Creating the TokenManager!
DEBUG ]: [hookSystem] New hook event registered: preConfigReload
DEBUG ]: Using config: /home/user/.config/hypr/hyprland.conf
DEBUG ]: Disabling stdout logs! Check the log for further logs.
DEBUG ]: Creating the PointerManager!
DEBUG ]: Creating the EventManager!
DEBUG ]: Creating the AsyncResourceGatherer!

I tried running from other laptop through ssh, and it’s the same log output, but with this appened:

terminate called after throwing an instance of 'std::runtime_error'
  what():  CBackend::create() failed!
Hyprland has crashed :( Consult the crash report at /home/user/.cache/hyprland/hyprlandCrashReport1804.txt for more information.
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
ERR from start-hyprland ]: Couldn't waitpid for hyprland: No child processes
DEBUG from start-hyprland ]: hyprland exit, breaking poll, checking state
DEBUG from start-hyprland ]: Hyprland exit cleanly.

Inside hyprlandCrashReport1804.txt:

cat hyprlandCrashReport1804.txt
--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
Everything's just fi-

Hyprland received signal 6(ABRT)
Version: dd220efe7b1e292415bd0ea7161f63df9c95bfd3
Tag: v0.53.3
Date: Sat Jan 24 20:02:06 2026
Flags:

System info:
	System name: Linux
	Node name: archlinux
	Release: 6.18.9-arch1-2
	Version: #1 SMP PREEMPT_DYNAMIC Mon, 09 Feb 2026 17:16:33 +0000

GPU:
	64:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB206M [GeForce RTX 5070 Max-Q / Mobile] [10de:2d18] (rev a1) (prog-if 00 [VGA controller])
65:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix [Radeon 880M / 890M] [1002:150e] (rev c1)


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

Libraries:
Hyprgraphics: built against 0.5.0, system has 0.5.0
Hyprutils: built against 0.11.0, system has 0.11.0
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.8, system has 0.6.8
Aquamarine: built against 0.10.0, system has 0.10.0

Backtrace:
	# | Hyprland(_Z12getBacktracev+0x61) [0x55590cddc221]
		getBacktrace()
		??:?
	#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xcd6) [0x55590cd436a6]
		CrashReporter::createAndSaveCrash(int)
		??:?
	#2 | Hyprland(+0x2595c2) [0x55590cc925c2]
		std::__format::_Formatting_scanner<std::__format::_Sink_iter<char>, char>::_M_format_arg(unsigned long)
		??:?
	#3 | /usr/lib/libc.so.6(+0x3e2d0) [0x7fd9c724d2d0]
		??
		??:0
	#4 | /usr/lib/libc.so.6(+0x98a2c) [0x7fd9c72a7a2c]
		??
		??:0
	#5 | /usr/lib/libc.so.6(gsignal+0x20) [0x7fd9c724d1a0]
		??
		??:0
	#6 | /usr/lib/libc.so.6(abort+0x26) [0x7fd9c72345fe]
		??
		??:0
	#7 | /usr/lib/libstdc++.so.6(+0x97bf6) [0x7fd9c7497bf6]
		??
		??:0
	#8 | /usr/lib/libstdc++.so.6(+0xb1eba) [0x7fd9c74b1eba]
		??
		??:0
	#9 | /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7fd9c74975d9]
		??
		??:0
	#1 | /usr/lib/libstdc++.so.6(+0xb2176) [0x7fd9c74b2176]
		??
		??:0
	#11 | Hyprland(+0x14500f) [0x55590cb7e00f]
		std::__throw_bad_any_cast()
		??:?
	#12 | Hyprland(_ZN11CCompositor10initServerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x653) [0x55590ccb9ac3]
		CCompositor::initServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)
		??:?
	#13 | Hyprland(main+0xf1e) [0x55590cc1beae]
		main
		??:?
	#14 | /usr/lib/libc.so.6(+0x276c1) [0x7fd9c72366c1]
		??
		??:0
	#15 | /usr/lib/libc.so.6(__libc_start_main+0x89) [0x7fd9c72367f9]
		??
		??:0
	#16 | Hyprland(_start+0x25) [0x55590cc7cfb5]
		_start
		??:?


Log tail:
DEBUG ]: Instance Signature: dd220efe7b1e292415bd0ea7161f63df9c95bfd3_1771089178_2129622158
DEBUG ]: Runtime directory: /run/user/1000/hypr/dd220efe7b1e292415bd0ea7161f63df9c95bfd3_1771089178_2129622158
DEBUG ]: Hyprland PID: 1804
DEBUG ]: ===== SYSTEM INFO: =====
DEBUG ]: System name: Linux
DEBUG ]: Node name: archlinux
DEBUG ]: Release: 6.18.9-arch1-2
DEBUG ]: Version: #1 SMP PREEMPT_DYNAMIC Mon, 09 Feb 2026 17:16:33 +0000
DEBUG ]: 

DEBUG ]: GPU information:
64:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB206M [GeForce RTX 5070 Max-Q / Mobile] [10de:2d18] (rev a1) (prog-if 00 [VGA controller])
65:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix [Radeon 880M / 890M] [1002:150e] (rev c1)


WARN ]: Warning: you're using an NVIDIA GPU. Make sure you follow the instructions on the wiki if anything is amiss.

DEBUG ]: os-release:
DEBUG ]: 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
DEBUG ]: ========================
DEBUG ]: 


DEBUG ]: If you are crashing, or encounter any bugs, please consult https://wiki.hypr.land/Crashes-and-Bugs/


DEBUG ]: 
Current splash: "stop playing league loser" - hyprBot


DEBUG ]: Old rlimit: soft -> 1024, hard -> 524288
DEBUG ]: New rlimit: soft -> 524288, hard -> 524288
DEBUG ]: Creating the EventLoopManager!
DEBUG ]: Creating the HookSystem!
DEBUG ]: Creating the KeybindManager!
DEBUG ]: Creating the AnimationManager!
DEBUG ]: Creating the DynamicPermissionManager!
DEBUG ]: Creating the ConfigManager!
DEBUG ]: Using config: /home/user/.config/hypr/hyprland.conf
DEBUG ]: !!!!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.hypr.land/Configuring/Variables/#debug
DEBUG ]: Creating the CHyprError!
DEBUG ]: Creating the LayoutManager!
DEBUG ]: Creating the TokenManager!
DEBUG ]: [hookSystem] New hook event registered: preConfigReload
DEBUG ]: Using config: /home/user/.config/hypr/hyprland.conf
DEBUG ]: Disabling stdout logs! Check the log for further logs.
DEBUG ]: Creating the PointerManager!
DEBUG ]: Creating the EventManager!
DEBUG ]: Creating the AsyncResourceGatherer!
DEBUG from aquamarine ]: Creating an Aquamarine backend!
DEBUG from aquamarine ]: [libseat] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
DEBUG from aquamarine ]: [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
DEBUG from aquamarine ]: [libseat] [libseat/libseat.c:76] Backend 'logind' failed to open seat, skipping
ERR from aquamarine ]: [libseat] [libseat/libseat.c:79] No backend was able to open a seat
ERR from aquamarine ]: libseat: failed to open a seat
ERR from aquamarine ]: Failed to open a session
ERR from aquamarine ]: DRM Backend failed
DEBUG from aquamarine ]: Starting the Aquamarine backend!
DEBUG from aquamarine ]: Starting the Wayland backend!
ERR from aquamarine ]: Wayland backend cannot start: wl_display_connect failed (is a wayland compositor running?)
ERR from aquamarine ]: Requested backend (wayland) could not start, enabling fallbacks
ERR from aquamarine ]: Implementation wayland failed, erasing.
CRIT from aquamarine ]: Cannot open backend: no allocator available

I’ll go through the log in depth now.
I connected an external monitor to the laptop, and saw this: