Comment 34 for bug 1295267

Revision history for this message
mreichardt (mreichardt) wrote :

I have this problem in Ubuntu 14.04 and 16.04 with a dual 4K screen setup (using a nvidia GPU).

Sometimes when waking the screens from standby ("Power Save Mode"), windows on the right screen are moved to an invisible offscreen area.
Using keyboard shortcuts, they can be moved to the visible area again.

I just ran my screens through ~10 standby cycles in different configurations.
One screen (Dell) wakes from standby almost immediately - the other (Iiyama) needs around 3 seconds. For simplicity, I will refer to them as quick and slow screen.
Both screens are connected via DisplayPort.
The driver from Ubuntu's nvidia-361 package is used.

I made the following observations:
* Window displacement happens on the right screen only.
* When the quick screen is the right screen, you can see the windows at the correct positions after wakeup, then the slow screen wakes up, reinitialization seems to be triggered (both screens are black for one second) and after that the windows are displaced (sometimes).
* When the quick screen is the right screen, random displacement seems to happen only once per Unity Session (if I logged out and in again, it happened again). When the slow screen is the right screen, it happens more often.
* When window displacement occurs, windows seem to be swapped between the right screen and the invisible offscreen area (-> windows still in the invisible offscreen area reappear at their former positions).
* Swapping the DisplayPort connectors at the Graphics Adapter does not have an impact on the behaviour.
* KDE also displaces windows on wakeup. They are moved to screen edges instead of invisible offscreen areas.

---

I am using the tint2 taskbar (window displacement also occurs without tint2). Its command line output at screen wakeup might be interesting.
There are two variants of output (see below). Window displacement may occur on either.
If displacement occurs, tint2 and also the menus in the title bar are often broken on one screen - until I restart tint2.

First variant:

/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1163: triggering tint2 restart due to configuration change in the root window
/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1883: restarting tint2...
xRandr: Found crtc's: 3
xRandr: Linking output DP-2 with crtc 0
xRandr: Linking output DP-4 with crtc 1
xsettings: Gtk/FontName = Ubuntu 11
xsettings: Net/IconThemeName = ubuntu-mono-dark
real transparency on... depth: 32
panel items: TSC
Systray composited rendering on
tint2 : nb monitor 2, nb monitor used 2, nb desktop 1
Kernel uevent interface initialized...

Second variant:

/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1163: triggering tint2 restart due to configuration change in the root window
/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1883: restarting tint2...
xRandr: Found crtc's: 3
xRandr: Linking output DP-2 with crtc 0
xsettings: Gtk/FontName = Ubuntu 11
xsettings: Net/IconThemeName = ubuntu-mono-dark
real transparency on... depth: 32
panel items: TSC
Systray composited rendering on
tint2 : nb monitor 1, nb monitor used 1, nb desktop 2
Kernel uevent interface initialized...
tint2 : another systray is running pid=1908
/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1163: triggering tint2 restart due to configuration change in the root window
/build/tint2-6JO0z5/tint2-0.12.7/src/tint.c 1883: restarting tint2...
xRandr: Found crtc's: 3
xRandr: Linking output DP-2 with crtc 0
xRandr: Linking output DP-4 with crtc 1
xsettings: Gtk/FontName = Ubuntu 11
xsettings: Net/IconThemeName = ubuntu-mono-dark
real transparency on... depth: 32
panel items: TSC
Systray composited rendering on
tint2 : nb monitor 2, nb monitor used 2, nb desktop 2
Kernel uevent interface initialized...