Need alpha-testers for moonlight on Vero 4/5

Oh, those dmesg might be insightfull I hope. Will actually spend some time on them tonight.

Thanks, good to hear! I recompiled with the snippet from this comment applied, but sadly that doesnā€™t make a difference.

I know you are streaming 4k, could you try 1080p and h264

Oh sorry, I failed to mention that, I do stream 1080p. I tried both H264 and H265, same result.

Ok, then Uā€™m guessing Kodi does something to the VideoProcessing unit and doesnā€™t reset it back to previus state (like before video is plated).

And I wonder, Do you get the reversed behavior, if ml-em been runn succesfully, can Kodi play video efterwards?

Yes, Kodi plays video fine afterwards.

Read you last comment on Github about fps, thatā€™s the if statement, to %60 if to clear/render the buffer, which seemed to be unstable in my case, if it was my old Intel sending to much garbage frames, this cleared it for me so that i didnā€™t get like 20 secs of flow, 4 secs of freeze and 1-10 secs flow and complete freezeā€¦

ā€œ%60 is the modula of 60 framesā€ to be clear. My edition to the code which i wanted to have tested for improvement or regression.

Now I got a clean enviroment again and i get as good as i can get it from shell. Now i havenā€™t configure a clean exit from stream yet, using ctrl+c in shell via ssh.

You black after running ml-emb, do you get it while the kodi interface or only when starting a video in kodi ??

I got a black screen direct in kodi-ui but heard navigation sounds. Changed a sys/class setting restarted medicaneter and voila kodi UI and video playingā€¦

You can exit cleanly by pressing Ctrl+Alt+Shift+Q on your keyboard or Play+Back+LeftShoulder+RightShoulder on your controller.

If I understand correctly, the modulo change should fix the increasing latency? If so Iā€™ll try it next time I have access to my Vero.
I misunderstood the code at first, but then I realized the static in static int framecount means that the variable will be declared once and the value kept in subsequent calls. This means that framecount is increased every time aml_submit_decode_unit is called. I missed that detail the first time, thinking that framecount would always be 1. TIL.

I only get a black screen in Moonlight if I:

  • Play a video in Kodi before starting MBE.
  • Uncomment the line write_bool("/sys/class/graphics/fb1/blank", true); in src/platform.c, which clears framebuffer 1.
  • Run echo 1 > /sys/class/graphics/fb1/blank before starting MBE, which effectively does the same

I never have had a black screen in Kodi.

I donā€™t know (yet) what ā€œclearing the framebufferā€ exactly means and why there are two framebuffers fb0 and fb1, but they seem to be affecting eachother. Setting fbX/blank to true/1 clearly results in a black screen at some point in ML or Kodi. I donā€™t have access to my Vero right now, but when I do, Iā€™ll experiment a bit with the values of fb0/blank and fb1/blank and observe the effects on Kodi and Moonilght.

I tried to apply the framecount fix you mentioned, but Iā€™m having trouble compiling MLE. I think there might be a dependency mismatch between libamcodec-osmc and libamcodec-dev-osmc, after an update. When I run apt install libamcodec-dev-osmc it fails with:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libamcodec-dev-osmc : Depends: libamcodec-osmc (= 2.2.0-2) but 2.2.0-3 is to be installed
E: Unable to correct problems, you have held broken packages.

If I try to install (downgrade) with apt install libamcodec-osmc=2.2.0-2 it errs with E: Version '2.2.0-2' for 'libamcodec-osmc' was not found.

Running dpkg -l | grep libam yields:

rc  libamcodec-dev-osmc                  2.2.0-2                            armhf        libamcodec
ii  libamcodec-osmc                      2.2.0-3                            armhf        libamcodec

Currently, running cmake ../ in MLE fails with -- Performing Test HAVE_BICS_AES - Failed.

Hereā€™s the full CMake output: https://paste.osmc.tv/owomalesub.lua
Hereā€™s the full CMakeError.log: https://paste.osmc.tv/olayihaxup.js

It says src.c:(.text+0xa): undefined reference to '__builtin_cpu_supports'. So thatā€™s probably whatā€™s causing the error. But the weird thing is that I didnā€™t have this error before.

Iā€™m not sure if the package and the cmake error are related, at least I cannot find any relation between the two.

Ok, apparently the two problems are related. I was able to circumvent the dependency issue by running:

apt download libamcodec-dev-osmc
sudo dpkg -i --ignore-depends=libamcodec-osmc libamcodec-dev-osmc_2.2.0-2_armhf.deb

Now moonlight builds again.

Itā€™s a bit cheating, but I can imagine the dependency requirements of both are a bit too strict and the library versions match, just the package increments donā€™t (if I read the versions correctly). So I expect that this will work fine. @sam_nazarko, might you be interested in this information?

I reported this problem earlier to him, but I might have blamed PEBKAC, either way it will be managed. I do belie Iā€™ve solved it it by looking into staging repo. and found a dev 2.2.0-3, and grabbed that manually and ā€œapt-get / dpkgā€ installed the downloaded package.

I suggest you try that, if you have the time.

1 Like

Itā€™s solved in the repository now.
You should keep both packages in sync.

1 Like

Thanks @sam_nazarko