suspend works from command line, but not via GNOME menu
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Distro: Ubuntu Feisty (x86_64)
Hardware: Athlon 64 X2 processor, Radeon Xpress 200 integrated graphics, ECS RS485M-M motherboard
Using the open-source "radeon" Xorg driver:
01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 200] (prog-if 00 [VGA])
Subsystem: Elitegroup Computer Systems Unknown device 2140
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 5
Memory at f8000000 (32-bit, prefetchable) [size=64M]
I/O ports at ee00 [size=256]
Memory at fdef0000 (32-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at fde00000 [disabled] [size=128K]
I have recently gotten suspend to work on my desktop computer, via acpi-support, by setting a few parameters in /etc/default/
If I invoke /etc/acpi/sleep.sh directly via the command line, the computer goes into suspend mode, and when I press the power button it comes back up completely correctly. The X server log reports the following:
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataRe
(**) RADEON(0): RADEONLeaveVT # here's the point where I suspend and restore
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(II) Open ACPI successful (/var/run/
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataRe
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(II) Open ACPI successful (/var/run/
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataRe
(II) 3rd Button detected: disabling emulate3Button
However, if I choose the "Suspend" option from GNOME's System | Quit menu, the suspend and restore *does not* work correctly: the X server crashes after restoring, so I lose my GNOME session and must log back in. As I understand it, GNOME invokes the suspend function via HAL, which runs the script /usr/lib/
When I invoke Suspend via the menu, and restore, the X server crashes and GDM immediately restarts it from the login screen. I get the following in the Xorg log:
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): Setting up initial surfaces
(**) RADEON(0): Initializing fb layer
(**) RADEON(0): Setting up accel memmap
(**) RADEON(0): Initializing backing store
(**) RADEON(0): Setting up final surfaces
(**) RADEON(0): Initializing Acceleration
(**) RADEON(0): EngineInit (32/32)
(**) RADEON(0): Pitch for acceleration = 240
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): Initializing DPMS
(**) RADEON(0): Initializing Cursor
(**) RADEON(0): Initializing color map
(**) RADEON(0): Initializing DGA
(**) RADEON(0): Initializing Xv
(**) RADEON(0): RADEONScreenInit finished
(EE) AIGLX: Screen 0 is not DRI capable
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
> Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
No such file or directory.
Error opening /dev/input/wacom : Success
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
No such file or directory.
Error opening /dev/input/wacom : Success
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
No such file or directory.
Error opening /dev/input/wacom : Success
Could not init font path element /usr/X11R6/
Could not init font path element /usr/share/
Could not init font path element /usr/X11R6/
(**) RADEON(0): RADEONSaveScreen(2)
AUDIT: Thu Jul 26 10:52:35 2007: 21896 X: client 2 rejected from local host (uid 1000)
AUDIT: Thu Jul 26 10:52:35 2007: 21896 X: client 3 rejected from local host (uid 1000)
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
SetGrabKeysState - disabled
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
SetGrabKeysState - disabled
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
1920x1440 234.00 1920 2048 2256 2600 1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
Backtrace:
0: /usr/X11R6/
1: /lib/libc.so.6 [0x2b2c98f3bd40]
2: /usr/lib/
3: /usr/lib/
4: /usr/lib/
5: /usr/X11R6/
6: /usr/X11R6/bin/X [0x48dfea]
7: /usr/lib/
8: /usr/lib/
9: /usr/X11R6/
10: /usr/X11R6/
11: /usr/X11R6/
12: /usr/X11R6/
13: /usr/X11R6/
14: /lib/libc.
15: /usr/X11R6/
Fatal server error:
Caught signal 11. Server aborting
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMo
(**) RADEON(0): RADEONRestoreMe
(**) RADEON(0): MC_FB_LOCATION : 0x3fff3e00
(**) RADEON(0): MC_AGP_LOCATION : 0x003f0000
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
Apparently, there's some kind of fault in the X font routines here.
What I don't understand: how can suspend work fine when invoking /etc/acpi/sleep.sh directly, but crash when GNOME calls the same script? What is GNOME doing differently?
Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Thanks in advance.