Blank screen after resume - Dell M5510 Ubuntu 16.04
The solution was ultimately found posted on Sept 18th on the Dell Community Forums. This is ultimately a bios problem: during suspend, an intel register is reset to all 0's. A kernel patch workaround is already in the works, but may not be included until 4.9. However, the register can be saved to a file during suspend and loaded during resume.
Save the following script as /lib/systemd/system-sleep/fixbacklight (and chmod 755)
#!/bin/sh
# From patchwork.freedesktop.org/.../
# and en.community.dell.com/.../19985320
# Suspend Resume fails to restore PWM_GRANUALITY
# Based on script by [email protected]
INTEL_REG=/usr/bin/intel_reg
ADDR="0x000c2000"
SAVE_FILE=/var/lib/systemd/save_intel_reg_pwm_granuality
[ -x "$INTEL_REG" ] || exit 0
case "$1" in
pre)
echo "$0: Saving Intel Register PWM_GRANUALITY"
"$INTEL_REG" read "$ADDR" \
| (read addr value && echo "$value") \
>"$SAVE_FILE"
sync
;;
post)
value=`cat "$SAVE_FILE" 2>/dev/null`
if [ -n "$value" ]
then
echo "$0: Restoring Intel Register PWM_GRANUALITY $value"
"$INTEL_REG" write "$ADDR" "$value"
rm "$SAVE_FILE"
fi
;;
esac
It was @nloewen that pointed me down the right path.