FS#26826 - [linux] i915 dpms does not switch back light on

Attached to Project: Arch Linux
Opened by Giuseppe Borzi (gborzi) - Wednesday, 09 November 2011, 19:30 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 13 December 2011, 13:40 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description: On my Lenovo Ideapad s10e, when backlight is switched off with "xset dpms force off" or by the power manager, moving the mouse or pressing the keyboard doesn't switch it on. This problem appeared with kernel 3.1, was working fine until 3.0.7. I was able to switch back the screen only by entering with ssh and calling pm-suspend. After resume the screen is on. Googling this problem I've found this https://lkml.org/lkml/2011/10/31/322.
Recompiling the kernel with the patch suggested here http://marc.info/?l=linux-kernel&m=131959957117710&w=2 fixes the problem. I've tested this patch on the only computer with an intel video card I have available. As I mentioned before, it is a Lenovo Ideapad s10e with an "Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)".


Additional info:
* package version(s) linux 3.1-4
* config and/or log files etc.


Steps to reproduce: use "xset dpms force off" on a PC with an Intel video card and then move the mouse.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Tuesday, 13 December 2011, 13:40 GMT
Reason for closing:  Fixed
Additional comments about closing:  linux 3.1.5-1
Comment by Giuseppe Borzi (gborzi) - Thursday, 10 November 2011, 14:27 GMT
I re-checked this bug on another PC with an Intel graphics card. In this machine, an Acer d510 with an "Intel Corporation N10 Family Integrated Graphics Controller (rev 02)" the bug doesn't show up, i.e. the backlight turns on as soon as a key is pressed or the mouse is moved. Perhaps it is a problem specific to my Lenovo netbook.
Comment by Thomas Bächler (brain0) - Thursday, 10 November 2011, 14:52 GMT Comment by Giuseppe Borzi (gborzi) - Thursday, 10 November 2011, 15:28 GMT
Thanks for your answer Thomas. I forgot to mention that the d510 is a mini-desktop which is connected to an external monitor, unlike the Lenovo that is a netbook. IIRC, on some reports about this bug it was mentioned that on external monitors, even connected to a laptop, the backlight went on, while it remained off on the laptop's screen.
Comment by Jaakko Pallari (jkpl) - Thursday, 10 November 2011, 16:08 GMT
I have almost exactly the same problem with Asus UL30A. If I run command `xset dpms force off` or let the screen powersaving kick in, the screen wont light up when a key is pressed or the mouse is moved. However, the backlight will come back on when the screen brightness is changed via the brightness up/down keys. I got these problems after the same kernel update. My display controller is Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) and I have the same i915 chipset.
Comment by Giuseppe Borzi (gborzi) - Tuesday, 15 November 2011, 12:40 GMT
After the update to linux 3.1.1 this bug still affects my netbook. I'll try rebuilding with the patch suggested in the bug report.
Comment by Michael Rieder (wombat) - Wednesday, 16 November 2011, 11:52 GMT
This happens on my Macbook 1.1, too when Xfce (or X11?) switches off the backlight. It's Intel 945G graphics.

Plugging in an external monitor will bring it back on.
Comment by Giuseppe Borzi (gborzi) - Wednesday, 16 November 2011, 14:30 GMT
My attempt at rebuilding the kernel with that patch failed. The patch doesn't apply anymore. But now I've noticed that to bring backlight on I just need to close/open the lid.
Comment by Giuseppe Borzi (gborzi) - Saturday, 26 November 2011, 01:37 GMT
Still the same problem with linux 3.1.2.
Comment by Michael Rieder (wombat) - Saturday, 26 November 2011, 12:52 GMT
Still the same for me, too.

I should add that, when I had just installed the base system (without X), the backlight would be on during boot-up process, but turn off as soon as the login console appeared. I could fix this by adding i915 to the MODULES array in mkinitcpio.conf

I suspect that the missing backlight after boot-up and after power-saving turn-off have the same origin. maybe we can find it by looking at i915-relevant changes from kernel 3.0.7 to version 3.1 ?
Comment by Michael Rieder (wombat) - Saturday, 26 November 2011, 14:01 GMT
UPDATE:
looks like the bug was fixed on Nov 17: https://github.com/torvalds/linux/commit/04b38670cf46c096705f24e92a8747d1ab89e53c

so that means it's going to be fixed in 3.2 ? but it's just 2 lines of code so maybe it can be patched preliminarily for arch 3.1 kernel?
Comment by Giuseppe Borzi (gborzi) - Saturday, 26 November 2011, 21:43 GMT
I tried the patch suggested by wombat, and it works. I too think that this patch should be included in the arch kernel.
Comment by Giuseppe Borzi (gborzi) - Tuesday, 29 November 2011, 11:17 GMT
After the update to linux 3.1.3 the bug has returned. I'll retry the patch.
Comment by Michael Rieder (wombat) - Tuesday, 29 November 2011, 21:06 GMT
I have the feeling we are the only ones following this thread...
Comment by Giuseppe Borzi (gborzi) - Tuesday, 29 November 2011, 23:22 GMT
I hope it's not so. Anyway, I rebuilt the 3.1.3 kernel with the patch and it works.
Comment by Jaakko Pallari (jkpl) - Wednesday, 30 November 2011, 16:11 GMT
I still have the same problem in my laptop (kernel 3.1.3). I haven't tried the patch, but I believe it would work on my laptop, too. Fortunately, I can still get the backlight back with the brightness up/down keys when the screen goes blank.
Comment by Fralaltro (Fralaltro) - Wednesday, 30 November 2011, 21:13 GMT
Same problem on my HP Compaq nx6110 running Fedora 16 with kernel 3.1.2. Graphics controller is also by Intel and I have the same module i915 mentioned in the link posted by Michael.
I know this site is about bugs in Arch Linux but it's the only place I found where someone was seriously talking about this problem.
Can you please help me applying the patch in that link? I don't know where to start and which is the fastest way
Comment by Giuseppe Borzi (gborzi) - Friday, 02 December 2011, 12:09 GMT
This time (linux 3.1.4) I didn't even try the precompiled kernel, I went straight with rebuilding the linux package and obviously it works. I think this problem won't be fixed until we get linux 3.2.
@Fralaltro
You should ask in the Fedora forum, or search Fedora wiki for how to recompile the kernel with an added patch. I've no idea how to do a package in Fedora, and I think not many Arch users know better.
Comment by Fralaltro (Fralaltro) - Friday, 02 December 2011, 12:50 GMT
Thanks for answering, but I was not asking how to make a package in fedora. I know this is not the place. I was just asking which is the way to apply a patch in the kernel. Do you need to recompile the whole kernel or is it enough to apply the patch in the specified module (i915)? Never found it necessary to apply a patch in the kernel, so I was just looking for some clarifications
Comment by Michael Rieder (wombat) - Friday, 02 December 2011, 13:29 GMT
These changes are just in drivers/gpu/drm/i915/intel_panel.c so it suffices to recompile the i915 module.

You can do that by running "make drivers/gpu/drm/i915/". Before that, you will need your kernel config (a quick search for Fedora 16 kernel lead me to http://pkgs.fedoraproject.org/gitweb/?p=kernel.git;a=tree ). Save the config as .config in the kernel source directory, then run make prepare (just press enter few times) and yes "" | make config . This procedure (using the Arch config) produced the file drivers/gpu/drm/i915/i915.o for me.

I gzip'ed that file and copied it to /lib/modules/3.1.2-1-ARCH/kernel/drivers/gpu/drm/i915/i915.ko.gz but the problem persists. Comparing module size in lsmod revealed that it still loads the old i915 module. What did I do wrong?
Comment by Fralaltro (Fralaltro) - Tuesday, 06 December 2011, 01:00 GMT
I did it.

I had to rebuild the Initial Ram Disk Image, initramfs, after compiling and installing the new patched module.

@Michael: it is possible that it is also your last step through. On Fedora the command to build a new initramfs is "dracut", but it doesn't overwrite the existing image if it is of the same kernel version. I just did: "mv /boot/initramfs-<kernel-version>.img /boot/initramfs-<kernel-version>.img.bak", ran dracut and rebooted.

It's working great.

Hope it helps. Bye
Comment by Giuseppe Borzi (gborzi) - Monday, 12 December 2011, 15:03 GMT
The latest upstream linux patch (3.1.5) includes the patch mentioned by wombat, so the next update should solve the problem.
Comment by Giuseppe Borzi (gborzi) - Tuesday, 13 December 2011, 13:38 GMT
As expected, the latest update solved the problem for me, so I'm going to request bug closure.

Loading...