Upgrade Smithay (fix disappeared connectors, fix DnD hang in Electron)

This commit is contained in:
Ivan Molodetskikh
2026-04-16 08:31:26 +03:00
parent d7905e6b74
commit 26ff5f4bf1
7 changed files with 44 additions and 40 deletions
Generated
+26 -26
View File
@@ -1722,9 +1722,9 @@ dependencies = [
[[package]]
name = "input"
version = "0.9.1"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbdc09524a91f9cacd26f16734ff63d7dc650daffadd2b6f84d17a285bd875a9"
checksum = "f9793345a65d71317763a33066b5d8351f8760dde8d4930fe9e39b5f14a7959d"
dependencies = [
"bitflags 2.11.0",
"input-sys",
@@ -1735,9 +1735,9 @@ dependencies = [
[[package]]
name = "input-sys"
version = "1.18.0"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd4f5b4d1c00331c5245163aacfe5f20be75b564c7112d45893d4ae038119eb0"
checksum = "36eee07d8e02bd95bf52b2e642cf13d33701b94c6e4b04fbf1d1fb07e9cb19e7"
[[package]]
name = "insta"
@@ -3470,7 +3470,7 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
[[package]]
name = "smithay"
version = "0.7.0"
source = "git+https://github.com/Smithay/smithay.git?rev=dce4d34e7421559b661af9c519904f4b24346148#dce4d34e7421559b661af9c519904f4b24346148"
source = "git+https://github.com/Smithay/smithay.git?rev=dba255cd18c1a808c85a1d1144ad48e0b3f44b8f#dba255cd18c1a808c85a1d1144ad48e0b3f44b8f"
dependencies = [
"aliasable",
"appendlist",
@@ -3545,7 +3545,7 @@ dependencies = [
[[package]]
name = "smithay-drm-extras"
version = "0.1.0"
source = "git+https://github.com/Smithay/smithay.git?rev=dce4d34e7421559b661af9c519904f4b24346148#dce4d34e7421559b661af9c519904f4b24346148"
source = "git+https://github.com/Smithay/smithay.git?rev=dba255cd18c1a808c85a1d1144ad48e0b3f44b8f#dba255cd18c1a808c85a1d1144ad48e0b3f44b8f"
dependencies = [
"drm",
"libdisplay-info",
@@ -4120,9 +4120,9 @@ dependencies = [
[[package]]
name = "wayland-backend"
version = "0.3.14"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa75f400b7f719bcd68b3f47cd939ba654cedeef690f486db71331eec4c6a406"
checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d"
dependencies = [
"cc",
"downcast-rs",
@@ -4134,9 +4134,9 @@ dependencies = [
[[package]]
name = "wayland-client"
version = "0.31.13"
version = "0.31.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab51d9f7c071abeee76007e2b742499e535148035bb835f97aaed1338cf516c3"
checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144"
dependencies = [
"bitflags 2.11.0",
"rustix 1.1.4",
@@ -4157,9 +4157,9 @@ dependencies = [
[[package]]
name = "wayland-cursor"
version = "0.31.13"
version = "0.31.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b3298683470fbdc6ca40151dfc48c8f2fd4c41a26e13042f801f85002384091"
checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d"
dependencies = [
"rustix 1.1.4",
"wayland-client",
@@ -4168,9 +4168,9 @@ dependencies = [
[[package]]
name = "wayland-egl"
version = "0.32.10"
version = "0.32.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "429e5852d67d4be674b0e413962186b5115f77012e765617ee97b6480d5d6ea7"
checksum = "9b97bdb7c49e5bd9b7562f38ff84f0dad47079fdc9e926f691a787f6dbc05451"
dependencies = [
"wayland-backend",
"wayland-sys",
@@ -4178,9 +4178,9 @@ dependencies = [
[[package]]
name = "wayland-protocols"
version = "0.32.11"
version = "0.32.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b23b5df31ceff1328f06ac607591d5ba360cf58f90c8fad4ac8d3a55a3c4aec7"
checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f"
dependencies = [
"bitflags 2.11.0",
"wayland-backend",
@@ -4191,9 +4191,9 @@ dependencies = [
[[package]]
name = "wayland-protocols-misc"
version = "0.3.11"
version = "0.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "429b99200febaf95d4f4e46deff6fe4382bcff3280ee16a41cf887b3c3364984"
checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8"
dependencies = [
"bitflags 2.11.0",
"wayland-backend",
@@ -4217,9 +4217,9 @@ dependencies = [
[[package]]
name = "wayland-protocols-wlr"
version = "0.3.11"
version = "0.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78248e4cc0eff8163370ba5c158630dcae1f3497a586b826eca2ef5f348d6235"
checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234"
dependencies = [
"bitflags 2.11.0",
"wayland-backend",
@@ -4231,9 +4231,9 @@ dependencies = [
[[package]]
name = "wayland-scanner"
version = "0.31.9"
version = "0.31.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c86287151a309799b821ca709b7345a048a2956af05957c89cb824ab919fa4e3"
checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a"
dependencies = [
"proc-macro2",
"quick-xml 0.39.2",
@@ -4242,9 +4242,9 @@ dependencies = [
[[package]]
name = "wayland-server"
version = "0.31.12"
version = "0.31.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63736a4a73e781cf6a736aa32c5d6773c3eb5389197562742a8c611b49b5e359"
checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0"
dependencies = [
"bitflags 2.11.0",
"downcast-rs",
@@ -4255,9 +4255,9 @@ dependencies = [
[[package]]
name = "wayland-sys"
version = "0.31.10"
version = "0.31.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "374f6b70e8e0d6bf9461a32988fd553b59ff630964924dad6e4a4eb6bd538d17"
checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be"
dependencies = [
"dlib",
"libc",
+6 -6
View File
@@ -31,14 +31,14 @@ tracy-client = { version = "0.18.4", default-features = false }
[workspace.dependencies.smithay]
# version = "0.4.1"
git = "https://github.com/Smithay/smithay.git"
rev = "dce4d34e7421559b661af9c519904f4b24346148"
rev = "dba255cd18c1a808c85a1d1144ad48e0b3f44b8f"
# path = "../smithay"
default-features = false
[workspace.dependencies.smithay-drm-extras]
# version = "0.1.0"
git = "https://github.com/Smithay/smithay.git"
rev = "dce4d34e7421559b661af9c519904f4b24346148"
rev = "dba255cd18c1a808c85a1d1144ad48e0b3f44b8f"
# path = "../smithay/smithay-drm-extras"
[package]
@@ -77,7 +77,7 @@ fastrand = "2.3.0"
futures-util = { version = "0.3.32", default-features = false, features = ["std", "io"] }
git-version = "0.3.9"
glam = "0.32.1"
input = { version = "0.9.1", features = ["libinput_1_21"] }
input = { version = "0.10.0", features = ["libinput_1_21"] }
keyframe = { version = "1.1.1", default-features = false }
libc = "0.2.182"
libdisplay-info = "0.3.0"
@@ -97,9 +97,9 @@ smithay-drm-extras.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true
tracy-client.workspace = true
wayland-backend = "0.3.14"
wayland-scanner = "0.31.9"
wayland-server = { version = "0.31.12", features = ["libwayland_1_23"] }
wayland-backend = "0.3.15"
wayland-scanner = "0.31.10"
wayland-server = { version = "0.31.13", features = ["libwayland_1_23"] }
xcursor = "0.3.10"
zbus = { version = "5.13.2", optional = true }
+2 -2
View File
@@ -1419,7 +1419,7 @@ impl Tty {
// Create the compositor.
let res = DrmCompositor::new(
OutputModeSource::Auto(output.clone()),
OutputModeSource::Auto(output.downgrade()),
surface,
None,
device.allocator.clone(),
@@ -1449,7 +1449,7 @@ impl Tty {
.create_surface(crtc, mode, &[connector.handle()])?;
DrmCompositor::new(
OutputModeSource::Auto(output.clone()),
OutputModeSource::Auto(output.downgrade()),
surface,
None,
device.allocator.clone(),
+3 -3
View File
@@ -508,7 +508,7 @@ impl CompositorHandler for State {
// So, this may come out empty, and then the toplevel pre-commit hook will be removed in the
// subsequent toplevel_destroyed() call.
if let Some(hook) = self.niri.dmabuf_pre_commit_hook.remove(surface) {
remove_pre_commit_hook(surface, hook);
remove_pre_commit_hook(surface, &hook);
}
}
}
@@ -572,13 +572,13 @@ impl State {
let s = surface.clone();
if let Some(prev) = self.niri.dmabuf_pre_commit_hook.insert(s, hook) {
error!("tried to add dmabuf pre-commit hook when there was already one");
remove_pre_commit_hook(surface, prev);
remove_pre_commit_hook(surface, &prev);
}
}
pub fn remove_default_dmabuf_pre_commit_hook(&mut self, surface: &WlSurface) {
if let Some(hook) = self.niri.dmabuf_pre_commit_hook.remove(surface) {
remove_pre_commit_hook(surface, hook);
remove_pre_commit_hook(surface, &hook);
} else {
error!("tried to remove dmabuf pre-commit hook but there was none");
}
+5 -1
View File
@@ -4678,7 +4678,11 @@ pub fn apply_libinput_settings(config: &niri_config::Input, device: &mut input::
let _ = device.config_tap_set_enabled(c.tap);
let _ = device.config_dwt_set_enabled(c.dwt);
let _ = device.config_dwtp_set_enabled(c.dwtp);
let _ = device.config_tap_set_drag_lock_enabled(c.drag_lock);
let _ = device.config_tap_set_drag_lock_enabled(if c.drag_lock {
input::DragLockState::EnabledTimeout
} else {
input::DragLockState::Disabled
});
let _ = device.config_scroll_set_natural_scroll_enabled(c.natural_scroll);
let _ = device.config_accel_set_speed(c.accel_speed.0);
let _ = device.config_left_handed_set(c.left_handed);
+1 -1
View File
@@ -328,6 +328,6 @@ impl MappedLayer {
impl Drop for MappedLayer {
fn drop(&mut self) {
remove_pre_commit_hook(self.surface.wl_surface(), self.pre_commit_hook.clone());
remove_pre_commit_hook(self.surface.wl_surface(), &self.pre_commit_hook);
}
}
+1 -1
View File
@@ -598,7 +598,7 @@ impl Mapped {
impl Drop for Mapped {
fn drop(&mut self) {
remove_pre_commit_hook(self.toplevel().wl_surface(), self.pre_commit_hook.clone());
remove_pre_commit_hook(self.toplevel().wl_surface(), &self.pre_commit_hook);
}
}