No 4K support on X96 Air

Hi,

I am running coreelec on X96 Air which comes with a 4K@60Hz output but my TV only supports up to 4K@30. Openelec kodi detects the 4K@30 resolution that my TV supports, but when I play 4K@30 media the kodi only switches refresh rate but keeps resolution at 1080p.

I also tried switching the resolution from Settings > System Settings > Display to 4K@30. When I try that my TV reports “no signal” and eventually kodi goes back to 1080p. So it seems like kodi is detecting 4K@30, but not able to set it. What I find interesting is that when the X96 Air boots up, it actually starts with 4K@30 when the X96 Air splash screen shows up. But as soon as coreelec starts booting it switches to 1080p. Here is what I thought might be relevant log from dmesg.

[ 1.255229@0] hdmitx: edid: EDID Parser:
[ 1.255232@0] hdmitx: hdmitx: reach vesa idx MAX
[ 1.255233@0] hdmitx: hdmitx: reach vesa idx MAX
[ 1.255234@0] hdmitx: hdmitx: reach vesa idx MAX
[ 1.255243@0] [RX]-up_phy_addr = 1
[ 1.255254@0] hdmitx: edid: change preferred_mode from 0 to 16
[ 1.255259@0] hdmitx: hdmitx: get PMT vic: 95
[ 1.255262@0] hdmitx: edid: find IEEEOUT
[ 1.255291@0] hdmitx: edid: check sum valid
[ 1.255293@0] hdmitx: edid: check sum valid
[ 1.255296@0] hdmitx: edid: check sum valid
[ 1.255297@0] hdmitx: edid: check sum valid
[ 1.255301@0] hdmitx: edid: blk0 raw data
[ 1.255322@0] hdmitx: edid:
[ 1.255322@0] 00ffffffffffff003296020b000000000c1a0103808f50781a0dc9a057479827
[ 1.255322@0] 12484c2108000100010001000100010001010101010104740030f2705a80b058
[ 1.255322@0] 8a00baa84200001e023a801871382d40582c45005d542100001e000000fc004c
[ 1.255322@0] 65747620537570657254560a000000fd00173f0f8c3c000000000000000001e9
[ 1.255322@0]
[ 1.255322@0]
[ 1.255324@0] hdmitx: edid: blk1 raw data
[ 1.255343@0] hdmitx: edid:
[ 1.255343@0] 020334f05310051f0420223c3e03070206015d5e5f6211162c097f070d7f0715
[ 1.255343@0] 7f503d7fc0830f00006a030c001000b8442f1000000000000000000000000000
[ 1.255343@0] 0000000000000000000000000000000000000000000000000000000000000000
[ 1.255343@0] 00000000000000000000000000000000000000000000000000000000000000d6
[ 1.255343@0]
[ 1.255343@0]
[ 1.255347@0] hdmitx: system: update physcial size: 1430 800
[ 1.255353@0] hdmitx: system: get current mode: 1080p60hz
[ 1.255356@0] hdmitx: system: update physcial size: 1430 800
[ 1.255389@0] hdmitx: video: already init VIC = 0 Now VIC = 16
[ 1.255393@0] hdmitx: hw: div40: 0
[ 1.284917@0] hdmitx: ddc w1b error 0x54 0x20 0x00
[ 1.284923@0] hdmitx: frac_rate = 0
[ 1.284925@0] hdmitx: hdmitx: set clk: VIC = 16 cd = 4 cs = 2 frac_rate = 0
[ 1.284929@0] hdmitx: config HPLL = 5940000 frac_rate = 0
[ 1.284986@0] hdmitx: HPLLv1: 0xdb3a04f7
[ 1.284988@0] hdmitx: config HPLL done
[ 1.284995@0] hdmitx: set_hpll_od3_clk_div[643] div = 6
[ 1.285002@0] hdmitx: j = 4 vid_clk_div = 1
[ 1.285012@0] hdmitx: set enc for VIC: 16
[ 1.326913@0] hdmitx: hw: config hdmitx IP vic = 16 cd:4 cs: 2
[ 1.326955@0] hdmitx: system: irq 80000001 0
[ 1.337027@0] hdmitx: video: Sink is HDMI device
[ 1.337088@0] hdmitx: hw: set audio
[ 1.337094@0] hdmitx: hw: hdmitx tx_aud_src = 0, audio_param->channel_num = 0, hdev->aud_output_ch = 0
[ 1.337109@0] hdmitx: fs = 0, cd = 4, tmds_clk = 148500
[ 1.337112@0] hdmitx: hw: aud_n_para = 6144
[ 1.337120@0] hdmitx: hw: set channel status
[ 1.337153@0] hdmitx: system: update rx hdr info 0
[ 1.337156@0] hdmitx: hw: set audio
[ 1.337157@0] hdmitx: hw: hdmitx tx_aud_src = 0, audio_param->channel_num = 0, hdev->aud_output_ch = 0
[ 1.337167@0] hdmitx: fs = 0, cd = 4, tmds_clk = 148500
[ 1.337169@0] hdmitx: hw: aud_n_para = 6144
[ 1.337175@0] hdmitx: hw: set channel status
[ 1.430918@0] hdmitx: [0x10000104]: 0x00000001
[ 1.430923@0] hdmitx: [0x10000180]: 0x000000ff
[ 1.430926@0] hdmitx: [0x10000181]: 0x000000ff
[ 1.430927@0] hdmitx: [0x10000182]: 0x00000003
[ 1.430930@0] hdmitx: [0x10000183]: 0x00000007
[ 1.430932@0] hdmitx: [0x10000184]: 0x0000003f
[ 1.430934@0] hdmitx: [0x10000185]: 0x00000002
[ 1.430936@0] hdmitx: [0x10000187]: 0x000000ff
[ 1.430937@0] hdmitx: [0x10000188]: 0x00000003
[ 1.515581@0] dmc_monitor_probe
[ 1.516094@0] defendkey ff630218.defendkey: Reserved memory is not enough!
[ 1.517345@0] defendkey: probe of ff630218.defendkey failed with error -22

And this is the relevant kodi log

2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 720 x 480 with 720 x 480i @ 60.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 720 x 480 with 720 x 480i @ 59.940060 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 720 x 576 with 720 x 576i @ 50.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 720 x 480 with 720 x 480 @ 60.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 720 x 480 with 720 x 480 @ 59.940060 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1280 x 720 with 1280 x 720 @ 60.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1280 x 720 with 1280 x 720 @ 59.940060 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080i @ 60.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080i @ 59.940060 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 60.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 59.940060 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 30.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 29.970030 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 50.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 24.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 1920 x 1080 @ 23.976025 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 3840 x 2160 @ 30.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 3840 x 2160 @ 29.970030 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 3840 x 2160 @ 25.000000 Hz
2020-07-29 15:12:17.650 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 3840 x 2160 @ 24.000000 Hz
2020-07-29 15:12:17.651 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 3840 x 2160 @ 23.976025 Hz
2020-07-29 15:12:17.651 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 4096 x 2160 @ 24.000000 Hz
2020-07-29 15:12:17.651 T:4060790800 NOTICE: Found resolution 1920 x 1080 with 4096 x 2160 @ 23.976025 Hz
2020-07-29 15:12:17.651 T:4060790800 NOTICE: Found (1920x1080@60.000000) at 25, setting to RES_DESKTOP at 16
20

Let me know if you need more information. Thanks in advance!

I was able to resolve this finally. If anyone is facing similar issue you can try the following steps.

  1. Navigate to to Settings > System settings > CoreELEC
  2. Turn on “Use 4:2:2 colour subsampling”
  3. Reboot openelec

4K works after reboot (for me at least).