AnsweredAssumed Answered

Change resolution at runtime on iMX8

Question asked by Paolo Gentili on Jun 9, 2020
Latest reply on Jun 16, 2020 by Wigros Sun

Hi everyone,

on our previous system (which was based on imx6dl, yocto krogoth) we were able to support multiple displays for our projects. The displays are connected via LVDS.

 

Basically we were doing something like this at boot:

  • fbset --timings a b c d e f
  • fbset --geometry a b c d e f
  • /etc/init.d/weston restart

And it worked flawlessy with 3 different displays, with different resolutions.

 

Now we're trying to implement something similar on imx8mm, yocto sumo. The main difference here is that we are using systemd.

 

I was expecting to make it work with these steps:

  • fbset --timings a b c d e f
  • fbset --geometry a b c d e f
  • systemctl restart weston

But weston.service is somehow resetting my fbset configuration. This is the message that I get after the service restart:

[ 4724.330511] imx-drm display-subsystem: sn65dsi83_bridge_disable
[ 4724.389148] imx-drm display-subsystem: sn65dsi83_bridge_mode_set: mode: 1280*800@70000
[ 4724.393025] imx-drm display-subsystem: sn65dsi83_bridge_enable
[ 4724.393032] sn65dsi83 3-002c: sn65dsi83_brg_setup
[ 4724.403996] sn65dsi83 3-002c: PIXCLK [ 70000000 ] Hz
[ 4724.404001] sn65dsi83 3-002c: DSI clock [ 420000000 ] Hz
[ 4724.404005] sn65dsi83 3-002c: GeoMetry [ 1280 x 800 ] Hz
[ 4724.408619] sn65dsi83 3-002c: LVDS SINGLE CHANNEL
root@icoremx8mm_alma:~# [ 4725.123157] imx-drm display-subsystem: sn65dsi83_connector_detect
[ 4725.129310] imx-drm display-subsystem: sn65dsi83_connector_get_modes
[ 4725.135728] imx-drm display-subsystem: sn65dsi83_connector_mode_valid: mode: 1280*800@70000 is valid

but the resolution I'm setting with the fbset commands is 1024*798.

 

I would really not want to write different device trees for each of our diffent product because of maintainability.

Do you have any suggestion to make it work?

 

Thanks

Paolo Gentili 

Outcomes