sway: Plugging in an external monitor causes all clients to exit
Steps to reproduce:
- Start sway.
- Plug in external monitor.
- After a few seconds, both internal & external monitors show a gray background.
- Reloading the sway config (cmd + shift + c for me) causes swaybar to show up again.
- All apps have exited.
This is probably something related to restarting xwayland. If I have no apps running, hotplugging monitors works fine (swaybar stays running). If I have a few apps running (such as gnome-terminal), it happens almost 100% of the time.
- Sway Version:
sway version 1.0-rc1-36-gf00fbe68 (Feb 7 2019, branch 'master')
- Debug Log:
This gist contains two logs of the bug. One with verbose logging and one with debug logging.: https://gist.github.com/ggreer/120d530e5b034dcac6fd1f87878ea89e
- Configuration File:
https://github.com/ggreer/dotfiles/blob/master/home/.config/sway/config
Lastly, this used to not be a problem with an earlier version of sway + wlroots. I’m pretty sure the version of both from January 14th worked fine for me on the same hardware.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 19 (17 by maintainers)
Commits related to this issue
- output: don't destroy global immediately TODO Closes: https://github.com/swaywm/sway/issues/3625 — committed to emersion/wlroots by emersion 5 years ago
- output: don't destroy global immediately TODO Closes: https://github.com/swaywm/sway/issues/3625 — committed to emersion/wlroots by emersion 5 years ago
- output: don't destroy global immediately This patch depends on [1] and [2]. [1]: https://gitlab.freedesktop.org/wayland/wayland/merge_requests/28 [2]: https://gitlab.freedesktop.org/wayland/wayland/... — committed to emersion/wlroots by emersion 5 years ago
- output: don't destroy global immediately This patch depends on [1] and [2]. [1]: https://gitlab.freedesktop.org/wayland/wayland/merge_requests/28 [2]: https://gitlab.freedesktop.org/wayland/wayland/... — committed to emersion/wlroots by emersion 5 years ago
- output: don't destroy global immediately Closes: https://github.com/swaywm/sway/issues/3625 — committed to emersion/wlroots by emersion 5 years ago
- output: don't destroy global immediately Closes: https://github.com/swaywm/sway/issues/3625 — committed to swaywm/wlroots by emersion 5 years ago
- output: don't destroy global immediately Closes: https://github.com/swaywm/sway/issues/3625 — committed to filips/wlroots by emersion 5 years ago
I’m able to reproduce this reliably by having a Chamelium device simulate a bad DisplayPort link and trigger a link training failure.
dmesgshows:and all sway clients exit. I believe the driver triggers one hotplug event to advertise the connection, then another to prune modes.
https://github.com/swaywm/sway/pull/3704