Page 1 of 1

Suspend T42 ATI 3D Acceleration

Posted: Fri Aug 19, 2005 6:47 am
by deadman66
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;

Posted: Fri Aug 19, 2005 7:17 am
by doppelfish
deadman66 wrote:You have to ...
Not that I'm having any problems here, but I'd still like to say, "thanks for sharing!".

cheers,
-- fish

No problems?

Posted: Fri Aug 19, 2005 7:21 am
by deadman66
You never had problems suspending/resuming (RAM) from X while using the fglrx drivers? Where have you found the info for setting it up?

Regards,
Flo

Posted: Fri Aug 19, 2005 8:23 am
by doppelfish
Well, I just use xorg and it just works:

Code: Select all

doppelfish@sputnix:~ > glxinfo | head -11
disabling TCL support
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
client glx vendor string: SGI
client glx version string: 1.4

But I'd rather expect to find the xorg-howto than to find someone knowledgable with the fglrx server, so I still value your contribution.

cheers,
-- fish