No output on external monitor on docking station in wayland

Hi,

I’m not sure if this should be a bug report instead, or if the problem is my hardware, but I’m unable to get display output on an external monitor using wayland.

SDDM shows up fine, and if I switch to x11, I get desktop output as expected.

If I bypass the dock and connect directly to the monitor using either HDMI or usb-c to displayport cable, I get output in wayland.

I’ve tried 2 different docks and gotten the same behavior (Currently using ThinkPad Universal USB-C Dock, tried Caldigit soho previously).

My laptop is an Asus x13 (Ryzen 6900HS with 680M igpu + rtx 3050ti dgpu), running fedora 37 KDE spin, currently on kernel 6.2.7 (although I’ve observed this on all previous kernel versions)

Only thing I’ve been able to find in dmesg/journalctl that looks relevant is this:

Mar 25 09:46:53 fedora kernel: ------------[ cut here ]------------
Mar 25 09:46:53 fedora kernel: WARNING: CPU: 9 PID: 1985 at drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c:3761 dc_link_allocate_mst_payload+0x25f/0x280 [amdgpu]
Mar 25 09:46:53 fedora kernel: Modules linked in: rfcomm snd_seq_dummy snd_hrtimer uhid nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf>
Mar 25 09:46:53 fedora kernel:  btrtl videobuf2_v4l2 snd_seq_device snd_pcm btbcm irqbypass r8153_ecm videobuf2_common btintel cdc_ether snd_pci_acp5x btmtk usbnet snd_timer snd_rn_pci_acp3x rapl videodev snd snd_acp_config bluetooth cfg80211 r8152 snd_soc_acpi pcspkr >
Mar 25 09:46:53 fedora kernel: CPU: 9 PID: 1985 Comm: kwin_wayland Tainted: P           O       6.2.7-200.fc37.x86_64 #1
Mar 25 09:46:53 fedora kernel: Hardware name: ASUSTeK COMPUTER INC. ROG Flow X13 GV301RE_GV301RE/GV301RE, BIOS GV301RE.323 08/30/2022
Mar 25 09:46:53 fedora kernel: RIP: 0010:dc_link_allocate_mst_payload+0x25f/0x280 [amdgpu]
Mar 25 09:46:53 fedora kernel: Code: b6 b5 d4 02 00 00 48 c7 c7 a0 82 d9 c0 e8 79 fe 64 ea e9 49 fe ff ff 48 c7 c7 80 83 d9 c0 e8 b8 0d f2 ea b8 19 00 00 00 eb b2 <0f> 0b e9 a4 fe ff ff 48 c7 c7 58 83 d9 c0 e8 9e 0d f2 ea b8 ff ff
Mar 25 09:46:53 fedora kernel: RSP: 0018:ffffb040c0ee75f8 EFLAGS: 00010246
Mar 25 09:46:53 fedora kernel: RAX: 0000000000000000 RBX: 0000000000000006 RCX: 0000000000000005
Mar 25 09:46:53 fedora kernel: RDX: ffffffffc0d982e0 RSI: 0000000000000002 RDI: 0000000000000000
Mar 25 09:46:53 fedora kernel: RBP: ffff9b53e8540aa0 R08: 0000000000000000 R09: 0000000000000005
Mar 25 09:46:53 fedora kernel: R10: ffff9b538a861c00 R11: ffff9b53802e6540 R12: ffff9b538a861c00
Mar 25 09:46:53 fedora kernel: R13: ffff9b53bac6a000 R14: ffffffffc0c86940 R15: ffff9b538a861f90
Mar 25 09:46:53 fedora kernel: FS:  00007f0a7791b980(0000) GS:ffff9b568e840000(0000) knlGS:0000000000000000
Mar 25 09:46:53 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Mar 25 09:46:53 fedora kernel: CR2: 00007fbe67e1fa58 CR3: 0000000105068000 CR4: 0000000000750ee0
Mar 25 09:46:53 fedora kernel: PKRU: 55555554
Mar 25 09:46:53 fedora kernel: Call Trace:
Mar 25 09:46:53 fedora kernel:  <TASK>
Mar 25 09:46:53 fedora kernel:  core_link_enable_stream+0x8ec/0xa10 [amdgpu]
Mar 25 09:46:53 fedora kernel:  ? optc31_set_static_screen_control+0x75/0x100 [amdgpu]
Mar 25 09:46:53 fedora kernel:  dce110_apply_ctx_to_hw+0x61b/0x670 [amdgpu]
Mar 25 09:46:53 fedora kernel:  ? dm_read_reg_func+0x37/0xb0 [amdgpu]
Mar 25 09:46:53 fedora kernel:  dc_commit_state_no_check+0x39b/0xcd0 [amdgpu]
Mar 25 09:46:53 fedora kernel:  dc_commit_state+0x107/0x120 [amdgpu]
Mar 25 09:46:53 fedora kernel:  amdgpu_dm_atomic_commit_tail+0x5bf/0x2cf0 [amdgpu]
Mar 25 09:46:53 fedora kernel:  ? drm_sched_entity_push_job+0x7d/0x160 [gpu_sched]
Mar 25 09:46:53 fedora kernel:  ? __kmem_cache_alloc_node+0x164/0x2f0
Mar 25 09:46:53 fedora kernel:  ? dma_resv_list_alloc+0x25/0x40
Mar 25 09:46:53 fedora kernel:  ? sugov_update_single_freq+0xb7/0x180
Mar 25 09:46:53 fedora kernel:  ? __pfx_sugov_update_single_freq+0x1/0x10
Mar 25 09:46:53 fedora kernel:  ? __cgroup_account_cputime+0x4c/0x70
Mar 25 09:46:53 fedora kernel:  ? psi_group_change+0x168/0x400
Mar 25 09:46:53 fedora kernel:  ? _raw_spin_unlock+0x15/0x30
Mar 25 09:46:53 fedora kernel:  ? finish_task_switch.isra.0+0x9b/0x300
Mar 25 09:46:53 fedora kernel:  ? __switch_to+0x106/0x410
Mar 25 09:46:53 fedora kernel:  ? __schedule+0x3d4/0x13c0
Mar 25 09:46:53 fedora kernel:  ? dma_resv_get_fences+0x11b/0x220
Mar 25 09:46:53 fedora kernel:  ? schedule+0x67/0xe0
Mar 25 09:46:53 fedora kernel:  ? schedule_timeout+0x14d/0x160
Mar 25 09:46:53 fedora kernel:  ? preempt_count_add+0x6a/0xa0
Mar 25 09:46:53 fedora kernel:  ? preempt_count_add+0x6a/0xa0
Mar 25 09:46:53 fedora kernel:  ? _raw_spin_lock_irq+0x19/0x40
Mar 25 09:46:53 fedora kernel:  ? _raw_spin_unlock_irq+0x1b/0x40
Mar 25 09:46:53 fedora kernel:  ? wait_for_completion_timeout+0x13a/0x170
Mar 25 09:46:53 fedora kernel:  ? wait_for_completion_interruptible+0x135/0x1e0
Mar 25 09:46:53 fedora kernel:  ? __pfx_dma_fence_default_wait_cb+0x10/0x10
Mar 25 09:46:53 fedora kernel:  commit_tail+0x94/0x130
Mar 25 09:46:53 fedora kernel:  drm_atomic_helper_commit+0x112/0x140
Mar 25 09:46:53 fedora kernel:  drm_atomic_commit+0x96/0xc0
Mar 25 09:46:53 fedora kernel:  ? __pfx___drm_printfn_info+0x10/0x10
Mar 25 09:46:53 fedora kernel:  drm_mode_atomic_ioctl+0x959/0xb50
Mar 25 09:46:53 fedora kernel:  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
Mar 25 09:46:53 fedora kernel:  drm_ioctl_kernel+0xc9/0x170
Mar 25 09:46:53 fedora kernel:  drm_ioctl+0x22f/0x410
Mar 25 09:46:53 fedora kernel:  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10
Mar 25 09:46:53 fedora kernel:  amdgpu_drm_ioctl+0x4a/0x80 [amdgpu]
Mar 25 09:46:53 fedora kernel:  __x64_sys_ioctl+0x90/0xd0
Mar 25 09:46:53 fedora kernel:  do_syscall_64+0x5b/0x80
Mar 25 09:46:53 fedora kernel:  ? preempt_count_add+0x47/0xa0
Mar 25 09:46:53 fedora kernel:  ? up_read+0x37/0x70
Mar 25 09:46:53 fedora kernel:  ? do_user_addr_fault+0x1ef/0x710
Mar 25 09:46:53 fedora kernel:  ? exc_page_fault+0x70/0x170
Mar 25 09:46:53 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x72/0xdc
Mar 25 09:46:53 fedora kernel: RIP: 0033:0x7f0a79f23d6f
Mar 25 09:46:53 fedora kernel: Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 18 48 8b 44 24 18 64 48 2b 04 25 28 00 00
Mar 25 09:46:53 fedora kernel: RSP: 002b:00007fffb4cd49f0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
Mar 25 09:46:53 fedora kernel: RAX: ffffffffffffffda RBX: 0000564c6efa66c0 RCX: 00007f0a79f23d6f
Mar 25 09:46:53 fedora kernel: RDX: 00007fffb4cd4a90 RSI: 00000000c03864bc RDI: 0000000000000017
Mar 25 09:46:53 fedora kernel: RBP: 00007fffb4cd4a90 R08: 0000000000000007 R09: 0000000000000007
Mar 25 09:46:53 fedora kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 00000000c03864bc
Mar 25 09:46:53 fedora kernel: R13: 0000000000000017 R14: 0000564c6e5fa950 R15: 0000564c6efaea00
Mar 25 09:46:53 fedora kernel:  </TASK>
Mar 25 09:46:53 fedora kernel: ---[ end trace 0000000000000000 ]---

Any ideas would be appreciated. Thanks!