Hi, been using wlrobs to record my screen with sway. It seems to work great, so thanks for that! I'm using the screencopy backend with standard OBS with the QT_QPA_PLATFORM=xcb set. What is the benefit of using the dmabuf backend? It seems to be to avoid copying the screen to another buffer (?) which should result in better performance. Is this correct? How much performance gains / fps are we talking about here? Thanks!
Screencopy requires the compositor to copy the frame from the GPU to shared memory where wlrobs copies it back to the GPU for compositing by OBS requiring 2 copies. dmabuf on the other hand gives the captured frame directly to OBS without any copies at all. The performance gains from this can be quite substantial. I know someone that can't even use screencopy because capturing at 3840x2160 makes their system unusably laggy while dmabuf doesn't make a noticeable impact on system responsiveness. That being said it definitely depends on what resolution you're capturing at, on my system I can use both to capture 1920x1080@60 no problem. Overall dmabuf is just more efficient, if screencopy performs fine for your use case then it might not be worth the hassle of building an EGL version of OBS.