profile standalone {
output LVDS-1 mode 1600x900 enable scale 1
}
profile home_ext_only {
output LVDS-1 disable
output "BNQ BenQ LCD G7G04942019" mode 2560x1440 enable scale 1.25
}
Goal is to shut down internal display when external is connected and vice-versa.
applying profile 'home_ext_only'
applying profile output 'LVDS-1' on connected head 'LVDS-1'
applying profile output 'BNQ BenQ LCD G7G04942019' on connected head 'DP-3'
configuration for profile 'home_ext_only' applied
applying profile 'standalone'
applying profile output 'LVDS-1' on connected head 'LVDS-1'
configuration for profile 'standalone' applied
applying profile 'home_ext_only'
applying profile output 'BNQ BenQ LCD G7G04942019' on connected head 'DP-3'
applying profile output 'LVDS-1' on connected head 'LVDS-1'
failed to apply configuration for profile 'home_ext_only'
applying profile 'home_ext_only'
applying profile output 'BNQ BenQ LCD G7G04942019' on connected head 'DP-3'
applying profile output 'LVDS-1' on connected head 'LVDS-1'
failed to apply configuration for profile 'home_ext_only'
Profiles get applied. When something fails, kanshi retries or at least keeps working with other profiles.
Both outputs blank.
Let me know if there is anything else I could provide to help debugging this issue. I am, observing it for quite some time (months, maybe year).
Can you post compositor logs? It's likely the kernel driver rejecting the new configuration.
Sure here it debug output from sway https://paste.sr.ht/~xorly/7df15358e31c36cba45667b821b2c4ea613c214e I can capture DRM kernel logs if needed
Please ignore missing PyQt6, nitrogen and similar errors 😅
Yup, kernel is rejecting the commit. Nothing we can do about this.
00:01:03.678 [DEBUG] [wlr] [backend/drm/atomic.c:72] connector DP-3: Atomic commit failed: Invalid argument 00:01:03.678 [DEBUG] [wlr] [backend/drm/atomic.c:76] (Atomic commit flags: ATOMIC_TEST_ONLY | ATOMIC_ALLOW_MODESET)
Understood. In the end, kanshi leaves outputs in unusable state. Could it try to rollback?
If outputs are left in an unusable state, that'd be a wlroots bug.