Hello. I'm trying to determine a workaround/fix for a problem I'm having with my laptop ( an ibm thinkpad t22 ).

Whenever the laptop comes out of suspend, any DRI app (game, screensaver, etc) causes the screen to hang. If I happen to be on the network, I can ssh in and look around. But killing/restarting X doesn't fix the screen. The only thing that gets the screen back to a usable state is a reboot.


I'm using the current trunk of both the xc and mesa projects out of cvs. The hardware in question is :


00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
01:00.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/IX-MV (rev 13)



I had some problems with acpi, so I'm using apm/apmd for suspend/power management.


When suspending, I see the following in my logs:

==> /var/log/XFree86.0.log <==
                 hdsp: 1024 hbeg: 1040 hend: 1136 httl: 1312
                 vdsp: 768 vbeg: 769 vend: 772 vttl: 800 flags: 5
(--) SAVAGE(0): Chose mode 117 at 75Hz.
SwitchToMode - Succeeded
(II) PM Event received: Power Status Change
(II) PM Event received: System Suspend Request
(II) PM Event received: Power Status Change
(II) PM Event received: Normal Resume System
(--) SAVAGE(0): Chose mode 117 at 75Hz.
(II) Mouse0: ps2EnableDataReporting: succeeded

==> /var/log/messages <==
Mar 21 14:18:34 warpath hda: completing PM request, resume
Mar 21 14:18:34 warpath hdc: Wakeup request inited, waiting for !BSY...
Mar 21 14:18:34 warpath hdc: start_power_step(step: 1000)
Mar 21 14:18:34 warpath hdc: completing PM request, resume
Mar 21 14:18:34 warpath eth1: got resume request
Mar 21 14:18:34 warpath eth1: resetting device...
Mar 21 14:18:34 warpath eth1: uploading firmware...
Mar 21 14:18:34 warpath eth1: firmware uploaded done, now triggering reset...


An attempt to run one of the opengl xscreensavers yeilded the following:
==> /var/log/XFree86.0.log <==
SwitchToMode - scrn: 0 clock: 36000
               hdsp: 640 hbeg: 696 hend: 752 httl: 832
               vdsp: 480 vbeg: 481 vend: 484 vttl: 509 flags: 10
Checking against clock: 78800 (78800)
                 hdsp: 1024 hbeg: 1040 hend: 1136 httl: 1312
                 vdsp: 768 vbeg: 769 vend: 772 vttl: 800 flags: 5
Checking against clock: 75000 (75000)
                 hdsp: 1024 hbeg: 1048 hend: 1184 httl: 1328
                 vdsp: 768 vbeg: 771 vend: 777 vttl: 806 flags: 10
Checking against clock: 65000 (65000)
                 hdsp: 1024 hbeg: 1048 hend: 1184 httl: 1344
                 vdsp: 768 vbeg: 771 vend: 777 vttl: 806 flags: 10
Checking against clock: 44900 (44900)
                 hdsp: 1024 hbeg: 1032 hend: 1208 httl: 1264
                 vdsp: 768 vbeg: 768 vend: 776 vttl: 817 flags: 21
Checking against clock: 57284 (57284)
                 hdsp: 832 hbeg: 864 hend: 928 httl: 1152
                 vdsp: 624 vbeg: 625 vend: 628 vttl: 667 flags: 10
Checking against clock: 56300 (56300)
                 hdsp: 800 hbeg: 832 hend: 896 httl: 1048
                 vdsp: 600 vbeg: 601 vend: 604 vttl: 631 flags: 5
Checking against clock: 49500 (49500)
                 hdsp: 800 hbeg: 816 hend: 896 httl: 1056
                 vdsp: 600 vbeg: 601 vend: 604 vttl: 625 flags: 5
Checking against clock: 50000 (50000)
                 hdsp: 800 hbeg: 856 hend: 976 httl: 1040
                 vdsp: 600 vbeg: 637 vend: 643 vttl: 666 flags: 5
Checking against clock: 40000 (40000)
                 hdsp: 800 hbeg: 840 hend: 968 httl: 1056
                 vdsp: 600 vbeg: 601 vend: 605 vttl: 628 flags: 5
Checking against clock: 36000 (36000)
                 hdsp: 800 hbeg: 824 hend: 896 httl: 1024
                 vdsp: 600 vbeg: 601 vend: 603 vttl: 625 flags: 5
Checking against clock: 61000 (61000)
                 hdsp: 700 hbeg: 744 hend: 820 httl: 940
                 vdsp: 525 vbeg: 526 vend: 532 vttl: 541 flags: 37
Checking against clock: 54000 (54000)
                 hdsp: 640 hbeg: 664 hend: 720 httl: 844
                 vdsp: 512 vbeg: 512 vend: 514 vttl: 533 flags: 37
Checking against clock: 36000 (36000)
                 hdsp: 640 hbeg: 696 hend: 752 httl: 832
                 vdsp: 480 vbeg: 481 vend: 484 vttl: 509 flags: 10
(--) SAVAGE(0): Chose mode 111 at 85Hz.
SwitchToMode - Succeeded

It hangs forever here. Nothing brings back the display.

Is there a way to suspend/re-init the agp driver when entering/exiting suspend mode? This problem seems to occur even if I suspend outside of X.

If there's any more info I can provide, or a workaround I can try, I'd be grateful. For now, I simply do not set any opengl screensavers, and reboot after unsuspending before using DRI.



--
Mental ([EMAIL PROTECTED])

Know what I pray for? The strength to change what I can, the inability
to accept what I can't and the incapacity to tell the difference.
-- Calvin
GPG public key: http://www.neverlight.com/pas/Mental.asc



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to