GT 1030 4K video stuttering

  • Hi all,

    I just built a new HTPC with the following config:

    - Intel Celeron G3900 @ 2.8 Ghz (dual core, no HT)

    - Gigabyte GT1030 (2GB)

    - 4GB DDR4-2100 RAM

    - 40 GB Intel SSD

    I waited a while to buy all components and to install LibreElec because by the time I got my GT1030 LE 8.2 wasn't out yet (with official support for the GT1030). It's hooked up to a Pioneer VSX-830 receiver that has 4K support (and I also have a Samsung 4K TV). LibreElec immediately set its resolution to 3840x2160, so all seemed well.

    Now that I'm all up and running I've got a problem with GPU decoding most (all?) of the videos. I first noticed this when playing the 60FPS big buck bunny 4K test file, which is x264 and seems to stutter at some parts (especially at the beginning of the video). I'm aware that 10 bit HEVC is not supported at the moment, but 8 bit HEVC videos are unplayable as well. When I'm playing 1080p TV show content everything is fine, except that my HTPC seems to get rather hot.

    Once I enable the CPU load counter I see both CPU cores hovering around 50% at 1080p content and the big buck bunny 4K x264 test file. Once I start playing an 8 bit HEVC 4K movie, both cores go to 100% and audio starts dropping out. Stuttering is also very noticeable.

    It's probably the VDPAU not correctly being enabled, but once I turn it off the 4K big buck bunny test file is lagging even more. So VDPAU seems to do something. I also changed double buffering to triple buffering, to no avail.

    When I installed my GT 1030 in an Optiplex running Windows 10, it worked fine for all content. I really want to run something Linux based though, and using LibreElec is my preferred choice.

    Any clues on where I go from here?

  • What about NVIDIA NVDEC / CUVID? I read somewhere that this was Nvidia's answer for full HEVC support and that ffmpeg supports this already. Is this coming to Kodi/LibreElec?

    I didn't really count on having to use my Intel GPU for decoding and for that I bought a H110 motherboard with Skylake CPU. Didn't you need at least Kaby Lake for full 4k60 support?

    Thanks for your quick answer!

  • I'm aware that 10 bit HEVC is not supported at the moment, but 8 bit HEVC videos are unplayable as well. When I'm playing 1080p TV show content everything is fine, except that my HTPC seems to get rather hot.

    I also have a GT1030 card, and 8bit HEVC plays just fine with LibreELEC, even upto 8K video. I have a fanless GT1030 btw, but mine is in a normal midi-tower, not so much a small(er) htpc. It's some 35 dgrs Celsius with normal office stuff, running videos is 45-48 dgrs or so.

    Perhaps you need to first take the Pioneer AVR out of the equation and connect the HTPC directly to the TV, and see if the stuttering is less/different/same. Enable debugging, run a stuttering video, and provide a kodi.log video via the SSH built-in pastebinit command, or upload it to pastebinit.com or a similar website.

  • Hi, thanks for the replies!

    I finally figured it out. It was your screenshot Klojum that pointed me to the right direction.

    I noticed near 0% CPU load while you were playing the 8K test video. Whatever video I played, be it 1080p, 4K or something else, it always hovered around 70% CPU usage, but not from Kodi.bin, but Xorg instead. I also noticed this behavior when just sitting in some menus. When I switched the output to 1080p, all was fine. The CPU usage of Xorg immediately went down to near 0% CPU usage.

    The problem turned out to be the Pioneer AVR. On the Pioneer Android app I noticed the input video source being sent was YCbCr 4:2:0, even though Kodi was configured to do Full RGB. The BD input on the AVR was not configured to do YCbCr 4:4:4 at 4k60, but 4:2:0 instead. Once I configured the input to do the full 4:4:4, LibreElec started sending me RGB Full video, which was then being converted to YCbCr 4:4:4 as output. Once I did this, the menu and all videos immediately went back to being smooth. CPU usage was around 20% while playing videos. Xorg was probably converting the framebuffer from one colorspace to another, causing the high CPU usage.

    I couldn't resist to stop messing around to get it even further down. I ended up modifying my xorg.conf, with the following changes:

    Code
    Section "Screen"
        Identifier     "screen"
        Device         "nvidia"
        DefaultDepth    24
        Option         "ColorRange" "Full"
        Option         "ColorSpace" "YCbCr444"
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection

    The input source being sent is YCbCr 4:4:4 now, so the AVR isn't converting the signal anymore. Better yet, the CPU usage is now below 10% average.

    Thanks for putting me in the right direction guys!

  • hey

    I have exactly the same hardware sutup as you do, except the receiver, PC is hooked to al LG HDR TV ("deep color" enabled)

    i tried to do what you did with this method of changing the xorg.conf:

    https://openelec.tv/documentation/…ustom-xorg-conf

    but it doesn't matter what i do everything still is shuttering

    could you possibly explain more in detail what you did?

    NV 1030 should be able to show every 4k in H265....

    i had the same problem on my windows PC with mediaplayer classic and GTX970

    i thought is was because 970 couldn't do the 4k h265, so i bougt the 1030. the problem stayed....

    but then i indeed discovered the 4:2:2, 4:2:0, .... settings and even my 970 played all movies super smooth...

    in kodi, i can't find the right settings...

    but you did, please share them? :angel:

    Edited once, last by filiphch (September 8, 2018 at 10:20 PM).