All of lore.kernel.org
 help / color / mirror / Atom feed
* External display
@ 2011-01-14 12:38 Christoph Lukas
  2011-01-14 12:51 ` Chris Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: Christoph Lukas @ 2011-01-14 12:38 UTC (permalink / raw)
  To: intel-gfx

Hi,

I am using a Dell E6410 notebook running Ubuntu. Most of the time I am
running this notebook in a docking station with closed lid and with an
external (DVI) monitor attached to the dock.

Running different kernels I see different behaviour regarding the
display configuration after boot.

Booting a 2.6.32 based kernel the internal display is turned off, the
external display is turned on and running at it's native resolution of
1920x1200. 
This is what I would expect.

Booting the same system with a drm-intel-next based kernel the internal
display is turned on (although the lid is closed), the external display
is on and shows a resolution of 1024x768.

Logging into X the internal display stays on, the external display
changes resolution to 1920x1200.
I can use gnome-display-properties to turn the internal screen off. 
But after each DPMS blanking the internal display is turned on again. :(

Is this some expected behaviour or should this be considered a bug?

Thanks in advance.

Regards,
Christoph

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

* Re: External display
  2011-01-14 12:38 External display Christoph Lukas
@ 2011-01-14 12:51 ` Chris Wilson
  2011-01-14 13:57   ` Ivan Bulatovic
  2011-01-16  8:13   ` Christoph Lukas
  0 siblings, 2 replies; 10+ messages in thread
From: Chris Wilson @ 2011-01-14 12:51 UTC (permalink / raw)
  To: Christoph Lukas, intel-gfx

On Fri, 14 Jan 2011 13:38:08 +0100, Christoph Lukas <christoph.lukas@gmx.net> wrote:
> Hi,
> 
> I am using a Dell E6410 notebook running Ubuntu. Most of the time I am
> running this notebook in a docking station with closed lid and with an
> external (DVI) monitor attached to the dock.
> 
> Running different kernels I see different behaviour regarding the
> display configuration after boot.
> 
> Booting a 2.6.32 based kernel the internal display is turned off, the
> external display is turned on and running at it's native resolution of
> 1920x1200. 
> This is what I would expect.

Once upon a time we trusted the lid status and reported the internal
screen as disconnected when the lid was closed. We were beset by bugs
reporting broken lid status and the LVDS not working. So we gave up.
Usually between the BIOS and userspace responding to lid notification
events, the LVDS is turned off when the lid is closed.

See commit 6e6c822868f113dabe3c33bdd91e883cc28fa11b
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Mar 17 13:48:06 2010 -0700

    drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
    
    I've been getting more and more quirk reports about this.  It seems
    clear at this point that other OSes are not using this for determining
    whether the integrated panel should be turned on, and it is not
    reliable for doing so.  Better to light up an unintended panel than to
    not light up the only usable output on the system.
    
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>

You may want to try:

diff --git a/drivers/gpu/drm/i915/intel_lvds.c
b/drivers/gpu/drm/i915/intel_lvds
index 9795eb5..45b1fe4 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -474,11 +474,9 @@ intel_lvds_detect(struct drm_connector *connector, bool for
        struct drm_device *dev = connector->dev;
        enum drm_connector_status status = connector_status_connected;
 
-       /* ACPI lid methods were generally unreliable in this generation, so
-        * don't even bother.
-        */
-       if (IS_GEN2(dev) || IS_GEN3(dev))
-               return connector_status_connected;
+       /* ACPI lid methods were generally unreliable, so don't even bother. */
+       if (INTEL_INFO(dev)->gen >= 5 && !acpi_lid_open())
+               status = connector_status_disconnected;
 
        return status;
 }

-- 
Chris Wilson, Intel Open Source Technology Centre

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

* Re: External display
  2011-01-14 12:51 ` Chris Wilson
@ 2011-01-14 13:57   ` Ivan Bulatovic
  2011-01-14 17:58     ` Damnshock
  2011-01-14 18:57     ` Christoph Lukas
  2011-01-16  8:13   ` Christoph Lukas
  1 sibling, 2 replies; 10+ messages in thread
From: Ivan Bulatovic @ 2011-01-14 13:57 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Fri, 2011-01-14 at 12:51 +0000, Chris Wilson wrote:
> On Fri, 14 Jan 2011 13:38:08 +0100, Christoph Lukas <christoph.lukas@gmx.net> wrote:
> > Hi,
> > 
> > I am using a Dell E6410 notebook running Ubuntu. Most of the time I am
> > running this notebook in a docking station with closed lid and with an
> > external (DVI) monitor attached to the dock.
> > 
> > Running different kernels I see different behaviour regarding the
> > display configuration after boot.
> > 
> > Booting a 2.6.32 based kernel the internal display is turned off, the
> > external display is turned on and running at it's native resolution of
> > 1920x1200. 
> > This is what I would expect.
> 
> Once upon a time we trusted the lid status and reported the internal
> screen as disconnected when the lid was closed. We were beset by bugs
> reporting broken lid status and the LVDS not working. So we gave up.
> Usually between the BIOS and userspace responding to lid notification
> events, the LVDS is turned off when the lid is closed.
> 

You can always boot with video=LVDS-1:d kernel parameter, that will
disable your LVDS connection and run your external monitor in native
resolution.

Only thing is, you have to remove that parameter every time you boot
your notebook without it being connected to docking station.

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

* Re: External display
  2011-01-14 13:57   ` Ivan Bulatovic
@ 2011-01-14 17:58     ` Damnshock
  2011-01-16 16:31       ` Damnshock
  2011-01-14 18:57     ` Christoph Lukas
  1 sibling, 1 reply; 10+ messages in thread
From: Damnshock @ 2011-01-14 17:58 UTC (permalink / raw)
  To: intel-gfx

On Friday 14 January 2011 14:57:57 Ivan Bulatovic wrote:
> You can always boot with video=LVDS-1:d kernel parameter, that will
> disable your LVDS connection and run your external monitor in native
> resolution.

Thanks for the trick. I'll try it as soon as I get home :)

Regards,

Damnshock

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

* Re: External display
  2011-01-14 13:57   ` Ivan Bulatovic
  2011-01-14 17:58     ` Damnshock
@ 2011-01-14 18:57     ` Christoph Lukas
  1 sibling, 0 replies; 10+ messages in thread
From: Christoph Lukas @ 2011-01-14 18:57 UTC (permalink / raw)
  To: Ivan Bulatovic; +Cc: intel-gfx

Hi

> You can always boot with video=LVDS-1:d kernel parameter, that will
> disable your LVDS connection and run your external monitor in native
> resolution.

using video=eDP-1:d disabled the internal display for me. Thanks for the
hint.

> Only thing is, you have to remove that parameter every time you boot
> your notebook without it being connected to docking station.

Yes, and using this kernel parameter you won't be able to undock the
running system. :)

Cheers,
Christoph

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

* Re: External display
  2011-01-14 12:51 ` Chris Wilson
  2011-01-14 13:57   ` Ivan Bulatovic
@ 2011-01-16  8:13   ` Christoph Lukas
  1 sibling, 0 replies; 10+ messages in thread
From: Christoph Lukas @ 2011-01-16  8:13 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

Hi Chris,

> > 
> > I am using a Dell E6410 notebook running Ubuntu. Most of the time I am
> > running this notebook in a docking station with closed lid and with an
> > external (DVI) monitor attached to the dock.
> > 
> > Running different kernels I see different behaviour regarding the
> > display configuration after boot.
> > 
> > Booting a 2.6.32 based kernel the internal display is turned off, the
> > external display is turned on and running at it's native resolution of
> > 1920x1200. 
> > This is what I would expect.
> 
> Once upon a time we trusted the lid status and reported the internal
> screen as disconnected when the lid was closed. We were beset by bugs
> reporting broken lid status and the LVDS not working. So we gave up.
> Usually between the BIOS and userspace responding to lid notification
> events, the LVDS is turned off when the lid is closed.
> 
> See commit 6e6c822868f113dabe3c33bdd91e883cc28fa11b
> Author: Eric Anholt <eric@anholt.net>
> Date:   Wed Mar 17 13:48:06 2010 -0700
> 
>     drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
>     
>     I've been getting more and more quirk reports about this.  It seems
>     clear at this point that other OSes are not using this for determining
>     whether the integrated panel should be turned on, and it is not
>     reliable for doing so.  Better to light up an unintended panel than to
>     not light up the only usable output on the system.
>     
>     Signed-off-by: Eric Anholt <eric@anholt.net>
>     Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> 
> You may want to try:
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c
> b/drivers/gpu/drm/i915/intel_lvds
> index 9795eb5..45b1fe4 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -474,11 +474,9 @@ intel_lvds_detect(struct drm_connector *connector, bool for
>         struct drm_device *dev = connector->dev;
>         enum drm_connector_status status = connector_status_connected;
>  
> -       /* ACPI lid methods were generally unreliable in this generation, so
> -        * don't even bother.
> -        */
> -       if (IS_GEN2(dev) || IS_GEN3(dev))
> -               return connector_status_connected;
> +       /* ACPI lid methods were generally unreliable, so don't even bother. */
> +       if (INTEL_INFO(dev)->gen >= 5 && !acpi_lid_open())
> +               status = connector_status_disconnected;
>  
>         return status;
>  }
> 

thanks for your response and patch. But this patch did not change
anything for me, sorry. The internal display is still turned on when
booting with closed lid.

I would guess this function is only called for lvds displays while the
internal display on the Dell E6410 is an eDP?

I have added a printk just before the conditional and I have never seen
the output in dmesg.



I would not bother too much about using gnome-display-properties (or
xrandr) to turn the internal display off once after login. What I think
is a little bit annouying is that the internal display is turned back on
after each DPMS blanking.


Thanks and Regards,
Christoph

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

* Re: External display
  2011-01-14 17:58     ` Damnshock
@ 2011-01-16 16:31       ` Damnshock
  2011-01-16 17:14         ` Ivan Bulatovic
  0 siblings, 1 reply; 10+ messages in thread
From: Damnshock @ 2011-01-16 16:31 UTC (permalink / raw)
  To: intel-gfx

On Friday 14 January 2011 18:58:25 Damnshock wrote:
> On Friday 14 January 2011 14:57:57 Ivan Bulatovic wrote:
> 
> > You can always boot with video=LVDS-1:d kernel parameter, that will
> > disable your LVDS connection and run your external monitor in native
> > resolution.
> 
> Thanks for the trick. I'll try it as soon as I get home 

Unfortunately it doesn't work for me: the LVDS is still on and my external monitor works with the internal 
resolution by default :S

Regards

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

* Re: External display
  2011-01-16 16:31       ` Damnshock
@ 2011-01-16 17:14         ` Ivan Bulatovic
  2011-01-16 17:27           ` Damnshock
  0 siblings, 1 reply; 10+ messages in thread
From: Ivan Bulatovic @ 2011-01-16 17:14 UTC (permalink / raw)
  To: Damnshock; +Cc: intel-gfx

On Sun, 2011-01-16 at 17:31 +0100, Damnshock wrote:
> On Friday 14 January 2011 18:58:25 Damnshock wrote:
> > On Friday 14 January 2011 14:57:57 Ivan Bulatovic wrote:
> > 
> > > You can always boot with video=LVDS-1:d kernel parameter, that will
> > > disable your LVDS connection and run your external monitor in native
> > > resolution.
> > 
> > Thanks for the trick. I'll try it as soon as I get home 
> 
> Unfortunately it doesn't work for me: the LVDS is still on and my external monitor works with the internal 
> resolution by default :S
> 
> Regards

What does xrandr -q say when notebook is on docking station ?

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

* Re: External display
  2011-01-16 17:14         ` Ivan Bulatovic
@ 2011-01-16 17:27           ` Damnshock
  2011-01-16 18:01             ` Ivan Bulatovic
  0 siblings, 1 reply; 10+ messages in thread
From: Damnshock @ 2011-01-16 17:27 UTC (permalink / raw)
  To: Ivan Bulatovic; +Cc: intel-gfx

On Sunday 16 January 2011 18:14:10 Ivan Bulatovic wrote:
> What does xrandr -q say when notebook is on docking station ?

I have no dock, just the lid closed and happen to use an external monitor. Does that matter?

Regards

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

* Re: External display
  2011-01-16 17:27           ` Damnshock
@ 2011-01-16 18:01             ` Ivan Bulatovic
  0 siblings, 0 replies; 10+ messages in thread
From: Ivan Bulatovic @ 2011-01-16 18:01 UTC (permalink / raw)
  To: Damnshock; +Cc: intel-gfx

On Sun, 2011-01-16 at 18:27 +0100, Damnshock wrote:
> On Sunday 16 January 2011 18:14:10 Ivan Bulatovic wrote:
> > What does xrandr -q say when notebook is on docking station ?
> 
> I have no dock, just the lid closed and happen to use an external monitor. Does that matter?
> 
> Regards

No, not really :)

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

end of thread, other threads:[~2011-01-16 18:01 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-14 12:38 External display Christoph Lukas
2011-01-14 12:51 ` Chris Wilson
2011-01-14 13:57   ` Ivan Bulatovic
2011-01-14 17:58     ` Damnshock
2011-01-16 16:31       ` Damnshock
2011-01-16 17:14         ` Ivan Bulatovic
2011-01-16 17:27           ` Damnshock
2011-01-16 18:01             ` Ivan Bulatovic
2011-01-14 18:57     ` Christoph Lukas
2011-01-16  8:13   ` Christoph Lukas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.