Closed herrwusel closed 4 months ago
Are you comfortable with building Hyprland? The error is a bit unhelpful as is. If you could apply this patch to wlroots and try again....
diff --git a/types/wlr_linux_dmabuf_v1.c b/types/wlr_linux_dmabuf_v1.c
index 9560ace30..4b257a7b6 100644
--- a/types/wlr_linux_dmabuf_v1.c
+++ b/types/wlr_linux_dmabuf_v1.c
@@ -338,7 +338,8 @@ static void params_create_common(struct wl_resource *params_resource,
attribs.stride[i] * height > size) {
wl_resource_post_error(params_resource,
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS,
- "invalid buffer stride or height for plane %d", i);
+ "invalid buffer stride or height for plane %d: offset=%u stride=%u height=%d size=%zd. format=0x%08x",
+ i, attribs.offset[i], attribs.stride[i], height, size, format);
goto err_out;
}
}
Sure:
RUST_BACKTRACE=full wl-screenrec -g "$(slurp -d)" --low-power off
Using output DP-2
Opening libva device from DRM device /dev/dri/renderD128
[h264_vaapi @ 0x606d136878c0] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
Protocol error 6 on object zwp_linux_buffer_params_v1@14: invalid buffer stride or height for plane 0: offset=0 stride=15360 height=2164 size=33177600. format=0x34325258
thread 'main' panicked at src/main.rs:1703:45:
called `Result::unwrap()` on an `Err` value: Backend(Protocol(ProtocolError { code: 6, object_id: 14, object_interface: "zwp_linux_buffer_params_v1", message: "invalid buffer stride or height for plane 0: offset=0 stride=15360 height=2164 size=33177600. format=0x34325258" }))
stack backtrace:
0: 0x606d128281fe - <unknown>
1: 0x606d127ef8c0 - <unknown>
2: 0x606d128263c3 - <unknown>
3: 0x606d12827fa4 - <unknown>
4: 0x606d12829680 - <unknown>
5: 0x606d12829395 - <unknown>
6: 0x606d12829b8e - <unknown>
7: 0x606d12829a8e - <unknown>
8: 0x606d128286c6 - <unknown>
9: 0x606d12829812 - <unknown>
10: 0x606d12792855 - <unknown>
11: 0x606d12792cf3 - <unknown>
12: 0x606d12870f7c - <unknown>
13: 0x606d1289aab3 - <unknown>
14: 0x606d128a7a39 - <unknown>
15: 0x606d12821a45 - <unknown>
16: 0x606d128a7a2e - <unknown>
17: 0x78c81a443cd0 - <unknown>
18: 0x78c81a443d8a - __libc_start_main
19: 0x606d12797e45 - <unknown>
20: 0x0 - <unknown>
Could you test the rgb_size_from_compositor
branch?
It is recording now. One issue: When using slurp, wl-screenrec only records my top-left corner. The size from the slurp selection is applied, but not the position.
I greatly appreciate your help!
That issue is #47
I switched to an AMD laptop and wl-screenrec stopped working for me:
Here is my system: