Skip to content
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

Screencast low framerate (update interval is low) #85

Open
dec05eba opened this issue Aug 24, 2024 · 2 comments
Open

Screencast low framerate (update interval is low) #85

dec05eba opened this issue Aug 24, 2024 · 2 comments

Comments

@dec05eba
Copy link

dec05eba commented Aug 24, 2024

System info:
Distro: Arch linux
Cosmic package versions: 1.0.0.alpha.1-1 (installed from arch extra repository)
CPU: AMD Ryzen 9 5900X
GPU: AMD RX 7800 XT

Description of the issue:
When using the screencast desktop portal the requested fps (in this case 60 or 144) is ignored and the capture updates at 28 fps instead when capturing the monitor (at 4k resolution) and 48 fps when recording a single window (no matter what the size of it is, including if it covers the whole screen). Pipewire also reports that the negotiated framerate is 60/1 (60 fps), no matter what the requested framerate is (even if you request less than 60 fps).
The pipewire stream process callback is only called 28 times per second to update the data.
This also happens no matter what resolution of the monitor is (and capture resolution) is.

htop and amdgpu_top reports that cpu/gpu usage is basically 0 so its not a performance issue and the issue doesn't appear in other wayland compositors so it seems like its more of an update interval issue (maybe an issue with damage tracking).
This issue happens with both obs and gpu screen recorder so it doesn't seem like a client software issue.
This issue doesn't happen when bypassing desktop portal to capture with kms grab instead.

Here is a video of the issue:
Portal capture at 60 fps but the video appears to capture at 28 fps:
https://github.com/user-attachments/assets/9f768d66-e3ac-43e6-814d-e07832046907

Kms grab (bypassing the desktop portal) capture at 60 fps and the video appears to capture at 60 fps:
https://github.com/user-attachments/assets/687817b6-d72f-48ce-bead-963e400f8426

@dec05eba dec05eba changed the title Screencast low framerate Screencast low update framerate Aug 24, 2024
@dec05eba dec05eba changed the title Screencast low update framerate Screencast low framerate (update interval is low) Aug 26, 2024
@Treetrain1
Copy link

I also experience this issue on the latest git version. This bug is one of the most annoying personally to me. I’m ignorant of methods of “Kms grab” mentioned in this issue, so I’m stuck to using the portal right now.
(If anybody knows about kms grab I’d love to learn about it)

Environment:
CachyOS
AMD Ryzen 7 5800X
NVIDIA GeForce RTX 3060 Ti
NVIDIA drivers with open source modules 560.35.03

Based on our environments, it appears this bug happens on both AMD and NVIDIA.
Hope this helps a little bit

@dec05eba
Copy link
Author

dec05eba commented Oct 11, 2024

I’m ignorant of methods of “Kms grab” mentioned in this issue, so I’m stuck to using the portal right now.
(If anybody knows about kms grab I’d love to learn about it)

It's a method that captures the screen using the linux api, bypassing the wayland compositor. It works on all wayland compositors in the same way so issues with a specific wayland compositor doesn't affect it.
On nvidia the only software I know that can do this is gpu screen recorder (its the default capture method when capturing a monitor). On amd/intel you can use a ffmpeg command to do that.
Sunshine also supports this method but only for remote desktop streaming for remote gaming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants