[DEV ONLY][S905/X] 8.0 with "full Nougat" kernel preview builds

  • Important: Do not flash these builds over your current LE installation unless you exactly know what you are doing!

    This is not a support thread, please don't ask how to install, downgrade, etc. This is covered in other threads. Development-related posts only, please!

    1. What are these builds? They are test builds that use a new kernel from Amlogic that is used for Nougat Android firmware. Kernel source is taken from GitHub - khadas/linux at Nougat
    2. Where is your kernel source? GitHub - kszaq/linux-amlogic-le at nougat-wip
      Please note: the branch will be rebased, squashed and fixed in the future.
    3. Where is the build source? GitHub - kszaq/LibreELEC.tv at nougat-wip
    4. How do I install? Like every other build of mine. You have to use a new device tree from builds folder!
    5. Can I downgrade? Yes, to any other 8.0.x build. Remember to use a proper device tree when downgrading.

    Please use johngalt's builds from [TESTING][S905(X)] 10bit/HDR/Dithering Test Builds & Discussion

    Edited 4 times, last by kszaq (June 8, 2017 at 10:57 AM).

  • Short loud hiss on startup directly after LE boot logo. AV sync appears acceptable on local sources, but live TV is unwatchable with a very slow frame rate. Briefly tried enabling/disabling Sync in settings made no difference.

    Audio is very much stuck in 2.0 PCM. Tried Dolby and DTS sources in 5.1 and 7.1 with/without passthrough and I only get 2.0.

  • Hi,

    I tried this build, but it does not work for me. First LE boot logo, then show build number, then from the amplifier "SSSSSSSS" and the screen go black and there is "no signal..."

    The box is live, ssh and samba work, but black screen...

  • Awesome! Playing around for a bit. You need to use sysfs to set passthrough codec right now. When I get a chance, I'll look at adapting the support commit since i have hw to test.

  • I think that if 4K issues are still there, I will drop the N kernel and focus on backporting decoder and vecm improvements to M kernel.

  • I'm on a 4k display and just did a quick test:

    -The hiss is there every reboot

    - CEC works nice

    - no frame skips or drops on a high bitrate 1080p videos

    - 4k HDR videos show the well known banding but bt2020 is passed and my tv recognizes IT :) There are some skips but no drops.

  • Did a test run on the S905X box. Files from SMB share played fine (h264, h264 hi10p and hevc) with no problems with skipping forward or backward. TV using tvheadend on a separate box was mixed: SD DVB-S broadcasts where fine, as where 1080i and 4k DVB-S2 streams. German 720p DVB-S2 was very jerky and unwatchable. Twitch 60fps streams played fine through the addon, but youtube addon + inputstream.adaptive (configured for max resolution of 1080p, all other settings unchanged) first freezes and then crashes+restarts kodi. But I noticed this also happens on my S905 box which uses the older franken-nougat kernel. I need to test a marshmallow kernel to see if this is kernel related.

    I liked the snappyness of the box, it was able to play one of my 720p hi10p files smoothly, which is something the S905X usually struggles more.

    Edit: No hissing here...

  • kszaq, got surround working:

    Commits · amillogical/linux-amlogic · GitHub from 24cbbb3 to HEAD (this is your nougat-wip branch but with the earlier audio commits missing and replaced toward HEAD).

    You'll also want S905: update audio config and patches · amillogical/LibreELEC.tv@d4e39d0 · GitHub (reverting your audio changes in the nougat-wip libreelec branch).

    The audio state is with the experimental commits. To get to your current state le8 nougat state, you'd want to revert 86ff57a and 9c6e4b5 (haven't tested but should work)

  • kszaq I'm working on a better solution for 10bit output, but here's a dithering hack for 10bit->8bit: [HACK] aml/hdmitx: always force dithering · amillogical/linux-amlogic@5c0e548 · GitHub

    I noticed (possibly because of my display), the kernel also thinks deep color has been triggered with some playback (though with libreelec nothing will happen).

    Also, makakam was right about bt2020 being passed :D. It threw me off at first because there's now colorspace correction on the OSD from bt2020, so I didn't think it was set at first. In Android without that additional CSC, the OSD becomes oversaturated.

    Edit: sorry for the double post, I didn't realize.

    Edit2: that commit works, but I made a mistake. I'm also testing out higher quality dithering and setting only for 10bit video now.

    Would it be recommended to always have dithering enabled if we could get quality high enough? On some other platforms it's a Kodi default.

    Edited 3 times, last by johngalt (June 1, 2017 at 5:09 AM).

  • johngalt Thank you for the patches! I think I can revert sound to current MM kernel state as it was working acceptably. In think I'll do this later this week, more important non-LE things to do.

  • johngalt Thank you for the patches! I think I can revert sound to current MM kernel state as it was working acceptably. In think I'll do this later this week, more important non-LE things to do.

    No, thank you!

    I just force pushed to that fork again (Commits · amillogical/linux-amlogic · GitHub), and audio is now inline with your amlogic-3.14.y-new branch (included your revert for the experimental audio changes). I wasn't able to do extensive testing, but everything I threw at it with my surround system (passthrough + nonpassthrough) seemed to work as well as with the experimental audio commits.

    I also included a less hacky dithering fix for <=gxl boards (only tested on gxl aml/hdmitx: fix 10->8 dithering for <=GXL & cleanup · amillogical/linux-amlogic@3304772 · GitHub). I actually think this may have been an amlogic typo they never noticed because no s905x devices formally have nougat other than the khadas, but am not sure. I played around with forced dithering everything and different noise values, but ultimately decided PQ tuning should be left for later with possibly a different thread.

    I tested hdr_banding.mkv posted by a member of this forum awhile back (light intro to a hdr movie), and the dithering looked quite good to me. I then tested a very low size/highly compressed 10bit rip that had compression banding even at correct 10 bit output in android, and found I preferred the 8 bit output in libreelec.

    In addition, this partial HDR support (on correct hardware) might even be good enough for some people since colorspace is now passed.

    Edit: oh wow, manual 10 bit output can work in this kernel. I think I can do a kernel solution to manually setting colorspace and depth for source based on RXCap if I assume there's always going to be a resolution change for playback. It actually looks like we can have full HDR10 on libreelec after all :).

    Edited 2 times, last by johngalt (June 1, 2017 at 7:37 AM).