Bug 170811

Summary: activating external monitor out does not work; external monitor out stays switched off
Product: krandr Reporter: Sten Heinze <sten.heinze>
Component: krandrtrayAssignee: Gustavo Pichorim Boiko <gustavo.boiko>
Status: RESOLVED FIXED    
Severity: normal CC: jpetso, myriam
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:

Description Sten Heinze 2008-09-10 17:01:48 UTC
Version:           Version 0.5 (using KDE 4.1.1)
Compiler:          gcc version 4.3.1 (Debian 4.3.1-9) 
OS:                Linux
Installed from:    Debian testing/unstable Packages

Starting KDE, logging in, connecting external monitor and trying to activate the external monitor in clone mode using krandrtray does not change anything. The external monitor out is still switched off. Starting krandrtray from the command line gives:
$ krandrtray 
display-randr(10944) RandRDisplay::RandRDisplay: Using XRANDR extension 1.2 or greater.                                                                         
display-randr(10944) RandRDisplay::RandRDisplay: XRANDR error base:  186        
display-randr(10944) RandROutput::setCrtc: Setting CRTC 0 on output "VGA"       
display-randr(10944) RandROutput::queryOutputInfo: Output name: "VGA"           
display-randr(10944) RandROutput::queryOutputInfo: Output refresh rate: 0       
display-randr(10944) RandROutput::queryOutputInfo: Output rect: QRect(0,0 0x0)  
display-randr(10944) RandROutput::queryOutputInfo: Output rotation: 1           
display-randr(10944) RandROutput::setCrtc: Setting CRTC 74 on output "LVDS"     
display-randr(10944) RandROutput::queryOutputInfo: Output name: "LVDS"          
display-randr(10944) RandROutput::queryOutputInfo: Output refresh rate: 49.6112 
display-randr(10944) RandROutput::queryOutputInfo: Output rect: QRect(0,0 1024x768)                                                                             
display-randr(10944) RandROutput::queryOutputInfo: Output rotation: 1           
display-randr(10944) RandROutput::setCrtc: Setting CRTC 73 on output "VGA"      
display-randr(10944) RandRCrtc::applyProposed: [CRTC] Going to apply ( 73 ) ....
display-randr(10944) RandRCrtc::applyProposed:        Current Screen rect:  QRect(0,0 1024x768)                                                                 
display-randr(10944) RandRCrtc::applyProposed:        Current CRTC Rect:  QRect(0,0 0x0)                                                                        
display-randr(10944) RandRCrtc::applyProposed:        Current Rotation:  1      
display-randr(10944) RandRCrtc::applyProposed:        Proposed rect:  QRect(0,0 0x0)                                                                            
display-randr(10944) RandRCrtc::applyProposed:        Proposed rotation:  1     
display-randr(10944) RandRCrtc::applyProposed:        Proposed refresh rate:  0 
display-randr(10944) RandRCrtc::applyProposed:        Outputs:                  
display-randr(10944) RandRCrtc::applyProposed: [CRTC] Going to apply ( 74 ) ....
display-randr(10944) RandRCrtc::applyProposed:        Current Screen rect:  QRect(0,0 1024x768)                                                                 
display-randr(10944) RandRCrtc::applyProposed:        Current CRTC Rect:  QRect(0,0 1024x768)                                                                   
display-randr(10944) RandRCrtc::applyProposed:        Current Rotation:  1      
display-randr(10944) RandRCrtc::applyProposed:        Proposed rect:  QRect(0,0 1024x768)                                                                       
display-randr(10944) RandRCrtc::applyProposed:        Proposed rotation:  1     
display-randr(10944) RandRCrtc::applyProposed:        Proposed refresh rate:  0 
display-randr(10944) RandRCrtc::applyProposed:        Outputs:                  
display-randr(10944) RandRCrtc::applyProposed:                -  "LVDS"         
display-randr(10944): ""Rect" - conversion of "0,0,0,0" to QRect failed"        
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2                                                                    
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRDisplay::needsRefresh: Cache: 37983 Server: 37983 Config: 10529925                                                                    
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRCrtc::applyProposed: [CRTC] Going to apply ( 73 ) ....
display-randr(10944) RandRCrtc::applyProposed:        Current Screen rect:  QRect(0,0 1024x768)                                                                 
display-randr(10944) RandRCrtc::applyProposed:        Current CRTC Rect:  QRect(0,0 0x0)                                                                        
display-randr(10944) RandRCrtc::applyProposed:        Current Rotation:  1      
display-randr(10944) RandRCrtc::applyProposed:        Proposed rect:  QRect(0,0 1024x768)                                                                       
display-randr(10944) RandRCrtc::applyProposed:        Proposed rotation:  1     
display-randr(10944) RandRCrtc::applyProposed:        Proposed refresh rate:  0 
display-randr(10944) RandRCrtc::applyProposed:        Outputs:                  
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRDisplay::needsRefresh: Cache: 37983 Server: 37983 Config: 10529925                                                                    
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRCrtc::applyProposed: [CRTC] Going to apply ( 73 ) ....
display-randr(10944) RandRCrtc::applyProposed:        Current Screen rect:  QRect(0,0 1024x768)                                                                 
display-randr(10944) RandRCrtc::applyProposed:        Current CRTC Rect:  QRect(0,0 1024x768)                                                                   
display-randr(10944) RandRCrtc::applyProposed:        Current Rotation:  1      
display-randr(10944) RandRCrtc::applyProposed:        Proposed rect:  QRect(0,0 1024x768)                                                                       
display-randr(10944) RandRCrtc::applyProposed:        Proposed rotation:  1     
display-randr(10944) RandRCrtc::applyProposed:        Proposed refresh rate:  0 
display-randr(10944) RandRCrtc::applyProposed:        Outputs:                  
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRDisplay::needsRefresh: Cache: 37983 Server: 37983 Config: 10529925                                                                    
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) KRandRSystemTray::populateMenu: Active outputs:  2         
display-randr(10944) RandRScreen::unifyOutputs: Unifying outputs using rect  QRect(0,0 1024x768)                                                                
display-randr(10944) RandRDisplay::needsRefresh: Cache: 37983 Server: 37983 Config: 10529925                                                                    
findServiceByDesktopPath: randr not found                                       
display-randr(10944) RandRDisplay::RandRDisplay: Using XRANDR extension 1.2 or greater.                                                                         
display-randr(10944) RandRDisplay::RandRDisplay: XRANDR error base:  186        
display-randr(10944) RandROutput::setCrtc: Setting CRTC 0 on output "VGA"       
display-randr(10944) RandROutput::queryOutputInfo: Output name: "VGA"           
display-randr(10944) RandROutput::queryOutputInfo: Output refresh rate: 0       
display-randr(10944) RandROutput::queryOutputInfo: Output rect: QRect(0,0 0x0)  
display-randr(10944) RandROutput::queryOutputInfo: Output rotation: 1           
display-randr(10944) RandROutput::setCrtc: Setting CRTC 74 on output "LVDS"     
display-randr(10944) RandROutput::queryOutputInfo: Output name: "LVDS"          
display-randr(10944) RandROutput::queryOutputInfo: Output refresh rate: 49.6112 
display-randr(10944) RandROutput::queryOutputInfo: Output rect: QRect(0,0 1024x768)                                                                             
display-randr(10944) RandROutput::queryOutputInfo: Output rotation: 1           
display-randr(10944) RandRScreen::unifyOutputs: Unifying outputs using rect  QRect(0,0 1024x768)                                                                
display-randr(10944) RandROutput::setCrtc: Setting CRTC 73 on output "VGA"      
display-randr(10944) RandRCrtc::applyProposed: [CRTC] Going to apply ( 73 ) ....
display-randr(10944) RandRCrtc::applyProposed:        Current Screen rect:  QRect(0,0 1024x768)                                                                 
display-randr(10944) RandRCrtc::applyProposed:        Current CRTC Rect:  QRect(0,0 0x0)                                                                        
display-randr(10944) RandRCrtc::applyProposed:        Current Rotation:  1      
display-randr(10944) RandRCrtc::applyProposed:        Proposed rect:  QRect(0,0 1024x768)                                                                       
display-randr(10944) RandRCrtc::applyProposed:        Proposed rotation:  1     
display-randr(10944) RandRCrtc::applyProposed:        Proposed refresh rate:  0 
display-randr(10944) RandRCrtc::applyProposed:        Outputs:                  
display-randr(10944) RandRScreen::unifyOutputs: Unifying outputs using rect  QRect(0,0 1024x768)                                                                
findServiceByDesktopPath: nvidiadisplay not found                               
findServiceByDesktopPath: nvidia3d not found                                    
findServiceByDesktopPath: kgamma not found                                      
findServiceByDesktopPath: energy not found                                      
display-randr(10944) KRandRModule::load: Loading KRandRMode...                  
display-randr(10944) OutputConfig::load: Loading output configuration for  "VGA"
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       
display-randr(10944) OutputConfig::load: Loading output configuration for  "LVDS"                                                                               
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       
display-randr(10944) KRandRModule::load: Loading KRandRMode...                  
display-randr(10944) OutputConfig::load: Loading output configuration for  "VGA"
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       
display-randr(10944) OutputConfig::load: Loading output configuration for  "LVDS"                                                                               
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       
display-randr(10944) KRandRModule::load: Loading KRandRMode...                  
display-randr(10944) OutputConfig::load: Loading output configuration for  "VGA"
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       
display-randr(10944) OutputConfig::load: Loading output configuration for  "LVDS"                                                                               
display-randr(10944) OutputConfig::load:   Setting graphic rect pos:  QPoint(0,0)                                                                               
display-randr(10944) RandRConfig::load: Output rect:  QRect(0,0 1024x768)       

Activating the external monitor manually with "xrandr --output VGA --auto" gives the desired cloned output and the following on the command line:
display-randr(10944) RandRCrtc::handleEvent: [CRTC] Event...
display-randr(10944) RandRCrtc::handleEvent:    Changed mode
display-randr(10944) RandRScreen::unifyOutputs: Unifying outputs using rect  QRect(0,0 1024x768)                                                                
display-randr(10944) RandROutput::handleEvent: [OUTPUT] Got event for  "VGA"    
display-randr(10944) RandROutput::handleEvent:        crtc:  73                 
display-randr(10944) RandROutput::handleEvent:        mode:  152                
display-randr(10944) RandROutput::handleEvent:        rotation:  1              
display-randr(10944) RandROutput::handleEvent:        connection:  0            
display-randr(10944) RandROutput::handleEvent: FIXME: Output event ignored!     

Unsurprisingly, deactivating with krandrtray does not work either, but using "xrandr --output VGA --off" is successful.

The laptop is an Thinkpad X40 with an integrated intel graphics card running mostly Debian testing. The KDE packages are from experimental.

Please tell me, if I can help any further.
Thanks, 
Sten


$ lspci | grep Graphic
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

$ apt-show-versions |grep kdebase-workspace\/test
kdebase-workspace/testing uptodate 4:4.1.1-1

$ apt-show-versions |grep xorg |egrep core\|intel
xserver-xorg-core/testing uptodate 2:1.4.2-5
xserver-xorg-video-intel/testing uptodate 2:2.3.2-2+lenny2
Comment 1 Jakob Petsovits 2008-11-13 15:42:42 UTC
Yup, confirmed. KDE's RandR implementation (in both krandrtray and the "Size & Orientation") was, like, buggy as hell in KDE 4.1.2. I just fixed it so that at least this issue will work correctly in KDE 4.2. Maybe someone wants to backport those fixes, but personally I'm not motivated to do that. (The first 4.2 beta should appear next week or so, I'll just suggest to use that one until final 4.2 is released...)