@uxe kindly send me one of his devices and I have it working:
It is a bit variable for me as it was for @uXe. It loses sync, and some builds works, some don't, and some have significant glitches. I am using 20cm and 50cm HDMI cables.
I have experimented with using nextpnr to improve the timing and the results are variable.
I am using the --freq and --opt-timing parameters. Perhaps @daveshah can tell me if there are other parameters that I should try.
When I set --freq 125, nextpnr works, although icetime gives the timing estimate as 97.71 Mhz. That build works but with significant visual artifacts.
If I set --freq 150, nextnpr fails saying the maximum frequency for clk_x5 is 135.76.
If I set --freq 135, the build works but I get no HDMI signal. Similarly for --freq 140. which reports a max frequency for clk_x5 of over 150 Mhz, but produces no HDMI output.
So varying --freq changes whether the build produces HDMI output and what sort of glitches it produces. The timing estimates from nextnpr and icetime are significantly different but it looks like they are reporting on different clocks.
The build with the best timings are not the ones that perform best.
@uxe tells me there are issues with his Verilog driving code, so maybe they are more significant that the timing..