Summary: | backlight doesn't switch off on lid closed, while backlight control buttons do work. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Morse <radist.morse> |
Component: | [OLD] Core system | Assignee: | Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | major | CC: | mescalinum |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
.config
dmesg kernel-2.6.31-gentoo |
Description
Morse
2009-09-07 20:58:13 UTC
Created attachment 203413 [details]
.config
my current config
(In reply to comment #0) > kernel: gentoo-sources-2.6.30-r5 > vanilla-sources-2.6.30.5 & 2.6.31_rc9 also affected > > the problem seems to be with acpi/video module. if i boot with "acpi=off" > everything works fine. > > I used to have gentoo-x86-64 on that very laptop, and the kernel was 2.6.29, > and everything worked there. then i was forced to reinstall my system > completely, i installed 2.6.30 (x86) and the backlight broke. i don't know what > went wrong, but the fact is: backlight did work on my system. > > both /proc/acpi/button/lid... and /sys/class/backlight/... shows the correct > values > So, if you cat /proc/acpi/button/lid/*/state when the lid is closed you are gonna get 'state: closed'? If you boot with 2.6.29 right now (without upgrading packages) the backlight will be working? Can you attach a copy of your dmesg after closing and reopening the lid, and a copy of your /var/log/acpid before closing the lid and another copy of your /var/log/acpid after reopening the lid. Thanks! are you using laptop-mode? is laptop-mode started? sorry for the stupid question but you didn't mention it. in my case, I have this lid problem too (gentoo-sources-2.6.31), and starting laptop-mode didn't help. `laptop_mode status` shows correctly the status of acpi peripherals, including showing correctly the status of the lid, but it seems that `laptop_mode` script doesn't react to the change (even calling it manually) as a workaround, I've replaced the default acpi action for lid event with this (it's for radeon card, if you want to use it with intel card, you may want to find how to turn off/on backlight for your card): #! /bin/sh # AC adapter state (off-line / on-line) AC_STATE=$(awk '/^state:/{print $2}' /proc/acpi/ac_adapter/AC/state) # LID state (open / closed) LID_STATE=$(awk '/^state:/{print $2}' /proc/acpi/button/lid/LID/state) if [ "x$LID_STATE" = "xopen" ]; then radeontool light on elif [ "x$AC_STATE" = "xoff-line" ]; then if [ "x$LID_STATE" = "xclosed" ]; then radeontool light off fi fi (In reply to comment #2) > So, if you cat /proc/acpi/button/lid/*/state when the lid is closed you are > gonna get 'state: closed'? exactly. > If you boot with 2.6.29 right now (without upgrading packages) the backlight > will be working? i emerged 2.6.29-r6, configured and builded it. there was no module "acpi/video" (CONFIG_ACPI_VIDEO in .30 & .31), so i couldn't build the same config (but everything else is the same). backlight worked well, but intel's modesetting (CONFIG_DRM_I915_KMS) makes console broke (it is: i see anithing sane only in X). > Can you attach a copy of your dmesg after closing and reopening the lid, and a > copy of your /var/log/acpid before closing the lid and another copy of your > /var/log/acpid after reopening the lid. that's dmesg (first 4 lines - on close, last on open) [ 884.315401] [drm] TV-14: set mode NTSC 480i 0 [ 884.456888] [drm] TV-14: set mode NTSC 480i 0 [ 884.726479] [drm] TV-14: set mode NTSC 480i 0 [ 884.867636] [drm] TV-14: set mode NTSC 480i 0 [ 890.812418] [drm] TV-14: set mode NTSC 480i 0 [ 890.953688] [drm] TV-14: set mode NTSC 480i 0 [ 891.223391] [drm] TV-14: set mode NTSC 480i 0 [ 891.364469] [drm] TV-14: set mode NTSC 480i 0 can't provide you with /var/log/acpid as i don't have one. (In reply to comment #3) > are you using laptop-mode? is laptop-mode started? > sorry for the stupid question but you didn't mention it. i tried laptop-mode once, but i didn't understand what it do so i unmerged it. > as a workaround ..... yep, i did try some workarounds myself including xset and vbetool. but first only works when X started, and second in contrary doesn't work when X screen is active. besides every event (e.g. libnotify) maked backlight back on, and sometimes script didn't work properly doing the wrong action ("status" in /proc/acpi/... updated too late). and another thing: i want full monitor blanking - including LCD, not just backlight, although backlight is of course the main power consumer. so i'm still where i was. (In reply to comment #4) > (In reply to comment #2) > > So, if you cat /proc/acpi/button/lid/*/state when the lid is closed you are > > gonna get 'state: closed'? > > exactly. > > > If you boot with 2.6.29 right now (without upgrading packages) the backlight > > will be working? > > i emerged 2.6.29-r6, configured and builded it. there was no module > "acpi/video" (CONFIG_ACPI_VIDEO in .30 & .31), so i couldn't build the same > config (but everything else is the same). backlight worked well, but intel's > modesetting (CONFIG_DRM_I915_KMS) makes console broke (it is: i see anithing > sane only in X). > > > Can you attach a copy of your dmesg after closing and reopening the lid, and a > > copy of your /var/log/acpid before closing the lid and another copy of your > > /var/log/acpid after reopening the lid. > > that's dmesg (first 4 lines - on close, last on open) > [ 884.315401] [drm] TV-14: set mode NTSC 480i 0 > [ 884.456888] [drm] TV-14: set mode NTSC 480i 0 > [ 884.726479] [drm] TV-14: set mode NTSC 480i 0 > [ 884.867636] [drm] TV-14: set mode NTSC 480i 0 > [ 890.812418] [drm] TV-14: set mode NTSC 480i 0 > [ 890.953688] [drm] TV-14: set mode NTSC 480i 0 > [ 891.223391] [drm] TV-14: set mode NTSC 480i 0 > [ 891.364469] [drm] TV-14: set mode NTSC 480i 0 > > can't provide you with /var/log/acpid as i don't have one. > > > (In reply to comment #3) > > are you using laptop-mode? is laptop-mode started? > > sorry for the stupid question but you didn't mention it. > > i tried laptop-mode once, but i didn't understand what it do so i unmerged it. > > > as a workaround ..... > > yep, i did try some workarounds myself including xset and vbetool. but first > only works when X started, and second in contrary doesn't work when X screen is > active. besides every event (e.g. libnotify) maked backlight back on, and > sometimes script didn't work properly doing the wrong action ("status" in > /proc/acpi/... updated too late). and another thing: i want full monitor > blanking - including LCD, not just backlight, although backlight is of course > the main power consumer. > so i'm still where i was. > There are many reports about oopses/hangs when closing the lid on 2.6.30 kernels (see: http://bugzilla.kernel.org/show_bug.cgi?id=13751). Even tho you are not getting such issues, would you mind trying out this patch: http://bugzilla.kernel.org/attachment.cgi?id=22528 ? Also, post a full copy of your dmesg if that patch doesn't work. Thanks :) Created attachment 205453 [details]
dmesg kernel-2.6.31-gentoo
i tried to apply a patch http://bugzilla.kernel.org/attachment.cgi?id=22528, but i couldn't. then i looked at the page from where it came (http://bugzilla.kernel.org/show_bug.cgi?id=13751), and saw: >74b5820808215f65b70b05a099d6d3c969b82689 >ACPI: bind workqueues to CPU 0 to avoid SMI corruption >shipped in v2.6.31-rc6 > >closed. as i currently have 2.6.31 it's already applied for me. i even checked the /driver/acpi/osl.c to be sure. another thing may be relaited - that's the log from lshw: *-display:0 description: VGA compatible controller product: Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 03 width: 32 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list configuration: driver=i915 latency=0 module=drm *-display:1 UNCLAIMED description: Display controller product: Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller vendor: Intel Corporation physical id: 2.1 bus info: pci@0000:00:02.1 version: 03 width: 32 bits clock: 33MHz capabilities: pm bus_master cap_list configuration: latency=0 the first device - "VGA compatible controller" is detected normally, but the second one - "Display controller" marked "unclaimed". What happens: a) When you boot 2.6.30 with CONFIG_DRM_I915_KMS _disabled_ and you close the lid? Does the backlight switch off or not? Does your dmesg have any more info with KMS disabled (apart from the ones you posted in your previous comments)? b) When you boot 2.6.30 without CONFIG_ACPI_VIDEO? It works alright? By the way, the "[drm] TV-14: set mode NTSC 480i 0" warnings seem to be fixed in 2.6.31-23 (https://bugzilla.redhat.com/show_bug.cgi?id=522909 and https://bugzilla.redhat.com/show_bug.cgi?id=522611) CONFIG_DRM_I915_KMS doesn't influence on backlight. as of CONFIG_ACPI_VIDEO - i can't just disable it - i915 has it as dependency. there are two ways 1) to disable the whole intel DRM (agp, i915) enabling VESA instead, and then disable acpi/video/. 2) to boot with "acpi=off". backlight would work either way I think that "[Firmware Bug]: ACPI: ACPI brightness control misses _BQC function" in your dmesg is quite important. I'll read about the _BQC function and get back with you soon. For now, make sure, you enable CONFIG_ACPI_DEBUG and see if you get a "Found generic backlight support". As a matter of fact just attach your whole dmesg... Also, please, attach the dmesg of a 2.6.29-r6 kernel (which should work for you) with CONFIG_ACPI_DEBUG enabled after closing and reopening the lid. Thanks! Also, use acpi_listen and close/open the lid to see what kind of ACPI events you get and post them here. Thanks! Finally, and sorry for the multiple replies, can you attach the ACPI script that should be turning on/off your backlight? somehow i managed to broke my X-system, so i'm out to fix this for a couple of days. also there is a new release of a package (sort of) of intel's video system (http://intellinuxgraphics.org/2009Q3.html) but it needs 2.6.32 kernel, so i'll wait for it and will post here if the problem will remain. (In reply to comment #13) > somehow i managed to broke my X-system, so i'm out to fix this for a couple of > days. also there is a new release of a package (sort of) of intel's video > system (http://intellinuxgraphics.org/2009Q3.html) but it needs 2.6.32 kernel, > so i'll wait for it and will post here if the problem will remain. > I found this on the new Intel's video driver release changelog: * Add support for BACKLIGHT property. This allows backlight adjustment with programs such as "xbacklight -set " or "xrandr --set BACKLIGHT ": bug#20963. If your ACPI script was using xbacklight or xrandr to turn the backlight off, the new release may fix your problem. https://bugs.freedesktop.org/show_bug.cgi?id=20963 includes a patch and a couple of hotfixes that you can try if you like :) |