aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-11-20 11:40:09 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-11-21 07:14:27 +0300
commita21aac949c42f98735237b0b63c7fae1d592580c (patch)
tree4cb30da72e3f403d5e160eded233fcd76471b39a /src
parentcb47caba1101f6c0e718f02e1a1b9d8e579de70f (diff)
downloadniri-a21aac949c42f98735237b0b63c7fae1d592580c.tar.gz
niri-a21aac949c42f98735237b0b63c7fae1d592580c.tar.bz2
niri-a21aac949c42f98735237b0b63c7fae1d592580c.zip
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 <meissl.christian@gmail.com> Co-authored-by: Scott McKendry <39483124+scottmckendry@users.noreply.github.com>
Diffstat (limited to 'src')
-rw-r--r--src/backend/tty.rs15
1 files changed, 7 insertions, 8 deletions
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::<State>();
}
- 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) => {