[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 249636] New: Switching between external monitors fails (DVI/VGA
From:       Tim Holy <holy () pcg ! wustl ! edu>
Date:       2010-08-31 14:02:06
Message-ID: bug-249636-17878 () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=249636

           Summary: Switching between external monitors fails (DVI/VGA
                    crtc issue)
           Product: systemsettings
           Version: 0.2
          Platform: Ubuntu Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: kcm_randr
        AssignedTo: gustavo.boiko@kdemail.net
        ReportedBy: holy@pcg.wustl.edu
                CC: hbock@providence.edu


Version:           0.2 (using KDE 4.5.0) 
OS:                Linux

Brief summary: this bug can be fixed if the configuration program executes the
equivalent of
$ xrandr --output DVI-0 --off
on a disconnected DVI monitor before activating a new VGA monitor (and vice
versa).

Slightly longer summary: if your laptop video card has only 2 crtcs (one of
which is devoted to the laptop LVDS display), then switching between two
different external monitors fails if one of them is connected with a digital
(DVI) connector and the other uses a VGA connector. The problem is that xrandr
does not automatically "free" the crtc devoted to whichever one you plugged in
first, so there is no crtc available to drive the new monitor. However, if you
explicitly turn that output off, then you can activate the second monitor.
Currently the GUI does not support this, so it is necessary to go to the
command line.

The discussion here:
https://bugs.freedesktop.org/show_bug.cgi?id=29852
indicates that it is undesirable for xrandr to automatically turn the
disconnected output off, and that this is better handled by the GUI.

Reproducible: Always

Steps to Reproduce:
Here's my hardware:
Laptop: Thinkpad T60, with a 1400x1050 screen (4:3), ATI X1400 videocard
Home external monitor: Dell S2409W with 1920x1080 resolution (16:9), connected
via VGA
Work external monitor: HP LP2065 with a 1600x1200 resolution (4:3), connected
via DVI

Steps:
1. Start X with one external monitor connected.
2. Put laptop to sleep.
3. Connect laptop to different external monitor.
4. Wake laptop up.
5. Accept the suggestion to configure the new display.
6. The GUI pops up correctly identifying the modes of the new monitor. Set
things up as you like them. Then click "apply".

Actual Results:  
Rather than implement the new settings and present the dialog that asks whether
you want to accept the new settings or revert to the old ones, the GUI just
grays out the Apply button without changing anything. The new monitor is not
activated.

Work-around:
1. Go to the command line
2. Type "xrandr --auto". You will see the error
xrandr: cannot find crtc for output DVI-0
(or VGA-0 if that is the new monitor type), which explains the hiccup in the
GUI.
3. Type "xrandr --output [connectiontype] --off", where [connectiontype] should
be DVI or VGA depending on which type the first monitor was.
4. Go back to Systemsettings->Display and re-configure. This time it will work. 


Expected Results:  
It should have just activated the new monitor as requested, with requiring me
to go to the command line. When one monitor is disconnected and a new one is
detected, the appropriate calls to libxrandr should be made to ensure that the
disconnected output is turned off before the new display is turned on.

OS: Linux (i686) release 2.6.35-19-generic
Compiler: cc
Maverick daily build 2010-08-26. However, I should say that this is a
long-standing bug, present for me starting in Kubuntu Karmic.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic