How to use real hdmi resolutions?

I tested HDMI resolution on official firmware (Vim_Marshmallow_Root_170121) and my firmware (Mmallow and Nougat) too.
HDMI resolution is fixed on 1920x1080 60fps.
I switched HDMI at resolution 720x480, and it is also stretched to 1920x1080.

You can check it with command “dumpsys display | grep mBaseDisplayInfo”.

root@Vim:/ # dumpsys display | grep mBaseDisplayInfo
mBaseDisplayInfo=DisplayInfo{“Built-in Screen”, uniqueId “local:0”, app 1920 x 1080, real 1920 x 1080, largest app 1920 x 1080, smallest app 1920 x 1080, mode 1, defaultMode 1, modes [{id=1, width=1920, height=1080, fps=60.000 004}], colorTransformId 1, defaultColorTransformId 1, supportedColorTransforms [{id=1, colorTransform=-22}], rotati on 0, density 240 (159.895 x 160.421) dpi, layerStack 0, appVsyncOff -5500000, presDeadline 17666666, type BUILT_IN , state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}

This problem already solved on the forum geekbox.
How to use real hdmi resolution on Khadas VIM like on geekbox?

You can follow below the command to test:

root@Vim:/ # wm size 720x480
root@Vim:/ # wm density 320  (160/240)

I check it.

root@Vim:/ # dumpsys display | grep mBaseDisplayInfo
mBaseDisplayInfo=DisplayInfo{“Built-in Screen”, uniqueId “local:0”, app 1920 x 1080, real 1920 x 1080, largest app 1920 x 1080, smallest app 1920 x 1080, mode 1, defaultMode 1, modes [{id=1, width=1920, height=1080, fps=60.000004}], colorTransformId 1, defaultColorTransformId 1, supportedColorTransforms [{id=1, colorTransform=-22}], rotation 0, density 350 (159.895 x 160.421) dpi, layerStack 0, appVsyncOff -5500000, presDeadline 17666666, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
root@Vim:/ #
root@Vim:/ #
root@Vim:/ # wm size 720x480
root@Vim:/ # wm density 160
root@Vim:/ # dumpsys display | grep mBaseDisplayInfo
mBaseDisplayInfo=DisplayInfo{“Built-in Screen”, uniqueId “local:0”, app 1920 x 1080, real 1920 x 1080, largest app 1920 x 1080, smallest app 1920 x 1080, mode 1, defaultMode 1, modes [{id=1, width=1920, height=1080, fps=60.000004}], colorTransformId 1, defaultColorTransformId 1, supportedColorTransforms [{id=1, colorTransform=-22}], rotation 0, density 350 (159.895 x 160.421) dpi, layerStack 0, appVsyncOff -5500000, presDeadline 17666666, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
root@Vim:/ #

The image is resized, but not stretched to full screen. It is not real resolution. We need real resolution for use our display on native resolution.

The edges of the display shows the real resolution’s contour. The cursor goes beyond the image, because the real resolution to the wider.


In this way we got a real resolution on geekbox. How to did it on khadas?

1 Like

What is it on ‘uboot/board/khadas/configs/kvim.h’ file

define CONFIG_EXTRA_ENV_SETTINGS
“firstboot=0\0”
“upgrade_step=0\0”
“jtag=apao\0”
“loadaddr=1080000\0”
“outputmode=1080p60hz\0” \
“hdmimode=1080p60hz\0”
“display_width=1920\0”
“display_height=1080\0”
“display_bpp=16\0”
“display_color_index=16\0”
“display_layer=osd1\0”
“display_color_fg=0xffff\0”
“display_color_bg=0\0”
“dtb_mem_addr=0x1000000\0”
“fb_addr=0x3d800000\0”
“fb_width=1920\0”
“fb_height=1080\0” \

What is the settings?

Do you need the HDMI resolution is 720x480 or 1280x800 ?

I need 136676860, 128080060, 102460060, 80048060 (All resolution for car’s display). I’ll add it on the kernel himself, but I don’t know how to disable conversion to 1920x1080.

If I modify /common/arch/arm64/boot/dts/kvim.dts

meson-fb {
compatible = “amlogic, meson-fb”;
memory-region = <&fb_reserved>;
dev_name = “meson-fb”;
status = “okay”;
interrupts = <0 3 1
0 89 1>;
interrupt-names = “viu-vsync”, “rdma”;
mem_size = <0x01800000 0x00100000>; /* fb0/fb1 memory size */
display_mode_default = “720p60hz”;
scale_mode = <1>;
display_size_default = <1280 720 1280 2160 32>;

I have this result

root@Vim:/ # wm size
Physical size: 1280x720
root@Vim:/ # dumpsys display | grep mBaseDisplayInfo
mBaseDisplayInfo=DisplayInfo{“Built-in Screen”, uniqueId “local:0”, app 1280 x 720, real 1280 x 720, largest app 1280 x 720, smallest app 1280 x 720, mode 1, defaultMode 1, modes [{id=1, width=1280, height=720, fps=60.000004}], colorTransformId 1, defaultColorTransformId 1, supportedColorTransforms [{id=1, colorTransform=-22}], rotation 0, density 240 (160.157 x 160.421) dpi, layerStack 0, appVsyncOff -5500000, presDeadline 17666666, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}

But the picture on the display is left at the top.

And what is the file ‘/system/etc/mesondisplay.cfg’? What do it do?

PS: Odroid C2 has utility and can select one of supported resolutions.

The Vim is still not support for some special resolution, but we will add the support for it some time later

I did not ask about unsupported resolution. I’ll add unsupported resolution himself.

I ask about standart resolution, like 1280x720 or 720x480 or 720x576.
How to use real standart resolution?

If you choose screen resolution (1280x720 eg) in the settings menu/hdmi, you won’t get a real resolution 1280x720. The image will be stretched to 1920x1080 will be blurry!

The image is always displayed 1920x1080 regardless of the selected resolution!
You can check it with command “wm size” and “dumpsys display | grep mBaseDisplayInfo”/

I choosed screen resolution 1280x720 in the settings menu/hdmi, and this is my log:

root@Vim:/ # wm size
Physical size: 1920x1080
root@Vim:/ # dumpsys display | grep mBaseDisplayInfo
mBaseDisplayInfo=DisplayInfo{“Built-in Screen”, uniqueId “local:0”, app 1920 x 1080, real 1920 x 1080, largest app 1920 x 1080, smallest app 1920 x 1080, mode 1, defaultMode 1, modes [{id=1, width=1920, height=1080, fps=60.000004}], colorTransformId 1, defaultColorTransformId 1, supportedColorTransforms [{id=1, colorTransform=-22}], rotation 0, density 350 (159.895 x 160.421) dpi, layerStack 0, appVsyncOff -5500000, presDeadline 17666666, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}

How to fix it and use REAL standart resolution (1280x720 or or 720x480 or 720x576)???

And what is the file ‘/system/etc/mesondisplay.cfg’?
Why is it cuts off picture?

I don’t know also, but you can create the file and add the char into it. Have a try.:grinning:

MBOX meson8m2 720

I tried it.

After that, it turns out 1920x1080 is cut off the part of the size 1280x720. In this case, the Android continues to output 1920x1080.

VIM can display only image in resolution of 19201080. It is the big problem for the small displays.
How will You solve the problem with the use of display resolutions other than 1920
1080?
How to use the native resolution for example 1280*720 or other standard resolution?

Hi,davemf
what’s it about ?

I have successfully added all the new HDMI resolution on the rockchip, but it doesn't work on amlogic.
I have try modif files like onroidC2 board, but new resolution does not added.
I found how to set any screen resolution via build.prop. You need to add two lines:

const.window.w=1280
const.window.h=800
After that the picture has resolution 1280x800 on the display is left at the top.
After that I cuts off picture with using the file '/system/etc/mesondisplay.cfg', but mesondisplay.cfg has only 720p and 1080p only. 
'mesondisplay.cfg' file is used on two files 
vendor/amlogic/frameworks/services/systemcontrol/DisplayMode.h
vendor/amlogic/frameworks/services/systemcontrol/DisplayMode.cpp
I have try modify this files for 1280x800 resolution, but but new resolution does not added.
I can sent your my modified files on your email.

PS:

const.window.w=1280
const.window.h=720

with mesondisplay.cfg

720p

works perfectly.

Yes, I did it on geekbox on rk3368. But it does not work on Vim.
mesondisplay.cfg has 1080p and 720p only…
And how to use it with standart 720480 and custom 1280800, 1024600, 800480?

We need this resolution on 7 inch displays.

Hi,davemf
We were busy in this week and will have a try for the custom resolution in next week.
Thanks

1 Like

Hello, Any update?
We have the same issue with How to use real hdmi resolutions?. Thanks!

We very need custom and native resolutions.

hi, @davemf @cobbin

Terry is working to solve the issue, and he has already done that, but we don’t have enough monitor/display for testing, so is it possible for you two to help us for testing?

Thanks!