So this is a weird one. Most of my Linux machines have very high quality video playback with the new JRVR, but one machine is having persistent issues with judder and jerky video playback. At first I figured it was just dropped frames or that I had the settings tuned too high, so I turned on the JRVR console and saw that there were not any dropped frames when I was seeing the stuttering/judder. That was odd. I tried reducing the settings just in case, but it made no difference.
I keep my monitor at 60Hz, so as a test I tried playing back 60Hz content that didn't require any rescaling, and I still saw occasional judder/stuttering without any increase in dropped or repeated frames. Then I noticed that the JRVR console said that the "window" refresh rate was set to 50Hz, which is very odd. My monitor doesn't support 50Hz at all, and, as noted above, the desktop is set to 60Hz. I suspect the mismatch between the desktop and the JRVR window refresh is what's causing my issue, but I can't figure out how to fix it.
System Info: the machine runes Debian 11 with Gnome and uses an NVIDIA 960 GTX as the graphics card. It's running in the X11 session using the nvidia proprietary drivers. The monitor supports 60Hz, 59.94, 30, and 23.976, but it does not support 50Hz or 25Hz. I used to run JRiver for Windows on this computer and monitor combination, and had no issue running video in any of the monitor's supported refresh rates.
Here are the troubleshooting steps I've tried:
- I normally have auto-switching disabled in the video settings. Even though I don't think it's actually implemented on Linux right now, I tried enabling it, but that didn't make any difference.
- I tried toggling hardware acceleration with no effect.
- I tried changing my desktop refresh rate with no effect, except that when I set it to 23.976 the JRiver window was created at 25Hz instead of 50Hz.
- I tried turning on and off the Nvidia composition pipeline settings in the nvidia-settings application, and specifying a mandatory 60Hz output, but those also had no effect.
- I tried playing back a local file as well as a remote file from a library server. I also tried using a different audio output device. Neither made a difference.
- Ordinarily I would test on Wayland as well, but wayland support for Nvidia hasn't landed in Debian 11, so I can't test that easily.
I've attached a log of starting video playback on the affected machine. None of my other Linux machines have this issue (for all of my other machines JRVR selects a refresh rate that matches the desktop settings). If would help, I can supply a log from a machine where things are working correctly (but those machines obviously have different hardware). FWIW all my other machines run AMD or Intel graphics, so it's possibly an Nvidia on Linux issue, but I feel like if that were the case other folks would've spotted it by now?
Let me know if there's something I should try that I haven't thought of. Any ideas would be appreciated!