My Setup
I build my first Hyperion setup probably 2 years ago. Got a raspberry pi and just connected some sk6812 to it.
These days my setup changed quite a lot, I have wled installed with an esp32 (on the backside of the tv), to control the leds.
And Hyperion still runs on my raspberry pi 4 but in another room, controlling the wled instance.
I have had quite some trouble running HDR/SDR content and thus looked into improvements to make.
Didn't find the perfect solution for that yet, but today(!!!) I played around a bit with a HDMI to CSI-2 bridge.
And I love the improvements the bridge gave me over USB Grabbers. It's way faster than any USB solution I ever tried!
It fells even faster than the setup I have had before, where I didn't run wled.
With USB Grabbers I always felt some delay when using the tv remote (to change something) and the ambilight. It just felt out of sync.
With the HDMI to CSI-2 bridge, I don't feel that! It's amazing Its the same kind of feeling when you have a laggy keyboard. You press some keys, and the input text is delayed by just a bit too much. And then you get a new keyboard and its flipping fast
But everything seems to have a sad side too:
It's completely unstable. Every time the TV turns off and on again, the Bridge needs to be reconfigured as the EDID data for that stream gets lost (?). So I always need to run some commands to set the edid and some timings again.
But even then it's often still not working.
I am currently trying to figure out if the problem is:
- Hyperion
- the source (my HDfury diva or Apple TV)
- v4l2-ctl
- the HDMI to CSI-2 bridge
Technical Side of the HDMI to CSI-2 Adapter
Here a few more infos I found out about the HDMI Adapter/Bridge.
In this forum there are only a few mentions of it. And a few people think it's capped to 1080p with 25fps (or 30fps). Thats not the entire story.
The Chip that's powering the HDMI to csi-2 transformation is the TC358743XBG. The Chip itself supports up to 1080p 60 fps (24 Bits color depth )
There are multiple versions of the Bridge itself floating around to buy.
There are the ones with the 15 Pin CSI-2 cable. These only supports 2 lanes (max of 1080p/30FPS with only 8Bit Color)
And there are boards like the Auvidea B102 (rev2) or the Geekworm C790 which have a 22 Pin (instead of 15 Pin) CSI-2 connector. These support 4 lanes with the full 1080p 60fps 24 bit experience.
But if you look at your raspberry pi, you probably will find a CSI-2 15 Pin connector (for the camera).
And yeah I am sorry to disappoint you, by default the RP (up to 4, I think) can only run the 15 Pin Version...
But the good thing, if you get yourself a computing module and the Compute Module IO Board you get the 22 Pin version.
Or the newest Raspberry Pi 5 also seems to come by default with the 22 Pin Version (4 lanes).
Note: The Zero W also has the 22 Pin connector but only has 2 lanes!!
I myself got the hands on a Waveshare HC100F Bridge (with only 15 pins). I don't know if that's one of the good boards or not.
From what I found it seems Auvidea is one of the biggest sellers, and probably the most reliable one... but that's just from googling.
---
My plan is to get either a raspberry pi 5 or a computing module, and also another HDMI to CSI-2 Bridge and check if I get better reliability out of it.
I want to look a little bit more into how the communication between Raspberry Pi and Source works (over HDMI), and why its not working after every restart.
Also since the adapter supports 24 Bits color depth, wouldn't that mean that the HDFury Diva could be retired, and we could do the HDR to SDR conversion on the pi locally?
As you can see I still have quite a few things to check and work out. But I work and I study full time, so I don't have that much time, but if I have some news I will post them here
I would love to know if the Devs working on the project had the possibility to try such a Bridge? And if I am running into a dead end, or if its worth exploring.
I forgot to add that but here a guide to configure the Bridge.
1080p25 edid:
00 FF FF FF FF FF FF 00 52 62 88 88 00 88 88 88
1C 15 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27
12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 1D 80 D0 72 38 2D 40 10 2C
45 80 80 38 74 00 00 1E 01 1D 80 18 71 38 2D 40
58 2C 45 00 80 38 74 00 00 1E 00 00 00 FC 00 44
43 44 5A 2D 48 32 43 20 4D 4F 44 0A 00 00 00 FD
00 14 78 01 FF 10 00 0A 20 20 20 20 20 20 01 C8
02 03 1A 71 47 A1 22 22 22 22 22 22 23 09 07 01
83 01 00 00 65 03 0C 00 10 00 01 1D 80 18 71 38
2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D 80 18
71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D
80 18 71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E
01 1D 80 18 71 38 2D 40 58 2C 45 00 80 38 74 00
00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04
1080p30 edid:
00 FF FF FF FF FF FF 00 52 62 88 88 00 88 88 88
1C 15 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27
12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 1D 80 18 71 38 2D 40 58 2C
45 00 80 38 74 00 00 1E 01 1D 80 18 71 38 2D 40
58 2C 45 00 80 38 74 00 00 1E 00 00 00 FC 00 44
43 44 5A 2D 48 32 43 20 4D 4F 44 0A 00 00 00 FD
00 14 78 01 FF 10 00 0A 20 20 20 20 20 20 01 B9
02 03 1A 71 47 A2 22 22 22 22 22 22 23 09 07 01
83 01 00 00 65 03 0C 00 10 00 01 1D 80 18 71 38
2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D 80 18
71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D
80 18 71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E
01 1D 80 18 71 38 2D 40 58 2C 45 00 80 38 74 00
00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03
And here a 1080p50 edid if someone ever needs one.