HDR - EDID override?

Is there any way to force HDR10 support in disp_cap or other file to enable.

My TV and projector both support HDR10 but my HDMI splitter is blocking this with any EDID mode which supports HD audio.

i.e.
4k60 7.2 mode - supports HD audio pass through, but not HDR
4k60 HDR mode - supports HDR but not HD audio pass through

I have been using the mode to support HDR and using PCM output but I’ve convinced myself that pass through audio sounds better.

I have checked the EDID modes supported when the Vero is connected directly to my TV and HDR working (cat /sys/devices/virtual/amhdmitx/amhdmitx0/disp_cap) and copied these to disp_cap as below, but there is no mention of HDR support and HDR still does not work with the splitter in line (Video plays but the TV does not switch to HDR10 mode).

/home/osmc/,kodi/userdata/disp_cap
480p60hz
576p50hz
720p50hz
720p60hz
1080p24hz
1080p25hz
1080p30hz
1080p50hz
1080p60hz*
2160p24hz
2160p25hz
2160p30hz
2160p50hz
2160p60hz
smpte24hz
smpte50hz
smpte60hz
640x480p60hz

Try
echo 1 | sudo tee /sys/class/amhdmitx/amhdmitx0/force_hdr

Brilliant - that’s done it. Thanks for your help.

1 Like

Good good. That setting will not survive a reboot. You can put a line into a file called rc.local. Here’s mine

osmc@vero4tv:/$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 1 > /sys/class/amhdmitx/amhdmitx0/force_hdr
exit 0

Just out of curiosity, what’s the difference between doing this and setting Settings/Player/Videos/HDR processing to “Force passthrough”?

Force passthough never forced anything. I intended it to do what you would expect (ie set force_hdr) but it never worked.

Hi @grahamh

Reading this post, my denon doesn’t passthrough hdr10+.

Would adding this setting helps to “override” it?
osmc@vero4kp2:~$ cat /sys/class/amhdmitx/amhdmitx0/hdmi_hdr_status
HDR10Plus-VSIF

And add that to rc.local?

If i connect vero to samsung it recognizes hdr10+ but via denon x4500h it doesn’t.

So i thought could this work?

Execute the command from the command line and test. If it doesn’t work, a simple reboot will revert.

Hmmm. According to the HDMI spec, ‘repeaters’ such as AVRs are not supposed to pass through any data they don’t support, so if your AVR doesn’t recognise a HDR10+ AVIF then it has every right to discard it. The force_hdr trick has no right to work either but it does on my old Yamaha.

Do you get that hdmi_hdr_status message with Vero connected to the AVR? If you do, there’s hope. Some logs would be useful. But you can’t just echo that string to hdmi_hdr_status - it’s read only.

Hi @grahamh @ActionA

I guess I misunderstood this.

The current command gives this
osmc@osmc:~$ cat /sys/class/amhdmitx/amhdmitx0/hdmi_hdr_status
HDR10-GAMMA_ST2084

This is with vero to avr to samsung while playin a hdr10+ file

With direct connection it gives this
osmc@osmc:~$ cat /sys/class/amhdmitx/amhdmitx0/hdmi_hdr_status
HDR10Plus-VSIF

I was in the understanding to “modify” this via rc.local, but guess this is not possible.

No it’s not possible that way. But I have an idea …

1 Like