very long response programs in the transition from normal to full screen Reproducible: Always Steps to Reproduce: 1. Open the program in any directory with photos 2.Attempt to translate the program from the normal mode to fullscreenBounce back 3.Bounce back Actual Results: Program "hangs"
appears regardless of the method rendering - software or OpenGL
The following screencast shows the bug “in action”: http://www.youtube.com/watch?v=gpAsvUMOSfk&feature=youtu.be
Maybe it in the hardware or driver (open source)^ Machine: System: SAMSUNG product: 355V4C/356V4C/3445VC/3545VC version: P09AAN.031.CP Mobo: SAMSUNG model: NP355V5X-S01RU version: BOARD 00 Bios: American Megatrends version: P09AAN date: 07/04/2013 CPU: Dual core AMD A6-4400M APU with Radeon HD Graphics (-MCP-) cache: 2048 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm) bmips: 10780.6 Clock Speeds: 1: 2400.00 MHz 2: 1400.00 MHz Graphics: Card-1: Advanced Micro Devices [AMD/ATI] Trinity [Radeon HD 7520G] bus-ID: 00:01.0 Card-2: Advanced Micro Devices [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] bus-ID: 01:00.0 X.Org: 1.15.0 drivers: ati,radeon (unloaded: fbdev,vesa) Resolution: 1366x768@60.1hz GLX Renderer: Gallium 0.4 on AMD ARUBA GLX Version: 3.0 Mesa 10.1.0 Direct Rendering: Yes
I'm encountering this as well with Gnome 3.12. I think a common theme might be the non-KDE window manager...
My version of Gwenview is 4.13.1 using KDE development platform 4.13.3 running on Mint 17 64bit Cinnamon. The same in Ubuntu Using gwenview as a normal user and switching to fullscreen mode I get a delay of over half a minute. But this is interesting. Opening Gwenview in terminal as root and switching to fullscreen mode there is no delay.
I think Gwenview is not fully compatible with the Gnome 3 desktops and its derivates like Unity and Cinnamon. I have tried this out on three different multibooting computers. This bug doesn't affect KDE desktops. like OpenSuse, Fedora and Aptosid. But if you log out from KDE and into Gnome in OpenSuse or Fedora you will see this bug. So this bug affects following systems: Fedora 20 in Gnome and Cinnamon, Gwenview version is 4.13.1 OpenSuse 13.1 in Gnome Gwenview version is 4.11.4 In Zorin 8, Gwenview version 4.11.4 in Linux Mint 17 Cinnamon Gwenview version 4.13.1 Ubuntu 14.04 with Unity Gwenview version 4.14.0 In all these cases in fullscreen mode the menubuttons ”hide sidebar” and ”add filter” in the left downside corner are visible only when hovering the mouse over them and the others (folder, information, operations) in the sidebar are greyed out. But they are still operational. Gwenview is running fine on these distributions: Linux Mint Maya Cinnamon, Gwenview version 2.8.5 Debian Stable in Gnome, Gwenview version 2.8.4 And in Linux Mint Debian Cinnamon Gwenview version 4.11.3 but here we have the problem with the menubar described above. There is no difference what driver you have, Nvidia, Nouveau orAti. It seems to me something happened with Gwenview in the versions above 4.11.3, but of course this menubar problem also exists in this version. I hope this help. If any one has this same bug, please confirm.
Created attachment 92599 [details] setting a default reason for disabling the screensaver in knotificationrestrictions.cpp This is a DBUS-communication failure which appears in combination with the Gnome Session Manager. Gwenview wants to disable the screensaver when going into fullscreen mode by sending a DBUS-message. The Gnome Session Manager receives the message, raises an error but does not report it back to Gwenview which makes Gwenview wait (and halt) for 25 seconds before continuing. ##### begin DBUS-log ##### method call sender=:1.223 -> dest=org.freedesktop.ScreenSaver serial=102 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit string "Gwenview" string "" method call sender=:1.6 -> dest=:1.3 serial=466 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit string "Gwenview" uint32 0 string "" uint32 8 error sender=:1.3 -> dest=:1.6 error_name=org.gnome.SessionManager.GeneralError reply_serial=466 string "Reason not specified" ##### end of DBUS-log ##### The reason for the error is, that Gwenview does not specify a *reason* for disabling the screensaver. knotificationrestrictions.cpp in the kdelibs does not allow this in general but leaves the reason variable blank (http://code.woboq.org/qt5/kf5/knotifications/src/knotificationrestrictions.cpp.html#KNotificationRestrictions::Private::reason) and appends the empty variable to the dbus-message (http://code.woboq.org/qt5/kf5/knotifications/src/knotificationrestrictions.cpp.html#113). The appended patch suggests to set the reason to "no_reason_specified" by default. Maybe a method to change the string from each application requesting to disable the screensaver could be added later (going_in_fullscreen_mode, viewing_slideshow, ...). This is the piece of code which raises the error in the Gnome Session Manager: https://github.com/gcampax/gnome-session/blob/master/gnome-session/gsm-manager.c#L3269 With the applied patch to kdelibs, the DBUS-communication works as expected and the timeout does not occur anymore and Gwenview gets back the correct ID (1169992534 in this case) for disabling the screensaver. ##### begin DBUS-log ##### method call sender=:1.223 -> dest=org.freedesktop.ScreenSaver serial=56 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit string "Gwenview" string "no_reason_specified" method call sender=:1.6 -> dest=:1.3 serial=588 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit string "Gwenview" uint32 0 string "no_reason_specified" uint32 8 signal sender=:1.3 -> dest=(null destination) serial=351 path=/org/gnome/SessionManager; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged string "org.gnome.SessionManager" array [ dict entry( string "InhibitedActions" variant uint32 8 ) ] array [ ] signal sender=:1.3 -> dest=(null destination) serial=352 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=InhibitorAdded object path "/org/gnome/SessionManager/Inhibitor29" method return sender=:1.3 -> dest=:1.6 reply_serial=588 uint32 1169992534 method call sender=:1.4 -> dest=:1.21 serial=56 path=/org/gnome/Mutter/IdleMonitor/Core; interface=org.gnome.Mutter.IdleMonitor; member=RemoveWatch uint32 35 method call sender=:1.6 -> dest=org.freedesktop.DBus serial=589 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0=':1.223'" method call sender=:1.6 -> dest=org.freedesktop.DBus serial=590 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string ":1.223" method return sender=:1.6 -> dest=:1.223 reply_serial=56 uint32 1169992534 method call sender=:1.6 -> dest=:1.21 serial=592 path=/org/gnome/Mutter/DisplayConfig; interface=org.freedesktop.DBus.Properties; member=Set string "org.gnome.Mutter.DisplayConfig" string "PowerSaveMode" variant int32 0 method call sender=:1.21 -> dest=:1.3 serial=1073 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=IsInhibited uint32 16 method call sender=:1.21 -> dest=org.freedesktop.DBus serial=1074 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0=':1.4'" method return sender=:1.21 -> dest=:1.4 reply_serial=56 method return sender=:1.3 -> dest=:1.21 reply_serial=1073 boolean false ##### end of DBUS-log #####
I am having this issue as well, using Ubuntu 15.04 with Cinnamon. Many other Ubuntu users have reported this too: https://bugs.launchpad.net/gwenview/+bug/1317616
Thanks for the analysis Johannes. I suggest to submit the patch to https://git.reviewboard.kde.org/
Git commit 3f080d44af41d0158d7b5c51269449e78d5b128f by Martin Klapetek, on behalf of Johannes Stefan. Committed on 29/12/2015 at 20:54. Pushed by mklapetek into branch 'master'. Set default non-empty reason for screen saver inhibition Gnome Session Manager is unhappy when something tries to inhibit the screensaver with no reason, so add a default reason to never inhibit with an empty one. This should fix Gwenview hanging when switching to fullscreen viewing in non-Plasma DE's. REVIEW: 125910 FIXED-IN: 5.18 CHANGELOG: Set default non-empty reason for screen saver inhibition; should fix Gwenview hanging up when switching to fullscreen in non- Plasma DE's M +1 -0 src/knotificationrestrictions.cpp http://commits.kde.org/knotifications/3f080d44af41d0158d7b5c51269449e78d5b128f