How to refresh the list of outputs detected by xrandr?

Chris Wilson chris at chris-wilson.co.uk
Thu Nov 19 05:27:37 PST 2015


On Thu, Nov 19, 2015 at 02:19:25PM +0100, Łukasz Maśko wrote:
> Hello.
> I have a Dell E7250 laptop. I'm using it with docking stations with external 
> monitors connected. I have one dock at home and another one at work. The 
> monitors connected to them differ, both in models and connectors (and 
> therefore are recognized as different xrandr outputs).
> 
> At home it looks like this:
> $ xrandr
> Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
> eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y 
> axis) 276mm x 156mm
>    1920x1080     60.02*+  48.03  
>    1400x1050     59.98  
>    1280x1024     60.02  
>    1280x960      60.00  
>    1024x768      60.00  
>    800x600       60.32    56.25  
>    640x480       59.94  
> DP1 disconnected (normal left inverted right x axis y axis)
> DP1-1 disconnected (normal left inverted right x axis y axis)
> DP1-2 disconnected (normal left inverted right x axis y axis)
> DP1-3 connected (normal left inverted right x axis y axis)
>    1440x900      59.89 +
>    1280x1024     75.02    60.02  
>    1280x960      60.00  
>    1152x864      75.00  
>    1152x720      59.97  
>    1024x768      75.08    60.00  
>    832x624       74.55  
>    800x600       75.00    60.32    56.25  
>    848x480       60.00  
>    640x480       75.00    60.00    59.94  
>    720x400       70.08  
> DP2 disconnected (normal left inverted right x axis y axis)
> HDMI1 disconnected (normal left inverted right x axis y axis)
> HDMI2 disconnected (normal left inverted right x axis y axis)
> VIRTUAL1 disconnected (normal left inverted right x axis y axis)
> 
> while at work like this:
> $ xrandr
> Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
> eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y 
> axis) 276mm x 156mm
>    1920x1080     60.02*+  48.03  
>    1400x1050     59.98  
>    1280x1024     60.02  
>    1280x960      60.00  
>    1024x768      60.00  
>    800x600       60.32    56.25  
>    640x480       59.94  
> DP1 disconnected (normal left inverted right x axis y axis)
> DP1-1 connected (normal left inverted right x axis y axis)
>    1920x1080     60.00 +  50.00    59.94  
>    1600x1200     60.00  
>    1680x1050     59.88  
>    1280x1024     60.02  
>    1440x900      59.90  
>    1280x960      60.00  
>    1280x800      59.91  
>    1280x720      60.00    50.00    59.94  
>    1024x768      60.00  
>    800x600       60.32    56.25  
>    720x576       50.00  
>    720x480       60.00    59.94  
>    640x480       60.00    59.94  
> DP1-2 disconnected (normal left inverted right x axis y axis)
> DP1-3 disconnected (normal left inverted right x axis y axis)
> DP2 disconnected (normal left inverted right x axis y axis)
> HDMI1 disconnected (normal left inverted right x axis y axis)
> HDMI2 disconnected (normal left inverted right x axis y axis)
> VIRTUAL1 disconnected (normal left inverted right x axis y axis)
> 
> 
> The problem is, that if I suspend my laptop while it is connected to one of 
> the docking stations, it remembers the layout of available monitors and when I 
> dock it onto the other station and resume, it still shows me the old list of 
> outputs and modes. I need to undock it while running and dock it again to make 
> it notify the change in outputs.
> 
> Is there a software way to force xrandr to refresh its state and notify the 
> change in connected devices?

The kernel is supposed to send a hotplug notification on resume that
should result in the list being updated.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the xorg mailing list