Re: KMS question

From: Ville Syrjälä
Date: Thu Apr 13 2017 - 12:21:03 EST


On Thu, Apr 13, 2017 at 11:37:45AM -0400, Ilia Mirkin wrote:
> On Thu, Apr 13, 2017 at 11:36 AM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
> > On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@xxxxx> wrote:
> >> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
> >>>
> >>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@xxxxx> wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>> how can I disable the behaviour in the KMS drivers
> >>>> that enables all outputs at once?
> >>>>
> >>>> It is very annoying that on a POS machine with an
> >>>> 1024x768 LVDS and a 800x480 secondary monitor (both built-in)
> >>>> the KMS driver wakes up both. Then the framebuffer console
> >>>> and plymouth use both screens, making the primary output
> >>>> very odd with only the top-left part used by the boot splash.
> >>>>
> >>>> I would like the boot splash to be shown only on the primary
> >>>> output at its full resolution instead of on all outputs using
> >>>> the smallest common rectangle.
> >>>>
> >>>> Is there a kernel command line configuration that achieves this?
> >>>>
> >>>> The device in question uses the gma500 kernel driver but the same
> >>>> behaviour is observed with the i915 and radeon drivers.
> >>>>
> >>>
> >>> The problem is fbdev is not multi-head aware. The fbdev emulation in
> >>> the KMS drivers attempts to light up all monitors so that something
> >>> shows up on all heads. If you really want different per head
> >>> configurations, you need to use the KMS API directly. As a
> >>> workaround, you can use the kernel command line to disable the output
> >>> you don't want to be lit up. See:
> >>> https://wiki.archlinux.org/index.php/kernel_mode_setting
> >>> for more info. basically add video=TV-1:d to disable the output in
> >>> question. Replace TV-1 with whatever connector you want to disable.
> >>
> >>
> >> I tried adding video=DVI-D-1:d to the kernel command line.
> >>
> >> The effect is while the second output is indeed disabled, the
> >> framebuffer console still takes the second output's resolution
> >> into account and the boot splash is still using only the top-left
> >> 800x480 part of the 1024x768 primary screen.
> >>
> >> Also, the secondary screen got disabled also in X which is not desired.
> >> Can I wake it up under X somehow? This device is using the modesetting
> >> DDX driver.
> >
> > Can you enable it via randr?
>
> I think the video= based disable forces the connector to be disabled
> irrevocably.

# echo detect > /sys/class/drm/<whatever>/status

--
Ville Syrjälä
Intel OTC