Hyperion.NG, Amlogic improvements

Sorry I’m not very familiar with the hyperion structure. Is it possible to use a Coreelec box to grab an HDMI signal (not the kodi stream) and run an LED strip using Hyperion? I asked over at the Hyperion forum and they said that the CE Hyperion is broken or something. If its indeed possible, is there some guide and recommended hardware for the grabber/ connection diagram? I would like the use WLED on an ESP device with the addressable LEDs. Thanks in advance.

Hyperion is broken yes, but everywhere because it’s EOL.
You need to use Hyperion.NG! This works without any issue and is still active development.

By default it uses the Amlogic provided grabber but it also support like USB grabber. So I think this is the way you want to go. I don’t have experience with such tool but it should work for sure.
Then you will need to adjust the hyperion capture configuration and set correct priorities that the USB grabber is used.

Best would be you search again in Hyperion forum about a supported and working USB grabber. Like here: Looking for HDMI USB Grabber - Hardware Support - Hyperion-Project Forum

1 Like

Thanks that worked literally out of the box!

Hi CoreELEC Community,

I’m running CoreELEC 19.5-Matrix_rc2 on an ODroid N2+ and when I turn on Hyperion NG the system crashes and reboots. The system usually runs for a few hours, but inevitably it crashes. I turned on Hyperion NG debugging and with two crashes the last two log entries were:

2022-11-08T16:33:18.422Z [WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff: 2022-11-08T16:33:18.535Z [WEBSOCKET] (DEBUG) (JsonAPI.cpp:129:handleInstanceSwitch()) Client '::ffff:' switch to Hyperion instance 0 2022-11-08T16:33:18.881Z [WEBSOCKET] (DEBUG) (JsonAPI.cpp:1184:handleLoggingCommand()) log streaming activated for client ::ffff:

I had the same problem with my previous X96 Air (S905x3) box.

Hyperion System Summary Report (My Hyperion Config), Reported instance: unknown

< ----- System information -------------------- >
Hyperion Server:
- Build:             coreelec-19 (Portisch-4e1e71c671/a564cb9e76-1656654478)
- Build time:        Jul  2 2022 02:36:16
- Git Remote:        https://d502bcdb732ea6af7e02f2f06569bc606abbbd3c@github.com/CoreELEC/CoreELEC.git
- Version:           2.0.13
- UI Lang:           en (BrowserLang: en-US)
- UI Access:         default
- Avail Screen Cap.: framebuffer,amlogic,qt
- Avail Video  Cap.: v4l2
- Avail Services:    boblight,cec,effectengine,forwarder,flatbuffer,protobuffer,mDNS,SSDP,borderdetection
- Config path:       /storage/.kodi/userdata/addon_data/service.hyperion.ng
- Database:          read/write

Hyperion Server OS:
- Distribution:      CoreELEC (official): 19.5-Matrix_rc2
- Architecture:      arm64
- CPU Model:         Amlogic S922X rev b
- CPU Hardware:      Hardkernel ODROID-N2Plus
- Kernel:            linux (4.9.269 (WS: 32))
- Root/Admin:        true
- Qt Version:        5.13.0
- Python Version:    3.8.11
- Browser:           Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

< ----- Configured Instances ------------------ >
0: odroid n2+ wled-quin Running: true

< ----- This instance's priorities ------------ >
250:  VISIBLE! (GRABBER) Owner: Amlogic
priorities_autoselect: true

< ----- This instance components' status ------->
ALL - true
GRABBER - true
V4L - false

One curious thing that I noticed is that the resolution listed in Hyperion NG is 1920x1080, but the resolution could be as large as 3840x2160.

I’d be happy to provide longer logs or do some debugging, but I’m not sure what next steps I should do.

I use it daily without issues. But this WLED is very new and maybe it’s a bug.
Please check Hyperion.NG forum and or Hyperion.NG on Github.

I have no WLED so can’t test it at all.

Ack, I just filed this: Hyperion NG as a Kodi plugin crashes CoreELEC 19.5-Matrix_rc2 on an ODroid N2+ w/ WLED 0.13.3 · Issue #1528 · hyperion-project/hyperion.ng · GitHub

When I disable GUI Scaling and reboot, Hyperion NG lists the (AmLogic) Device Resolution as 3840x2160 (previously 1920x1080). However, I either get green artifacts on the screen or video playback stalls for a second, every few seconds. I tried different Capture Frequencies, but it had no effect.

Without CoreELEC debug logging turned on I’m seeing:

2022-11-08 19:39:08.168 T:13536 WARNING <general>: OutputPicture - timeout waiting for buffer
2022-11-08 19:39:18.568 T:13536    INFO <general>: Skipped 9 duplicate messages..
2022-11-08 19:39:18.568 T:13536 WARNING <general>: OutputPicture - timeout waiting for buffer
2022-11-08 19:39:28.852 T:13536    INFO <general>: Skipped 8 duplicate messages..
2022-11-08 19:39:28.852 T:13536 WARNING <general>: OutputPicture - timeout waiting for buffer
2022-11-08 19:41:09.048 T:14012    INFO <general>: Skipped 10 duplicate messages..

With CoreELEC debug logging turned on I’m seeing:

2022-11-08 19:42:24.489 T:13534   DEBUG <general>: CVideoPlayer::ProcessVideoData size:15842 dts:865.416 pts:865.457 dur:41.000ms, clock:857.052 level:93
2022-11-08 19:42:24.693 T:13536   DEBUG <general>: CVideoPlayerVideo::OutputPicture - ttd:822ms pts:857.582 Clock:856.759 Level:6
2022-11-08 19:42:24.693 T:13536   DEBUG <general>: CVideoPlayerVideo - OUTPUT_AGAIN - vfmt, interlace should be checked.
2022-11-08 19:42:24.711 T:13536   DEBUG <general>: CVideoPlayerVideo::OutputPicture - ttd:367ms pts:857.624 Clock:857.257 Level:6
2022-11-08 19:42:24.712 T:13536   DEBUG <general>: CVideoPlayerVideo - CDVDMsg::DEMUXER_PACKET - checking interlace vfmt: null
2022-11-08 19:42:24.734 T:13534   DEBUG <general>: CVideoPlayer::ProcessVideoData size:64708 dts:865.457 pts:865.666 dur:41.000ms, clock:857.297 level:93

I think it’s too much for the CPU as the frames are captured in software.
You can try to lower the capture frequency or limit the resolution.

But what what will help 4k capture resolution?
You have maybe ~100 LEDs, (left 20, top 30). how they should display 4k. Even a resolution of 20x30 should be enough.

I’ve tried changing the capture frequency, but it doesn’t seem to help.

The Hyperion-ng capture resolution is fixed to whatever I have set in CE->Settings->Display->Resolution. The drop-down box in the Hyperion-ng webui doesn’t allow me to select a lower resolution than the CE display resolution. Is there something I need to do to make this adjustable?

To attempt to answer my own question, I think I need to try different Display Decimation settings.

EDIT: this didn’t help.

@Portisch Here are the dumps from my last crash.

/sys/fs/pstore/console-ramoops-0: http://ix.io/4fvQ
/sys/fs/pstore/dmesg-ramoops-0: http://ix.io/4fvS

More dumps from a fresh crash:
/sys/fs/pstore/console-ramoops-0: http://ix.io/4fyi
/sys/fs/pstore/dmesg-ramoops-0: http://ix.io/4fyh

and another:
/sys/fs/pstore/console-ramoops-0: http://ix.io/4fyx
/sys/fs/pstore/dmesg-ramoops-0: http://ix.io/4fyy

I have exactly the same problem - random reset - once after a few hours, once after a few days. GT KING/S905x2 - with ambilight kit from China - based on arduino. Coreelec 19.5-Matrix_rc2 / 20.0-Nexus_beta1 - I’ve had it for about half a year - I checked everything - power supply, cables, other arduino, other leds
Dumps - the same: http://ix.io/4fTB - with:
Internal error: Oops: 96000007 [#1] PREEMPT SMP

Fresh dumps (works about 3-4h)
/sys/fs/pstore/console-ramoops-0 http://ix.io/4fYM
/sys/fs/pstore/dmesg-ramoops-0 http://ix.io/4fYN

I will need more time to make a test image.
This issue was never happen before so it will require some testing.

1 Like

Thanks for your interest - I was initially betting on some damage to my GT-KING. It started in December, I changed the box to s905x2 - and after 2-3 weeks the problem appeared again. Of course, clean installation, restoring android, installation on card / eemc etc etc - so I started to eliminate - power supplies, wires, LED, arduino, hdmi cables - everything. It took a while, because sometimes the breaks were several days or even several weeks. Different sources, different files, different Hyperion settings - full randomness - but I eliminated the hardware - it happens on both s922x and s905x2, on different versions of Hyperion, on different versions of Coreelec, on different sd cards.

Thank you @Portisch for having a look into this. I am facing the same problems with similar logs. To my opinion it is related to the amvideocap driver in the kernel.

1 Like

@rwlove @tomasiek please test with this devel image:

You can easy update by SSH:

cd .update
megadl https://.....

Please test if the kernel oops is gone and report back. If still a kernel oops happen please provide a ramoops log again.

Dont know if i should post here or in the beta section but hyperion stopped working for me in the latest 11/18 ce20.

Reverted to ce20 from 11/12 hyperion back up and running

You will need to check Webinterface of Hyperion.
It works here without issues. Maybe do remove and add the addon again as there was a addon API bump.