I'm having a strange problem with a low refresh rate for my HTPC. I'm trying to get 1080p24 working. (1920x1080 @ 24Hz). This is a supported mode for my display, and my nvidia hardware (GForce 7050 PV) seems to support it as well. The EDID information dumped on X startup looks like this:
(--) NVIDIA(0): 1920 x 1080 @ 24 Hz
(--) NVIDIA(0): Pixel Clock : 74.16 MHz
(--) NVIDIA(0): HRes, HSyncStart : 1920, 2558
(--) NVIDIA(0): HSyncEnd, HTotal : 2602, 2750
(--) NVIDIA(0): VRes, VSyncStart : 1080, 1084
(--) NVIDIA(0): VSyncEnd, VTotal : 1089, 1125
(--) NVIDIA(0): H/V Polarity : +/+
(--) NVIDIA(0): CEA Format : 32
My display is a Sony KDL-46XBR4. I had to tell the nvidia driver to ignore the VertRefresh range reported by the TV (which claims to support only 58.000-62.000 Hz) using:
Option "ModeValidation" "DFP-0:NoVertRefreshCheck"
In the Screen section of /etc/X11/xorg.conf.
For more information about my setup and the symptoms, take a look at this avsforum post
Now, I've finally tracked some some interesting data points:
* When running in 24Hz refresh mode, the CPU usage of the X server is very high--every time I experience strange frame skipping issues (see that avsforum post for more information on what the skips look like...), the X server is consuming an entire CPU core.
* The CPU usage is not consistently high. In other words, playing back the same sequence of video sometimes will play without glitches, and other times will not.
* When the video is playing without glitches, it looks VERY smooth (because the refresh rate is matched with the fps of the video), yet the CPU usage of the X server is still hovering around 40-50%.
* When using a 60Hz refresh mode, the X server never consumes more than 5% (and usually is using less). In this case, there are no frame glitches, but because of the fps/refresh mismatch there is some visible judder. (sad)
For reference, I am using mplayer with the XV video output driver, and have sync to vblank enabled (with nvidia-settings). I'm using the latest ndriver release (169.07). Attached are the zipped results of nvidia-bug-report.sh.
Any helpful information would be greatly appreciated.
EDIT: This comment
mentions this exact issue, but apparently it is also an issue for 50Hz (I haven't got that far yet... heh). I wonder if there is a way to determine if the nvidia driver is at fault, or the X server is at fault? Profiling perhaps? Maybe someone on the inside at NVidia has some ideas.