This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Display resolution change at runtime - OMAP5

Hi,

We are running Android JB on one of our platforms with OMAP5. One of the requirements is to be able to dynamically change the display resolution. Out of the 3 framebuffers the output_size of fb1 and fb2 is getting changed to the new resolution but the output_size for fb0 (connected to GFX piepline) is not getting updated.

As per one of the documents, one of the options we tried was to compile omapfb as a module, unload the module by calling rmmod, set new resolution by calling fbset and reloadign the module. But since omapfb has dependencies, we are unable to unload the module. Calling rmmod, error no 11.

What would be the correct way to support runtime display resolution changes.

Thanks,

Apar

  • Hi Apar,

    Did you manage to track what are those dependencies? And why not implement the resolution changing in the kernel driver for the fb

    Regards,

    Boyko

  • Hello Boyko,

    lsmod lists the dependence count for omapfb as 2. One of the dependent drivers is pvrsrvkm_sgx544_116.ko but I am unable to stop this driver too. As far as I understand, it is launched as part of a service pvrsrvinit.


    I can surely dig into the FB driver and try to implement the resolution change. But was based on this doc - http://processors.wiki.ti.com/index.php/SGXDbg#Changing_the_display_resolution_run_time I thought there should be a simpler solution.

    Regards,

    APar

  • Hi Parikh

    I am not aware of more simple solution, which will work.

    Regards,

    Boyko

  • Hello Boyko,


    I was finally able to change the resolution of fb0 using fbset which in turn got reflected onto the input_size of overlay0. But that did not help me resolve my problem.

    So, I'll put forth the problem that I am facing again -

    Our requirement is to be able to support multiple display resolutions at runtime. We are running JB on omap5

    On bootup, overlay0 and overlay1 (input_size and screen_width) get initialized to whatever resolution it reads from hdmi panel. Overlay0 is enabled by default and display output is fine.

    Now when we disconnect the current hdmi panel and connect another hdmi panel with different resolution, overlay0 gets disabled and overlay1 gets enabled. The output_size of overlay1 gets updated to new resolution but the input_size does not change. As a result, the output looks stretched or shrinked because of scaling and does not show the true resolution. How do we change input_size on overlay1 to the new resolution?

    Any help would be greatly appreciated.

    Thank you,

    Aparikh

  • Hi Aparikh,

      I am in a similar situation to support dynamic HDMI display resolution change in OMAP5 panda board, do you find any solution yet ? please let me know.

      How do you resolved with fbset ?  Since I am trying to unload omaplfb module, I am getting error "failed (errno 11)". 

    Thanks,

    Hari