• 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 36
Linux HOW-TO achieve perfect playback at 23.97 or 59.94 Hz with NVIDIA GPU hardware
I can not believe I only just found this topic :\ I've been running windows for now, since I couldn't get linux to use the right modes and none of the guides I found worked to solve my EDID problem. This looks like the exact solution to my problem!
Can't wait to try it out, thanks!
Reply
Tried it, but doesn't work. Once I use the xorg file, my gnome is severly limited. I can only see the desktop and no shortcuts (like alt-F2) work. I can succesfully use shortcuts on the desktop. XBMC however, still doesn't change the refresh rate.
If I remove the xorg completely, everything is fine again. Interestingly enough, in addition I can now suddenly successfully switch to 24p mode using the nvidia-settings. The TV reports that it is in the correct mode. XBMC still won't work though, I assume because it uses xrandr?

Anyone any ideas?
Reply
kingmob Wrote:Tried it, but doesn't work. Once I use the xorg file, my gnome is severly limited. I can only see the desktop and no shortcuts (like alt-F2) work. I can succesfully use shortcuts on the desktop. XBMC however, still doesn't change the refresh rate.
If I remove the xorg completely, everything is fine again. Interestingly enough, in addition I can now suddenly successfully switch to 24p mode using the nvidia-settings. The TV reports that it is in the correct mode. XBMC still won't work though, I assume because it uses xrandr?

Anyone any ideas?

When you run this script, it disables graphics modes that are required for the Unity interface to work. This is why your desktop is limited. You need to log off, and on the Ubuntu login screen, change to Ubuntu Classic. I did it a couple months ago, so I cant remember off the top of my head how to change it, but you can search how to "disable Unity" and it will bring back your desktop toolbars and menus.

As for why your refresh rate doesn't actually change, I have no idea. I gather that it just works for some people and not for others. Thankfully for me, it fixes my refresh rate problem, but not the occasional video skipped frames. This is something I have been dealing with for months, and it bothers me, but not enough for me to stop using it.
Reply
constrictor Wrote:When you run this script, it disables graphics modes that are required for the Unity interface to work. This is why your desktop is limited. You need to log off, and on the Ubuntu login screen, change to Ubuntu Classic. I did it a couple months ago, so I cant remember off the top of my head how to change it, but you can search how to "disable Unity" and it will bring back your desktop toolbars and menus.

As for why your refresh rate doesn't actually change, I have no idea. I gather that it just works for some people and not for others. Thankfully for me, it fixes my refresh rate problem, but not the occasional video skipped frames. This is something I have been dealing with for months, and it bothers me, but not enough for me to stop using it.
Thanks for your reply. I think I know how to change it, so no probs, I just didn't realise anything was disabled (did not use the script, I'm too paranoid Wink).

As to why it still won't work, anyone know how XBMC handles the detection of refresh rate and changing of the mode? To me it appears that nvidia-settings has the corrcet setting and can succesfully change everything (at least now it can). Xrandr is another story however. It reports bogus modes as far as I can see and even reports that 60Hz is out of range.
Reply
soopersonic Wrote:Is there some way I can find out what is actually being output by XBMC / played back on my TV? I mean whether it's 24Hz or 23.976Hz?

nvidia-settings -q "refreshrate"

gives you the actual refresh rate that your card puts out to the tv.
you might need to export DISPLAY= ..... before you can use this command e.g. via ssh while xbmc is on full screen playback.

boba
Reply
boba23 Wrote:nvidia-settings -q "refreshrate"

gives you the actual refresh rate that your card puts out to the tv.
you might need to export DISPLAY= ..... before you can use this command e.g. via ssh while xbmc is on full screen playback.

boba

Thanks for your reply!

And what does it mean if the output of above's command is 23.976 for my TV which supposedly supports 24p with 48Hz?
Reply
48 hertz is probably because the tv can do motion interpolation, so the refreshrate is still 23.976 hertz, and the tv turns that into 47.952 hertz.
Reply
bobo1on1 Wrote:48 hertz is probably because the tv can do motion interpolation, so the refreshrate is still 23.976 hertz, and the tv turns that into 47.952 hertz.

Got it, thanks!
Reply
Created the .sh script and works perfectly however I am still getting the jitter in my playback of 1080p video on the as rock ION330 for some reason.

Running the latest NVidia drivers 280.13. Hope this isn't the issue? Is it possible to go back a version?
ASRock ION 330 • XBMC Live 10 • Harmony One Remote • MCE IR Sensor • 6TB NAS
Image
Reply
Update:

I finally enabled Dirty Regions in the advancedsettings.xml on a Pre-Eden build and after a quick 20 minute viewing of a Blu-Ray rip, I noticed no hiccups. I will sustain my enthusiasm until I have a chance to watch a whole movie, but I am optimistically hopeful that this will finally solve my video stuttering problem!
Reply
Can you only do these commands and funky stuff in the linux edition?
Reply
I have an ASRock ION330 (OpenELEC RC7) to a H/K AVR to a Sony SXRD.

My problem is that my TV CANNOT do 24p, only 50Hz & 60Hz. My AVR can do 24p however.

So I have been trying to get all 24p material to run @ 60Hz.

I have edited my advancedsettings.xml like so, but XBMC will still not force 24p > 60Hz (and be able to switch to 50hz for 25fps material) regardless of what I have set "adjust display refresh to match video" and/or "sync playback to display" to.

What else can I try? And for the record I am a big noob, so I would need a little more detail than most.
Reply
I was following the instructions in the first post, but I quickly discovered that X is not writing anything to XOrg.0.log. Any idea why that might be and how I might go about getting it to output something?

I was wondering if it was a permission issue - with the user who calls X not have write permission. I did a chmod 777 but that didn't solve it.

Any ideas on why would be much appreciated.
Reply
Okay, not sure what's going on here. I ran the script and everything seemed to go okay, but for some reason, I just can't get my GPU to output anything other than 60Hz. It's an nVidia GF9300 integrated chipset.

Code:
xbmc@XBMC:~$ for i in 24 60; do xrandr -r $i; nvidia-settings -q RefreshRate | grep -o "[0-9][0-9].*Hz"; done
60.00 Hz
60.00 Hz
Code:
xbmc@XBMC:~$ nvidia-settings -q "refreshrate"                                                                          
  Attribute 'RefreshRate' (0:0.0; display device: DFP-1): 60.00 Hz.
    'RefreshRate' is an integer attribute.
    'RefreshRate' is a read-only attribute.
    'RefreshRate' is display device specific.
    'RefreshRate' can use the following target types: X Screen, GPU.
My modes.txt
Code:
xbmc@XBMC:~$ cat modes.txt
--- Modes in ModePool for Pioneer Electronic Corporation VSX-1020 (DFP-1) ---
"nvidia-auto-select" : 1920 x 1080 @  60.0 Hz  (from: EDID)
"1920x1080"          : 1920 x 1080 @  60.0 Hz  (from: EDID)
"1920x1080_60"       : 1920 x 1080 @  60.0 Hz  (from: EDID)
"1920x1080_60_0"     : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 16) (from: EDID)
"1920x1080_30"       : 1920 x 1080 @ 29.97/30 Hz (CEA-861B Format 34) (from: EDID)
"1920x1080_24"       : 1920 x 1080 @ 23.97/24 Hz (CEA-861B Format 32) (from: EDID)
"1920x1080_60i"      : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5) (from: EDID)
"1440x480"           : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15) (from: EDID)
"1440x480_60"        : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15) (from: EDID)
"1280x1024"          : 1280 x 1024 @  60.0 Hz  (from: EDID)
"1280x1024_60"       : 1280 x 1024 @  60.0 Hz  (from: EDID)
"1280x720"           : 1280 x  720 @  60.0 Hz  (from: EDID)
"1280x720_60"        : 1280 x  720 @  60.0 Hz  (from: EDID)
"1280x720_60_0"      : 1280 x  720 @ 59.94/60 Hz (CEA-861B Format 4) (from: EDID)
"1024x768"           : 1024 x  768 @  60.0 Hz  (from: EDID)
"1024x768_60"        : 1024 x  768 @  60.0 Hz  (from: EDID)
"800x600"            :  800 x  600 @  60.3 Hz  (from: EDID)
"800x600_60"         :  800 x  600 @  60.3 Hz  (from: EDID)
"720x480"            :  720 x  480 @ 59.94/60 Hz (CEA-861B Format 3) (from: EDID)
"720x480_60"         :  720 x  480 @ 59.94/60 Hz (CEA-861B Format 3) (from: EDID)
"640x480"            :  640 x  480 @  60.0 Hz  (from: EDID)
"640x480_60"         :  640 x  480 @  60.0 Hz  (from: EDID)
--- End of ModePool for Pioneer Electronic Corporation VSX-1020 (DFP-1): ---
My /etc/X11/xorg.conf:
Code:
xbmc@XBMC:~$ cat /etc/X11/xorg.conf
Section "Device"
        Identifier "nvidia"
        Driver  "nvidia"
        Option  "NoLogo"              "true"
        Option  "DynamicTwinView"     "false"
        Option  "NoFlip"              "false"
        Option  "FlatPanelPropeties" "Scaling = Native"
        Option  "ModeValidation"      "NoVesaModes, NoXServerModes"
        Option  "UseDisplayDevice"    "DFP-1"
        Option  "ModeDebug"           "true"
        Option  "HWCusor"            "false"
EndSection

Section "Screen"
        Identifier      "screen"
        Device          "nvidia"
        SubSection      "Display"
                Modes "1920x1080_60_0" "1920x1080_24"
        EndSubSection
EndSection

Section "Extensions"
        Option  "Composite"           "false"
EndSection
If I enable "Adjust display refresh rate to match video" I get XBMC reporting 23.97 fps. If I also enable "Sync playback to display" I get XBMC reporting 23.97 fps but a 60Hz refresh rate. The whole time, my TV (LG LED LCD) is reporting 60Hz refresh rate even though it's capable of 24p.

I'm not sure what I'm doing wrong here.

Edit:
Just checked the manual for my TV (LG 47LE5400 120Hz) and found the following:
Code:
1920x1080p
Horizontal Frequency(Hz)       Vertical Frequency(Hz)
26.97                                  23.976
27.00                                  24.00
33.71                                  29.97
33.75                                  30.00
67.432                                59.94
67.50                                  60.00
Quote:24p Real Cinema (5:5/2:2 Pulldown)
Supported

1080p Source Input
HDMI 60p/30p/24p
That suggests that it should support 24p material just fine.
Reply
I'm not sure if I found something or not, but here goes. Upon looking at /var/log/Xorg.0.log I noticed the following:
Code:
[    17.055] (--) NVIDIA(0): Detailed Timings:
[    17.055] (--) NVIDIA(0):   1920 x 1080 @ 60 Hz
[    17.055] (--) NVIDIA(0):     Pixel Clock      : 148.50 MHz
[    17.055] (--) NVIDIA(0):     HRes, HSyncStart : 1920, 2008
[    17.055] (--) NVIDIA(0):     HSyncEnd, HTotal : 2052, 2200
[    17.055] (--) NVIDIA(0):     VRes, VSyncStart : 1080, 1084
[    17.055] (--) NVIDIA(0):     VSyncEnd, VTotal : 1089, 1125
[    17.055] (--) NVIDIA(0):     H/V Polarity     : +/+
[    17.055] (--) NVIDIA(0): CEA-861B Timings:
[    17.055] (--) NVIDIA(0):   1920 x 1080 @ 60 Hz
[    17.055] (--) NVIDIA(0):     Pixel Clock      : 148.35 MHz
[    17.056] (--) NVIDIA(0):     HRes, HSyncStart : 1920, 2008
[    17.056] (--) NVIDIA(0):     HSyncEnd, HTotal : 2052, 2200
[    17.056] (--) NVIDIA(0):     VRes, VSyncStart : 1080, 1084
[    17.056] (--) NVIDIA(0):     VSyncEnd, VTotal : 1089, 1125
[    17.056] (--) NVIDIA(0):     H/V Polarity     : +/+
[    17.056] (--) NVIDIA(0):     CEA Format       : 16
[    17.056] (--) NVIDIA(0):   1920 x 1080 @ 30 Hz
[    17.056] (--) NVIDIA(0):     Pixel Clock      : 89.01 MHz
[    17.056] (--) NVIDIA(0):     HRes, HSyncStart : 1920, 2448
[    17.056] (--) NVIDIA(0):     HSyncEnd, HTotal : 2492, 2640
[    17.056] (--) NVIDIA(0):     VRes, VSyncStart : 1080, 1084
[    17.056] (--) NVIDIA(0):     VSyncEnd, VTotal : 1089, 1125
[    17.056] (--) NVIDIA(0):     H/V Polarity     : +/+
[    17.056] (--) NVIDIA(0):     CEA Format       : 34
[    17.056] (--) NVIDIA(0):   1920 x 1080 @ 24 Hz
[    17.056] (--) NVIDIA(0):     Pixel Clock      : 74.16 MHz
[    17.056] (--) NVIDIA(0):     HRes, HSyncStart : 1920, 2558
[    17.056] (--) NVIDIA(0):     HSyncEnd, HTotal : 2602, 2750
[    17.056] (--) NVIDIA(0):     VRes, VSyncStart : 1080, 1084
[    17.056] (--) NVIDIA(0):     VSyncEnd, VTotal : 1089, 1125
[    17.056] (--) NVIDIA(0):     H/V Polarity     : +/+
[    17.056] (--) NVIDIA(0):     CEA Format       : 32

====Mode Validation====

[    17.058] (II) NVIDIA(0):   Validating Mode "1920x1080":
[    17.058] (II) NVIDIA(0):     1920 x 1080 @ 30 Hz
[    17.058] (II) NVIDIA(0):     For use as DFP backend.
[    17.058] (II) NVIDIA(0):     Mode Source: EDID
[    17.058] (II) NVIDIA(0):       Pixel Clock      : 89.01 MHz
[    17.058] (II) NVIDIA(0):       HRes, HSyncStart : 1920, 2448
[    17.058] (II) NVIDIA(0):       HSyncEnd, HTotal : 2492, 2640
[    17.058] (II) NVIDIA(0):       VRes, VSyncStart : 1080, 1084
[    17.058] (II) NVIDIA(0):       VSyncEnd, VTotal : 1089, 1125
[    17.059] (II) NVIDIA(0):       H/V Polarity     : +/+
[    17.059] (WW) NVIDIA(0): The EDID for Pioneer Electronic Corporation VSX-1020 (DFP-1)
[    17.059] (WW) NVIDIA(0):     contradicts itself: mode "1920x1080" is specified in the
[    17.059] (WW) NVIDIA(0):     EDID; however, the EDID's valid VertRefresh range
[    17.059] (WW) NVIDIA(0):     (57.000-63.000 Hz) would exclude this mode's VertRefresh
[    17.059] (WW) NVIDIA(0):     (30.0 Hz); ignoring VertRefresh check for mode
[    17.059] (WW) NVIDIA(0):     "1920x1080".
[    17.059] (II) NVIDIA(0):     Mode is valid.
[    17.059] (II) NVIDIA(0):

[    17.059] (II) NVIDIA(0):   Validating Mode "1920x1080":
[    17.059] (II) NVIDIA(0):     1920 x 1080 @ 24 Hz
[    17.059] (II) NVIDIA(0):     For use as DFP backend.
[    17.059] (II) NVIDIA(0):     Mode Source: EDID
[    17.059] (II) NVIDIA(0):       Pixel Clock      : 74.16 MHz
[    17.059] (II) NVIDIA(0):       HRes, HSyncStart : 1920, 2558
[    17.059] (II) NVIDIA(0):       HSyncEnd, HTotal : 2602, 2750
[    17.059] (II) NVIDIA(0):       VRes, VSyncStart : 1080, 1084
[    17.059] (II) NVIDIA(0):       VSyncEnd, VTotal : 1089, 1125
[    17.059] (II) NVIDIA(0):       H/V Polarity     : +/+
[    17.059] (WW) NVIDIA(0): The EDID for Pioneer Electronic Corporation VSX-1020 (DFP-1)
[    17.059] (WW) NVIDIA(0):     contradicts itself: mode "1920x1080" is specified in the
[    17.059] (WW) NVIDIA(0):     EDID; however, the EDID's valid HorizSync range
[    17.059] (WW) NVIDIA(0):     (31.000-82.000 kHz) would exclude this mode's HorizSync
[    17.059] (WW) NVIDIA(0):     (27.0 kHz); ignoring HorizSync check for mode
[    17.059] (WW) NVIDIA(0):     "1920x1080".
[    17.059] (WW) NVIDIA(0): The EDID for Pioneer Electronic Corporation VSX-1020 (DFP-1)
[    17.059] (WW) NVIDIA(0):     contradicts itself: mode "1920x1080" is specified in the
[    17.059] (WW) NVIDIA(0):     EDID; however, the EDID's valid VertRefresh range
[    17.059] (WW) NVIDIA(0):     (57.000-63.000 Hz) would exclude this mode's VertRefresh
[    17.059] (WW) NVIDIA(0):     (24.0 Hz); ignoring VertRefresh check for mode
[    17.059] (WW) NVIDIA(0):     "1920x1080".
[    17.059] (II) NVIDIA(0):     Mode is valid.
[    17.059] (II) NVIDIA(0):


[    17.091] (II) NVIDIA(0): --- Modes in ModePool for Pioneer Electronic Corporation VSX-1020 (DFP-1) ---
[    17.091] (II) NVIDIA(0): "nvidia-auto-select" : 1920 x 1080 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080"          : 1920 x 1080 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080_60"       : 1920 x 1080 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080_60_0"     : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 16) (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080_30"       : 1920 x 1080 @ 29.97/30 Hz (CEA-861B Format 34) (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080_24"       : 1920 x 1080 @ 23.97/24 Hz (CEA-861B Format 32) (from: EDID)
[    17.091] (II) NVIDIA(0): "1920x1080_60i"      : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5) (from: EDID)
[    17.091] (II) NVIDIA(0): "1440x480"           : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15) (from: EDID)
[    17.091] (II) NVIDIA(0): "1440x480_60"        : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15) (from: EDID)
[    17.091] (II) NVIDIA(0): "1280x1024"          : 1280 x 1024 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1280x1024_60"       : 1280 x 1024 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1280x720"           : 1280 x  720 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1280x720_60"        : 1280 x  720 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1280x720_60_0"      : 1280 x  720 @ 59.94/60 Hz (CEA-861B Format 4) (from: EDID)
[    17.091] (II) NVIDIA(0): "1024x768"           : 1024 x  768 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "1024x768_60"        : 1024 x  768 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "800x600"            :  800 x  600 @  60.3 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "800x600_60"         :  800 x  600 @  60.3 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "720x480"            :  720 x  480 @ 59.94/60 Hz (CEA-861B Format 3) (from: EDID)
[    17.091] (II) NVIDIA(0): "720x480_60"         :  720 x  480 @ 59.94/60 Hz (CEA-861B Format 3) (from: EDID)
[    17.091] (II) NVIDIA(0): "640x480"            :  640 x  480 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): "640x480_60"         :  640 x  480 @  60.0 Hz  (from: EDID)
[    17.091] (II) NVIDIA(0): --- End of ModePool for Pioneer Electronic Corporation VSX-1020 (DFP-1): ---
[    17.091] (II) NVIDIA(0):
[    17.091] (II) NVIDIA(0): Assigned Display Device: DFP-1
[    17.091] (II) NVIDIA(0): Validated modes:
[    17.091] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
[    17.091] (II) NVIDIA(0):
[    17.091] (II) NVIDIA(0): Implicitly adding the following modes to X Screen 0 (these
[    17.091] (II) NVIDIA(0):     will be available via XRandR and XF86VidMode):
[    17.091] (II) NVIDIA(0):
[    17.091] (II) NVIDIA(0): "nvidia-auto-select" : 1920 x 1080 @  60.0 Hz
[    17.091] (II) NVIDIA(0): "1920x1080_30"       : 1920 x 1080 @ 29.97/30 Hz (CEA-861B Format 34)
[    17.091] (II) NVIDIA(0): "1920x1080_60i"      : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5)
[    17.091] (II) NVIDIA(0): "1440x480"           : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15)
[    17.091] (II) NVIDIA(0): "1280x1024"          : 1280 x 1024 @  60.0 Hz
[    17.091] (II) NVIDIA(0): "1280x720"           : 1280 x  720 @  60.0 Hz
[    17.091] (II) NVIDIA(0): "1280x720_60_0"      : 1280 x  720 @ 59.94/60 Hz (CEA-861B Format 4)
[    17.091] (II) NVIDIA(0): "1024x768"           : 1024 x  768 @  60.0 Hz
[    17.091] (II) NVIDIA(0): "800x600"            :  800 x  600 @  60.3 Hz
[    17.091] (II) NVIDIA(0): "720x480"            :  720 x  480 @ 59.94/60 Hz (CEA-861B Format 3)
[    17.091] (II) NVIDIA(0): "640x480"            :  640 x  480 @  60.0 Hz
[    17.091] (II) NVIDIA(0):

So it looks like X is seeing 24p, 30p, and 60p as valid modes, but, it looks like, from the last portion of the log, it's not using 1920x1080_24 as an option. I'm not quite sure if this means what I think it does or not, although I'm still not getting 24p output to my television.
Reply
  • 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 36

Logout Mark Read Team Forum Stats Members Help
HOW-TO achieve perfect playback at 23.97 or 59.94 Hz with NVIDIA GPU hardware16