Dependencies for Moonlight

Hope I’m not out of line by necrobumping this, but my question is related to the kernel on Vero V. Please let me know if I need to create a new topic. Thanks for creating a new topic @grahamh

My question comes from a curiousity of how the kernel works. In particular, I’m trying to understand what parts of the kernel for Vero V determine which kernel version is used. I’m not a kernel maintainer or anything, just a Linux user and long-time Vero enthusiast :slight_smile:

In my limited view the kernel version depend on the drivers, e.g. for the SoC and connectivity hardware, is that correct? Another dependency may be the Linux distribution and version? For Debian Bullseye that’s 5.10. Are there any other dependencies?

Given this, I can imagine that the kernel version is determined by the lowest common denominator, i.e. the dependency (device driver or other) which newest version supports the oldest kernel version. From what I know the supply chain for the drivers goes back to kernel maintainers and the hardware vendors, so that’s probably a big factor in the supported kernel? There are also some very smart people that work on reverse engineering drivers of proprietary hardware. For example, I saw a post on Phoronix that mentioned support for Mali 450 (the GPU in Vero V) for kernel 5.2. Are such drivers considered for Vero? Edit: scratch that, I probably misread that somewhere, but the Vero V spec page clearly lists Mali G31 as GPU.

BTW, I looked for the Vero V kernel in the OSMC org on GitHub, but did not find any recently updated repos. Am I looking in the wrong place? Edit: ok I was on the right track, but had to dig a little deeper. The build script in the osmc-kernel package reveals that vero3-linux is the Linux repo for Vero V. Is that correct?

I also tried find out which kernel modules are loaded on the Vero V. Oddly enough lspci does not work (after installing pciutils and running update-pciids). It just gives an empty output. lshw does give output, but not on all components (even when run as super-user). I can run lsmod and take a guess by Googling the module names or looking through the big list of Linux drivers so that gives some insight.

Maybe if you could explain why you want this information (what would you like to achieve?) we could give some targeted answers.

You could research linux in general to understand how the version numbering works. I don’t think Vero’s kernel is different from any other regarding versioning.

Vero doesn’t use pci so I’m not surprised lspci came up with nothing.

2 Likes

Hi @grahamh, thanks for replying. You’re right, maybe I should’ve explained a bit more about my intentions.

I guess the reason I asked about Linux versioning is because I wanted to learn about the evolution of the DRM/KMS subsystem in Linux and its relation to the Vero Linux kernel. My current practical use case is game streaming with Moonlight. I’ll explain why below.

I’m testing Moonlight game streaming on Vero using a patched moonlight-embedded or moonlight-qt. The former works fine together with a Kodi addon. The latter is more feature rich in itself with a frontend and performance overlays, but requires more (runtime) dependencies.

I cannot find anyone who has had a working moonlight-qt on Vero yet, and I’m trying to find out why. A comment on Discord hinted at KMSDRM with Linux 5.8 as requirement. This makes sense, because when I run moonlight-qt it errs with:

0:00:00 - SDL Error (0): SDL_InitSubSystem(SDL_INIT_VIDEO) failed: kmsdrm not available

But when I read into the DRM/KMS subsystem I found out that it has been part of the Linux kernel for a long time. The DRM Wikipedia page has a reference that dates back to 2001. From what I understand (but correct me if I’m wrong) a lot of the DRM functionality was/is tied to Xorg and recent development has made it more independent of the display server. Vero doesn’t run in a display server, so to run any other application, like moonlight-qt, it needs to have access to the rendering manager?

You could research linux in general to understand how the version numbering works. I don’t think Vero’s kernel is different from any other regarding versioning.

That’s a good point, I’ll try to read up on this.

Vero doesn’t use pci so I’m not surprised lspci came up with nothing.

That makes sense, I didn’t realize that this was a possibility.

Moved your posts so they might get some more eyeballs.

1 Like