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

Xwayland: Celeste captured at 10 FPS by OBS #4986

Open
YaLTeR opened this issue Feb 7, 2020 · 5 comments
Open

Xwayland: Celeste captured at 10 FPS by OBS #4986

YaLTeR opened this issue Feb 7, 2020 · 5 comments
Labels
bug Not working as intended client-compat Compatibility issues with a particular application xwayland X11-related issues

Comments

@YaLTeR
Copy link
Contributor

YaLTeR commented Feb 7, 2020

  • Sway Version: 1.4
  • Debug Log: sway.log
  • Configuration File: default

Celeste is an X11 game. On sway Open Broadcaster Software (OBS) always captures it at around 10 FPS regardless of the OBS FPS setting. On X11 with the exact same setup it's captured at 60 FPS as it should be. On GNOME Wayland with the exact same setup it's captured at 60 FPS as it should be.

Steps to Reproduce

  1. Launch Steam.
  2. Launch Celeste.
  3. Launch OBS (with QT_QPA_PLATFORM=xcb as it doesn't work properly with the Wayland backend).
  4. Add an Xcomposite source in OBS and point it at Celeste's window.
  5. Observe the OBS window to see that Celeste updates at 10 FPS, or try capturing to check the output file.

The log file is opening sway with default configuration, launching Steam, launching OBS, launching Celeste and observing the low Celeste refresh rate in OBS.

Additional Information

No other X11 games or applications I captured thus far had this issue (everything captured at the correct FPS).

I tried running Celeste in a child sway running via the X11 backend (so Celeste was running via Xwayland inside sway, which was an X11 window itself running via Xwayland in the parent sway) and capturing this child sway's X11 window via OBS to observe this odd behavior:

  • the issue was still present,
  • whenever I was moving the mouse cursor around in the child sway, OBS would capture it at 60 FPS, giving me smooth Celeste capture only while the cursor was moving.

You can see a video recording demonstrating the above here: https://youtu.be/5B4z-YOwp04

This leads me to believe there's some issue with OBS not "seeing" that Celeste has pushed a new frame and thus falling back to some kind of a 10 FPS timer.

OBS issue: obsproject/obs-studio#2323, Xwayland issue: https://gitlab.freedesktop.org/xorg/xserver/issues/967

@FoxtrotFaux
Copy link

I have this same issue on sway with OBS and cool-retro-term.

@Xyene Xyene added bug Not working as intended client-compat Compatibility issues with a particular application xwayland X11-related issues labels Apr 29, 2020
@dzintars
Copy link

Most likely unrelated to this issue, but would like to ask to anybody. If Sway supports only Nouveau are you able to use NVENC H.264 encoder in OBS? I mean, x264 uses CPU for the encoding, which is no-go for me. Would like to spend some time and try Sway, but researching this aspect for now.

@aqxa1
Copy link

aqxa1 commented Dec 2, 2020

This affects capturing RPCS3 (PS3 emulator) as well.

@poinck
Copy link

poinck commented Feb 20, 2022

I have exactly the same issue with capturing Elite Dangerous using the free amdgpu-driver (radeon, radeonsi). Since I am running Gnome on Wayland, I suspect, xwayland might be the problem, not sway.

@e00E
Copy link

e00E commented Sep 18, 2022

This is still an issue today. Using arch linux packages. obs 27.2.4-2, sway 1.7-9, xorg-xwayland 22.1.3-1 . I am not capturing Celeste but another game through wine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not working as intended client-compat Compatibility issues with a particular application xwayland X11-related issues
Development

No branches or pull requests

7 participants