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
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
|
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
Tuesday, 13 December 2011, 13:40 GMT
Reason for closing: Fixed
Additional comments about closing: linux 3.1.5-1
[1] https://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git;a=blob;f=queue-3.1/drm-i915-panel-always-record-the-backlight-level-again-but-cleverly.patch;h=be82c4a018ec4431f587748520cddc743069e241;hb=HEAD
Plugging in an external monitor will bring it back on.
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 ?
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?
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
@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.
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?
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