← Back to team overview

mythbuntu-bugs team mailing list archive

[Bug 428884] Re: gnome-screensaver-command --poke no longer inhibits screensaver

 

** Changed in: xorg-server
   Importance: Medium => Unknown

-- 
You received this bug notification because you are a member of Mythbuntu
Bug Team, which is subscribed to mythtv in ubuntu.
https://bugs.launchpad.net/bugs/428884

Title:
  gnome-screensaver-command --poke no longer inhibits screensaver

Status in GNOME Screensaver:
  Confirmed
Status in Me TV, it's TV for me computer:
  Fix Released
Status in VLC media player:
  Won't Fix
Status in X.Org X server:
  Fix Released
Status in “gnome-screensaver” package in Ubuntu:
  Fix Released
Status in “mplayer” package in Ubuntu:
  Invalid
Status in “mythtv” package in Ubuntu:
  Won't Fix
Status in “vlc” package in Ubuntu:
  Invalid
Status in “xorg-server” package in Ubuntu:
  Fix Released
Status in “gnome-screensaver” source package in Karmic:
  Triaged
Status in “mplayer” source package in Karmic:
  Invalid
Status in “mythtv” source package in Karmic:
  Won't Fix
Status in “vlc” source package in Karmic:
  Invalid
Status in “xorg-server” source package in Karmic:
  Triaged
Status in “gnome-screensaver” package in Debian:
  Confirmed

Bug description:
  Binary package hint: vlc

  In karmic , while playing videos , VLC does not inhibit screensaver.

  This is a regression from the behavior in jaunty.

  ProblemType: Bug
  Architecture: i386
  CheckboxSubmission: 417990aadff2335cd485c57bb06c8968
  CheckboxSystem: 5484a8dd99f006173bd2ac53fa4837c2
  Date: Sun Sep 13 19:58:49 2009
  DistroRelease: Ubuntu 9.10
  Package: vlc 1.0.1-2ubuntu1
  ProcEnviron:
   LANGUAGE=en_US.UTF-8
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcVersionSignature: Ubuntu 2.6.31-10.32-generic
  SourcePackage: vlc
  Uname: Linux 2.6.31-10-generic i686

  **************************
  **** SRU Justification ****
  **************************

  ** Impact of bug **
  The legacy inhibit API was removed from gnome-screensaver, as the gnome-session inhibit API is the preferred way to inhibit the screensaver. The legacy API required applications to "poll" the screensaver regularly to simulate user activity. The new API requires applications to register inhibitors, which will exist until they are removed, or the application exits.

  xdg-screensaver is used by a lot of desktop-neutral applications
  including games and VLC, and this wraps the legacy gnome-screensaver
  API in GNOME. This means that screensaver inhibiting is currently
  broken in GNOME for any application which hasn't been ported to the
  new inhibit API.

  ** Description of changes **
  The existing legacy API still exists in gnome-screensaver, but is currently just a stub. I've added code to this which resets the IDLETIME counter, by simulating fake keypresses using XTEST. The code is already used in gnome-session and totem, and this method of resetting IDLETIME is also used in other applications.

  Resetting IDLETIME will prevent gnome-session from setting the session
  idle (which prevents the screensaver from activating), and will also
  prevent gnome-power-manager from dimming the display.

  ** Regression potential **
  Minimal. The additional functionality is quite self-contained, and the existing interface doesn't work at all anyway. The chosen method of resetting IDLETIME is already used.

  ** TEST CASE **
   Using the following versions of gnome-screensaver in turn, perform the steps detailed below.

  PLEASE MAKE SURE that you run "killall gnome-screensaver && gnome-
  screensaver" after installing the new version, to ensure that you are
  testing the new version.

  - 2.28.0-0ubuntu3.1 (karmic-security)
  - 2.28.0-0ubuntu3.2 (karmic-proposed)

  1) Open gnome-screensaver-preferences, set the timeout to 1 minute and check "Activate screensaver when computer is idle"
  2) Create a script in your home folder called "gss-test.sh", and containing the following:

     #!/bin/sh

     while true; do
         gnome-screensaver-command --poke
         sleep 30
     done

  3) Run the script (sh ~/gss-test.sh), and wait

  With version 2.28.0-0ubuntu3.1 of gnome-screesaver, the screensaver will activate after 1 minute.
  With version 2.28.0-0ubuntu3.2, the screensaver will not activate as long as the script is still running. If you run "gnome-power-manager --verbose" in a separate terminal, you will notice the following sequence of messages each time the IDLETIME counter is reset by gnome-screensaver, which you won't see with the old version:

  TI:21:57:13	TH:0x177e890	FI:gpm-idle.c	FN:gpm_idle_idletime_reset_cb,394
   - idletime reset
  TI:21:57:13	TH:0x177e890	FI:gpm-idle.c	FN:gpm_idle_evaluate,213
   - session_idle=0, session_inhibited=0, x_idle=0
  TI:21:57:13	TH:0x177e890	FI:gpm-idle.c	FN:gpm_idle_set_mode,133
   - Doing a state transition: normal
  TI:21:57:13	TH:0x177e890	FI:gpm-backlight.c	FN:gpm_backlight_notify_system_idle_changed,443
   - we have just been idle for 20.017084s
  TI:21:57:13	TH:0x177e890	FI:gpm-backlight.c	FN:gpm_backlight_notify_system_idle_changed,468
   - changing powersave idle status to 0
  TI:21:57:13	TH:0x177e890	FI:gpm-backlight.c	FN:gpm_backlight_brightness_evaluate_and_set,201
   - no dimming hardware
  TI:21:57:13	TH:0x177e890	FI:gpm-idle.c	FN:gpm_idle_evaluate,238
   - X not idle

  
  4) Exit the script by pressing CTRL+C in the terminal