Public bug reported: 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] Capabilities: [50] Power Management version 2 I have recently gotten suspend to work on my desktop computer, via acpi-support, by setting a few parameters in /etc/default/acpi-support appropriately (and by a slight modification to the /etc/acpi/suspend.d/80-video-vesa-state.sh script, see this bug: https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/128323). 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: ps2EnableDataReporting: succeeded (**) RADEON(0): RADEONLeaveVT # here's the point where I suspend and restore (**) RADEON(0): RADEONRestore (**) RADEON(0): RADEONRestoreMode() (**) RADEON(0): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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/acpid.socket) (**) 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): RADEONRestoreMode(0x7dee48) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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: ps2EnableDataReporting: succeeded (**) RADEON(0): RADEONLeaveVT (**) RADEON(0): RADEONRestore (**) RADEON(0): RADEONRestoreMode() (**) RADEON(0): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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/acpid.socket) (**) 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): RADEONRestoreMode(0x7dee48) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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: ps2EnableDataReporting: succeeded (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/hal/scripts/linux/hal-system-power- suspend-linux. This script in turn invokes /etc/acpi/sleep.sh (since I do not have powersave, pm-suspend, or hibernate installed). 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/lib/X11/fonts/misc, removing from list! Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list! Could not init font path element /usr/X11R6/lib/X11/fonts/Type1, removing from list! (**) 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): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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): RADEONRestoreMode(0x7dee48) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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): RADEONRestoreMode(0x7dee48) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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): RADEONRestoreMode(0x7dee48) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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/bin/X(xf86SigHandler+0x6d) [0x48282d] 1: /lib/libc.so.6 [0x2b2c98f3bd40] 2: /usr/lib/xorg/modules/extensions//libGLcore.so(xmesa_check_and_update_buffer_size+0xc) [0x2b2c9e6ba63c] 3: /usr/lib/xorg/modules/extensions//libGLcore.so [0x2b2c9e6b9b3d] 4: /usr/lib/xorg/modules/extensions//libglx.so [0x2b2c9a620d6b] 5: /usr/X11R6/bin/X(ResizeChildrenWinSize+0x168) [0x43cdb8] 6: /usr/X11R6/bin/X [0x48dfea] 7: /usr/lib/xorg/modules//libxaa.so [0x2b2c9c0e460d] 8: /usr/lib/xorg/modules//libramdac.so [0x2b2c9bed5642] 9: /usr/X11R6/bin/X(xf86Wakeup+0x431) [0x483ce1] 10: /usr/X11R6/bin/X(WakeupHandler+0x51) [0x4519c1] 11: /usr/X11R6/bin/X(WaitForSomething+0x1d4) [0x550f44] 12: /usr/X11R6/bin/X(Dispatch+0x8b) [0x44de0b] 13: /usr/X11R6/bin/X(main+0x45d) [0x43703d] 14: /lib/libc.so.6(__libc_start_main+0xf4) [0x2b2c98f288e4] 15: /usr/X11R6/bin/X(FontFileCompleteXLFD+0x241) [0x436339] Fatal server error: Caught signal 11. Server aborting (**) RADEON(0): RADEONLeaveVT (**) RADEON(0): RADEONRestore (**) RADEON(0): RADEONRestoreMode() (**) RADEON(0): RADEONRestoreMode(0x7de498) (**) RADEON(0): RADEONRestoreMemMapRegisters() : (**) 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? ** Affects: gnome-power-manager (Ubuntu) Importance: Undecided Status: New -- suspend works from command line, but not via GNOME menu https://bugs.launchpad.net/bugs/128543 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs