Let's consider the following case:
I switch to external monitor
xrandr --output LVDS1 --off --output VGA1 --auto
than shutdown the laptop.
Unplug VGA connector and boot again.
Grub menu is hardly visible
unless backlight is manually increased with [Fn+F6] key.
I am expecting normal backlight level during boot
(e.g. as it was before switching to external display).
It seems that some actions should be performed
during shutdown to prevent very dim image next boot.
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 03)
system architecture: i386
Such behavior is common to any versions of kernel I have tried.
Now the configuration is the following:
Ubuntu 12.04 + xorg-edgers (precise) + drm-intel-experimental
3.4.0-994-generic #201206130406 SMP Wed Jun 13 08:15:01 UTC 2012 i686 i686 i386 GNU/Linux
Asus F80L laptop
Please try out my backlight confusion branch from my personal git repo at:
That /should/ help.
More importantly attach the dmesg (with drm.debug=6) from across resume.
Created attachment 63004 [details]
dmeg across hibernate/resume, time ~87.
I'm attaching dmesg taken with drm.debug=0x06
3.4.0-custom-d1f990f+ #1 SMP Tue Jun 12 11:59:44 NOVT 2012 i686 i686 i386 GNU/Linux
(Daniel's backlight-confusion branch,
I started xterm with
startx /usr/bin/ck-launch-session xterm
connected VGA cable, switched to VGA1,
hibernated the laptop with
and booted again. Hibernate/resume should occurred at time ~87
I did not unplug VGA connector this time. During resume
boot Grub menu was very dim on LVDS1. At VGA1, as ususally,
left side of grub menu was out of screen.
As soon as resume finished, xterm appeared on VGA1.
Finally, I would draw your attention that reporting this
bug I do not mean (suspend|hibernate)/resume cycle.
I do not like that boot loader menu is almost invisible if
previous shutdown and power off is initiated from VGA1
with disabled LVDS1.
Ok, just to cross-check that I understand what's going on here:
- you boot your machine, switch to VGA and disable LVDS, everything is ok
- you hibernate with pm-hibernate
- the machine is completely off
- you boot the thing again, LVDS is dim throught BIOS, grub and kernel load
- also, VGA output seems to be misplaced
- as soon as the hibernated image is restored, VGA is restore correctly
And a few questions:
- when you switch on LVDS with xrandr afterr the resume completed, is the backlight ok?
- is there any difference in behaviour between mainline kernels and my backlight-confusion branch? Especially concerning whether the LVDS comes up again properly after hibernate is completed.
Daniel, you are correct. I add some comments.
(In reply to comment #4)
> Ok, just to cross-check that I understand what's going on here:
> - you boot your machine, switch to VGA and disable LVDS, everything is ok
Strictly speaking, VGA1 may be blank before I press [Ctrl+Alt+F1] [Alt+F7],
see Bug 49688
> - you hibernate with pm-hibernate
> - the machine is completely off
> - you boot the thing again, LVDS is dim throught BIOS, grub and kernel load
That is very close to the cause why I reported the bug.
Since I do not expect any good consequences of disconnecting
VGA in between of hibernate and resume, dim screen in grub
during resume does not annoy me too much. (Ok, in my dreams
I can imagine that display can automatically switch to LVDS1
if VGA1 disappear while the laptop is hibernated.)
The actual point is low backlight level if I turn off the laptop
and later switch on it again (without hibernation).
I hope hibernate and resume with connected VGA1 can help
in debugging of the issue.
> - also, VGA output seems to be misplaced
Perhaps, buggy BIOS (native LVDS1 resolution is not supported
at all) in combination with different aspect ratio
of LVDS1 (1280x800) and VGA1 (1600x1200). Grub2 almost always
do not show the left side. When framebuffer is activated
the image can occupy only a part of the screen (e.g. 1280x800 rectangle
in top left angle of the full display for the older kernel) or
some part of image can be invisible (e.g. below the bottom edge of
> - as soon as the hibernated image is restored, VGA is restore correctly
> And a few questions:
> - when you switch on LVDS with xrandr afterr the resume completed, is the
> backlight ok?
If I remember correctly, it was not. I was need another [Ctrl+Alt+F1]
> - is there any difference in behaviour between mainline kernels and my
> backlight-confusion branch? Especially concerning whether the LVDS comes up
> again properly after hibernate is completed.
Are you interested in difference of backlight-confusion branch and
or drm-intel-experimental kernel?
Are you interested of intel_reg_dump's at certain points?
In my opinion bugzilla is not the best tool for plenty of
I have impression that there are no significant difference
of backlight-confusion and drm-intel-experimental kernel
built yesterday. It seems that sequence of successful and
not so good switches LVDS1<->VGA1 varies from time to time
even for a certain kernel. I try to switch off (not reboot)
the laptop every time. I suspect that the driver does not
do full initialization of hardware (if it is possible at all).
Another problem that the drivers are quite unstable now
and it is not easy for me to attribute each error or warning
with the peace of software.
Ok, I guess the vt-switching to re-enable LVDS bug is already handled in #49688
For the dim screen that seems to be a BIOS bug - after completely shutting off our driver doesn't touch the hw. So I'll close this as not our bug.
On power on BIOS, I think, sets backlight level that was
just before power off.
That is why I would insist that during kernel _shutdown_ the driver
should ensure a sane state of backlight level.
At shutdown, a sane state for the backlight is to shut it down. Otherwise you can get some nasty flickering if you just yank the power. No idea what your bios does, but until convinced otherwise I don't see anything that should be changed in our driver. After all, as long as our driver is in control things seem to work.
(In reply to comment #8)
> At shutdown, a sane state for the backlight is to shut it down. Otherwise you
> can get some nasty flickering if you just yank the power. No idea what your
> bios does, but until convinced otherwise I don't see anything that should be
> changed in our driver. After all, as long as our driver is in control things
> seem to work.
Daniel, I do not see your point.
First of all, the BIOS is buggy in relation to video modes (native resolution 1280x800 unsupported). In my opinion, it works well with backlight state. Even before grub starts I can make the screen brighter or darker and switch laptop off. Next time on power on the backlight level is exactly as it was before power off. The laptop has [Fn+F7] key that disables backlight completely. This state is not preserved across power off/power on cycle. On the other hand backlight level is preserved.
I have no guess which kind of flickering is nasty.
If I initiate shutdown process from X session when LVDS1 is off and VGA1 is on, at certain moment splash screen appears on LVDS1. But the image is very dark. Do you think, it would be bad, if LVDS1 backlight brightness were as before switching from LVDS1 to VGA1?
I don't think there's anything we can do here. At hibernate time, we shut everything off to save power, and also to honor the requirements for sequencing the LVDS panel power. We can't simply turn on the backlight with the panel powered off as it may damage the panel. We can't leave the panel running because the planes and pipes have been shut off as we have nothing to display.
So I think you're stuck with just using your hotkeys when you boot up again...