通常のディスプレイは60Hzでちゃんと表示されるのだが、ある特定の59.94Hzのディスプレイは横縞が上下にずっと動いている状態になってしまった。
こちらも、日本語で書いてある説明がなくだいぶ困ったのでこちらにメモしておく。
答えとしては、以下のコマンドを実行すれば良い。
tvservice -e "CEA 16 HDMI" --ntsc
一応説明すると、--ntscとすると、HDMI_PIXEL_CLOCK_TYPE_NTSCの設定となる。
ソースのコメントを見ると、/**< Multiply norminal pixel clock by 1000/1001 to get the alternative frame rate e.g. 59.94Hz rather than 60, not applicable to all formats */となっていて、60Hz設定が59.94Hz設定となると言うわけである。
CEA 16 HDMIと言うのは、HDMIのCEAの16番の設定(1080pの60Hz)に設定と言う意味。
さらに--ntscとしているので59.94Hz設定となります。
ちなみに、HDMIのカスタム設定で59.94Hzをやったがダメで60Hzに四捨五入されていました。
表示最初数秒は縞が解消されていく過程が見えてしまうのだが、それは今後の課題として残っている。
Force 1080i video at 59.94fps
https://raspberrypi.stackexchange.com/questions/82527/force-1080i-video-at-59-94fps
HDMI_PIXEL_CLOCK_TYPE_NTSC
https://github.com/raspberrypi/userland/blob/master/interface/vmcs_host/vc_hdmi_property.h