linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* KMS question
@ 2017-04-13 13:03 Boszormenyi Zoltan
  2017-04-13 14:05 ` Alex Deucher
  0 siblings, 1 reply; 8+ messages in thread
From: Boszormenyi Zoltan @ 2017-04-13 13:03 UTC (permalink / raw)
  To: lkml, Maling list - DRI developers

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.

Thanks in advance,
Zoltán Böszörmenyi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 13:03 KMS question Boszormenyi Zoltan
@ 2017-04-13 14:05 ` Alex Deucher
  2017-04-13 15:03   ` Boszormenyi Zoltan
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Deucher @ 2017-04-13 14:05 UTC (permalink / raw)
  To: Boszormenyi Zoltan; +Cc: lkml, Maling list - DRI developers

On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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.

Alex

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 14:05 ` Alex Deucher
@ 2017-04-13 15:03   ` Boszormenyi Zoltan
  2017-04-13 15:36     ` Alex Deucher
  0 siblings, 1 reply; 8+ messages in thread
From: Boszormenyi Zoltan @ 2017-04-13 15:03 UTC (permalink / raw)
  To: Alex Deucher; +Cc: lkml, Maling list - DRI developers

2017-04-13 16:05 keltezéssel, Alex Deucher írta:
> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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.

Thanks,
Zoltán

> 
> Alex
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 15:03   ` Boszormenyi Zoltan
@ 2017-04-13 15:36     ` Alex Deucher
  2017-04-13 15:37       ` Ilia Mirkin
  2017-04-13 15:48       ` Boszormenyi Zoltan
  0 siblings, 2 replies; 8+ messages in thread
From: Alex Deucher @ 2017-04-13 15:36 UTC (permalink / raw)
  To: Boszormenyi Zoltan; +Cc: lkml, Maling list - DRI developers

On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> wrote:
> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
>>
>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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?

Alex

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 15:36     ` Alex Deucher
@ 2017-04-13 15:37       ` Ilia Mirkin
  2017-04-13 16:20         ` Ville Syrjälä
  2017-04-13 15:48       ` Boszormenyi Zoltan
  1 sibling, 1 reply; 8+ messages in thread
From: Ilia Mirkin @ 2017-04-13 15:37 UTC (permalink / raw)
  To: Alex Deucher; +Cc: Boszormenyi Zoltan, lkml, Maling list - DRI developers

On Thu, Apr 13, 2017 at 11:36 AM, Alex Deucher <alexdeucher@gmail.com> wrote:
> On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> wrote:
>> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
>>>
>>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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.

  -ilia

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 15:36     ` Alex Deucher
  2017-04-13 15:37       ` Ilia Mirkin
@ 2017-04-13 15:48       ` Boszormenyi Zoltan
  1 sibling, 0 replies; 8+ messages in thread
From: Boszormenyi Zoltan @ 2017-04-13 15:48 UTC (permalink / raw)
  To: Alex Deucher; +Cc: lkml, Maling list - DRI developers

2017-04-13 17:36 keltezéssel, Alex Deucher írta:
> On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> wrote:
>> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
>>>
>>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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?

No, "xrandr --output DVI-D-1 --auto" does nothing.

> 
> Alex
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 15:37       ` Ilia Mirkin
@ 2017-04-13 16:20         ` Ville Syrjälä
  2017-04-13 17:32           ` Boszormenyi Zoltan
  0 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjälä @ 2017-04-13 16:20 UTC (permalink / raw)
  To: Ilia Mirkin; +Cc: Alex Deucher, lkml, Maling list - DRI developers

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@gmail.com> wrote:
> > On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> wrote:
> >> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
> >>>
> >>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KMS question
  2017-04-13 16:20         ` Ville Syrjälä
@ 2017-04-13 17:32           ` Boszormenyi Zoltan
  0 siblings, 0 replies; 8+ messages in thread
From: Boszormenyi Zoltan @ 2017-04-13 17:32 UTC (permalink / raw)
  To: Ville Syrjälä, Ilia Mirkin; +Cc: lkml, Maling list - DRI developers

2017-04-13 18:20 keltezéssel, Ville Syrjälä írta:
> 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@gmail.com> wrote:
>>> On Thu, Apr 13, 2017 at 11:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> wrote:
>>>> 2017-04-13 16:05 keltezéssel, Alex Deucher írta:
>>>>>
>>>>> On Thu, Apr 13, 2017 at 9:03 AM, Boszormenyi Zoltan <zboszor@pr.hu> 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
> 

Thanks, that worked.

I had to regenerate my initramfs to actually include the gma500 driver
so KMS can kick in early. Before that the text mode plugin was used in
plymouth and that doesn't switch dimensions when fbdev took over.

The plymouth boot splash now looks good on the primary screen with
the secondary display disabled from the kernel command line and I can
enable the secondary screen from a boot script before X (a DM) starts
which causes both screens to flash but it's good for me now.

Thanks for everyone who answered.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-04-13 17:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13 13:03 KMS question Boszormenyi Zoltan
2017-04-13 14:05 ` Alex Deucher
2017-04-13 15:03   ` Boszormenyi Zoltan
2017-04-13 15:36     ` Alex Deucher
2017-04-13 15:37       ` Ilia Mirkin
2017-04-13 16:20         ` Ville Syrjälä
2017-04-13 17:32           ` Boszormenyi Zoltan
2017-04-13 15:48       ` Boszormenyi Zoltan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).