Suspend T42 ATI 3D Acceleration
Posted: Fri Aug 19, 2005 6:47 am
Until now enabling 3d acceleration on my T42 (Radeon 9600 M10, using the fglrx instead of the xorg radeon driver) resulted in being unable to resume from suspend. Today I have discovered that it is possible to use the DRI enabled ATI binary drivers and still be able to suspend properly. I have found the info here:
http://mailman.linux-thinkpad.org/piper ... 26968.html
You have to use the appended (or a similar) script to suspend and use the xorg.conf (or a similar one) from the link above. Note that the layout fglrestore is required by the suspend script (this layout is a DRI disabled configuration).
The laptop suspends properly and wakes up again, with DRI still enabled. The x server which is started by the script makes sure that powermanagement for the ATI card is restored too.
My model is a 2378-FVU
Regards,
Florian
Here is the script:
#!/bin/bash
# Since we get a lid event on open and close, we need a lock file
LOCKFILE=/var/run/acpid.standby
LOGFILE=/var/log/suspend.log
sync;
touch "$LOCKFILE";
rmmod uhci_hcd;
echo "Locking all KDE sessions";
#/usr/kde/3.4/bin/dcop --all-users kdesktop KScreensaverIface lock
#sleep 2;
# save state:
echo "Saving Graphics Card state";
vbetool vbestate save > /tmp/vbestate
echo "Changing to VT1";
chvt 1
echo "Sleeping";
echo "mem" > /sys/power/state;
if [ -f "$LOCKFILE" ]; then
#We just got an open-lid even, so resume
#(wake up radeon video card)
# Video BIOS to default
echo "resetting Video card";
vbetool post;
echo "restoring Video Card state";
vbetool vbestate restore < /tmp/vbestate
echo "changing to X11";
chvt 4;
modprobe uhci_hcd;
echo "Fixing X server";
xinit /bin/true -- `command -v X` :9 -layout fglrestore -auth /dev/null -audit 0 -nolisten tcp
fi
exit 0;
http://mailman.linux-thinkpad.org/piper ... 26968.html
You have to use the appended (or a similar) script to suspend and use the xorg.conf (or a similar one) from the link above. Note that the layout fglrestore is required by the suspend script (this layout is a DRI disabled configuration).
The laptop suspends properly and wakes up again, with DRI still enabled. The x server which is started by the script makes sure that powermanagement for the ATI card is restored too.
My model is a 2378-FVU
Regards,
Florian
Here is the script:
#!/bin/bash
# Since we get a lid event on open and close, we need a lock file
LOCKFILE=/var/run/acpid.standby
LOGFILE=/var/log/suspend.log
sync;
touch "$LOCKFILE";
rmmod uhci_hcd;
echo "Locking all KDE sessions";
#/usr/kde/3.4/bin/dcop --all-users kdesktop KScreensaverIface lock
#sleep 2;
# save state:
echo "Saving Graphics Card state";
vbetool vbestate save > /tmp/vbestate
echo "Changing to VT1";
chvt 1
echo "Sleeping";
echo "mem" > /sys/power/state;
if [ -f "$LOCKFILE" ]; then
#We just got an open-lid even, so resume
#(wake up radeon video card)
# Video BIOS to default
echo "resetting Video card";
vbetool post;
echo "restoring Video Card state";
vbetool vbestate restore < /tmp/vbestate
echo "changing to X11";
chvt 4;
modprobe uhci_hcd;
echo "Fixing X server";
xinit /bin/true -- `command -v X` :9 -layout fglrestore -auth /dev/null -audit 0 -nolisten tcp
fi
exit 0;