Posts by kszaq


    I've tried the last image here and tvheadend doesn't show any dvb tuner. Or I've make a mistake with "device tree" or it's not included at all (reading this post quickly, this seems to be the case). But also from my readings here, it seems we cannot use a device tree coming from another image for this one.

    How can we use this image with DVB tuner driver ?

    My builds do not support built-in DVB tuners and will not until there's a driver for the latest kernel that works and can be compiled as a module. There is another user who includes an older kernel with binary driver in his builds: LibreELEC


    kszaq I'm a developper ... (and old one :) but having already work for embedded devices using cross compile chains), are they any useful links and tutorials to build a development platform ? (first target to libreelec & s8/9xx builds)

    Clone my repo and start compiling. ;) PROJECT=S905 ARCH=aarch64 make image


    Problem is I installed LE on internal memory so Android is obviously wiped. Any other way or should I nuke LE, run stock, then start over the process?

    You can still boot LE from internal, right? You can update to 32-bit build without nuking everything. I recommend to update to 64-bit 7.0.3.011 first and afterwards you can "update" from 64-bit to 32-bit build. Just drop .img.gz with device tree for your box into Update folder.


    All 7.x version after .007 are not usable for me since i use PVR. 007+ versions have severe stutter.
    Really hope its solved or at least tested (as its a very obvious issue) in this latest release.

    Obvious issue or not, I cannot reproduce it on my side. I always need a sample of a video that stutters. You have to remember that these Jarvis builds are maintained by a single developer (me) and I can't test every setup. :(

    This is an error in updating device tree. I will have to look into it. If you updated from .010 you should not worry at all, device trees are the same.


    - my music is upsampled from 44k to 48k (connected via SPDIF). This was fixed in version 7.0.2.009 but in .010 and .011 it's back again.

    I'll stick on version .009 becouse of the upsampling. Is it possible to get a 32bit Version of .009?

    Audio patches had to be reverted due to click/pop issues and this is being worked on by other LE developer. I don't have plans to build 32-bit version of .009 as this would require a lot of work reverting or backporting patches.

    My all-in-one LG home cinema can only decode HD Audio from BluRays but not from HDMI In. If you login over SSH to your LE box you can see which formats are reported as supported in EDID by typing cat /sys/class/amhdmitx/amhdmitx0/aud_cap.

    All S905X I've seen have only 100Mbps Ethernet because it's cheaper: 100Mbps Ethernet PHY is built-in S905X. For 1Gbps Ethernet vendor would have to add an external Ethernet PHY.

    A new build with some fixes to media_build drivers. Those of you who don't use USB tuners don't need to update:
    7.0.3.2 7.0.3.2

    Commits from 7.0.3.1 to 7.0.3.2: Comparing 7.0.3.1...7.0.3.2 · kszaq/LibreELEC.tv · GitHub
    Kernel commits from 7.0.3.1 to 7.0.3.2: Comparing 263a24f...fb5b898 · kszaq/linux · GitHub

    Changelog:

    • reverted USB driver patch that broke some DVB tuners
    • added some kernel backports to fix missing symbols in some media_build drivers
    • re-added thumbnail speedup patch from SPMC
    • added some memory leak fixes from SPMC Jarvis

    7.0.3.011 (2016-12-18)
    Source code: GitHub - kszaq/LibreELEC.tv at 7.0.3.011
    Kernel source code: GitHub - kszaq/linux-amlogic-le at 80f16637e8114ced140b2aa41b39143e5f1a88cd
    Downloads: 7.0.3.011

    Important: please read Updating section below!

    Important notes:

    • These are community supported builds so please post all bugs/issues in this forum area only.
    • For any non-personal use you should refer to Kodi Trademark Policy. Please also follow these guidelines for LibreELEC branding.


    Additional notes:

    • I created this build for myself and work on it in my free time. I also don't know a lot of things so please be kind and patient if you encounter any bugs.

    Reporting bugs: LibreELEC

    For general information read this post: LibreELEC

    Changelog:

    • reverted kernel patch from Amlogic introduced in 7.0.2.009 build that breaks booting for many devices
    • reverted a change in USB driver to compile it as a module
    • reverted USB driver patch that broke some DVB tuners
    • fixed LIRC in 32-bit builds (thanks to Raybuntu)
    • fixed error recovery mode for H.264 streams
    • added a workaround for device tree update
    • re-added thumbnail speedup patch from SPMC
    • added some memory leak fixes from SPMC Jarvis
    • added a device tree for p201 boards with 2GB RAM


    Known issues:

    • 4K is a bit expetimental because I can't test it.
    • WiFi driver may need to be reloaded after a reboot by manually toggling WiFi in LE Settings.
    • BT is not supported for Aigaile chips.
    • Opening some high bitrate HEVC files/streams may lead to system lock - this is a bug in Amlogic hardware decoder memory allocation code. You may have a better experience using 32-bit build.
    • If you use S905X device with TV without HDR support the screen will be darker than normal on boot. It goes back to normal after you start/stop a video.
    • Built-in DVB tuners are not supported.
    • Suspend doesn't work most of the times. Temporary solution: use poweroff.
    • Jerky playback of some 29.97fps videos and some Live TV channels (Amlogic HW decoder bug).
    • CEC might not work when your box has incomplatible u-boot or your TV is not that well supported by Amlogic low-level CEC driver.
    • DVB support is experimental, some USB DVB tuners don't work at all.
    • 3D support is experimental and not tested.
    • Lots of other things that I did not notice.


    Note on 32-bit build: If you want to switch to 32-bit build, you need to clean your addon cache first: rm -rf /storage/.kodi/addons/packages/*, after updating force refresh every repository you have and reinstall all binary addons. If you don't know what it is, you probably don't want to switch or shouldn't do it - make a clean install instead. The same note applies to restoring backup from 64-bit to 32-bit build and vice versa.

    If you update from 64-bit to 32-bit build your device tree will not update automatically even if you put it in Update folder! You have to replace it manually or perform update process for the second time - i.e. once again put 32-bit build and device tree in Update folder and reboot.

    How to install
    [hr]
    I strongly recommend trying running this release from SD card/USB drive before installing to internal memory!

    32-bit? For new installations I recommend using a build from 32-bit folder. You can also update to it but you need to do this carefully and read notes below.

    If you have WeTek Hub, you don't need to use toothpick method: update to latest Android version and make use of dual-boot feature!

    How to choose a device tree:
    You can download device trees blobs (images) from device_trees
    Important: Do not use device trees from previous build! You also cannot use device tree from Android firmware as in 99% cases it won't work.

    • S905: First look for device tree with your box name in it. In case there is no such image, download generic one. Device trees for S905 boxes start with gxbb.

      • example: for a box with 2GB of RAM and 100Mbit Ethernet, you should download gxbb_p200_2G_100M.dtb
      • example: for boxes with Gigabit Ethernet download gxbb_p200_1Gbit.dtb
      • for boxes with Realtek WiFi (e.g. K1 Plus or K2 Pro) download device tree with RealtekWiFi in name
    • S905X: Device trees for these boxes start with gxl. You can leave a tree that is already present on SD card (fresh install only) or choose one according to your RAM amount.


    SD card/USB drive:
    Note: only 1 USB port is able to boot the box. You have to try them all. Some boxes are unable to boot from USB drive.

    • Look at the beginning of this post and find Downloads link. Download file with img.gz extension.
    • Burn the downloaded file to SD card or USB drive using Rufus. Alternatively you can use LE tool but remember that you have to download the image manually: Installation - LibreELEC
    • After this you will see that drive capacity is 512MB. This is OK as there is a second (hidden) partition on the drive for LE userdata!
    • Download a device tree, rename it to dtb.img and copy it to main folder of SD card/USB drive - replace the one that's already there.
    • To boot the system for the first time you have to use one of the following:

      • toothpick method: disconnect the power supply, insert card/drive, push reset button and connect the power while holding the button. Wait until LibreELEC logo appears and release the button.
      • menu button method (works with very few devices): disconnect the power supply, insert card/drive, push menu button on your remote control and connect the power while holding the button. Wait until LibreELEC logo appears and release the button.
      • recovery method: boot into Android, insert card/thumb drive and choose Reboot to recovery. Your box should boot into LibreELEC.
      • recovery method (2nd variant): if you have "Update" app pre-installed open it, insert SD card with LE/connect USB drive, and choose any ZIP file in the app for update. Your box should reboot to LE.
      • recovery method (3rd variant): if your box is rooted, use terminal emulator app and execute reboot update command
      • recovery method (4th variant): enable ADB (Google it) and issue adb reboot update command

    Internal memory (NAND/eMMC):
    Run LE from SD card first. If it runs fine, connect to your box over SSH, execute installtointernal command and follow on-screen instructions. This command wipes SYSTEM and DATA partition!

    CAUTION: If your box has a non-standard partition layout, you will see an error when trying to boot from internal memory for the first time. To solve it, you need to boot one more time from SD card and run installtointernal again.

    To boot into recovery after installing LE to internal memory use this procedure:

    • prepare a clean, FAT32-formatted SD card or USB drive
    • copy recovery.img and dtb.img from your Android firmware to SD card (don't use dtb.img for LE!)
    • use "toothpick" method to boot from SD card/USB drive or execute reboot recovery over SSH

    Updating
    [hr]
    Update by downloading img.gz to Update folder. You should also download a new device tree, and put in Update folder with an update file. You should have both files in Update folder before rebooting.
    HOW TO:Update LibreELEC - LibreELEC

    CAUTION:

    • If you use a device tree from a previous build, you will experience audio stuttering issues and no passthrough.
    • If you have a device with non-standard partition layout and have LE installed to internal memory, you have to perform a clean install.

    FAQ
    [hr]
    Q: My remote control does not work, what can I do?
    A: Grab remote.conf file from Android firmware (it's available in /system/etc) and copy it to Configuration folder: /storage/.config over SSH or \\your_box_IP\Configuration using Windows shares. You can also put that file to main folder of your SD card. You may need to remap some buttons.

    If you like my work, you can buy me a coffee (or without PayPal account: link)


    Hi kszaq,
    Is it possible to run lakka from sd card in amlogic s905x box?
    Get Lakka - WeTek Play

    Lakka is a separate OS. AFAIK Lakka people are working on a build for S805/S905 partially based on my work.


    kszaq
    I stumbled upon this #58 You made a quote,
    "I mean switch entirely to 32-bit userspace. Kernel has to be kept 64-bit because some of prebuilt Amlogic modules are 64-bit only."

    Is this what will happen ? I'm curious as to when testing 32bit will be the only testing. Or is this going to happen with Stable Krypton Release.

    All my future Jarvis builds will be with 32- and 64-bit userspace. My Krypton builds will only have 32-bit userspace.