Scale Frame Buffer for different screen resolution


I have developed a GUI for a 7" touchscreen display with a resolution of 800x480. However I now need to use this same GUI on a 7" display with a resolution of 1024x600.

What LVGL version are you using?

Version 8

What do you want to achieve?

A simple method of scaling up the GUI to fit the new screen.

What have you tried so far?

I have changed horizontal and vertical resolutions to match the new display as below:
disp_drv.hor_res = 1024;
disp_drv.ver_res = 600;
This works as expected by making my GUI fill the screen, however this also means all icons and fonts appear smaller. My ideal solution would scale these so they appear the same size as they appear on the lower resolution display. Will I have to set the resolution to the lower values of 800x480 and then scale the output to the framebuffer accordingly? Or is there an easier way? Would I then also have to convert the touchscreen input coordinates back?


Will I have to write a custom flush callback to achieve this. Or should i be possible by changing the DPI setting?