I have connected a tablet running Android 4.4 to an external monitor through an MHL to HDMI cable. However, the monitor does not have the same resolution and thus the resulting image is not very good. How can I instruct the system to send a different resolution to the external screen?
1 Answer
On my Note3 running Lollipop I was able to check for supported external resolutions by running ( via a terminal app or adb shell )
>dmesg
and ( filtering with grep ) looking for the lines:
<6>[ 581.051746] hdmi_edid_add_sink_video_format: EDID: format: 1 [640x480 p60 4/3], Supported
<6>[ 581.051756] hdmi_edid_add_sink_video_format: EDID: format: 1 [640x480 p60 4/3], Supported by MHL
<6>[ 581.051767] hdmi_edid_add_sink_video_format: EDID: format: 16 [1920x1080 p60 16/9], Supported
<6>[ 581.051777] hdmi_edid_add_sink_video_format: EDID: format: 16 [1920x1080 p60 16/9], Not-Supported by MHL
<6>[ 581.051790] hdmi_edid_add_sink_video_format: EDID: format: 4 [1280x 720 p60 16/9], Supported
<6>[ 581.051801] hdmi_edid_add_sink_video_format: EDID: format: 4 [1280x 720 p60 16/9], Supported by MHL
<6>[ 581.051812] hdmi_edid_add_sink_video_format: EDID: format: 133 [1280x1024 p60 5/4], Not-Supported
<6>[ 581.051822] hdmi_edid_add_sink_video_format: EDID: format: 133 [1280x1024 p60 5/4], Not-Supported by MHL
<6>[ 581.051833] hdmi_edid_add_sink_video_format: EDID: format: 132 [1024x768 p60 4/3], Not-Supported
<6>[ 581.051843] hdmi_edid_add_sink_video_format: EDID: format: 132 [1024x768 p60 4/3], Not-Supported by MHL
which you'll note correspond to supported resolutions in:
>cat /sys/devices/virtual/graphics/fb1/edid_modes
1,4
then select your preferred output using :
>setprop hw.hdmi.resolution 1
and then re-plug the mhl adapter.
which in my case resulted in 640x480 which was the only option supported by my 800x600 projector.
Thanks to this StackExchange answer!
-
What is the "1" at the end of "...resolution 1"? Is it from the format number after the EDID: line?– AJWCommented Dec 28, 2017 at 5:00