He conectado una tableta con Android 4.4 a un monitor externo a través de un cable MHL a HDMI. Sin embargo, el monitor no tiene la misma resolución y, por lo tanto, la imagen resultante no es muy buena. ¿Cómo puedo indicarle al sistema que envíe una resolución diferente a la pantalla externa?
En mi Note3 con Lollipop, pude verificar las resoluciones externas compatibles ejecutando (a través de una aplicación de terminal o adb shell)
>dmesg
y (filtrando con grep) buscando las líneas:
<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
que notará que corresponden a las resoluciones admitidas en:
>cat /sys/devices/virtual/graphics/fb1/edid_modes
1,4
luego seleccione su salida preferida usando:
>setprop hw.hdmi.resolution 1
y luego vuelva a enchufar el adaptador mhl.
que en mi caso resultó en 640x480, que era la única opción admitida por mi proyector de 800x600.
¡Gracias a esta respuesta de StackExchange !
AJW