Issue Setting 59.9Hz Refresh Rate on Solidrun HummingBoard Pulse (i.MX8M Plus) with Weston

Hello, I am developing a video playback application on the Solidrun HummingBoard Pulse (i.MX8M Plus) and have built a Yocto image following the meta-solidrun-arm-imx8 GitHub repository. I am using Weston as the compositor and have added fullscreen-shell.so to my build.

I configure my monitor’s resolution and refresh rate by editing /etc/xdg/weston/weston.ini, which works for most modes listed in the EDID connection, including 1920x1080@60Hz, 50Hz, 30Hz, 25Hz, and 24Hz. However, I am unable to get it to work specifically at 59.9Hz.

Here is the relevant output from Weston:

[10:19:58.683] Output HDMI-A-2 (crtc 39) video modes:
1920x1080@60.0 16:9, current, 148.5 MHz
1920x1080@59.9 16:9, 148.4 MHz ← This mode does not work
1920x1080@50.0 16:9, 148.5 MHz
1920x1080@30.0 16:9, 74.2 MHz
1920x1080@25.0 16:9, 74.2 MHz
1920x1080@24.0 16:9, 74.2 MHz
1280x720@60.0, 74.2 MHz
1280x720@50.0, 74.2 MHz
720x576@50.0 16:9, 27.0 MHz
720x480@60.0 16:9, 27.0 MHz
720x480@59.9 16:9, 27.0 MHz

Since 59.9Hz is listed as a supported mode, but fails to apply, then defaults to 1080@60.0 (this also happens at 720@59.9 it defaults to 1080.60.0)

I am wondering:

  1. Could this be a hardware limitation of the board or HDMI output?

  2. Could this be a kernel driver issue, and if so, what logs or configs should I check?

  3. Are there any known issues with Weston or the i.MX8M Plus HDMI driver related to this?

Any insights or troubleshooting tips would be greatly appreciated!

1 Like

This should be a supported refresh rate. I will test locally and get back with my findings.

1 Like

Thanks for looking into this! I just wanted to follow up to see if you made any progress with getting 59.9Hz to work.

To include fullscreen-shell.so in my Yocto build, I added this to local.conf:

PACKAGECONFIG:append:pn-weston = " shell-fullscreen"

Then I built the image with:

bitbake imx-image-full

After booting, I stopped the default Weston session:

systemctl stop weston
systemctl disable weston

I then modified /etc/xdg/weston/weston.ini like this:

[core]
backend=drm-backend.so
shell=fullscreen-shell.so
idle-time=0
use-g2d=1

[output]
name=HDMI-A-2
mode=1920x1080@59.9
transform=normal

When I run Weston manually with:

weston --tty=1 --config /etc/xdg/weston/weston.ini

I see 59.9Hz listed as an available mode, but it defaults back to 60.0Hz instead of applying 59.9Hz.

Did you run into the same issue during your testing? Let me know if you found anything!

Thanks again!

1 Like

This appears to be a BSP limitation, not a hardware limitation. I am still debugging the full stack to figure out where the failure is.

2 Likes

Thank you

This is an ongoing clock configuration issue. It is being discussed in mainline kernel mailing list. Re: [PATCH 1/2] clk: imx: clk-imx8mp: Allow LDB serializer clock reconfigure parent rate - Liu Ying

Thanks for looking into this for me, I’ve had a look at the link you sent, and it seems that this problem is known but unresolved.

So it seems at present the imx8mp is unable to play at 59.9Hz, I am wondering do you have any workarounds for achieving this in the meantime (whilst the issue is being worked on).

1 Like

well it is resolved, but requires a mainline patchset and custom device-tree changes. Can I ask is there a specific reason you need 59.9Hz rather than 60Hz? Just because 59.9Hz is kind of a legacy hold over from CRT displays.

Thanks for clarifying, do you think adding this patch is something you be able to assist in?

Regarding the use case for 59.9 or more precisely 59.94Hz. All US professional broadcast systems, and the associated cameras used for sports and Broadcast studios, use 59.94Hz as the precise frame rate. Some of the cameras, particularly their viewfinders, are very sensitive to P59.94 and will not play P60. This is especially the case when using low delay cameras at outside broadcast events.

Hence our need for 59.94Hz support for the decoder application for this product.

As an example, if you have a look at Sony portable Professional cameras and look under the Electrical characteristics drop-down on the URL below you will see 59.94Hz called out and it is the same for Panasonic, Cannon, Toshiba etc… It is the absolute requirement for Pro-Broadcast work in the USA.

Professional Broadcast is a relatively large market.

Very interesting and fair enough. Do you only need 59.94 support? If I can provide a fixed clock rate that supports this signal is that enough, or does it need to by dynamic for other output refresh rates?

It will need to be dynamic, the HDMI output is being fed into an HD SDI converter that supports the following refresh rates:

Video standard
1080p 60Hz 59.94Hz 50Hz 30Hz 29.97Hz 25Hz 24Hz 23.98Hz
1080i 60Hz 59.94Hz 50Hz
720p 60Hz 59.94Hz 50Hz

so I am happy to help with this, but it may take me a few days to ingest the patches from mainline and see what is missing. I also haven’t tested 1080i at all on this platform, so that is probably something that may need additional time.

Thank you very much, that would be most helpful.

For now 1080i is not a priority, the main objective is to output at the specified refresh rates for 1080p, and 720p, but will be worth investigating after the refresh rates are achieved.

Hello, I was wondering if you have made any progress, or if you could offer any more advice on this matter. Thanks.