From a21aac949c42f98735237b0b63c7fae1d592580c Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Thu, 20 Nov 2025 11:40:09 +0300 Subject: tty: Ensure we only use the primary render node for dmabuf global Necessary for a future refactor making render node optional. Co-authored-by: Christian Meissl Co-authored-by: Scott McKendry <39483124+scottmckendry@users.noreply.github.com> --- src/backend/tty.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 1abbc2a2..368f5119 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -716,6 +716,10 @@ impl Tty { let node = DrmNode::from_dev_id(device_id)?; + if node == self.primary_node { + debug!("this is the primary node"); + } + // Only consider primary node on udev event // https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/768fbaad54027f8dd027e7e015e8eeb93cb38c52 if node.ty() != NodeType::Primary { @@ -757,13 +761,8 @@ impl Tty { .add_node(render_node, gbm.clone()) .context("error adding render node to GPU manager")?; - if node == self.primary_node || render_node == self.primary_render_node { - if node == self.primary_node { - debug!("this is the primary node"); - } - if render_node == self.primary_render_node { - debug!("this is the primary render node"); - } + if render_node == self.primary_render_node { + debug!("this is the primary render node"); let mut renderer = self .gpu_manager @@ -1061,7 +1060,7 @@ impl Tty { lease_state.disable_global::(); } - if node == self.primary_node || device.render_node == self.primary_render_node { + if device.render_node == self.primary_render_node { match self.gpu_manager.single_renderer(&device.render_node) { Ok(mut renderer) => renderer.unbind_wl_display(), Err(err) => { -- cgit