Dell laptop LCDs not powering up on lid open event

My Dell Inspiron 640m laptop has some strange behaviour which irritates me: when the lid is closed, the display turns off as you might expect. However, when the lid is opened, the display remains off.

The workaround up to this point has been to use acpid to listen for “lid open” events, and then have an event handler which uses vbetool (or xset) to restore power to the display.

I’ve been digging deeper into this problem, and have realised that the above behaviour is entirely due to the behaviour coded into the system ACPI tables (DSDT). With just a few lines of code, this strange behaviour can be “corrected”.

I’ve posted a DSDT patch to fix this. To use it, you have to decompile your DSDT, apply the patch, recompile it, and then build it into your kernel. For interested people, there are plenty of DSDT-patching guides on the Gentoo Forums and similar.

After applying this fix, I can uninstall acpid completely and the screen blank/unblank “just works”. The above patch is suitable for Dell 640m and e1405 models, and possibly others too.

UPDATE: I’m working on kernel patches which will mean that no DSDT hacking is needed, and LCD resuming will really “just work”. Keep an eye on my weblog for more.

12 Responses to “Dell laptop LCDs not powering up on lid open event”

  1. Ira Snyder Says:

    Thanks for this patch! I just applied it to my DSDT on my Dell Inspiron E1505 / Inspiron 6000, and it works great. I’ve been fighting with the screen staying off for what seems like forever, and now it “just works.”

    This will sure make life a lot easier when I try to get suspend working again. Most of the problems I’ve had have been related to the screen not turning back on.

  2. jvs Says:

    so, this actually means, that if you have a complete and error-free dsdt table for your machine, acpid is not needed? only if you want to achieve special behaviour? I always thought the acpid just reads the dsdt table… -_-

  3. dsd Says:

    acpid may be useful to you for other purposes. It doesn’t read the DSDT table, it just responds to ACPI events from the kernel (and the kernel is the thing which reads and interprets the DSDT). For me, the only reason I had it acpid was to turn my damn screen back on when opening the lid. Now that I have fixed that on another level, bye bye acpid :)

  4. jvs Says:

    another lesson learned today. great :)

  5. pclouds Says:

    Works well with my 640m. Thanks!

  6. Ryan Neufeld Says:

    I have a D620 with a similar problem, unfortunately your patch does not match my DSDT.

    Would you mind having a look at mine and seeing if there is anything you can do do help?

  7. Georges Says:

    I just got a 640m and this hack works perfectly ! Thanks !

    Georges.

  8. Ryan Novosielski Says:

    I am another Ryan N. with a D620 that has the same problem. I did not try the patch or looking at the DSDT problem. Also, my laptop only occasionally exhibits the problem (seems like most frequently when I close the display and say “oh, wait” and open it back up — after that, the display seems to never power up). Any ideas?

  9. Cortland Robinson Says:

    Wow.. I have never heard of DSDT and, I have no clue how to apply this patch! My screen will not turn back on after closing the lid. I purchased a new motherboard for my Dell E1505, since the sound stopped working on the other. Well this new one works great, except for when I close the lid. I have also googled and read forums on DSDT and it’s foreign to me! Anyway able to help me apply this? Thanks in advance. Email: cortlands @ Gmail.com

  10. Gwen Says:

    Help this exact thing just happened to my E1505 last night and I have no screen, the computer is on but no display. I know this because we took the cover off and if you press the stanby switch you can see the screen for a few seconds then it goes back off again. What is a DSDT and how do I do this? If you cannot log onto computer and cannot see how can this be done? Please help me as I cannot afford another computer, I live on social security.

  11. Gwen Says:

    my email is gwenjen331@mchsi.com

  12. S Appel Says:

    We have the same problem with our Dell 1505 and cannot shut the lid or it will NOT power back up and has the black screen. We have to reboot to use. I read the fix but we are in now way techies or understand what decompile etc. means. Is there any way this fix can be done easily by a non techie? Not knowing what we are doing, there is no way we will attempt this complicated fix,- but need to get it fixed. Thank you for any help.

Leave a Reply

You must be logged in to post a comment.