~emersion/kanshi#92: 
Blank screen after docking

#Environment

  • Laptop: Thinkpad T430 with Intel(R) Core(TM) i7-3610QM and integrated graphics
  • Dock: Lenovo ThinkPad Mini Dock Plus Series 3
  • Outputs:
    • LVDS-1: internal 1600x900 display
    • DP-3: external QHD monitor
  • Distro: Archlinux
  • sway: 1.8.1
  • kanshi: 1.4.0
  • wayland: 1.22
  • wlroots: 0.16.2

#kanshi config

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.

#Steps to reproduce

  1. be docked
  2. start kanshi (correct profile applied)
  3. undock (correct profile applied)
  4. dock (profile applying fail)
  5. undock (nothing happens, log does not indicate any attempt to aply config)
  6. dock (same as previous dock attempt 4)

#Log

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'

#expected result

Profiles get applied. When something fails, kanshi retries or at least keeps working with other profiles.

#actual result

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).

Status
RESOLVED CLOSED
Submitter
~xorly
Assigned to
No-one
Submitted
a month ago
Updated
27 days ago
Labels
No labels applied.

~emersion a month ago

Can you post compositor logs? It's likely the kernel driver rejecting the new configuration.

~xorly a month ago

Sure here it debug output from sway https://paste.sr.ht/~xorly/7df15358e31c36cba45667b821b2c4ea613c214e I can capture DRM kernel logs if needed

~xorly a month ago

Please ignore missing PyQt6, nitrogen and similar errors 😅

~emersion REPORTED CLOSED a month ago

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)

~xorly 27 days ago

Understood. In the end, kanshi leaves outputs in unusable state. Could it try to rollback?

~emersion 27 days ago

If outputs are left in an unusable state, that'd be a wlroots bug.

Register here or Log in to comment, or comment via email.