emersion / kanshi

Dynamic display configuration (mirror)
https://wayland.emersion.fr/kanshi/
MIT License
655 stars 46 forks source link

Sometimes kanshi does not restore display config when re-docking #90

Open luispabon opened 4 years ago

luispabon commented 4 years ago

I have a laptop which I connect to a thunderbolt dock with 2 additional displays. Ocassionally, when I re-dock the laptop, display position is not restored - displays are configured to be linear left to right instead of two top and one bottom as per my config. Killing kanshi and reloading it correctly restores display configuration.

I'm not sure what to do for debugging this further - it does not always happen.

Config:

# Laptop display by itself
{
    output "Sharp Corporation 0x1476 0x00000000" mode 3840x2160 scale 2 position 0,0
}

# Laptop display + studio 24"
{
    output eDP-1 mode 3840x2160 scale 2 position 0,1081
    output "Iiyama North America PL2410HD 11046A0B03094" mode 1920x1080 scale 1 position 0,0
}

# Laptop display + studio 24" and 19" via dock <-- this is the config that fails to apply upon docking
{
    output eDP-1 mode 3840x2160 scale 2 position 0,1081
    output "Iiyama North America PL2410HD 11046A0B03094" mode 1920x1080 scale 1 position 0,0
    output "Samsung Electric Company SMB1920NW HMDB101546" mode 1440x900 scale 1 position 1920,0
}
luispabon commented 4 years ago

Managed to get some logs:

Oct 20 11:47:30 applying profile '<anonymous at line 13, col 1>'
Oct 20 11:47:30 applying profile output 'eDP-1' on connected head 'eDP-1'
Oct 20 11:47:30 applying profile output 'Samsung Electric Company SMB1920NW HMDB101546' on connected head 'DP-5'
Oct 20 11:47:30 applying profile output 'Iiyama North America PL2410HD 11046A0B03094' on connected head 'DP-6'
Oct 20 11:47:30 applying profile '<anonymous at line 13, col 1>'
Oct 20 11:47:30 applying profile output 'eDP-1' on connected head 'eDP-1'
Oct 20 11:47:30 applying profile output 'Samsung Electric Company SMB1920NW HMDB101546' on connected head 'DP-5'
Oct 20 11:47:30 applying profile output 'Iiyama North America PL2410HD 11046A0B03094' on connected head 'DP-6'
Oct 20 11:47:30 applying profile '<anonymous at line 13, col 1>'
Oct 20 11:47:30 applying profile output 'eDP-1' on connected head 'eDP-1'
Oct 20 11:47:30 applying profile output 'Samsung Electric Company SMB1920NW HMDB101546' on connected head 'DP-5'
Oct 20 11:47:30 applying profile output 'Iiyama North America PL2410HD 11046A0B03094' on connected head 'DP-6'
Oct 20 11:47:30 applying profile '<anonymous at line 13, col 1>'
Oct 20 11:47:30 applying profile output 'eDP-1' on connected head 'eDP-1'
Oct 20 11:47:30 applying profile output 'Samsung Electric Company SMB1920NW HMDB101546' on connected head 'DP-5'
Oct 20 11:47:30 applying profile output 'Iiyama North America PL2410HD 11046A0B03094' on connected head 'DP-6'
Oct 20 11:47:30 running commands for configuration '<anonymous at line 13, col 1>'
Oct 20 11:47:30 configuration for profile '<anonymous at line 13, col 1>' applied
Oct 20 11:47:31 configuration for profile '<anonymous at line 13, col 1>' cancelled, retrying
Oct 20 11:47:31 configuration for profile '<anonymous at line 13, col 1>' cancelled, retrying
Oct 20 11:47:31 running commands for configuration '<anonymous at line 13, col 1>'
Oct 20 11:47:31 configuration for profile '<anonymous at line 13, col 1>' applied
Oct 20 16:02:38 no profile matched
Oct 20 16:02:43 applying profile '<anonymous at line 13, col 1>'
Oct 20 16:02:43 applying profile '<anonymous at line 13, col 1>'
Output eDP-1 'Sharp Corporation 0x1476 0x00000000' (focused)
  Current mode: 3840x2160 @ 59.997002 Hz
  Position: 0,1081
  Scale factor: 2.000000
  Scale filter: nearest
  Subpixel hinting: unknown
  Transform: normal
  Workspace: 2
  Max render time: off
  Adaptive sync: disabled
  Available modes:
    3840x2160 @ 59.997002 Hz

Output DP-5 'Samsung Electric Company SMB1920NW HMDB101546'
  Current mode: 1440x900 @ 74.984001 Hz
  Position: 1920,0
  Scale factor: 1.000000
  Scale filter: nearest
  Subpixel hinting: unknown
  Transform: normal
  Workspace: 5
  Max render time: off
  Adaptive sync: disabled
  Available modes:
    720x400 @ 70.082001 Hz
    640x480 @ 59.939999 Hz
    640x480 @ 66.667000 Hz
    640x480 @ 72.808998 Hz
    640x480 @ 75.000000 Hz
    800x600 @ 56.250000 Hz
    800x600 @ 60.317001 Hz
    800x600 @ 72.188004 Hz
    800x600 @ 75.000000 Hz
    832x624 @ 74.551003 Hz
    1024x768 @ 60.004002 Hz
    1024x768 @ 70.069000 Hz
    1024x768 @ 75.028999 Hz
    1152x864 @ 75.000000 Hz
    1280x800 @ 59.810001 Hz
    1280x960 @ 60.000000 Hz
    1440x900 @ 74.984001 Hz
    1280x1024 @ 60.020000 Hz
    1280x1024 @ 75.025002 Hz
    1440x900 @ 59.887001 Hz

Output DP-7 'Iiyama North America PL2410HD 11046A0B03094'
  Current mode: 1920x1080 @ 60.000000 Hz
  Position: 3360,0
  Scale factor: 1.000000
  Scale filter: nearest
  Subpixel hinting: unknown
  Transform: normal
  Workspace: 3
  Max render time: off
  Adaptive sync: disabled
  Available modes:
    720x400 @ 70.082001 Hz
    640x480 @ 59.939999 Hz
    640x480 @ 59.939999 Hz
    640x480 @ 60.000000 Hz
    640x480 @ 66.667000 Hz
    640x480 @ 72.808998 Hz
    640x480 @ 75.000000 Hz
    720x480 @ 59.939999 Hz
    720x480 @ 59.939999 Hz
    720x480 @ 59.939999 Hz
    720x480 @ 60.000000 Hz
    720x480 @ 60.000000 Hz
    720x576 @ 50.000000 Hz
    720x576 @ 50.000000 Hz
    720x576 @ 50.000000 Hz
    800x600 @ 56.250000 Hz
    800x600 @ 60.317001 Hz
    800x600 @ 72.188004 Hz
    800x600 @ 75.000000 Hz
    832x624 @ 74.551003 Hz
    1024x768 @ 60.004002 Hz
    1024x768 @ 70.069000 Hz
    1024x768 @ 75.028999 Hz
    1440x576 @ 50.000000 Hz
    1280x720 @ 50.000000 Hz
    1280x720 @ 59.939999 Hz
    1280x720 @ 60.000000 Hz
    1280x720 @ 60.000000 Hz
    1152x864 @ 75.000000 Hz
    1280x960 @ 60.000000 Hz
    1440x900 @ 59.901001 Hz
    1440x900 @ 74.984001 Hz
    1280x1024 @ 60.020000 Hz
    1280x1024 @ 75.025002 Hz
    1680x1050 @ 59.882999 Hz
    1600x1200 @ 60.000000 Hz
    1920x1080 @ 50.000000 Hz
    1920x1080 @ 59.939999 Hz
    1920x1080 @ 60.000000 Hz
    1920x1080 @ 60.000000 Hz

You can see at 16:02. Can't match profiles, but weirdly then it goes on to say applying profile [ line 13] which is the correct one, but it doesn't get applied.

If I kill kanshi & start it again, it works normally again.