HDMI 2.0 on Gemini Lake is finicky. I came up with this kernel hack to make it work without random black screens on a Samsung TV:
Diff
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 2fa9ba3..b258e1d 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2549,7 +2549,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
pipe_config->hdmi_scrambling = true;
if (pipe_config->port_clock > 340000) {
- pipe_config->hdmi_scrambling = true;
+ pipe_config->hdmi_scrambling = false;
pipe_config->hdmi_high_tmds_clock_ratio = true;
}
}
Display More
No idea if this would help in your case.