LibreELEC-RR [ Brave | Spotify | Moonlight | Emulationstation | Retroarch | Pegasus ]

  • Ramalama

    well nope you're not the first and not the last but you have overlooked this:

    LibreELEC-RR/arch.x86_64 at master-rr · SupervisedThinking/LibreELEC-RR · GitHub

    which is only a fallback if this is not set:

    LibreELEC-RR/options at master-rr · SupervisedThinking/LibreELEC-RR · GitHub

    About the error... well actually I guess this is related to the host system which is probably bleeding edge at any package. It uses Kernel 5.11.y & GCC11 which is not even released yet?

    Check out the cases of the distribution in:

    LibreELEC-RR/checkdeps at libreelec-10.0-RR · SupervisedThinking/LibreELEC-RR · GitHub

    these are the supported build host systems. Beside that NSS is a LE base package which isn't altered in any way by me so it's highly unlikely that it's failing because of changes I made.

  • Exactly, i need GCC 11 for znver3, it will get now backported to GCC 10 too, but i started this already longer ago.

    This means i have to compile with:

    PROJECT=Generic ARCH=x86_64 TARGET_CPU="core2" BUILD_PERIODIC=RR BUILDER_NAME=$LE_Branch make image

    or

    PROJECT=Generic TARGET_CPU="core2" BUILD_PERIODIC=RR BUILDER_NAME=$LE_Branch make image

    Because in my logic, if i set the first with ARCH, TARGET_CPU will get overwritten xD

    I will continue tomorrow, its get's late here and my environment isn't done atm.

    But i made a small repository in the meantime that will get updated with time:

    Libreelec-RR-Scripts/libreelec-rr.sh at main · Ramalama2/Libreelec-RR-Scripts (github.com)

    Thank you very much for help!

    See you tomorrow :thumbup:

  • Ramalama

    no you just have to enter the following line if you use the master-rr branch:

    Code
    PROJECT=Generic ARCH=x86_64 BUILD_PERIODIC=RR BUILDER_NAME=Ramalama make image

    And see if it builds. I would recommend to read all stuff https://wiki.libreelec.tv/development-1/build-basics here to get a deeper understanding how the build system works. You don't have to set any external args or envars, you have to set them in each option file for each project it you want to change them LibreELEC-RR/options at master-rr · SupervisedThinking/LibreELEC-RR · GitHub

  • Ramalama

    no you just have to enter the following line if you use the master-rr branch:

    Code
    PROJECT=Generic ARCH=x86_64 BUILD_PERIODIC=RR BUILDER_NAME=Ramalama make image

    And see if it builds. I would recommend to read all stuff https://wiki.libreelec.tv/development-1/build-basics here to get a deeper understanding how the build system works. You don't have to set any external args or envars, you have to set them in each option file for each project it you want to change them LibreELEC-RR/options at master-rr · SupervisedThinking/LibreELEC-RR · GitHub

    Seems like you've got HEVC working? (Came here from your moonlight tickets). Is there a way I could run moonlight with HEVC but under raspbian at this point? thx

  • Seems like you've got HEVC working? (Came here from your moonlight tickets). Is there a way I could run moonlight with HEVC but under raspbian at this point? thx

    You'll probably need to cherry pick the ffmpeg (& kernel?) patches LibreELEC uses:

    LibreELEC.tv/packages/multimedia/ffmpeg/patches at master · LibreELEC/LibreELEC.tv · GitHub

    LibreELEC.tv/projects/RPi/devices/RPi4 at master · LibreELEC/LibreELEC.tv · GitHub

    I guess it's only ffmpeg which needs patching since LE already uses the RPi custom kernel

  • Using ubuntu 20.04 now, which provides gcc-9 by default.

    Everything worked well xD

    Will try later with gcc-10.

    However, i just seen, you have already integrated xow into your source. So i had nothing to do xD

    Means that the script that im doing is absolutely useless xD

    Im going to recompile with gcc-10 and core2 now, and will test on my system with the xbox controllers.

    The first compilation now, was just to test if it compiles fine with default ubuntu 20.04 environment. And well it does xD

    Thanks for all the help!

    Im gonna compile again and test :)

  • It does not really matter which gcc the host system uses since it's only used to build the toolchain which then builds the target packages. Vanilla LE uses gcc 10.2 & I updated to gcc 10.3 so no matter what Ubuntu ships every target package will be build by gcc 10.2/3

    Beside that only xpadneo-0.9.1 is integrated in my images, to include xow you need to edit the options file for the generic package and set non-free packages to yes. Then it will integrate xpadneo-0.9.1 + xow & will also include fdk-aac and build Citra with support fdk-aac support.

    The core2 flag is mostly useless and I would got another route and check out x86 Options (Using the GNU Compiler Collection (GCC)) then add flags here LibreELEC-RR/arch.x86_64 at master-rr · SupervisedThinking/LibreELEC-RR · GitHub because this is the least "intrusive way" to change stuff for the packages since if you enter git grep TARGET_CPU you will recognize that a lot of packages depends on this var.

  • Beside that only xpadneo-0.9.1 is integrated in my images, to include xow you need to edit the options file for the generic package and set non-free packages to yes. Then it will integrate xpadneo-0.9.1 + xow & will also include fdk-aac and build Citra with support fdk-aac support.

    Thats what i meant, just enabling non-free packages and i have xow.

    But i meant that you already include xow as build recipe.

    Which is great, cause only changing non-free to yes is very noob friendly 🙈😂

    Thanks for that!

    Probably you will need to add cabextract and curl as build dependencies too, cause xow compilation needs them. But i handle that with my wrapper too.

    Could you probably add non-free to rpi4 too?

    Cause i think there is even more interest in the pi4 for the most users as for x86. 🙈

    I can test xow/xpadneo tomorrow with the pi4 either after today's test with x86.

    Cheers

  • Yes I've already added a xow package otherwhise it wouldn't make any sense to add the non-free option if nothing non-free will be built.

    You mean "cabextract and curl" weren't installed at Ubuntu? Because I also thought about adding them to host deps but it did not complain about that on my Mint system.

    About RPi4 and else, all have the same RR options in the project config files. So you can turn them on for every other project too but you have to look in the device subfolder.

  • Yes I've already added a xow package otherwhise it wouldn't make any sense to add the non-free option if nothing non-free will be built.

    That option sounded for me initially like activating a repository 😂😂😂

    To be able to build it, not like you have included it already 😂

    But well, it makes now more sense 😂

    You mean "cabextract and curl" weren't installed at Ubuntu? Because I also thought about adding them to host deps but it did not complain about that on my Mint system

    Exactly, ubuntu (server) 20.04 doesn't include them by default. Dunno why they don't even include curl 😂

    And there is another package i had to install: libgdk-pixbuf2.0-bin, that provides the gdk-pixbuf-pixdata command.

    I sadly didn't noted where it failed to build, was something xorg related, but if you need to know for what it's needed, i can remove it and compile again, till it errors.

    About RPi4 and else, all have the same RR options in the project config files. So you can turn them on for every other project too but you have to look in the device subfolder

    Perfect, i just initially watched if there is a nonfree option in project/ARM/options, like in the corresponding project/Generic/options.

    But yes, i found it in projects/RPi/devices/RPi4/options.

    However, my build is almost compiled.

    Going to test.

    Cheers

  • And there is another package i had to install: libgdk-pixbuf2.0-bin, that provides the gdk-pixbuf-pixdata command.

    I sadly didn't noted where it failed to build, was something xorg related, but if you need to know for what it's needed, i can remove it and compile again, till it errors.

    Can you provide me the package name that fails? Because gdk-pixbuf is basically used for gtk3 and stuff & should be used by the one compiled for the toolchain & not one provided by the host

  • xow doesn't works, because we are missing

    xow/modprobe.conf at master · medusalix/xow (github.com) the binding to that nonexistent driver.

    i get an: usb 1-2: usbfs: interface 0 claimed by mt76x2u while 'xow' sets config

    After adding:

    Code: /etc/modprobe.d/xow-blacklist.conf
    alias usb:v045Ep02E6d*dc*dsc*dp*ic*isc*ip*in* xow_blacklist
    alias usb:v045Ep02FEd*dc*dsc*dp*ic*isc*ip*in* xow_blacklist

    i get:

    Code
    2021-04-15 22:31:06 INFO  - Pairing enabled
    2021-04-15 22:31:35 INFO  - Controller '1' connected
    2021-04-15 22:31:36 INFO  - Device announced, product id: 02e3
    2021-04-15 22:31:36 INFO  - Serial number: 02680005732652
    2021-04-15 22:31:36 INFO  - Controller '1' disconnected
    2021-04-15 22:31:39 INFO  - Pairing disabled
    2021-04-15 22:31:42 INFO  - Controller '1' connected
    2021-04-15 22:31:42 INFO  - Device announced, product id: 02e3
    2021-04-15 22:31:42 INFO  - Serial number: 02680005732652
    2021-04-15 22:32:04 INFO  - Battery level: full

    means it's fully working :love:

    Another thing is, that the xow.service is by default disabled.

    But as you can enable it simply through ssh and don't even need rw access, it's a pretty simple task.

    I only have the problem that it doesn't work anyway at boot automatically, until i replug the dongle and restart the service after the system booted.

    But this can a fault of the super crappy zotac id84 system, dunno if the usb controller can't reset an port or sth.

    So i will play a bit with it and reply.

    Atm, only the blacklist file is needed and the default state of the service should be enabled.

    ------

    Can you provide me the package name that fails? Because gdk-pixbuf is basically used for gtk3 and stuff & should be used by the one compiled for the toolchain & not one provided by the host

    I have removed libgdk-pixbuf2.0-bin and rebuilding again, but it will take a while, im at 275/578 (50%), somewhere here it will fail, but need to wait and will tell you, when it finally failed xD

    -----

    EDIT:

    Okay in the meantime, while the moderators approve my post, i found out why it's not automatically starting:

    multi-user.target: Job xow.service/start deleted to break ordering cycle starting with multi-user.target/start

    Because something in systemd (libreelec?) doesn't even start the service, because of ordering boot? I have no clue xD

    EDIT2:

    Oh god, this takes forever, till this gets approved ;(

    The Package that fails is: gtk3-system

    ---> gdk-pixbuf-pixdata is not in PATH

    I have attached the corrisponding log.

    I need to get finally some sleep now, thanks for everything, see ya tomorrow!

    Cheers

  • Ramalama

    1) I've updated the xow package & it should now come with the modprobe.d conf file as template(!) where you have to edit the commented lines & the service file should hopefully now work properly:

    xow: added modprobe conf & fixed service · SupervisedThinking/LibreELEC-RR@a632084 · GitHub

    It's probably not the final stage, ideally I start the xow service after some service detecting some sort of usb devices.

    Once you've enabled the xow service by systemd enable xow it should run automatically even after reboots. I won't enable them by default because this is completely an opt-in & someone who builds the image himself can easily enable the service & delete two #

    2) thx for looking for the package, I already suspected it's gtk3-system and it's probably something like Bad error when gdk-pixbuf-pixdata is not in path (#525) · Issues · GNOME / GLib · GitLab & I have to look into it why glib-compile-resources doesn't pick up the toolchain gdk-pixbuf-pixdata which should be in place.

    Upstream LE has the same problem & patched it out gtk3: disable use of to-pixdata during build · LibreELEC/LibreELEC.tv@86f4306 · GitHub

  • Ramalama

    1) your forum account should be now approved, I've pinged a mod

    2) could you check if gtk3-system builds fine now on your minimal system?

    3) IF you're in mood and have some time to spare you could also remove curl & cabextract as packages? Then when you start to build an image it should nag & ask to install those missing ones

    = basically all problem you've reported should be hopefully fixed

  • Ramalama

    1) your forum account should be now approved, I've pinged a mod

    2) could you check if gtk3-system builds fine now on your minimal system?

    3) IF you're in mood and have some time to spare you could also remove curl & cabextract as packages? Then when you start to build an image it should nag & ask to install those missing ones

    = basically all problem you've reported should be hopefully fixed

    Thank you.

    Sure, i will test everything out.

    But it will take a bit, till i get at home + start the compilation.

    i seen that you already included the modprobe and edited the service, today at morning before i left the house. And started compiling already 😂

    will update you, when i get at home.

    EDIT: Thank you! im approved 🙈

    Cheers

  • Ramalama

    Yes the compilation of the whole images takes some time unless you're using a quite powerful system. Anyway my latest changes are rather small & with a hot ccache re-compilation should be quite fast.

    I've added some modprobe.d templates for xpadneo too, I have to check the xow config opts because basically it should be easy to let the service load a conf file where config opts are passed if needed.

    EDIT: the newest SSE4 builds already contain the latest changes

  • I sadly don't have an sse4 supported x86 platform. The D2550 is max SSE3. It was meant to throw away, since i have 2 shields and an raspberry... but well, it found a way to survive xD

    For xpadneo, it will take till tomorrow, i can test it on the RPI4 only, cause the zotac id84 has only bluetooth 3.0, (mpcie replacement card is on the way), but the gamepad is bt 4.0+ (ble), so its incompatible.

    But tomorrow, i can test it properly with the pi4.

    For cabextract/curl, it works, your build scripts asked me if i wanted to install them and did it properly :thumbup:

    For gtk3-system, im compiling already, will take a bit, till i can report back.

    For xow (system service & modprobe file): (Updated to the build from today morning just now)

    Works absolutely perfect now, it is starting perfectly at boot and works inside kodi without any issues.

    So there is nothing todo, except once, initially enable the service.

    My compilation system is an Proxmox Host (Ryzen 5800x/64gb Ecc Ram/ton of ssd storage), but sadly takes around 2h i think, i didn't really paid attention. And i compile in an lxc container (near native performance, its like a sandbox environment, not a virtual machine).

  • Ramalama

    I'm building RPi4 images at the moment but it'll take some time... tomorrow they should be ready.

    The gtk3-system package should be fine, I've renamed the host gdk-pixbuf command and it still worked so fingers crossed. Of course I would appreciate if the image can be compiled on a minimum build system.

    Have a look at the new modprobe.d conf files for xpad then, it would be nice if you could delete your old ones and the new ones shipped by the image, just delete them, apply an update and they will be restored.