Monitor connected with USB-C blanks at desktop (Apple Studio Display)

Hello. I have an Apple Studio Display – it’s a 5K 60Hz monitor with built-in speakers and a webcam. It has a single Thunderbolt port for input. Brightness and volume are only controllable through software :roll_eyes:.

My graphics card is an AMD Radeon 6900XT ; it has 2 DisplayPorts (1.4a) and 1 USB-C port. I suspect the USB port is 20 Gbps speed. Display Stream Compression (DSC) is available over the DP ports, and I suspect it’s also available over the USB-C port. I connect the two with a Thunderbolt 4 cable.

Goal : I’d like to get Manjaro working at the monitor’s full 5120x2880 resolution (@60Hz) using the USB-C port on the graphics card. The DisplayPorts work fine (full 5K), but using DP I can’t use the speakers or webcam, nor can I adjust the volume/brightness. (I have to boot into Windows to adjust these, then boot back into Manjaro every time).

The Good : This all works in Windows. :slight_smile: The Windows drivers (?) for this graphics card must be able to use Display Stream Compression (DSC) to fit all the traffic over the USB connection. Webcam, speakers, etc. So, that’s very nice, and shows it can be done.

The Bad : With Manjaro, the screen works during UEFI and GRUB, but then “blanks” at the display manager or desktop. No backlight, no signal. I’ve tried this from a Live USB (XFCE, Gnome and KDE from the current web site), and with a freshly installed KDE setup as well (kernels 5.15, 5.19, 6.0, and 6.1-rc) (I set these up using a DP cable so I could see what I was doing). Also Fedora and Ubuntu for good measure. When I SSH in to this setup I can’t see any glaring errors in any log files (xorg, dmesg, systemd journal, etc). The desktop is actually running and can be interacted with, I just can’t see it. I can tell that the speakers are working by adjusting the volume from my keyboard. No amount of xrandr/xorg-related stuff makes a difference. With “nomodeset” as a kernel argument I get a little further into init, and the screen stays on, but it stops at “Reached target Graphical Interface”.

My suspicion is that Display Stream Compression isn’t working, for some reason. At the point (I think?) where the desktop manager (SDDM usually, for me) takes over, the monitor stops responding.

I’d be grateful if someone could point me in the right direction for how to even start debugging this. AMD driver forums? Kernel forums? Happy to get into the weeds here also, with anyone who wants to explore. Thank you.

and that’s how it is designed by apple. you have to use the usb-protocol to use the apple-display. you cannot use a hdmi/dp port to connect the apple-display, you have to use the usb-3 protocol.

btw.: the protocol limits 4k@30fps. that’s the maximum bandwith

Paul, did you manage to solve this? Facing a similar problem while using gnome (KDE works).

I had this same issue in both LightDM and Gnome. I believe its just these display managers failing to detect the correct default resolution.

I figured this out by plugging in a second monitor. On the second monitor I ran xrandr and noticed that the default resolution detected for the Studio Display was 2560x2880, which is not a valid resolution for this monitor AFAIK.

$ xrandr
...
HDMI-0 connected 1920x1080+640+2880 (normal left inverted right x axis y axis) 340mm x 190mm
...
USB-C-0 connected primary 2560x2880+0+0 (normal left inverted right x axis y axis) 600mm x 330mm
   5120x2880     60.00 +
   3840x2160     60.00
   2560x2880     60.00*
   2560x1440     60.00
   1920x1080     60.00

Given it already seems to detect that 5120x2880 is a valid resolution, just setting that existing xrandr mode worked for me. I got this queued up in my terminal, disconnected the second monitor, and then hit enter and the display works as expected.

$ xrandr --output USB-C-0 --mode 5120x2880 --rate 60

However, this is temporary and will be lost when you log out. Now that you can see your desktop, you can figure out how to persist / automatically apply this resolution for the display manager of your choice.