For several weeks now, I have been trying to find a solution to record my desktop at a solid 60FPS, and I have completely failed in my endeavor.

The first thing I tried was OBS. It records at 60FPS if the screen is idle. However, if I even so much as drag a window, the recording drops to ~15FPS.

I tried a few other software applications, and none of them was able to produce a solid 60FPS recording.

As a last ditch effort, I spent an hour compiling some program from 2013 from source that is supposedly able to capture directly from the OpenGL framebuffer. It did slightly better, at around ~25-30FPS, but it is only able to record OpenGL applications, so it can't record the desktop.

I have an Nvidia GPU, so on Windows I can use Shadowplay which uses the GPU's onboard hardware h.264 encoder to get perfect 60FPS recording.

I'm not not looking to record a game or anything - just the desktop. I can't believe that what I'm after is so far-fetched.

I've been doing a lot of research on the topic, and it seems to be that it's more of a limitation of X than anything else. Supposedly Wayland is able to achieve perfect 60FPS recording simply because of its different architecture.

I really would prefer not to have to spend a ton of money to buy a PCIE HDMI capture card, which I would then have to pass through to a Windows VM in QEMU to run the capture software and everything just to record the desktop!

Any ideas Linux community?

P.S. I have powerful hardware, so I don't think it's a hardware bottleneck.

GPU: Nvidia GTX650
RAM: 16GB of DDR3 @ 1600Mhz

Side note: as absurd as this may sound, I have gotten better performance running Ubuntu in VMware on Windows and recording the host's screen with Shadowplay than I have with any native Linux solution.

  • 1
    Nvidia X server settings", disable the "allow flipping" checkbox in the "OpenGL settings". That should fix the fps. And the software you use will not be the problem. OBS should be fully capable of doing 60fps constantly. – Rinzwind Apr 24 '17 at 11:52
  • @Rinzwind - Thanks so much!!! Yours should be the accepted answer. I disabled "Allow Flipping" in the OpenGL settings, and now I'm getting a smooth 60FPS - even when playing a video in VLC on the screen! Your answer worked for me for both OBS and Kazam. – Vanessa Deagan Jul 19 '17 at 23:30
  • @VanessaDeagan there I made it an answer :D Now to twist Android Dev's fingers :+ – Rinzwind Jul 20 '17 at 6:12
  • @Rinzwind I told you in chat when you first posted the comment that it didn't help :\ – Android Dev Jul 20 '17 at 13:38

Open Nvidia X server settings, disable the allow flipping checkbox in the OpenGL settings. That should fix the fps. And the software you use will not be the problem. OBS should be fully capable of doing 60fps constantly.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.