Announcement

Collapse
No announcement yet.

Desktop reflow when monitor goes to sleep

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Desktop reflow when monitor goes to sleep

    I've had this issue since the 14.04 update.
    I'm running a dual monitor desktop with AMD Catalyst drivers. Both monitors work fine for normal use after boot, but when one enters power save mode (not the screensaver, the monitor goes into a low power mode) or is turned off, it causes the desktop to reflow to use just the remaining monitor. This reflow causes the secondary monitor to wake up, causing yet another reflow, This usually (not always) messes with the screen resolution and causes artifacts to appear. In addition, sometimes the background comes out black on the secondary monitor and widgets are never returned to their original locations.
    Before the update if one monitor was powered off, the desktop would just continue as if there were two, which was a lot more desireable than this reflowing.

    Does anyone know if there is some setting I can change to revert it to the old behaviour or have the second monitor sleep/wake up properly?

    I have not found anything relavent in /var/log/, but I'm not exactly sure where to look.

    #2
    The remedy will probably depend on the video card and driver you use.
    Like is it Intel, AMD or nVidia, do you use the proprietary driver or not?

    Comment


      #3
      I'm using an AMD Radeon 7790 HD and the proprietary Catalyst drivers.
      I looked through the settings, but didn't see anything that seemed to be related to the issue.

      Comment


        #4
        Sorry, I have nothing (and no experience) with AMD and dual screen...

        Comment


          #5
          Alright, I'll keep digging. Thanks for stopping in

          Comment


            #6
            I've been using dual monitors for over a decade (although with nvidia graphics) and have never seen a dual monitor setup where one monitor will sleep on a different schedule than the other. How exactly is that happening? I can't even see how to configure dpms to do that, unless you're using a custom xorg.conf and have them set up as independent displays - which would include separate desktops so you wouldn't get this behavior.

            Clearly, powering a monitor off is causing it to be detected as dis-connected, as one might expect. Likely, this only worked for you before because your older driver or version of xorg didn't handle the disconnect the same way.

            Are these some sort of super high-powered devices? I ask that because most monitors use very little electricity so why turn one off? I know that's not an answer, but I'm trying to understand your setup and the motivation behind it.

            Please Read Me

            Comment


              #7
              The monitors are not on a different schedule, but they are different makes, and the secondary monitor takes less time to get into the power save mode. The issue triggers just before the primary turns off.

              I figured it must be something like that, but I'm not sure what to do/where to look to find out what specifically is causing the problem.

              They are just regular monitors, and I want them to be able to enter power save mode mostly because it emits less light. I don't normally turn either off, but when testing I found that the power off caused the same symptoms as sleeping while being much faster to work with.

              Comment


                #8
                Yeah, I get the light issue. My desk is outside the bedroom and the light is annoying when it's time for bed.

                I presume you're not using an xorg.conf file? I ask because I wonder if creating one would make it behave better. Instead of xorg scanning for devices, it would rely on the config.

                Please Read Me

                Comment


                  #9
                  When I looked, I found that there was a xorg.conf file in /etc/X11/. So I removed it to see what would happen, and the symptoms are looking less severe. I tried to make a new one, in case what was there is for an old setup or something, but xorg -configure is seg faulting, so I'll need to figure that out to try your idea.

                  Comment


                    #10
                    What does the old xorg have in it? I would make one with both monitors and your video card properly defined.

                    Please Read Me

                    Comment


                      #11
                      Here's the old xorg.conf

                      Code:
                      Section "ServerLayout"
                          Identifier     "aticonfig Layout"
                          Screen      0  "aticonfig-Screen[0]-0" 0 0
                      EndSection
                      
                      Section "Module"
                      EndSection
                      
                      Section "Monitor"
                          Identifier   "aticonfig-Monitor[0]-0"
                          Option        "VendorName" "ATI Proprietary Driver"
                          Option        "ModelName" "Generic Autodetecting Monitor"
                          Option        "DPMS" "true"
                      EndSection
                      
                      Section "Monitor"
                          Identifier   "0-DFP6"
                          Option        "VendorName" "ATI Proprietary Driver"
                          Option        "ModelName" "Generic Autodetecting Monitor"
                          Option        "DPMS" "true"
                          Option        "PreferredMode" "1600x1200"
                          Option        "TargetRefresh" "60"
                          Option        "Position" "1600 0"
                          Option        "Rotate" "normal"
                          Option        "Disable" "false"
                      EndSection
                      
                      Section "Monitor"
                          Identifier   "0-DFP7"
                          Option        "VendorName" "ATI Proprietary Driver"
                          Option        "ModelName" "Generic Autodetecting Monitor"
                          Option        "DPMS" "true"
                          Option        "PreferredMode" "1600x1200"
                          Option        "TargetRefresh" "60"
                          Option        "Position" "0 0"
                          Option        "Rotate" "normal"
                          Option        "Disable" "false"
                      EndSection
                      
                      Section "Device"
                          Identifier  "aticonfig-Device[0]-0"
                          Driver      "fglrx"
                          Option        "Monitor-DFP6" "0-DFP6"
                          Option        "Monitor-DFP7" "0-DFP7"
                          BusID       "PCI:1:0:0"
                      EndSection
                      
                      Section "Screen"
                          Identifier "aticonfig-Screen[0]-0"
                          Device     "aticonfig-Device[0]-0"
                          DefaultDepth     24
                          SubSection "Display"
                              Viewport   0 0
                              Virtual   3200 1920
                              Depth     24
                          EndSubSection
                      EndSection
                      I don't really know much about what it all means. I tried making a new one with
                      Code:
                      Xorg -configure
                      but it gives a seg fault. I think the xorg.conf idea will work, but I haven't been able to test it because of the error. I'll give another post if I can figure out how to try the idea.

                      Comment


                        #12
                        So you have 3 monitors?

                        Please Read Me

                        Comment


                          #13
                          I have 2, but I used to have a different secondary monitor which might be appearing in the conf file.
                          I don't think that would cause any trouble by being there, but I could definitely be wrong.

                          Comment


                            #14
                            Wouldn't hurt to remove that extra monitor section. but I doubt that's the cause. I'm still trying to figure out why your monitors are reacting to dpms differently. What are the brands/models of the monitors and I'd like to see the output of xset dpms -q and xrandr -q

                            Please Read Me

                            Comment


                              #15
                              Before the update, they would go to sleep at the same time, but the primary monitor had a longer power down sequence. So I don't think the secondary monitor is actually turning off first, I just think that I don't see the primary monitor start before the issue comes up. One is a Samsung, but I don't know about the other one, they're both second hand and don't have much written on them.
                              Code:
                              ~> xset dpms -q
                              Keyboard Control:
                                auto repeat:  on    key click percent:  0    LED mask:  00000000
                                XKB indicators:
                                  00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
                                  03: Compose:     off    04: Kana:        off    05: Sleep:       off
                                  06: Suspend:     off    07: Mute:        off    08: Misc:        off
                                  09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
                                  12: Group 2:     off    13: Mouse Keys:  off
                                auto repeat delay:  660    repeat rate:  25
                                auto repeating keys:  00ffffffdffffbbf
                                                      fadfffefffedffff
                                                      9fffffffffffffff
                                                      fff7ffffffffffff
                                bell percent:  50    bell pitch:  400    bell duration:  100
                              Pointer Control:
                                acceleration:  20/10    threshold:  4
                              Screen Saver:
                                prefer blanking:  yes    allow exposures:  yes
                                timeout:  0    cycle:  600
                              Colors:
                                default colormap:  0x20    BlackPixel:  0x0    WhitePixel:  0xffffff
                              Font Path:
                                /usr/share/fonts/X11/misc,/usr/share/fonts/X11/Type1,built-ins
                              DPMS (Energy Star):
                                Standby: 0    Suspend: 0    Off: 0
                                DPMS is Disabled
                              Code:
                              ~> xrandr -q
                              Screen 0: minimum 320 x 200, current 3600 x 1200, maximum 16384 x 16384
                              DFP1 disconnected (normal left inverted right x axis y axis)
                              DFP2 disconnected (normal left inverted right x axis y axis)
                              DFP3 disconnected (normal left inverted right x axis y axis)
                              DFP4 disconnected (normal left inverted right x axis y axis)
                              DFP5 disconnected (normal left inverted right x axis y axis)
                              DFP6 connected 1680x1050+1920+0 (normal left inverted right x axis y axis) 474mm x 296mm
                                 1680x1050      60.0*+
                                 1400x1050      60.0  
                                 1280x1024      60.0  
                                 1440x900       60.0  
                                 1280x960       60.0  
                                 1280x800       60.0  
                                 1152x864       60.0  
                                 1280x768       60.0  
                                 1280x720       60.0  
                                 1024x768       60.0  
                                 800x600        60.0  
                                 640x480        60.0  
                              DFP7 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
                                 1920x1200      60.0*+
                                 1920x1080      50.0  
                                 1600x1200      60.0  
                                 1776x1000      50.0  
                                 1680x1050      60.0  
                                 1400x1050      60.0  
                                 1280x1024      60.0  
                                 1440x900       60.0  
                                 1280x960       60.0  
                                 1280x800       60.0  
                                 1280x768       60.0  
                                 1280x720       50.0  
                                 1024x768       60.0  
                                 1152x648       50.0  
                                 800x600        60.0  
                                 720x576        60.0  
                                 720x480        60.0  
                                 640x480        60.0  
                              CRT1 disconnected (normal left inverted right x axis y axis)
                              Here are the outputs you asked for.

                              Comment

                              Working...
                              X