How does the graphics stack work? (Trying to get moonlight to work)

I’m in the process of getting moonlight embedded to work (please see details here if you can help) and I have some trouble understanding the graphics stack of OSMC in Vero V. I tried using the aml platform with moonlight-embedded, is this the correct one?

From what I understand, there is no X or Wayland server, so what is used to display the interface of Kodi?
I heard about AMLogic which seems related to that, but I’m not sure exactly what this is and how it works.

Right now, I just want to try to play a video without Kodi, so, how can I play a video after running this command:

sudo systemctl stop mediacenter


If I try to use ffplay, I see the following output

The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

and I see something similar when trying to use mpv:

The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
[vo/sdl] SDL_Init failed
Error opening/initializing the selected video_out (--vo) device.

Can you please explain how the graphics stack works and how I could play a video without Kodi?



I already posted there 3 weeks ago with no answer. That’s why I’m asking for help here and try to just play a video at first instead of doing the more complex streaming process with moonlight.

It simply means, if the people in that thread (that spent quite some significant time on it) can not get it going there is currently no way to get it going.

I might have confused you by mentionning moonlight here, but my current goal is just to play a video without Kodi and to better understand the graphics stack, so let’s focus on this instead, please.

I’m assuming I need something that uses direct framebuffer or maybe aml for that.

Okay, but you wrote:

It’s possible to play videos via the command line and I can point you in that direction, but if Moonlight isn’t your planned use case then what is? There will be a lot to handle if you plan on taking the path of playing videos via CLI


Well, the ultimate goal would be to debug why moonlight is not working (and for the record, someone from the issue linked above was able to make it work, at least on the Vero 4K).

In order to be able to do so, I believe it would help me if I understand better the graphics stack and play some videos without Kodi.

It’s possible to play videos via the command line

Just to make sure, while I indeed want to play the video from the command line, I want it to play in HD, not in some degraded form in the terminal via ascii art or something.

Thanks for your help!

If you read through that thread, you should get an understanding of what is needed to play video via CLI as well as a better explanation of the graphics stack.

I think the most feature filled command line player with hardware acceleration for AMLogic devices would probably be GitHub - OtherCrashOverride/c2play: Command line video player for Odroid C2

But this hasn’t been maintained in time.

I’ve promised the Moonlight guys hardware (but they don’t seem interested) as well as other resources.
You’d probably need to update decoder structures as per: Vero 4K support · Issue #573 · moonlight-stream/moonlight-embedded · GitHub

I can see some changes were introduced to support CoreELEC: Update Amlogic decoder by TheChoconut · Pull Request #860 · moonlight-stream/moonlight-embedded · GitHub. Perhaps some changes here have caused some problems and they should be reverted.