Posts by JoKeRzBoX


    kszaq is now building with 32bit userspace too.

    I believe wxyhxh is referring to the official 7.90.009 arm64 release for Odroid C2.
    Well, I can continue creating this MOD for the releases which stay with 64 bit userspace if there are users interested in such, but keep in mind Raybuntu has a community release for Odroid C2 with 32 bit userspace.

    I will create this one, however right now I am on vacation and far from my linux VM so it will take some time for me to create it. But i will.
    [hr]


    hi
    thanks for your job !
    do you have your mod for LibreELEC-S905.aarch64-8.0-devel-20161029000130-r24352-g5a0b492.img.gz ?
    thx

    Sorry for my late response. Are you still interested on this? I can do it no problem, but with the recent releases from kszaq with 32bit userspace, I am not sure if you still want this. Just let me know.


    Hi,
    is it possible to install widevine? i'very tried the script from millhouse but it doesn't work (detect aarch64 OS and stops) and I was not able to install it manually.

    btw: Thanks for this great Builds.

    cheers from Germany
    Rat666

    I haven't tried, but in theory it could work with this MOD. You would probably need to tweak the script you mentioned to bypass the validation.
    However, given the recent great news provided by kszaq and Raybuntu, in the near future the builds from kszaq will have the 32 bit userspace and that should work for widevine (as similarly reported for Odroid C2 by Raybuntu here). So if I were you I would just wait for kszaq's new builds to come to get widevine working.


    haha, it works, thank you very very very much!

    I am glad!
    The more recent versions of the MOD (available in the first post) have a fix where I added a symbolic link to make binaries like these to work. The trick is making the interpreter library available by creating this symbolic link

    Code
    /lib/ld-linux.so.3 -> /lib32/ld-linux-armhf.so.3

    So bottom line is: if you install the updated MOD from first post you should be able to use the original Xware addon you had.


    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.

    The main advantages of switching to 32-bit are improved memory consumption and improved compatibility with 3rd party libraries - that means Spotify in LE and libwidevine in LE Krypton. :D

    I don't think there are any significant advantages for media player to run 64-bit code - especially that all boxes have less than 4GB RAM. And you can optimize 32-bit build for Cortex-A53 which means no significant speed drop - or even speed gain due to lower memory consumption.

    Thanks to LE developer Raybuntu I am already testing 32-bit Jarvis build. Here's the commit that helped: Adding ability to build aarch64 kernel with 32bit libs · Raybuntu/LibreELEC.tv@aa18baf · GitHub

    I think in a few days I will post source and binaries for 32-bit userspace builds. :)

    Ok, I get it. I read his commit and understand the use of TARGET_KERNEL_ARCH for the S905 builds keeping TARGET_KERNEL_ARCH=arm64 and TARGET_ARCH=arm, with some linux drivers forcefully compiling using gcc-linaro-aarch64-elf. Sounds like a great plan! Please keep us posted as it progresses.


    What would you say if I told you I want to switch to 32-bit userspace for next builds? ;)

    Do you mean entirely switch to 32 bit userspace or a hybrid solution where you also have the 32 bit userspace in additon to the native 64 bit (pretty much like what this MOD is doing)? Would switch entirely mean to also have a 32 bit kernel and all kernel modules compiled in 32 bit? Like just building with:

    Code
    PROJECT=S905 ARCH=arm make image


    instead of

    Code
    PROJECT=S905 ARCH=aarch64 make image


    ?

    Sounds interesting. And would make this MOD not necessary anymore (which would be great!). Based on the bit I read, 32 bit would also use slightly less memory. But I wonder if there is any significant advantage with the 64 bit that would be lost.

    Since this is retroarch specific, I responded to you with some troubleshooting steps in the thread meant to discuss the retroarch addon here. If you do not mind I propose we keep that discussion there and leave this thread for more generic questions about the MOD to run 32 bit binaries.
    [hr]


    @ JoKeRzBoX Do you plan to release update package for 009 build?

    Yes! I will try to post that one plus other ones for the Alpha builds this evening. I will update the first post with latest links for download.


    hi JoKeRzBoX , i've been able to install your addons to both K's LE 7 and alpha 8, but on first try the screen garbled after next try the screen resolution too big to fit the screen, i only see 1/4 top left part on my tv, i've try to change settings in retroarch.cfg but no effect at all, where else should i change?
    thanks, this is the first time i see retroarch on s905 box

    my box MXQ Pro Quick Play s905 1/8

    Looks like you have your LE set for 720p resolution (can you confirm?). Retroarch is pre-configured for 1080p screens but it may be possible to change those in settings (although I am not sure how). Can you search for a potential solution or post your question on the Retroarch specific thread? You will probably get more answers and suggestions there.

    yes, of course, but it is in chinese :(
    http://luyou.xunlei.com/forum.php?mod=viewthread&tid=12545&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline
    in gernal, it is a software running on a router, NAS etc, providing remote download service. till now, there is only 32bit edition.
    on rpi2, i use Xware1.0.31_armel_v5te_glibc.zip, and it works ok.

    Please try this modified version of the Xware addon here using LE with the MOD described on this thread and report back if the binaries run for you.

    Forgot to mention: once you install the addon, you need to copy the intepreter library to /storage/ld-lin.so by running this:

    Code
    cp -p /lib32/ld-linux-armhf.so.3 /storage/ld-lin.so


    I'd like to say thank you so much for your hard work kszaq, now I can watch my videos without the annoying Android wasting all the device memory. Is there a way to play any emulator(like Retroarch) in this build? I can't get my PS3 controller to work by wire(My device hasn't bluetooth support unfortunately). I'm using the build LibreELEC-S805.HD18Q.arm-7.0.2.7(working good) on a generic MXQ S805. Thanks in advance :)

    Yes, there is a solution to run retoarch on S805 and S905(X) based devices. More details here and the latest version of the addons here

    Your wired PS3 controller will probably work out of the box with Retroarch (not while in Kodi, but when you launch retroarch). You can find a lot of tips and post questions on the thread I mentioned above.

    Although it is great that we have a lot of people interested on this MOD to run RetroArch, I want to make sure this thread does not move into the wrong direction and become a RetroArch support thread. So I have news that many of you will hopefully enjoy:

    For the folks interested in running RetroArch on S905(X) devices:

    • I have created a new addon which contains all the 32 bit arm libraries required to run the 32bit arm retroarch binary on S905(X). Such addon, combined with the latest Retroarch addon from here should give you a working Retroarch solution for S905(X) without the need of the MOD discussed on this thread. It is a cleaner solution much less intrusive to LE and should (hopefully - could not fully test it yet) work across all builds and S905(X) devices. Such solution is being discussed on this thread.


    I recommend you try such solution for RetroArch and we keep this thread more focused on supporting other 32 bit binaries.

    Also, I will be updating the first post later today to mention the same as well as update the list of available builds with the MOD (including new ones for the 7.9 latest alpha builds I am creating now).

    Code
    OC2-LE7:~/xunlei # ./portal
    -sh: ./portal: not found

    First my 2 cents: since this package is meant for RPi, it is hard to tell if it will ever work on the S905. My first question would be: does it run on an S805? The 32 bit libraries we are adding to LibrELEC are from S805 builds and those are somewhat specific.

    Now some tips to further troubleshoot your problem:

    • When you receive a "not found" error - at least in my experience - it usually relates to the dynamic linker or interpreter library not being available. Such interpreter is a program that actually loads the executable along with all its dynamically linked libraries. (The kernel just loads the interpreter, not the executable.)
    • Since we are using the S805 builds, such interpreter library is /lib/ld-linux-armhf.so.3

    My suspicious is that your binaries from RPi use a different interpreter library. Since ldd is not working for you (and it makes sense since it is an ldd for AARCH64 and those are ARM 32 bit binaries), try to look for a "/lib/..." in the binary file itself by running:

    Code
    grep "/lib/" ./portal

    and check what it returns. One of the libs the grep returns will be your interpreter library (usually starts with /lib/ld-linux...). Report that back here.

    This morning I managed to successfully build and install the image on my box. Thanks for your assistance, it all came together in the end and I learned how to do a few things in Linux that I had never attempted before (such as mounting a LibreElec .img). Unfortunately, unlike your previous build, RetroArch does not work (loops straight back into Kodi). I've dug into the file system and the 32 bit libraries are definitely there, so you script definitely worked there. However there there must be something different than your previous working build. It seems like the libraries aren't actually being loaded but I'm not sure where to start investigating that. If you can give me any pointers I'm happy to troubleshoot.

    A few things to look:

    1) First log into the box via ssh, and check if the LD_LIBRARY_PATH is properly defined:

    Code
    echo $LD_LIBRARY_PATH


    If that returns a series of folders separated by ":" and /lib32 and /usr/lib32 are part of it, this step is complete

    2) Go to the folder where the 32 bit binary is and check if the libraries it needs are found using ldd command. Example for retroarch:

    Code
    cd <folder_where_retrorch_is>
    ldd ./retroarch

    You shold see something like:

    Code
    ...
    libass.so.5 => /usr/lib32/libass.so.5 (0xb6e8a000)
    libasound.so.2 => /usr/lib32/libasound.so.2 (0xb6e12000)
    libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xb6da3000)
    ...

    If some library is not found, it will show as missing:

    Code
    libavcodec.so.56 => not found

    And that means either that lib is really missing from the /lib32 and /usr/lib32 or something else is wrong. I would start checking that.


    JoKeRzBoX, any chance you could generate an update for the new 7.9.0 build?

    LibreELEC-S905.aarch64-8.0-devel-20161107203518-r24431-g828b0b5.img.gz

    I just spent 2 hours trying to do it as per the instructions on your repository (including spinning up a Linux VM and figuring out the steps I wasn't familiar with) but to no avail. Everything looked good, generated my SYSTEM and SYSTEM.md5. Multiple times my repacked files were rejected by the updater. I even regenerated SYSTEM a couple of times to make sure the problem wasn't there. I'm probably just doing something dumb due to being tired and frustrated. I'll try again tomorrow evening when morale recovers because I'd really like to be self reliant rather than bugging you for new builds.

    Cheers
    Chris

    I am all up to enable people to perform the MOD on their own! Thanks for trying and please do not give up!

    Just to double check your steps, you should have used:
    SYSTEM from LibreELEC-S905.aarch64-8.0-devel-20161107203518-r24431-g828b0b5.img.gz as SYSTEM_64bit
    SYSTEM from LibreELEC-S805.arm-8.0-devel-20161029000130-r24352-g5a0b492.img.gz as SYSTEM_32bit (as there is no new alpha for S805 yet, use the latest available)
    SYSTEM from LibreELEC-S805.MXQ.arm-7.0.2.6.img.gz as SYSTEM_32bit_base (for some older versions of libs that could have been linked from binaries such as retroarch)

    If you used those and the script generated a target/SYSTEM file, just take a look at its contents to see if it looks ok (you can use command unsquashfs -l target/SYSTEM or mount it with mkdir ./test; mount -t squashfs -o loop ./target/SYSTEM ./test).

    As for creating the update package, there are a few ways you can do. My recommendation is get the one I created for the first alpha, untar it, and replace SYSTEM, SYSTEM.md5 with your generated ones and KERNEL and KERNEL.md5 with the ones from original latest alpha package from kszaq. Then re-tar it and it "should" work :D .

    If you are runnign libreelec from USB or SD card, even easier (but more dangerous) is to just plug the USB or SD into a windows computer and replace the SYSTEM from the fat32 partition with the one generated by the mod script.

    Let me know how it goes. If you are not successful by end of the week let me know and I can generate it on the weekend.


    Hi its working with this method tested retroarch with ps4 controller and all is good :)

    I am glad to hear that. Since I am not touching the kernel in my MOD, the least intrusive (although riskier) way to apply this MOD is by directly replacing the SYSTEM file on the fat32 partition via windows (if using USB or SD card installation).

    But the update from tar file should have worked for you, as it did for saunderez. Maybe it is something tied to your setup. Do you mind sharing what device you have and how much RAM and ROM?