OSMC and Hyperion

osmc@Vero4k:~$ ls -l /dev/ttyS0
crw–w---- 1 root tty 243, 0 Jun 30 17:51 /dev/ttyS0

I unplugged both my arduino and the lightberry hd kit to see if they get recognized:

osmc@Vero4k:~$ dmesg | tail -f
[302445.218559] usb 1-2: config 1 interface 0 altsetting 1 bulk endpoint 0x83 has invalid maxpacket 256
[302445.221423] usb 1-2: New USB device found, idVendor=1b71, idProduct=3002
[302445.221447] usb 1-2: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[302445.221462] usb 1-2: Product: usbtv007
[302445.221476] usb 1-2: Manufacturer: fushicai
[302445.221489] usb 1-2: SerialNumber: 300000000002
[302445.247823] videobuf2_memops: Unknown symbol put_vaddr_frames (err 0)
[302445.247937] videobuf2_memops: Unknown symbol get_vaddr_frames (err 0)
[302445.248018] videobuf2_memops: Unknown symbol frame_vector_destroy (err 0)
[302445.248101] videobuf2_memops: Unknown symbol frame_vector_create (err 0)
osmc@Vero4k:~$ dmesg | tail -f
[302445.247937] videobuf2_memops: Unknown symbol get_vaddr_frames (err 0)
[302445.248018] videobuf2_memops: Unknown symbol frame_vector_destroy (err 0)
[302445.248101] videobuf2_memops: Unknown symbol frame_vector_create (err 0)
[302490.444869] usb 1-1: new full-speed USB device number 5 using xhci-hcd
[302490.586624] usb 1-1: New USB device found, idVendor=2341, idProduct=0043
[302490.586650] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[302490.586665] usb 1-1: Manufacturer: Arduino (www.arduino.cc)
[302490.586680] usb 1-1: SerialNumber: 95233353131351810102
[302490.587198] usb 1-1: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[302490.639285] cdc_acm 1-1:1.0: ttyACM0: USB ACM device

Try /dev/ttyACM0 instead of ttyS0

I can fix the frame vector symbol issue. It’s affecting a couple of other media drivers presently

Cool!!! Been waiting impatiently for this. If there’s a test-build just let me know.

N.

Not yet I’m afraid – I’m still on holiday so haven’t been able to test this just yet

Sam

I took a fresh look at it and was able to get everything to build. This is only compile tested however.

See [SOLVED] Usbtv driver fails to load since latest update - #6 by sam_nazarko

Sam

I changed the output in my config file but still no success starting the daemon…:disappointed: (fail result=

Edit:
I changed the v4l2 back to video0 and now the daemon starts and it initializes the raindbow swirl.
Unfortunately there is no data sent to the arduino, the leds stay off…:frowning:

Edit 2:
Inside the main menu the lights are turning on and are correct but as soon as I start a movie they turn off again…it seems that there is something within my config which is wrong

Edit 3: When I post

sudo systemctl status hyperion.service

then it gives me back:

osmc@Vero4k:~$ sudo systemctl status hyperion.service

  • hyperion.service - Hyperion Systemd service
    Loaded: loaded (/etc/systemd/system/hyperion.service; disabled; vendor preset: enabled)
    Active: active (running) since Fri 2018-07-06 16:14:40 CEST; 2s ago
    Main PID: 2232 (hyperiond)
    CGroup: /system.slice/hyperion.service
    `-2232 /usr/bin/hyperiond /etc/hyperion/hyperion.config.json

Jul 06 16:14:40 Vero4k hyperiond[2232]: BLACKBORDER INFO: threshold set to 0 (0)
Jul 06 16:14:40 Vero4k hyperiond[2232]: BLACKBORDER INFO: mode:default
Jul 06 16:14:40 Vero4k hyperiond[2232]: V4L2GRABBER INFO: signal threshold set to: {51,51,51}
Jul 06 16:14:40 Vero4k hyperiond[2232]: V4L2GRABBER INFO: started
Jul 06 16:14:40 Vero4k hyperiond[2232]: INFO: V4L2 grabber created and started
Jul 06 16:14:40 Vero4k hyperiond[2232]: KODICHECK INFO: Kodi Connected
Jul 06 16:14:40 Vero4k hyperiond[2232]: KODICHECK INFO: switching to OFF mode
Jul 06 16:14:40 Vero4k hyperiond[2232]: BORDER SWITCH REQUIRED!!
Jul 06 16:14:40 Vero4k hyperiond[2232]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
> Jul 06 16:14:40 Vero4k hyperiond[2232]: V4L2GRABBER INFO: stopped

My current config is:

// Automatically generated configuration file for Hyperion ambilight daemon
// Notice: All values are explained with comments at our wiki: wiki.hyperion-project.org (config area)
// Generated by: HyperCon (The Hyperion deamon configuration file builder)
// Created with HyperCon V1.03.3 (22.10.2017)

{
// DEVICE CONFIGURATION
“device” :
{
“name” : “Vero4k2”,
“type” : “adalight”,
“output” : “/dev/ttyACM0”,
“rate” : 115200,
“delayAfterConnect” : 0,
“colorOrder” : “rgb”
},

// COLOR CALIBRATION CONFIG
“color” :
{
“channelAdjustment” :
[
{
“id” : “default”,
“leds” : “",
“pureRed” :
{
“redChannel” : 255,
“greenChannel” : 0,
“blueChannel” : 0
},
“pureGreen” :
{
“redChannel” : 0,
“greenChannel” : 255,
“blueChannel” : 0
},
“pureBlue” :
{
“redChannel” : 0,
“greenChannel” : 0,
“blueChannel” : 255
}
}
],
“temperature” :
[
{
“id” : “default”,
“leds” : "
”,
“correctionValues” :
{
“red” : 255,
“green” : 255,
“blue” : 255
}
}
],
“transform” :
[
{
“id” : “default”,
“leds” : “*”,
“hsl” :
{
“saturationGain” : 1.0000,
“luminanceGain” : 1.0000,
“luminanceMinimum” : 0.0000
},
“red” :
{
“threshold” : 0.0000,
“gamma” : 2.5000
},
“green” :
{
“threshold” : 0.0000,
“gamma” : 2.5000
},
“blue” :
{
“threshold” : 0.0000,
“gamma” : 2.5000
}
}
],
// SMOOTHING CONFIG
“smoothing” :
{
“type” : “linear”,
“time_ms” : 200,
“updateFrequency” : 30.0000,
“updateDelay” : 0
}
},
//V4L2 Grabber

"grabber-v4l2": {
    "device" : "/dev/video0",
    "input" : 0,
    "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
	},

// FRAME GRABBER CONFIG
// BLACKBORDER CONFIG
“blackborderdetector” :
{
“enable” : true,
“threshold” : 0.0,
“unknownFrameCnt” : 600,
“borderFrameCnt” : 50,
“maxInconsistentCnt” : 10,
“blurRemoveCnt” : 1,
“mode” : “default”
},

// KODI CHECK CONFIG
“xbmcVideoChecker” :
{
“xbmcAddress” : “192.168.0.7”,
“xbmcTcpPort” : 9090,
“grabVideo” : false,
“grabPictures” : false,
“grabAudio” : false,
“grabMenu” : false,
“grabPause” : false,
“grabScreensaver” : false,
“enable3DDetection” : false
},

// BOOTEFFECT CONFIG
“bootsequence” :
{
“color” : [0,0,0],
“effect” : “Rainbow swirl”,
“duration_ms” : 3000,
“priority” : 700
},

// JSON SERVER CONFIG
“jsonServer” :
{
“port” : 19444
},

// PROTO SERVER CONFIG
“protoServer” :
{
“port” : 19445
},

// EFFECT PATH
“effects” :
{
“paths” :
[
“/storage/hyperion/effects”,
“/usr/share/hyperion/effects”
]
},

// NO BOBLIGHT SERVER CONFIG
// NO JSON/PROTO FORWARD CONFIG

At least, after I installed @sam_nazarkos last update, it shows me a /dev/video0 device!
As I figured out by myself I have to delete the framegrabber inside the config and switch off kodi Check.
But after I did this, my hyperion status was

osmc@Vero4k:~$ sudo systemctl status hyperion.service

  • hyperion.service - Hyperion Systemd service
    Loaded: loaded (/etc/systemd/system/hyperion.service; disabled; vendor preset: enabled)
    Active: active (running) since Fri 2018-07-06 16:58:12 CEST; 12min ago
    Main PID: 3561 (hyperiond)
    CGroup: /system.slice/hyperion.service
    `-3561 /usr/bin/hyperiond /etc/hyperion/hyperion.config.json

Jul 06 16:58:12 Vero4k hyperiond[3561]: V4L2GRABBER INFO: pixel format=YUYV
Jul 06 16:58:12 Vero4k hyperiond[3561]: BLACKBORDER INFO: threshold set to 0 (0)
Jul 06 16:58:12 Vero4k hyperiond[3561]: BLACKBORDER INFO: mode:default
Jul 06 16:58:12 Vero4k hyperiond[3561]: V4L2GRABBER INFO: signal threshold set to: {0,0,0}
Jul 06 16:58:13 Vero4k hyperiond[3561]: V4L2GRABBER INFO: started
Jul 06 16:58:13 Vero4k hyperiond[3561]: INFO: V4L2 grabber created and started
Jul 06 16:58:13 Vero4k hyperiond[3561]: V4L2GRABBER INFO: stopped
Jul 06 16:58:16 Vero4k hyperiond[3561]: EFFECTENGINE INFO: effect finished
Jul 06 16:58:16 Vero4k hyperiond[3561]: V4L2GRABBER INFO: started
Jul 06 16:58:20 Vero4k hyperiond[3561]: V4L2GRABBER INFO: Signal lost

And screenshots are completely black :frowning:

Hi all,

topic is quite large and I need some short information.
I am still searching for a box that can play anything in Kodi and without stuttering. From SDR to HDR.
As Hue is important to me I need to know if it works correctly in this moment with hyperion and up to 4K HDR.
I understood that for the json I would need to manually add the aml-grabber. Is the hardware acceleration for HDR still disabled with this? If so, I’ll assume playback issues.
Should I just buy an external grabber? If so, which one is 100% working?
Correct me if I am wrong:

TV: OLED B7
BOX: Vero 4K with gigabit adapter? in the future if all working fine, Wetek Core right now (does not play 10bit).
Hue
Hyperion - normal or .ng?
External grabber?

Thank you!

Go for an external V4L-grabber. Less fuzz and works with everything (SDR/HDR/Vero/BR/SatTV… if you switch through and AVR).
I tried the aml-grabber again last week but still had issues.

Fushicai grabber works great again since Sam fixed the driver. The most critical component is your HDMI2AV convertor. I tried a couple cheap ones but when no signal they gave a blue or rainbow output (so blue or rainbow leds…). I finally got a 4K one (posted it somewhere in the forum) and working fine since.

Hyperion.ng is working nice here though it seems development has slowed down to nothing (for both ng and classic versions).

Would this be better combined with @hissingshark fork? I found one of your posts, is this the one?


Also, are there any issues with brightness of the Hue leds?
I think you don’t use Hue, but maybe you know.
Thanks again.

LE: fotgot to mention. I don;t have an AVR, only a soundbar (philips fidelio b5/12), but should still work, right?

That resembles the one I have. Costs a bit more but still cheaper than buying 3 non-working cheap ones :slight_smile:

AVR just makes it easy to use the grabber with everything you have. I have the Vero, Satbox, Switch, Wii, BR all connected to the AVR. On the output I have the HDMI-splitter going to TV and to the convertor. So my leds work for everything…

Don’t have hue so no clue. But you can tweak the color in hyperion. If you take ng and configure the web-interface I think you can even do it on the fly.

Is there any chance hyperion will work without any issue and the need of an external grabber?

I think it can be made to work with Hyperion.NG. Can others advise?

Sam

So far I’ve had no luck with either hyperion or hyperion.ng. The AML-grabber works but after a while audio and video get out of sync for me and I have to pause, rewind 5 seconds to get it synced again. That’s why I use the V4L grabber also for the Vero; I already had it for all other devices that had no hyperion support so it wasn’t a bit problem for me.

@sam_nazarko Does OSMC kernel support GE2D API for capturing with hyperion.ng? Like others I have audio and video sync problems with the standard aml grabber.

1 Like

It does. I also have some patches for locking if this is explored seriously by users.

Sam

I’ve compiled hyperion.ng successfully. Unfortunately the GE2D grabber doesn’t seem to work. This shows in the console when playing a video.

    [hyperiond AMLOGICGRABBER] <INFO> VPU mode
    [hyperiond AMLOGICGRABBER] <ERROR> AMSTREAM_EXT_GET_CURRENT_VIDEOFRAME failed.
    [hyperiond AMLOGICGRABBER] <WARNING> GE2D capture interface not available! try Amvideocap instead

For anyone else that wants to try hyperion.ng. It is pretty easy to compile. Just install dependencies with:

sudo apt-get update
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev

And then clone repo with:

git clone --recursive https://github.com/hyperion-project/hyperion.ng.git hyperion

And compile:

cd hyperion
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DPLATFORM=amlogic64 ..
make -j $(nproc)

Binaries will be in hyperion/build/bin.

@sam_nazarko I would appreciate if you could look into ge2d capture. You do not need actually hardware to test if you use a “file device” like this:

"device": {
    "colorOrder": "rgb",
    "output": "/dev/null",
    "rate": 1e+06,
    "rewriteTime": 5000,
    "type": "file"
},

Where do I put this configuration file?
I am a complete Hyperion noob.

Thanks

Sam

Between the first { } tags in the json file located in $HOME/.hyperion/config/hyperion_main.json.
You can also use the web interface at http://host:8090 while Hyperiond is running

Edit: just checked seems the file device is used by default when first running Hyperiond. Easiest way is to run Hyperiond and use the web interface to set up everything.