7900 XTX usb-c displayport output not working
Brief summary of the problem:
USB-C displayport output on the reference model 7900 XTX decides to randomly stop working and I'm not sure how to get it to work again.
Hardware description:
- CPU: AMD Ryzen 7 5800X (16) @ 3.8GHz
- GPU: 0f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX] [1002:744c] (rev c8)
- System Memory: 32048MiB
- Display(s): 3840x2160 @ 144.00Hz, 3840x2160 @ 144.00Hz; both are LG 27GP950-B models
- Type of Display Connection: DP 1.4a DSC; Primary over standard DP 2.1 port, secondary is supposed to use the USB-C DisplayPort 2.1 output
System information:
- Distro name and Version: Gentoo Linux
- Kernel version: Linux gentoo 6.2.0-rc6-amd-drm-next-6.3-2023-02-03 #1 (closed) SMP PREEMPT_DYNAMIC Fri Feb 17 01:15:50 EST 2023 x86_64 AMD Ryzen 7 5800X 8-Core Processor AuthenticAMD GNU/Linux (kernel doesn't matter, swapped to many)
- Custom kernel: Usually use zen-sources
- AMD official driver version: mesa 23.1-devel (doesn't matter, swapped mesa to many others)
How to reproduce the issue:
Plug in monitor via USB-C either using displayport to usb-c adapter or usb-c to displayport cable. See that monitor doesn't show information in xrandr.
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
DisplayPort-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
3840x2160 144.00*+ 60.00 + 94.98
2560x1440 143.97
1920x1200 144.00
1920x1080 143.98 60.00 60.00 59.94
1600x1200 144.00
1680x1050 144.00
1280x1024 144.00
1440x900 144.00
1280x800 144.00
1280x720 60.00 59.94
1024x768 60.00
800x600 60.32
720x480 60.00 59.94
640x480 60.00 59.94
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
(DisplayPort-1 should be populated with the same info as DisplayPort-0.)
The fun part is this was working fine for about a month after a period of it being broken and suddenly stopped working after zero changes to kernel, mesa, or xf86-video-amdgpu after waking up one day.
I want to say that when this problem occurs, Windows 10 also often doesn't work with the monitor either, but I don't often boot into that partition. I had originally made a post on the AMD forums and had zero response, eventually stating it was working when it decided to randomly work. (See: https://community.amd.com/t5/graphics/7900-xtx-usb-c-port-doesn-t-seem-to-work-for-lg-27gp950-b-or/m-p/573447)
Forcing typec_displayport doesn't seem to help:
$ lsmod | grep typec
typec_displayport 16384 0
typec_ucsi 49152 1 ucsi_ccg
roles 20480 1 typec_ucsi
typec 90112 2 typec_displayport,typec_ucsi
drm 663552 22 gpu_sched,typec_displayport,drm_kms_helper,drm_display_helper,drm_buddy,amdgpu,drm_ttm_helper,ttm
Kernel has the typec_displayport config set.
Log files (for system lockups / game freezes / crashes)
I would attach dmesg but the one in the amd-drm-next branch is currently spammed with gfxhub pagefaults that are unrelated. Can attach dmesg later after I have a chance to swap kernels but this is currently the only one I'm not getting frequent driver freezes on for Unity Engine games.
Side note: using the HDMI-A-0 output results in undesired behavior as well.
- X breaks when going to lightdm-gtk-greeter if HDMI is in use.
- X breaks when starting up if HDMI is in use.