When disconnecting an HDMI monitor, Niri logs the following error:
ERROR niri::backend::tty: missing surface in vblank callback for crtc crtc::Handle(117)
and the process noctalia-shell immediately crashes.
This happens consistently on my ASUS E510 laptop with Intel Celeron N4020, but does not happen on another laptop with the same Niri configuration (noctalia-shell stays alive after HDMI disconnect).
It seems to be a bug specific to the combination of Niri + the graphics driver on this hardware.
Steps to reproduce
Start a Niri session with noctalia-shell (spawn-sh-at-startup).
Connect an HDMI monitor (detected correctly as HDMI-A-1).
Disconnect the HDMI monitor.
Niri shows the “missing surface in vblank callback” error and noctalia-shell crashes.
Relevant logs
DEBUG niri::backend::tty: disconnecting connector: "HDMI-A-1"
feb 10 09:50:08 enyel-cachyos-x8664 niri[1503]: 2026-02-10T15:50:08.494385Z DEBUG niri::niri: putting output eDP-1 at x=0 y=0
feb 10 09:50:08 enyel-cachyos-x8664 niri[1503]: 2026-02-10T15:50:08.565347Z ERROR niri::backend::tty: missing surface in vblank callback for crtc crtc::Handle(117)
System Information
• niri version: 25.11 (b35bcae)
• quickshell version: 0.2.1 (distributed by Arch Linux)
• Distro: CachyOS (Arch-based, selected Niri as desktop environment, noctalia came preinstalled)
• GPU: Intel UHD Graphics (integrated in Celeron N4020)
• CPU: Intel Celeron N4020 (ASUS E510 laptop)
When disconnecting an HDMI monitor, Niri logs the following error:
ERROR niri::backend::tty: missing surface in vblank callback for crtc crtc::Handle(117)
and the process noctalia-shell immediately crashes.
This happens consistently on my ASUS E510 laptop with Intel Celeron N4020, but does not happen on another laptop with the same Niri configuration (noctalia-shell stays alive after HDMI disconnect).
It seems to be a bug specific to the combination of Niri + the graphics driver on this hardware.
Steps to reproduce
Start a Niri session with noctalia-shell (spawn-sh-at-startup).
Connect an HDMI monitor (detected correctly as HDMI-A-1).
Disconnect the HDMI monitor.
Niri shows the “missing surface in vblank callback” error and noctalia-shell crashes.
Relevant logs
DEBUG niri::backend::tty: disconnecting connector: "HDMI-A-1"
feb 10 09:50:08 enyel-cachyos-x8664 niri[1503]: 2026-02-10T15:50:08.494385Z DEBUG niri::niri: putting output eDP-1 at x=0 y=0
feb 10 09:50:08 enyel-cachyos-x8664 niri[1503]: 2026-02-10T15:50:08.565347Z ERROR niri::backend::tty: missing surface in vblank callback for crtc crtc::Handle(117)
System Information
• niri version: 25.11 (b35bcae)
• quickshell version: 0.2.1 (distributed by Arch Linux)
• Distro: CachyOS (Arch-based, selected Niri as desktop environment, noctalia came preinstalled)
• GPU: Intel UHD Graphics (integrated in Celeron N4020)
• CPU: Intel Celeron N4020 (ASUS E510 laptop)