-
-
Notifications
You must be signed in to change notification settings - Fork 227
Screencast only captures the first frame #1403
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Not sure, doesn't seem like anything is wrong. Could you try https://github.com/YaLTeR/niri/wiki/Configuration:-Debug-Options#wait-for-frame-completion-in-pipewire? |
Thanks for taking a look. I added it to my config and did a logout/login. Same problem persists. I have tried both open (not nouveau) and proprietary nvidia drivers. |
I'll probably get around to debugging during the weekend. Probably will start building niri and adding some logging in pw_utils.rs or trying to find the streaming part. Unsure which part of the stack is having issues though. I've never used wayland gnome myself. |
It's probably a good idea to try if it works on GNOME, since the screencast handling should be somewhat similar. You could also try using xdg-desktop-portal-wlr for screencasting (override in niri-portals.conf) since that uses different code paths. |
I just tried both. GNOME on wayland worked, also verified discord was running wayland with xeyes. xdg-desktop-portal-wlr had the same problem of only showing a static image. |
Huh |
I am getting the same issue.
niri --version: GPU: Intel Arc Distro: NixOS 24.11 |
Trying it on an older build, with Niri 25.01, and here it works fine. I can do more in-depth testing later where I try this older niri version on the newer build |
LOL I didn't have time during the weekend. Thanks @maxverbeek for the additional report valuable insight to know that I'm not insane. |
I'm sad to report that is probably an error on my end, but I suspect it could be causing your issue as well: For a while I was using an unstable version of niri because I wanted that sweet floating window support. To achieve this I put this in my config: modules.niri.package = pkgs.unstable.niri.overrideAttrs (old: {
buildInputs = ((builtins.filter (p: p != pkgs.unstable.libgbm) old.buildInputs) ++ [ pkgs.mesa ]);
}); When not doing this, and just using the Niri from the nixpkgs of my distro, everything works fine. Note: the Niri version from nixos-unstable and nixos-24.11 are the same atm (same hashes, both v25.02). I suspect the problem could lie in the I haven't tried it myself, but it might be worth trying a .override { pipewire = pkgs.pipewire; } Edit: to be clear, not doing overrides fixes this issue for me, no more screensharing issues :) |
Makes sense, I've been using a mix of 24.11 and unstable packages, my graphics drivers were coming from 24.11 and niri was overlayed on top of unstable. I switched the overlay to 24.11 and things are ok now. I'll close this issue because:
|
Thanks for looking into it |
When screencasting to discord or firefox (google meet), only the first frame is captured and a static image is shown consistently throughout the capture.
I've tried 25.02 and the build below from April. Not sure what I'm doing wrong here.
Logs from niri:
Logs from xdp-gnome:
logs from pipewire:
config:
https://gist.github.com/Dummyc0m/6836dfcbbcf2eb97e3f084ca2336167b
System Information
niri version:
niri unstable 2025-04-01 (commit 60034a5)
Distro:
NixOS 24.11
GPU:
nvidia 3090 Ti
CPU:
AMD EPYC 7V73X
The text was updated successfully, but these errors were encountered: