OSMC and Hyperion

That would be nice need anything to help?

Is there any improvement here?

Not yet – I’d like to be able to reproduce the problem here.

What is the simplest way for me to set up a test environment to reproduce this?

Sam

It is best described here, here and here

As far as I know, you only need to enable hyperion, and start playing movies, stutter will happen.

So am I right in thinking I don’t need any other equipment to repro?

I know we fixed a lot of issues and improvements were reported, but things are still not quite right apparently.

Sam

If you have no led hardware, either configure a “file” led type which writes to a file like /dev/null or use a udp led device that fires udp packets to an ip/port

Thanks for this.

Let me see how I get on. If I run in to any trouble setting up I will let you know.

Cheers

Sam

2 Likes

Any findings?

I haven’t had a chance to look in to this yet.

Sam

New Vero 4K user reporting in. As many others, I have an RPi3 working great with Hyperion. One hundred and three APA102 LEDs via SPI following this tutorial. Since all the wiring and glueing was quite a pain, I’d like to keep the RPi3 running and doing all the LED work, while another Hyperion instance on the Vero 4K will analyse the played content and send instructions to the Hyperion instance on the RPi3 and tell it which LEDs to light. So far, so theoretical.

Now how the heck do I do this? Install hissingshark’s installer from github on the Vero, sure, but where to go from there? Gotta admit I don’t understand the hyperion guide to control multiple devices. Could anybody please point me in the right direction?

1 Like

Thanks to @deresistance I was able to get Hyperion working on the Vero 4K! Thanks, man, your post was priceless. :smiley: As you suggested, I chose the first binary option in the installer and didn’t compile from scratch.

Maybe I could’ve guessed the missing write permission for user osmc with HyperCon in /etc/hyperion (which I fixed by a temporary chmod 777 and then reverting back to chmod 755), but I never would have thought of changing framegrabber to amlgrabber in /etc/hyperion/hyperion.config.json. While framegrabber was present in the .json, the ambilight only worked in Kodi’s GUI and everything to do with it (YouTube addon etc.), but not in video files played via Kodi’s player. After changing it to amlgrabber, the ambilight worked in videos, but not in Kodi’s GUI. So as @hissingshark and @nrosier suggested above, I put together two sections with a slightly different value for priority:

        // NO V4L2 GRABBER CONFIG
        // FRAME GRABBER CONFIG
        "amlgrabber" :
        {
                "width" : 64,
                "height" : 64,
                "frequency_Hz" : 10.0,
                "priority" : 890
        },

        "framegrabber" :
        {
                "width" : 64,
                "height" : 64,
                "frequency_Hz" : 10.0,
                "priority" : 891
        },

After that, it now works in Kodi’s GUI and in videos.

A minor downer, though, is that it only works with SDR videos. HDR video files make the ambilight display weird wrong colours. Is this a known bug? Only thing I could find was this thread on github.

Anyway, thanks for your help in this thread, guys! Super happy it’s working now. :slight_smile:

Don’t you experience sync issues with this setup? Like after some time playback slows down while audio continues at normal speed.

Would have to check this once more. I’ve enabled the AML-grabber a couple of days ago as the V4L-grabber stopped working after the last update. Haven’t watched a lot these last couple of days so to soon to tell but for now I didn’t have any issues.
I do hope the V4L-grabber gets fixed soon (usbtv driver is broken in latest OSMC) as for other sources the ambilight is not working (and even my wife noticed so…).

Nope. Watched A Quiet Place (FullHD, x264, SDR, ~ 7 GB) yesterday, no issues. Maybe only HEVC material is affected. Is one of the values incorrect or something? If you want to have a look at the complete configs (which are nearly identical anyway), here you go:

Vero Hyperion Config

Raspi3 Hyperion Config

As mentioned above, what’s the current status with HDR/BT.2020 material? Is Hyperion supposed to work correctly with it? I mostly get green and pink colours which hardly change.

1 Like

To those experiencing some problems with Hyperion (playback performance), I’d be interested to know if changing dirty regions fixes this problem.

Edit /home/osmc/.kodi/userdata/advancedsettings.xml and add:

<advancedsettings>
    <gui>
       <algorithmdirtyregions>0</algorithmdirtyregions>
    </gui>
</advancedsettings>

This will increase load on idle, but might improve things for those having playback issues after a period of time.

Sam

Hi folks,

I upgraded to a external grabber solutin now. (bought myself a lightberry hdmi kit 5 lightberry.eu)

I asked Tomek, the owner of Lightberry what I had to change and he said I only have to add the v4l2grabber to my grabber section.

So I added
> “grabber-v4l2” :

	{
		"device" : "/dev/video0",
		"input" : 1,
		"standard" : "PAL",
		"width" : 720,
		"height" : 576,
		"frameDecimation" : 2,
		"sizeDecimation" : 8,
		"priority" : 800,
		"mode" : "2D",
		"cropLeft" : 5,
		"cropRight" : 5,
		"cropTop" : 5,
		"cropBottom" : 5,
		"redSignalThreshold" : 0.2,
		"greenSignalThreshold" : 0.2,
		"blueSignalThreshold" : 0.2
	},

So far so good but when I start hyperion.serivce it won’t start at all.
After a

/usr/bin/hyperiond /etc/hyperion/hyperion.config.json,

I get

Hyperion Ambilight Deamon (5379)
Version : master (brindosch-709faea/49a9ca9-1508693345
Build Time: Jan 11 2018 08:05:51
INFO: Selected configuration file: /etc/hyperion/hyperion.config.json
HYPERION INFO: ColorTransform ‘default’ => [0; 49]
HYPERION INFO: ColorCorrection ‘default’ => [0; 49]
HYPERION INFO: ColorAdjustment ‘default’ => [0; 49]
LEDDEVICE INFO: configuration:
{
“colorOrder” : “rgb”,
“delayAfterConnect” : 0,
“name” : “Vero4k2”,
“output” : “/dev/ttyS0”,
“rate” : 100000,
“type” : “adalight”
}

Opening UART: /dev/ttyS0
Unable to open RS232 device (IO Exception (13): Permission denied, file /home/osmc/hyperion-vero4k/source/dependencies/build/serial/src/impl/unix.cc, line 100.)
INFO: Creating linear smoothing
HYPERION (CS) INFO: Created linear-smoothing(interval_ms=33;settlingTime_ms=200;updateDelay=0
EFFECTENGINE INFO: 27 effects loaded from directory /usr/share/hyperion/effects
EFFECTENGINE INFO: Initializing Python interpreter
INFO: Hyperion started and initialised
INFO: Boot sequence ‘Rainbow swirl’ EFFECTENGINE INFO: run effect Rainbow swirl on channel 0
BLACKBORDER INFO: threshold set to 0 (0)
BLACKBORDER INFO: mode:default
started
INFO: Kodi checker created and started
INFO: Json server created and started on port 19444
INFO: Proto server created and started on port 19445
QtHttpServer started on port 32472 “Qt Static HTTP File Server”
terminate called after throwing an instance of ‘std::runtime_error’
what(): VIDIOC_S_INPUT ERROR 25, Inappropriate ioctl for device
Aborted
osmc@Vero4k:/etc/hyperion$ ^C
osmc@Vero4k:/etc/hyperion$ sudo nano hyperion.config.json
osmc@Vero4k:/etc/hyperion$ /usr/bin/hyperiond /etc/hyperion/hyperion.config.json
Hyperion Ambilight Deamon (5514)
Version : master (brindosch-709faea/49a9ca9-1508693345
Build Time: Jan 11 2018 08:05:51
INFO: Selected configuration file: /etc/hyperion/hyperion.config.json
HYPERION INFO: ColorTransform ‘default’ => [0; 49]
HYPERION INFO: ColorCorrection ‘default’ => [0; 49]
HYPERION INFO: ColorAdjustment ‘default’ => [0; 49]
LEDDEVICE INFO: configuration:
{
“colorOrder” : “rgb”,
“delayAfterConnect” : 0,
“name” : “Vero4k2”,
“output” : “/dev/ttyS0”,
“rate” : 100000,
“type” : “adalight”
}

Opening UART: /dev/ttyS0
Unable to open RS232 device (IO Exception (13): Permission denied, file /home/osmc/hyperion-vero4k/source/dependencies/build/serial/src/impl/unix.cc, line 100.)
INFO: Creating linear smoothing
HYPERION (CS) INFO: Created linear-smoothing(interval_ms=33;settlingTime_ms=200;updateDelay=0
EFFECTENGINE INFO: 27 effects loaded from directory /usr/share/hyperion/effects
EFFECTENGINE INFO: Initializing Python interpreter
INFO: Hyperion started and initialised
INFO: Boot sequence ‘Rainbow swirl’ EFFECTENGINE INFO: run effect Rainbow swirl on channel 0
BLACKBORDER INFO: threshold set to 0 (0)
BLACKBORDER INFO: mode:default
started
INFO: Kodi checker created and started
INFO: Json server created and started on port 19444
INFO: Proto server created and started on port 19445
QtHttpServer started on port 61144 “Qt Static HTTP File Server”
terminate called after throwing an instance of ‘std::runtime_error’
> what(): VIDIOC_S_INPUT ERROR 25, Inappropriate ioctl for device
Aborted

As far as my limited linux skills get, I suppose there is an issue with the video input device (ergo the fushicai grabber).
Normally I have to add /dev/video0 to my config but I only have /dev/video10.

Can anyone explain this to me or where did I go wrong? :confused:

Cheers quintz

I think you need to fix permissions on Hyperion source directory.

You probably created it and built as root

I gave the folders full permision(chmod -R 777)…
Or what do you exactly mean?

This is the real error - no access to the serial port device

Ignore the reference to the line of code - that’s only for developers

We may need a udev rule to fix these permissions

Sam