Jump to content

Accelerated Kodi on X11/Wayland. Possible?


theophile

Recommended Posts

Armbianmonitor:

I've got a Rock64 1GB (rk3328) running Focal with the legacy 4.4 kernel. I've compiled and installed from source various things like libmali, libdrm, mpp, ffmpeg, and gstreamer, and have successfully gotten ffmpeg and gstreamer to do hardware decoding and gstreamer doing hardware video encoding. I also managed to compile and install xserver 1.20 from the rockchip-linux Github and have it running a barebones LXDE installation.

 

I am now setting my sights on Kodi. I have stock LibreELEC installed and working on another sdcard, but my TV only supports 50Hz, 59.96Hz, and 60Hz refresh rates, meaning that 23.976fps content does not play smoothly. I've read enough to understand that the Kodi GBM renderer that LibreELEC uses does not support the Kodi feature that allows for the playback and audio to be synced to the nearest available refresh rate, meaning that if there is any hope of getting that feature working on this board, I am going to have to compile Kodi for X11 or Wayland.

 

I'm aware of JMMC's excellent media script, and I've relied on it heavily for what source packages need to be installed, build parameters, and other information. (Thanks JMMC!)

 

I ran into some problems compiling Kodi for X11. Specifically, when trying to link the `kodi-x11` binary against libEGL.so and libGESLv2.so from the libmali package compiled from source, linking fails with an ocean of "undefined reference" errors to various gl functions, starting with this:

build/rendering/gles/rendering_gles.a(RenderSystemGLES.cpp.o):RenderSystemGLES.cpp:function CRenderSystemGLES::SetScissors(CRectGen<float> const&): error: undefined reference to 'glScissor'

 

Compiling succeeds when linking instead against the "stock" versions of the libraries from libegl-dev and libgles-dev, but then when trying to run `kodi-x11`, I get "./kodi-x11: symbol lookup error: ./kodi-x11: undefined symbol: glScissor." Interestingly, the same function that the linker complains about when trying to use the libmali versions of these libraries.

 

Before I spend more time trying to make this work, I want to make sure I'm not wasting my time. Is the current state of development for this platform such that it is actually possible to run Kodi with hardware video decoding/playback within an accelerated X environment such that Kodi's "sync playback to display" function works as intended? Or am I going to have to buy a TV that supports proper cinematic refresh rates?

 

Thanks all!

 

 

Link to comment
Share on other sites

On 10/20/2020 at 7:16 PM, lanefu said:

You may find a libreelec image to be a better fit for your needs

Thanks. I have stock LibreELEC installed and working on another sdcard, but my TV only supports 50Hz, 59.96Hz, and 60Hz refresh rates, meaning that 23.976fps content does not play smoothly. I've read enough to understand that the Kodi GBM renderer that LibreELEC uses does not support the Kodi feature that allows for the playback and audio to be synced to the nearest available refresh rate, meaning that if there is any hope of getting that feature working on this board, I am going to have to compile Kodi for X11 or Wayland.

 

My question is whether it is actually possible to run Kodi with hardware video decoding/playback within an accelerated X environment such that Kodi's "sync playback to display" function works as intended.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines