git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit5d56d63d4a72ef7ab8caee389c0aa2b229cc51df
parent0dee15eb41
authorIsaac Freund <[email protected]>
date2024-02-27 17:10
linux-dmabuf: disable per-surface feedback

It seems like the wlr_scene implementation of sending per-surface
feedback is a bit too spammy and can lead to resource exhaustion in
clients in at least some reported cases.

 river/Root.zig   | 2 --
 river/Server.zig | 3 +--
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/river/Root.zig b/river/Root.zig
index e91ea1f..b306977 100644
--- a/river/Root.zig
+++ b/river/Root.zig
@@ -120,8 +120,6 @@ pub fn init(self: *Self) !void {
     const scene = try wlr.Scene.create();
     errdefer scene.tree.node.destroy();
 
-    scene.setLinuxDmabufV1(server.linux_dmabuf);
-
     const interactive_content = try scene.tree.createSceneTree();
     const drag_icons = try scene.tree.createSceneTree();
     const hidden_tree = try scene.tree.createSceneTree();
diff --git a/river/Server.zig b/river/Server.zig
index 0c93dd3..4af027d 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -52,7 +52,6 @@ backend: *wlr.Backend,
 session: ?*wlr.Session,
 
 renderer: *wlr.Renderer,
-linux_dmabuf: *wlr.LinuxDmabufV1,
 allocator: *wlr.Allocator,
 
 xdg_shell: *wlr.XdgShell,
@@ -108,7 +107,7 @@ pub fn init(self: *Self, runtime_xwayland: bool) !void {
         // TODO remove wl_drm support
         _ = try wlr.Drm.create(self.wl_server, self.renderer);
 
-        self.linux_dmabuf = try wlr.LinuxDmabufV1.createWithRenderer(self.wl_server, 4, self.renderer);
+        _ = try wlr.LinuxDmabufV1.createWithRenderer(self.wl_server, 4, self.renderer);
     }
 
     self.allocator = try wlr.Allocator.autocreate(self.backend, self.renderer);