INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz  (Read 2921 times)

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient

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!
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2661
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #1 on: April 09, 2022, 04:10:40 pm »

I'm also having issues with 50hz content, after resuming from a pause JRVR drops frames for about 15 seconds and the monitor refresh rate is reported to fluctuate between 40hz and 50hz until it settles back in to 50hz (my monitor is capable of 50hz). Haven't noticed this issue at any other frequency so maybe it's related?
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #2 on: April 09, 2022, 04:44:47 pm »

I'm also having issues with 50hz content, after resuming from a pause JRVR drops frames for about 15 seconds and the monitor refresh rate is reported to fluctuate between 40hz and 50hz until it settles back in to 50hz (my monitor is capable of 50hz). Haven't noticed this issue at any other frequency so maybe it's related?

Interesting.  99% of my content is either 24 or 59.94, and I don't actually have any 50Hz content so I can't test how it handles actual 50Hz video.  I've never needed a 50Hz refresh rate, which is normally handy because my monitor doesn't actually support it  ;D
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10925
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #3 on: April 10, 2022, 02:30:51 am »

We use Xrandr to get the current screen refresh rate I believe. Not sure in what situation that would return something inaccurate. Maybe bob can comment, as he wrote that part.
Logged
~ nevcairiel
~ Author of LAV Filters

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #4 on: April 10, 2022, 08:33:38 pm »

We use Xrandr to get the current screen refresh rate I believe. Not sure in what situation that would return something inaccurate. Maybe bob can comment, as he wrote that part.

That's useful to know.  Here's the xrandr output on the machine in question if that helps with troubleshooting:

Code: [Select]
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080     60.00*+  59.94    29.97    23.98    60.05    60.00 
   1680x1050     59.95 
   1600x900      60.00 
   1440x900      59.89 
   1366x768      59.79 
   1280x1024     75.02    60.02 
   1280x800      59.81 
   1280x720      60.00    59.94 
   1152x864      75.00 
   1024x768      75.03    70.07    60.00 
   800x600       75.00    72.19    60.32 
   720x480       59.94 
   640x480       75.00    72.81    59.94 
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10925
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #5 on: April 11, 2022, 02:48:54 am »

Some digging says the API we use is for Xrandr 1.1, which is not accurate on Xrandr 1.2+ setups, so we might have to use different calls.
Logged
~ nevcairiel
~ Author of LAV Filters

adolfotregosa

  • Recent member
  • *
  • Posts: 41
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #6 on: April 11, 2022, 10:43:48 am »

If you are using xrandr, can you implement automatic refresh rate change ?

I only have "desktop settings" available :S
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #7 on: April 11, 2022, 11:34:29 am »

If you are using xrandr, can you implement automatic refresh rate change ?

I only have "desktop settings" available :S

While I'd also like to see automatic refresh rate changing on Linux, that's an entirely separate issue than what this thread is about.  Maybe open another thread with a feature request so it doesn't get lost?

FWIW, I think using xrandr to change the refresh rate (as opposed to just determining what the refresh rate currently is) would only work on x sessions and would fail in mysterious ways under wayland so it might not be that easy, but bob and Hendrik would know better.

Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10925
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #8 on: April 12, 2022, 08:17:15 am »

The next build should hopefully report accurate refresh rates. Feedback appreciated once its out!
Logged
~ nevcairiel
~ Author of LAV Filters

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #9 on: April 12, 2022, 09:54:15 am »

The next build should hopefully report accurate refresh rates. Feedback appreciated once its out!

Thanks, that's awesome! I'll test and report back once it's out.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #10 on: April 15, 2022, 09:01:52 pm »

So I tested and this looks to be fixed in the latest build.  The problem machine now correctly determines that it has a 60Hz refresh rate and sets the JRVR window refresh to 60Hz.  As expected this also eliminated the stuttering I was seeing.

Thanks for the fix Hendrik and bob!
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13861
Re: JRVR sets Video Refresh to 50 Hz on Monitor that Doesn't Support 50Hz
« Reply #11 on: April 18, 2022, 04:15:29 pm »

So I tested and this looks to be fixed in the latest build.  The problem machine now correctly determines that it has a 60Hz refresh rate and sets the JRVR window refresh to 60Hz.  As expected this also eliminated the stuttering I was seeing.

Thanks for the fix Hendrik and bob!
Thanks for reporting back!
Logged
Pages: [1]   Go Up