On Tue, Jun 23, 2015 at 09:58:37PM +0100, Russell King - ARM Linux wrote:
On Tue, Jun 23, 2015 at 05:48:51PM -0300, Fabio Estevam wrote:
On Tue, Jun 23, 2015 at 5:41 PM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
I've just tried this (the HBi1 was booted previously with the HDMI socket disconnected). Just now, I turned the TV on, and then connected it to the HDMI.
Thanks for testing it.
The TV reported a resolution of 1024x768, and the kernel log was silent.
That's the point that makes me confused: shouldn't it report a higher resolution like 1080p?
No - it won't go higher than the initial mode that was set. See drm_fb_helper_hotplug_event():
max_width = fb_helper->fb->width; max_height = fb_helper->fb->height; drm_fb_helper_probe_connector_modes(fb_helper, max_width, max_height);
This calls connector->funcs->fill_modes with the max width/height, which calls down into drm_helper_probe_single_connector_modes_merge_bits() and there's limitations in there which means that we won't try to increase the size of the framebuffer.
You do get that behaviour if you have the X server running, and that's all down to the X server itself doing that (reacting to the hotplug event which DRM generates.)
The initial fb allocated for fbdev emulation does indeed restrict what fbdev/con will show. But it should in now way affect the mode list (that's only the fbdev code doing the filtering there) or X. You should be able to list/set 1080p. Might be useful to figure out with drm.debug whether the mode was kicked out for some driver/hw restriction reason, that should get logged. -Daniel