Questions about compiling OpenELEC for i386

  • I am trying to find out how does OpenELEC assigns dependencies of packages (and the version), such as kodi depends on x11, and x11 depends on many libs & utils. I have some questions.

    Does OpenELEC use buildroot? Is there a "make graph-depends" command (I saw it in buildroot manual) that I can to print package dependencies?

    It's a noobie question. Please help, thanks.

  • I have found a way to pass compiling libpixman of OpenELEC 6.0.3 i386.

    The "package.mk" file in packages/x11/lib/pixman/ has configuration for x86_64, but there is no configuration for i386. I just added a line and remarked the other lines. Besides, SSE3 is disabled for x86_64. I am wondering if it's safe to enable SSE3 for i386.

    Now, the compiling of OpenELEC 6.0.3 for i386 continues.

    Besides, now I know that package.mk is the key to control package version. It's good to find an answer by myself.

  • OE has very (very) distant origins in the OpenBricks buildsystem but it's effectively a custom buildsystem. It's using PKG_DEPENDS to create the build sequence, but there's isn't anything that allows you to visualise what that sequence is (and these days LE does parallel build which would make that much more variable; OE is at least sequential not parallel so the sequence will be consistent. If you want to trace package dependencies "git grep" on the package names is about as good as it gets.

  • Thanks for your patience and answer in detail. That's exactly what I've wanted to know.

    BTW, enabling SSE3 in pixman will result in compile error. I have checked package.mk of newer pixman and found SSE3 is disabled, too. However, the question should be discussed in pixman forum, not here, I think.

    Edited 2 times, last by eloreson (September 12, 2021 at 12:47 PM).

  • Hi,

    I have built a LibreELEC image for i386 from appletv-7.0 branch of Chewitt's fork. I did git clone the fork and checkout appletv-7.0. After completing the build process, I found a file "LibreELEC-Generic.i386-7.0-devel-20210912223241-r23224-gb8564aa.system" in directory "target" and I thought it is the image to write to SD card. Rufus warned me the image file seems not bootable, so I switched to "LibreELEC.USB-SD.Creator". When I put the SD card in the i386 laptop, it is not bootable.

    What did I miss? Need some advice.

    Edited 2 times, last by eloreson (September 13, 2021 at 5:07 AM).

  • Thanks.

    I got it. The command I ran was "PROJECT=Generic ARCH=i386 make release". Now I run "PROJECT=Generic ARCH=i386 make image" and I got a "LibreELEC-Generic.i386-7.0-devel-20210913141255-r23224-gb8564aa.img.gz".

    I tried it on my old laptop. I saw LibreELEC logo screen, then the screen turned to black and stuck there forever. The CAPS Lock key is responsive.

    I looked the IP assignment in my router, LibreELEC got an IP. I tried to SSH, but connection was refused immediately, not waiting for some time and no response.


    I tried the same SD card on a newer laptop with x64 CPU. The screen stuck as the following image. SSH also got refused immediately.

    Edited 3 times, last by eloreson (September 13, 2021 at 9:00 AM).

  • I have SSH connection now (by editing "syslinux.conf").

    I tried "pastekodi" and got "-sh: pastekodi: not found".

    I have checked package.mk of Kodi. It seems "pastekodi" command was not supported before LibreELEC 9.2.

    Is there any way to dump a log in LibreELEC 7.0?

  • Code
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: failed to open any driver (search paths /usr/lib/dri)
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: Last dlopen error: /usr/lib/dri/i915_dri.so: cannot open shared object file: No such file or directory
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: failed to load driver: i915
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: failed to open any driver (search paths /usr/lib/dri)
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: Last dlopen error: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: failed to load driver: kms_swrast
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: failed to open any driver (search paths /usr/lib/dri)
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: Last dlopen error: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: failed to load swrast driver
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: couldn't get display device

    ^ It cannot load the Intel i915 GPU driver and also fails to fall-back onto swrast. So what GPU is in the laptop?

  • I compared the log of LibreELEC and OE5.0.8, they both detected Intel 915GM. The difference is LibreELEC has the following trouble:

    Code
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: Current version of pixman: 0.34.0
    Sep 14 00:37:53 LibreELEC xorg-launch[563]:         Before reporting problems, check http://wiki.x.org
    Sep 14 00:37:53 LibreELEC xorg-launch[563]:         to make sure that you have the latest version.
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: Markers: (--) probed, (**) from config file, (==) default setting,
    Sep 14 00:37:53 LibreELEC xorg-launch[563]:         (++) from command line, (!!) notice, (II) informational,
    Sep 14 00:37:53 LibreELEC xorg-launch[563]:         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: (==) Log file: "/var/log/Xorg.0.log", Time: Tue Sep 14 00:37:53 2021
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: failed to open any driver (search paths /usr/lib/dri)
    Sep 14 00:37:53 LibreELEC xorg-launch[563]: gbm: Last dlopen error: /usr/lib/dri/i915_dri.so: cannot open shared object file: No such file or directory

    It seems LibreELEC can't find driver file in the specific dir. It's not whether driver is correct, instead, it's the driver does not exist. I will check file structure of LibreELEC on laptop and report.

  • I have checked "/usr/lib", there is no subdir "dri". And I have searched the file system using "find / -type f -name i915_dri.so" and "find / -type f -name "*_dri.so"" and "find / -type f -name '*_dri.so'", the result was nothing.

    So, the problem is obvious, no driver file. How could this happen?

  • Just a guess.

    I found that the Linux partition on SD card was not resized. I have checked it with partition utility. I suppose there should be a partition resize procedure in the first boot. Maybe it's the cause. Partition not resized, so no system required files copied.