YaLTeR / niri

A scrollable-tiling Wayland compositor.
https://matrix.to/#/#niri:matrix.org
GNU General Public License v3.0
4.13k stars 123 forks source link

Support SHM format for PipeWire screencasts #455

Open thepragmaticmero opened 5 months ago

thepragmaticmero commented 5 months ago

Kooha, a GTK4 based flatpak screen recorder, works on GNOME, works on sway. But doesn't work on niri. Journalctl for reference.

# journalctl --no-hostname -eb /usr/bin/niri | tail -n 11 | wl-copy
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.985830Z DEBUG niri::dbus::mutter_screen_cast: record_monitor connector="DP-1" properties=RecordMonitorProperties { cursor_mode: Some(Embedded), _is_recording: None }
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.987307Z DEBUG niri::dbus::mutter_screen_cast: start
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.987352Z DEBUG niri::niri: StartCast session_id=3
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.987403Z DEBUG niri::pw_utils: pw stream: state changed: Unconnected -> Connecting
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.988927Z DEBUG niri::pw_utils: pw stream: state changed: Connecting -> Paused
Jun 20 07:21:28 niri[13861]: 2024-06-20T12:21:28.988943Z DEBUG niri::pw_utils: pw stream: sending signal with 68
Jun 20 07:21:29 niri[13861]: 2024-06-20T12:21:29.030720Z DEBUG niri::pw_utils: pw stream: state changed: Paused -> Error("no more input formats")
Jun 20 07:21:29 niri[13861]: 2024-06-20T12:21:29.030735Z  WARN niri::pw_utils: pw error id=2 seq=43 res=-32 no more input formats
Jun 20 07:21:29 niri[13861]: 2024-06-20T12:21:29.044509Z DEBUG niri::dbus::mutter_screen_cast: stop
Jun 20 07:21:29 niri[13861]: 2024-06-20T12:21:29.044652Z DEBUG niri::niri: StopCast session_id=3
Jun 20 07:21:29 niri[13861]: 2024-06-20T12:21:29.044809Z DEBUG niri::pw_utils: pw stream: state changed: Paused -> Unconnected

more info at: https://github.com/SeaDve/Kooha/issues/301 In a nutshell.... portals I suppose.

OBS Kooha
Sway :heavy_check_mark: :heavy_check_mark:
GNOME :heavy_check_mark: :heavy_check_mark:
Niri :heavy_check_mark: :x:

System Information

YaLTeR commented 5 months ago

See my comment there; niri doesn't implement shm screen capture and Kooha can't deal with dmabufs.