Linux xtreamer ultra 2, stutter every few minutes
#1
So, there is this stutter that occurs every few minutes on 23.9x/24fps media.
What I know is that my TV can play all formats back and it does on my Dune HDI Base 3, it does not on my xtreamer 2 ultra.
The video stutters for a second every once in a while, it's short but it is annoying as hell.


Here's a list of my hardware:

Mediaplayer: Xtreamer Ultra 2 / openelec x86_64 2.99.3 (3.0 RC 3)
TV: Pioneer LX5090H
External DAC :Benchmark DAC1
Amp: Primare i30 (2 channel stereo amplifier)

This is how everything is connected:
FileServer > wired 1gbit connection > Xtreamer Ultra2 > optical out > Benchmark DAC1 > balanced out > Primare i30

xbmc audio settings:
Audio Output: Optical/Spdif (Also tried "Analog" since that's supposed to leave the digital out untouched)
Speaker Config: 2.0
Boost Volume level on downmix: disabled
Output stereo to all speakers: disabled
-Dolby Digital capable receiver: disabled
-DTS capable receiver: disabled
-AAC capable receiver: disabled
-Multichannel LPCM capable receiver: disabled
-DTSHD capable receiver: disabled
Audio Output Device: ALC892 Digital S/PDIF
Passthrough Device: ALC892 Digital S/PDIF
GUI Sounds: Disabled

xbmc video settings:
render method: Auto detect
Allow hardware acceleration (VDPAU) : enabled
Prefer VDPAU video mixer: enabled
Adjust display refresh to match video: on start/stop
Puase during refresh rate change: 1.5 seconds
Sync playback to display: disabled

Logs and debugs:
DISPLAY=:0 /usr/lib/xbmc/xbmc-xrandr
http://pastebin.com/k837fMDA

xbmclog part1: http://pastebin.com/LyxJw2Hw
xbmclog part2: http://pastebin.com/2zfpCreM
xbmclog part3: http://pastebin.com/nDnbuPnY
xbmclog part4: http://pastebin.com/9sUPxqCA


During the logging I was playing back 3 different video clips.
Firstly testclip1.mkv a 720p video, the second one testclip2 a 1080p videclipp, and lastly and not really relevent to the stutter issue a bluray clip where I change from the multichannel audio to pcm 2ch audio.

Any help is appreciated! Smile
Reply
#2
The problem is simple:
You don't have a correct 24.0 hz mode and you don't have a 23.976 mode.
Try this one:
Code:
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "NoLogo" "true"
EndSection
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "ColorRange" "Full" # Set to Limited if all is too dark
    Option         "ColorSpace" "RGB"
    Option         "DynamicTwinView" "false"
    Option         "FlatPanelProperties" "Scaling = Native"
    Option         "ModeValidation" "NoVesaModes, NoXServerModes"
    Option         "ExactModeTimingsDVI" "True"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync      15-81
    VertRefresh       24-75
    ModeLine       "1920x1080_24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    ModeLine       "1920x1080_23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    Option         "DPMS"
    Option         "DPI" "96 x 96"
EndSection
Section "Extensions"
    Option         "Composite" "Disable"
EndSection

as /etc/X11/xorg.conf
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
AFAIK VertRefresh in section monitor is outdated. You may need an option like this in section Screen
Option "VertRefresh" "DFP-0: 23-60"
Reply
#4
>fritsch

Wow, that was fast.. Wink

I'll give it a shot in a minute.

How did you see this?
It' must be the nvidia drivers fault because I could see the 23.97hz entry in the xrandr log, and if that's the case this must be an issue on every xtreamer ultra 2 out there.

I have xorg-nvidia.conf in that folder already, should I replace it or create a new xorg.conf?



>FernetMenta

Alright, Ill add that to the conf fritsch provided if that will be alright?
Reply
#5
is this the best one for proper 23,976 playback ?

Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
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 "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 23.0 - 72.0
ModeLine "1920x1080_23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
Option "DPMS"
Option "DPI" "96 x 96"
EndSection

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

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Option "VertRefresh" "DFP-0: 23-60"
Option "HorizSync" "DFP-0: 25-100"
DefaultDepth 24
Option "FlatPanelProperties" "Scaling = Native"
Option "ModeValidation" "NoVesaModes, NoXServerModes"
Option "ExactModeTimingsDVI" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Disable"
EndSection
Reply
#6
@Jönke, probably not - judge what your TV does output.

Depending on your Output, you have to change DFP-0 and or DFP-1 to match.

I tuned mine a bit and found the following working quite nicely on my Samsung:
Code:
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
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      "Unknown"
    ModeLine       "1920x1080_24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    ModeLine       "1920x1080_23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    ModeLine       "1920x1080_50" 148.800 1920 2448 2492 2622 1080 1084 1089 1135 +hsync +vsync
    Modeline       "1920x1080_60" 148.5 1920 1960 2016 2200 1080 1082 1088 1125 +hsync +vsync
    ModeLine       "1920x1080_59.94" 148.800 1920 2008 2052 2193 1080 1084 1089 1132 +hsync +vsync
    Option         "DPMS"
    Option         "DPI" "96 x 96"
EndSection

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

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "ColorRange" "FULL" # Set to Limited if all is too dark
    Option         "ColorSpace" "RGB"
    Option         "DynamicTwinView" "false"
    Option         "FlatPanelProperties" "Scaling = Native"
    Option         "VertRefresh"  "DFP-1: 23-60"
    Option         "HorizSync"    "DFP-1: 25-100"
    Option         "ModeValidation" "DFP-1: NoVesaModes, NoXServerModes, NoEdidModes"
    Option         "ExactModeTimingsDVI" "True"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
   Option         "Composite" "Disable"
EndSection

This is the output I have with this one:
Code:
<screen id="0" minimum_w="8" minimum_h="8" current_w="1920" current_h="1080" maximum_w="16384" maximum_h="16384">
  <output name="DVI-I-0" connected="false">
  </output>
  <output name="VGA-0" connected="false">
  </output>
  <output name="DVI-I-1" connected="false">
  </output>
  <output name="HDMI-0" connected="true" w="1920" h="1080" x="0" y="0" wmm="160" hmm="90">
    <mode id="0x1e7" name="800x600" w="800" h="600" hz="60.31654" current="false" preferred="true"/>
    <mode id="0x1e8" name="1920x1080" w="1920" h="1080" hz="60.00000" current="false" preferred="false"/>
    <mode id="0x1e9" name="1920x1080" w="1920" h="1080" hz="59.94016" current="false" preferred="false"/>
    <mode id="0x1ea" name="1920x1080" w="1920" h="1080" hz="50.00050" current="true" preferred="false"/>
    <mode id="0x1eb" name="1920x1080" w="1920" h="1080" hz="24.00000" current="false" preferred="false"/>
    <mode id="0x1ec" name="1920x1080" w="1920" h="1080" hz="23.97576" current="false" preferred="false"/>
  </output>
</screen>

Yours does the same, but you keep the EDID Modes your Display sends. Not the worst idea.
I think the horiz and vertical syncs are not needed in the Monitor Section anymore

Ouh and you probably miss the 24.0 hz mode.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#7
Well, been trying to edit the existing xorg-nvidia.conf as well as creating a new xorg.conf but the whole mount is read only and my linux skills are nill.

Is there any other folder I can put the file in to override whats beeing read from the original read only file?
Reply
#8
Just put a complete xorg.conf to /storage/.config/ and fine :-)
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#9
Thanks did that, checking out the result now.
Seems "different" will get back after vieweing some different samples Smile
Reply
#10
Just get: DISPLAY=:0 /usr/lib/xbmc/xbmc-xrandr | pastebinit that is enough.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#11
http://pastebin.com/HTjkdC7G

Looks like it's using 24hz, the video playing is encoded with 23.98 though.
Close enough I guess!
Reply
#12
Quote:<mode id="0x1e6" name="1920x1080" w="1920" h="1080" hz="24.00000" current="true" preferred="false"/>

Yes - check that the video is really 23.98. And btw. join #openelec it is much easier.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#13
(2013-02-24, 22:37)fritsch Wrote:
Quote:<mode id="0x1e6" name="1920x1080" w="1920" h="1080" hz="24.00000" current="true" preferred="false"/>

Yes - check that the video is really 23.98. And btw. join #openelec it is much easier.


Alright so I've re-watched a few series now to see if the situation changed and this is my find:
On video encoded in 24fps the stutter now only occurs maybe once or maximum two times in a 1h45m show.
On video encoded in 23fps the stutter now only occurs two or three times in a 1h45m show.
pastebin of xrandr on 23fps clip

So indeed better, but for some reason not all gone yet.
Also I get about 5-8 dropped frames on a 1h45m show, don't know why.

I'll try to join the IRC channel later on, about as skilled at IRC as I'm at linux though Wink

Thanks for the help so far, I'm going to look at a movie now to see if my first impressions were correct.

EDIT:
Just noticed that a 29.970fps clip is being played back at 59.94fps instead.
Why the doubling of the framerate here? xrand pastebin
The clip is a interlaced bluray 1920x1080i fr:29.970.
Reply
#14
Next time, turn on debugging and post the xbmc.log ... dropped frames != stutter. There are multiple reasons for dropped frames, e.g. network, other hickups and so on.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#15
(2013-02-25, 01:47)fritsch Wrote: Next time, turn on debugging and post the xbmc.log ... dropped frames != stutter. There are multiple reasons for dropped frames, e.g. network, other hickups and so on.

Done and done!
pastebin
Reply

Logout Mark Read Team Forum Stats Members Help
xtreamer ultra 2, stutter every few minutes0