Kodi Community Forum
Linux HOW-TO achieve perfect playback at 23.97 or 59.94 Hz with NVIDIA GPU hardware - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Tips, tricks, and step by step guides (https://forum.kodi.tv/forumdisplay.php?fid=110)
+--- Thread: Linux HOW-TO achieve perfect playback at 23.97 or 59.94 Hz with NVIDIA GPU hardware (/showthread.php?tid=70068)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36


- MdMa - 2011-01-05

fuggin Wrote:Depending on your distro:
Code:
locate -i advancesettings.xml
or
Code:
find ~/ -name advancedsettings.xml
then
Code:
vi /home/xbmc/.xbmc/userdata/advancedsettings.xml

So I tried the above.. they did nothing for me.

I then tried nano /home/xbmc/.xbmc/userdata/advancedsettings.xml which I am guessing created that file as it was empty.

I then pasted in this, with my refresh rates edited and saved:

Code:
<advancedsettings>
<video>
  <adjustrefreshrate>
    <override>
      <fpsmin>29.96</fpsmin>
      <fpsmax>30.01</fpsmax>
      <refresh>60</refresh>
    </override>
    <override>
      <fpsmin>23.96</fpsmin>
      <fpsmax>24.01</fpsmax>
      <refresh>60</refresh>
    </override>
    <override>
      <fpsmin>24.99</fpsmin>
      <fpsmax>25.01</fpsmax>
      <refresh>50</refresh>
    </override>
  </adjustrefreshrate>
</video>
</advancedsettings>

This has not changed anything for me though.. everything is fine, I just want 24p material to play @ 60Hz as my TV does not support 24p.

What am I doing wrong?


- ((( atom ))) - 2011-01-05

same here, btw..


- theophile - 2011-01-09

I have a TV with defective EDID, so I have to disable it and use manual modelines in my xorg.conf. The problem is I don't know what I'm doing and I only got a working 60hz modeline after lots of trial-and-error and googling.

I'm assuming that for me to be able to use the methods in this thread to get judder-free playback, I'm going to have to construct a bunch more modelines for the different refresh rates. Trouble is, I still don't really know what I'm doing. But from what I do understand, modelines are produced by mathematical equations, right? So if I have one that I know works, shouldn't it be possible to calculate the others I need?

If someone could point me in the right direction, I'd really appreciate it. Thanks!


- bobo1on1 - 2011-01-09

MdMa Wrote:So I tried the above.. they did nothing for me.

I then tried nano /home/xbmc/.xbmc/userdata/advancedsettings.xml which I am guessing created that file as it was empty.

I then pasted in this, with my refresh rates edited and saved:

Code:
<advancedsettings>
<video>
  <adjustrefreshrate>
    <override>
      <fpsmin>29.96</fpsmin>
      <fpsmax>30.01</fpsmax>
      <refresh>60</refresh>
    </override>
    <override>
      <fpsmin>23.96</fpsmin>
      <fpsmax>24.01</fpsmax>
      <refresh>60</refresh>
    </override>
    <override>
      <fpsmin>24.99</fpsmin>
      <fpsmax>25.01</fpsmax>
      <refresh>50</refresh>
    </override>
  </adjustrefreshrate>
</video>
</advancedsettings>

This has not changed anything for me though.. everything is fine, I just want 24p material to play @ 60Hz as my TV does not support 24p.

What am I doing wrong?

You're using dharma, on which these options are not supported, and for some reason you did not read that in the wiki? Smile


- terr1 - 2011-01-09

I am trying to set this up for my Panasonic 50PX70 (which dosent support 24Hz or 24p as far as I can see (you need PX80+ for this), also 1280x720p mode.. since its not a FULL HD panel).

So whats the next best setting I can do?

I am running Dharma under debian (no xbmc-live).

I have run nvidia.sh script mentioned..

my modes (I know its passthrough on my Onkyo reciever, but I have troubles connecting directly.. very sensitive HDMI port.. already fried it a few times connecting it directly.. Dont want to have it repaired AGAIN):

--- Modes in ModePool for ONK TX-SR606 (DFP-1) ---
"nvidia-auto-select" : 1280 x 720 @ 50.0 Hz (from: EDID)
"1920x1080" : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 16) (from: EDID)
"1920x1080_60" : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 16) (from: EDID)
"1920x1080_50" : 1920 x 1080 @ 50 Hz (CEA-861B Format 31) (from: EDID)
"1920x1080_60i" : 1920 x 1080 @ 60.1 Hz Interlace (from: EDID)
"1920x1080_60i_0" : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5) (from: EDID)
"1920x1080_50i" : 1920 x 1080 @ 50.0 Hz Interlace (from: EDID)
"1440x576" : 1440 x 576 @ 50 Hz (CEA-861B Format 30) (from: EDID)
"1440x576_50" : 1440 x 576 @ 50 Hz (CEA-861B Format 30) (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)
"1280x720" : 1280 x 720 @ 50.0 Hz (from: EDID)
"1280x720_50" : 1280 x 720 @ 50.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)
"720x576" : 720 x 576 @ 50.0 Hz (from: EDID)
"720x576_50" : 720 x 576 @ 50.0 Hz (from: EDID)
"720x576_50i" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"720x576_50i_0" : (1440)x 576 @ 50 Hz Interlace (CEA-861B Format 22) (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)
"720x480_60i" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"720x480_60i_0" : (1440)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 7) (from: EDID)
"640x480" : 640 x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 1) (from: EDID)
"640x480_60" : 640 x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 1) (from: EDID)
"576x576" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"576x576_50i" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"576x480" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"576x480_60i" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"360x576" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"360x576_50i" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"360x480" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"360x480_60i" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"288x576" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"288x576_50i" : (2880)x 576 @ 50 Hz Interlace (CEA-861B Format 26) (from: EDID)
"288x480" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
"288x480_60i" : (2880)x 480 @ 59.94/60 Hz Interlace (CEA-861B Format 11) (from: EDID)
--- End of ModePool for ONK TX-SR606 (DFP-1): ---

I guess the best for me is "1280x720" (50hz) and "1280x720_60_0" (59.94/60 Hz)?

Can anyone confirm this?


- MdMa - 2011-01-10

bobo1on1 Wrote:You're using dharma, on which these options are not supported, and for some reason you did not read that in the wiki? Smile

Your assuming I read the Wiki? ... I should have.

Thanks for the clarification.

Now to learn how to update XBMC without losing anything.


- Tobas - 2011-01-18

This works perfect

-Ubuntu 10.10
-Dharma
-Nvidia 220GT

Thanks a lot the judder is gone


- Lezziter - 2011-02-08

Thank you for this guide and the script! Much better then before, but i still have a slight lagging issue. I'm at work right now so I can't post any logs or my xorg, will just try to describe symptomps and see if anyone recognize them. I can provice logs and stuff later tonight (tonight for me, that is).

* Panasonic G20E
* Asrock ION 330
* Ubuntu 10.10
* XBMC 10.0 ("Dharma")

Anyway, everything works fine with automatic switching to 1080p/24 Hz on the TV and the picture is very smooth. My xorg has the correct settings as far as I can see, for 23,976 FPS. Every few seconds i get a lag though, like if the playback is "syncing". It's not the constant 3:2 pulldown-lag, but a more pronounced one at regular intervals. Between the lags, everything is perfect. I have tried both over network and with local files to eliminate any buffer issues. I have also tried with and without sync to audio in XBMC with no luck. With 1080p/60 Hz I get the usual judder, but not the more pronounced lag.

I played around with a AMD Fusion-based HTPC, and the 24 fps playback there doesn't suffer fromt he same lag (even though it has other.. problems..). Therefore, I think it is something with settings rather then something with the TV. Both machines were connected through my reciever to the same HDMI with identical settings.

Any help is greatly appreciated, I can provide logs and more information later.


- constrictor - 2011-02-25

Lezziter Wrote:Thank you for this guide and the script! Much better then before, but i still have a slight lagging issue. I'm at work right now so I can't post any logs or my xorg, will just try to describe symptomps and see if anyone recognize them. I can provice logs and stuff later tonight (tonight for me, that is).

* Panasonic G20E
* Asrock ION 330
* Ubuntu 10.10
* XBMC 10.0 ("Dharma")

Anyway, everything works fine with automatic switching to 1080p/24 Hz on the TV and the picture is very smooth. My xorg has the correct settings as far as I can see, for 23,976 FPS. Every few seconds i get a lag though, like if the playback is "syncing". It's not the constant 3:2 pulldown-lag, but a more pronounced one at regular intervals. Between the lags, everything is perfect. I have tried both over network and with local files to eliminate any buffer issues. I have also tried with and without sync to audio in XBMC with no luck. With 1080p/60 Hz I get the usual judder, but not the more pronounced lag.

I played around with a AMD Fusion-based HTPC, and the 24 fps playback there doesn't suffer fromt he same lag (even though it has other.. problems..). Therefore, I think it is something with settings rather then something with the TV. Both machines were connected through my reciever to the same HDMI with identical settings.

Any help is greatly appreciated, I can provide logs and more information later.

I have the EXACT same problem. The script worked for me in that my set now switches to 24Hz when watching movies, but I have occasional "hiccups". When I press 'o' while the movie is playing, its one single dropped frame, maybe once every 30 seconds or so. Its not a deal breaker, but still annoying.

On another note, there is a strange problem when I exit XBMC and go back to Ubuntu. I use Docky as a taskbar at the bottom, and after the script was run, Docky causes a huge black bar at the bottom of the screen that blocks any running programs (except XBMC). I played with some of the settings and manually turning on Composting in XORG.CONF makes this go away, but that breaks 24Hz in XBMC. So for now, I have Composting off, and I just deal with the black bar when I go back to the desktop. XBMC is my first priority on this machine so its not a huge deal, but ideally, I'd like to have my cake and eat it too! Smile

My setup is a custom built HTPC using a Gigabyte Socket 775 motherboard, an Intel Celeron E1400 2.0GHz dual core CPU underclocked to 1.6GHz (I've tried going back to 2.0GHz and noticed no difference), 2GB RAM running at 800MHz, a Nvidia GeForce 210 PCIExpress graphics card, and a Western Digital green HD. All of my media is stored on a remote Windows Home Server connected through a wired Gigabit connection. My TV is a Sony Bravia 55EX710 TV connected through HDMI.

Again, the script fixed the constant jitter I was experiencing at 60Hz, now I just have an occasional dropped frame about once every 30 seconds.


24p still not perfect - e-zoli - 2011-03-07

constrictor Wrote:I have the EXACT same problem. The script worked for me in that my set now switches to 24Hz when watching movies, but I have occasional "hiccups". When I press 'o' while the movie is playing, its one single dropped frame, maybe once every 30 seconds or so. Its not a deal breaker, but still annoying.

On another note, there is a strange problem when I exit XBMC and go back to Ubuntu. I use Docky as a taskbar at the bottom, and after the script was run, Docky causes a huge black bar at the bottom of the screen that blocks any running programs (except XBMC). I played with some of the settings and manually turning on Composting in XORG.CONF makes this go away, but that breaks 24Hz in XBMC. So for now, I have Composting off, and I just deal with the black bar when I go back to the desktop. XBMC is my first priority on this machine so its not a huge deal, but ideally, I'd like to have my cake and eat it too! Smile

My setup is a custom built HTPC using a Gigabyte Socket 775 motherboard, an Intel Celeron E1400 2.0GHz dual core CPU underclocked to 1.6GHz (I've tried going back to 2.0GHz and noticed no difference), 2GB RAM running at 800MHz, a Nvidia GeForce 210 PCIExpress graphics card, and a Western Digital green HD. All of my media is stored on a remote Windows Home Server connected through a wired Gigabit connection. My TV is a Sony Bravia 55EX710 TV connected through HDMI.

Again, the script fixed the constant jitter I was experiencing at 60Hz, now I just have an occasional dropped frame about once every 30 seconds.


I have the same issue, script works, I have 24p on my Panasonic g20, but one frame is dropped every 30 seconds or so.
I have tried xbmc live and that works great, but I need the desktop to run some programs.

I went back to win 7 and no more problem with 24p.

I hope some one find a way to fix this issue.


- BLKMGK - 2011-03-10

Okay, script failed to work for me for some reason. In the past this TV has given me fits as i suspect the EDID is borked but... the video seems to play well but my eye has occasionally caught what I thought might be glitches. In any case getting it setup more properly would make me happy and let me learn something too.

Failure in my case - X refuses to start back up (lol). I copied back the xorg from backup and saved off what was there that failed. The failed file is as follows:

Code:
Section "Device"
        Identifier "nvidia"
        Driver  "nvidia"
        Option  "NoLogo"              "true"
        Option  "DynamicTwinView"     "false"
        Option  "FlatPanelProperties" "Scaling = Native"
        Option  "ModeValidation"      "NoVesaModes, NoXServerModes, NoVertRefreshCheck, NoHorizSyncCheck"
        Option  "UseDisplayDevice"    "DFP-1"
        Option  "ModeDebug"           "true"
    Option  "HWCursor"            "false"
EndSection

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

Section "Extensions"
        Option  "Composite"           "false"
EndSection


# - Modes in ModePool for VIZIO GV47L (DFP-1) ---
# vidia-auto-select" : 1280 x  720 @  60.0 Hz  
# 920x1080"          : 1920 x 1080 @  60.1 Hz Interlace  
# 920x1080_60i"      : 1920 x 1080 @  60.1 Hz Interlace  
# 920x1080_60i_0"    : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5)
# 920x1080_50i"      : 1920 x 1080 @  50.0 Hz Interlace  
# 440x576"           : 1440 x  576 @ 50 Hz (CEA-861B Format 30)
# 440x576_50"        : 1440 x  576 @ 50 Hz (CEA-861B Format 30)
# 440x480"           : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15)
# 440x480_60"        : 1440 x  480 @ 59.94/60 Hz (CEA-861B Format 15)
# 280x720"           : 1280 x  720 @  60.0 Hz  
# 280x720_60"        : 1280 x  720 @  60.0 Hz  
# 280x720_60_0"      : 1280 x  720 @ 59.94/60 Hz (CEA-861B Format 4)
# 20x576"            :  720 x  576 @  50.0 Hz  
# 20x576_50"         :  720 x  576 @  50.0 Hz  
# 20x576_50i"        : (1440)x 576 @ 50 Hz Interlace (CEA-861B Format 21)
# 20x480"            :  720 x  480 @  59.9 Hz  
# 20x480_60"         :  720 x  480 @  59.9 Hz  
# 40x480"            :  640 x  480 @ 59.94/60 Hz Interlace (CEA-861B Format 1)
# 40x480_60"         :  640 x  480 @ 59.94/60 Hz Interlace (CEA-861B Format 1)
# - End of ModePool for VIZIO GV47L (DFP-1): ---

The working old xorg is here:


Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 270.29  (buildd@radon)  Fri Feb 25 17:16:21 UTC 2011

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 270.29  ([email protected])  Wed Feb 23 16:39:31 PST 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL 2405FPW"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "ION"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "1920x1080 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

I reencode all of my BD, the AVS script I uses specifies 23.9xx FPS so it's possible that's not even completely correct. I do note that my panel doesn't seem to support 24fps properly. The modes it reported looked screwed up compared to others too which I suspect is why things crashed. This panel is also apparently not native 1080 and in the past when I've done searches I've found people complaining about supporting it. Later Nvidia drivers seem to have worked better though! When this one is working better maybe I can get my OTHER newer Vizio tuned up too (lol). Also, I pass my video through an AVR but for testing could bypass.

So, how best to fix this or should I leave sleeping dogs where they be? If I can better optimize this, and better yet understand what I'm doing, I'd be pretty happy!

P.S. No I didn't read all 30+ pages but I did read a good chunk and will continue to read more so forgive me if I've asked a stupid question!

P.P.S Ran this on my second Vizio panel. Failed first attempt but got further. Second attempt it ran though fine and I was able to parse out the modes properly. This one supports a 59.94Hz mode but not the 23.9. Not quite a good enough excuse to upgrade the older panel I'm afraid Wink


- colbert - 2011-03-20

I'm a bit confused by this, I am using an 8800GT on an LCD computer monitor with nvidia driver 260.19.144, and have been using XBMC for some time with no playback issues:

Image
Image

I've been using nvidia for a long time now and even had dual monitors for a few years with Twinview, and had to work out tearing issues, etc. so I'm pretty familiar with xorg.conf and scrutinizing playback issues, but am I just not noticing any hiccups in playback or is my setup technically okay?

Just wondering if I should be checking for what this thread offers a solution for. Thanks Smile


- villeneuve - 2011-04-20

Hi,
I just wanted to add to all of this, that pressing "o" on the keyboard in XBMC doesn't give you the correct refresh-rate, at least in my case. Pressing "o" always shows me 24, 50 or 60 for refresh, depending on the content playing, but never shows 29.97 or 59.94.
I never had problems with studdering, dropped frames, tearing and all that but I just wanted to make sure my system would REALLY use the correct refresh rates.
I found out, that it did indeed use the correct refresh rates by using the command
Code:
DISPLAY=:0 nvidia-settings -q RefreshRate
while playing a video.
It shows 29.97 or 59.94 when XBMCs "o"-key says 30 or 60.
I hope that helps people with the correct settings and xorg.conf being as confused as I was.


- bobo1on1 - 2011-04-20

The refreshrate you see there is always rounded, it's not a problem, don't worry about it, if nvidia-settings returns the correct refreshrate you're good.


- marcozd - 2011-04-28

Hey all.

My TV is an LG 26LE5300 with native resolution of 1366 x 768. Will this setup work for me? I have an Ubuntu 10.10 full gnome desktop setup with XBMC installed over top of this.

Thanks