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.