Hey Guys,
I appologize as a new user I can only include 2 links per post so I have altered the links below so I can post them with missing parts.
So I’ve spent about 6 hours trying to get a simple HDMI-IN -> HDMI-out passthrough to function adequitely but I’ve run into a bit of a dead end.
It seems like the mainline kernel drivers for the rockchip rk3588 only support NV12 and NV24 hardware accelerated NV12, NV24 RGB colorspace conversions.
forum radxa com t/hdmi-input-on-rock-5b/16242/4
As long as I run the default resolutions provided by the default EDID they all force my computer to send video to HDMI-in using NV24 (1080p@60hz) or NV12 (4k@60hz), however if I add a custom resolution using a tool like CRU for (1080p@120hz) or (3840x1080@60hz) the computer will not let me send the video as NV12/NV24, only BGR3 color format. If anyone knows how to force the computer to send NV12/NV24 instead of BGR3 I think that will be one possible solution, but I could not change the color format to YCrCb from the AMD Radeon Panel so I suspect that something needs to be changed on the Rock 5B+ to indicate that it accepts NV12/NV24 at this custom resolution. I briefly tried experimenting with wxedid to add detail resolutions, but just like CRU all the custom resolutions didn’t support NV12/NV24.
So I moved onto trying to get Armbian Ubuntu Noble running on the board in hopes that I could downgrade the kernel to “legacy kernel 5.10.110-rockchip-rk3588” “legacy 5.10 kernel
linux-image-legacy-rk35xx” and then install “rockchip-multimedia-config”.
Unfortunately currently Armbian doesn’t support the Rock 5B+.
I kind of wish I’de purchased a Rock 5B instead of the Rock 5B+ as I didn’t realize I would need to use an unofficial image to get the video hardware acceleration working. Is this something Radxa has the ability to fix? This comment from Feb 23 seems to suggest it’s beyond the scope of what they will do. forum radxa com t/introduction-to-rockchip-multimedia-ppa-for-ubuntu-jammy/14537/4
I really hope that someone will release Armbian for this new Rock 5B+ and also add support for the legacy kernel and “rockchip-multimedia-config”.
Alternatively if anyone knows a way to get custom HDMI-in resolutions work with NV12 and NV24 color_format on by default I would very much appreciate knowing. I found the following post and tried his custom EDID but none of them worked (perhaps because they are for the 5B and not 5B+ but I doubt it). forum radxa com t/rock5b-hdmi-capture-hardware-accelerated-video-processing-examples/16878
I suspect this may be depending on the video drivers on the device sending HDMI to the HDMI-in port of the Rock 5B+, but I have multiple PC’s and as of yet I can’t get any of them to send NV12/NV24 color format HDMI signal to the HDMI-in of the Rock 5B+ at a custom resolution.
EDIT: This thread has some great information about perhaps forcing the HDMI-in EDID to say it cannot accept RGB at all, and that would force it to use NV12 or NV24 for all resolutions. It looks like however some computers may ignore the EDID but I think it is worth a try, I will need to figure out which part of the EDID says it can accept RGB8 (BGR3) so I can disable it. If anyone else knows any help would be appreciated. https://forums.raspberrypi.com/viewtopic.php?t=342075
EDIT2: I did some more digging into the EDID override for YCbCr only and it seems 420 YCbCr is only supported for standard TV resolutions as said by ToastyX himself.
https://www.monitortests.com/forum/Thread-custom-resolution-4k-2160p60hz-4-2-0?pid=6580#pid6580
4:2:0 resolutions can only be defined using TV resolution codes, so 72/96 Hz wouldn't be possible. 1920x1080 @ 100/120 Hz is theoretically possible, but that would require the driver to acknowledge 4:2:0 for those resolutions. I don't know about NVIDIA, but AMD wouldn't do 4:2:0 for 1920x1080 the last time I checked. Also, the HDMI 2.0 data block has a 30-bit (10 bpc) option for 4:2:0.
So it looks like my only option will be to try and get Armbian working and then add support for HW acceleration via the older 5.1 kernel and “rockchip-multimedia-config”. As there doesn’t seem to be any other way to get the hardware acceleration working for RGB HDMI inputs.