aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-10-17 17:46:28 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-10-17 18:03:21 +0300
commitada6e844ba609db60830e92316f989cb7e1e8bdf (patch)
tree4bb11a8bfc0107ad4e526d6463faf7159261b7c8 /src/backend
parentb38df2d1c87929e3f6fa78b1caefbcef5b9323a0 (diff)
downloadniri-ada6e844ba609db60830e92316f989cb7e1e8bdf.tar.gz
niri-ada6e844ba609db60830e92316f989cb7e1e8bdf.tar.bz2
niri-ada6e844ba609db60830e92316f989cb7e1e8bdf.zip
tty: Retry adding device on change
On my laptop, sometimes the initial addition of the dGPU fails for some reason.
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/tty.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs
index 486c3c1b..ab242f6c 100644
--- a/src/backend/tty.rs
+++ b/src/backend/tty.rs
@@ -649,8 +649,22 @@ impl Tty {
return;
};
+ if self.ignored_nodes.contains(&node) {
+ debug!("node is ignored, skipping");
+ return;
+ }
+
let Some(device) = self.devices.get_mut(&node) else {
- warn!("no such device");
+ if let Some(path) = node.dev_path() {
+ warn!("unknown device; trying to add");
+
+ if let Err(err) = self.device_added(device_id, &path, niri) {
+ warn!("error adding device: {err:?}");
+ }
+ } else {
+ warn!("unknown device");
+ }
+
return;
};
@@ -754,7 +768,7 @@ impl Tty {
};
let Some(device) = self.devices.get_mut(&node) else {
- warn!("no such device");
+ warn!("unknown device");
return;
};