Repository navigation
Description
Mac and installed build
Apple Mac Studio (M2 Ultra, 2023). Board apple,j475d, SoC apple,t6022.
Omarchy 4.5.0-3, stock packages, no local kernel or bootloader patches.
uname -r:7.2.11-14-1-ARCHlinux-aurora7.2.11.aurora14-1m1n1-aurora1.6.1.aurora22-1uboot-aurora2026.07.aurora6-1omarchy-mac0.2.3-2mesa-aurora1:26.3.0_devel.20261031.231483.a1969111475-1- iBoot:
mBoot-18000.161.10/iBoot-8422.141.2 - Kernel command line includes
user4k=on
asahi,os-fw-version: 13.5
asahi,system-fw-version: 26.6.2
/proc/device-tree/chosen has no asahi,dcp-handoff-reason.
Displays attached
- Dell monitor on the built-in HDMI port
- LG 40WP95C over Thunderbolt (enumerates as
thunderbolt 0-1) - LG 27" over USB-C/Thunderbolt (shows up as a Type-C partner, not on the Thunderbolt bus)
Reproduction, expected result, and actual result
Boot with the displays attached. Happens on this boot. A manual rebind later in the same boot fails the same way.
Expected: apple-dcp binds and HDMI comes up at the monitor's native mode with an EDID. The Thunderbolt displays get KMS connectors.
Actual: the only enabled DCP, 2289c00000.dcp (apple,t6020-dcpext, on die 1, which I believe is the HDMI pipe), times out during RTKit endpoint discovery. The failure takes down the whole apple-drm aggregate. The only DRM output left is simpledrm Unknown-1 at 1920×1080. Its EDID is 0 bytes and it offers no other mode. The two LG monitors stay dark.
This looks like the same failure as #379 (j375c) and #394 (j473), seen here on t6022.
Relevant error lines
At boot:
apple-dcp 2289c00000.dcp: DCP index:1 dptx target phy: 4 dptx die: 1
apple-dcp 2289c00000.dcp: RTKit: endpoint discovery failed: -62
apple-dcp 2289c00000.dcp: error -ETIME: Failed to boot RTKit: -62
apple-drm soc@200000000:display-subsystem: failed to bind 2289c00000.dcp (ops dcp_comp_ops [appledrm]): -62
apple-drm soc@200000000:display-subsystem: adev bind failed: -62
apple-dcp 2289c00000.dcp: probe with driver apple-dcp failed with error -62
A manual rebind (echo 2289c00000.dcp > /sys/bus/platform/drivers/apple-dcp/bind) gives an identical result about 1 s later. The DCP firmware logs no RTKit syslog lines between probe and timeout:
16:06:40 apple-dcp 2289c00000.dcp: DCP index:1 dptx target phy: 4 dptx die: 1
16:06:41 apple-dcp 2289c00000.dcp: RTKit: endpoint discovery failed: -62
16:06:41 apple-drm soc@200000000:display-subsystem: adev bind failed: -62
The LG 40WP95C enumerates over Thunderbolt and a DP tunnel is attempted, but with no KMS device it is torn down:
thunderbolt-apple-nhi 701f00000.nhi: device links to tunneled native ports are missing!
thunderbolt 0-1: LG Electronics 40WP95C
thunderbolt-apple-nhi 701f00000.nhi: 0:5 <-> 1:13 (DP): not active, tearing down
thunderbolt-apple-nhi 701f00000.nhi: 0:6 <-> 1:13 (DP): not active, tearing down
The same monitor works over Thunderbolt at 5120x2160@72 on aurora14 on an M1 Pro (#374), so the tunnel side is probably not the problem here.
Device tree observation (t6022)
Only one of the four dcpext nodes is enabled in the stock tree:
soc@200000000/dcp@289c00000 status=disabled apple,t6020-dcpext
soc@200000000/dcp@315c00000 status=disabled apple,t6020-dcpext
soc@2200000000/dcp@289c00000 status=okay apple,t6020-dcpext
soc@2200000000/dcp@315c00000 status=disabled apple,t6020-dcpext
So even once the RTKit timeout is fixed, the rear and front Thunderbolt ports seem to have no DCP to drive a display. Is t6022 / j475d covered by the Thunderbolt display work in #9 and #373, or does it need its own dcpext wiring?
Graphics or session details
Hyprland 0.56.2. One monitor: Unknown-1, 1920×1080, with empty make, model and description. The GPU probes normally (asahi on 406400000.gpu, render node only).
I can test patches or branch kernels on this machine.
Activity
jcrowthe commentedon Nov 13, 2026
Update: root cause found and HDMI now works on this j475d with a patched m1n1 stage 2. The kernel is stock.
Cause (same as #379)
This was re-tested on the edge channel (
linux-aurora7.2.11.aurora16-1,m1n1-aurora1.6.1.aurora23-2), and the stock build still fails the same way. m1n1 stage 2's own log (sudo sh -c 'tr -d "\0" < /dev/mtd0ro') shows the HDMI DCP abandoned mid-handshake because its DART is locked:This is the failure riopierrefrancois diagnosed on j375c in #379. On the Ultra, the HDMI pipe is
dcpext4behind a locked T8110 DART on die 1.Fix tested
I built stage 2 from
ba130ffb(them1n1-aurora1.6.1.aurora23 source) with three changes:An unpatched build with the PKGBUILD recipe is byte-identical to the packaged
/usr/lib/asahi-boot/m1n1.binonce the cargo path is remapped (RUSTFLAGS=--remap-path-prefix=$HOME/.cargo=/home/builder/.cargo), so the patches are the only difference. I installed it withM1N1=... update-m1n1. Stage 1, U-Boot and the kernel are stock.m1n1 log on the patched boot:
Linux:
apple-drmbinds2289c00000.dcp, andcard2-HDMI-A-1comes up with a real EDID. Hyprland runs the Dell U2718Q at 3840x2160@60, where it was stuck on 1080p simpledrm before.Still open on this machine
Black gap at boot (kernel side). This is the same as ytgconsulting's M2 Max report. The first
dcp_dptx_connecttimes out about 2 s after HPD is enabled. The picture only comes back when the monitor drops and reasserts HPD itself:The first re-assert at ~8 s still fails with -110. The second, at ~20 s, recovers.
Thunderbolt/USB-C displays still have no DCP. This is unchanged from the original report. Only
soc@2200000000/dcp@289c00000isokayin the t6022 tree, and the other three dcpext nodes aredisabled. So the monitors on the rear Thunderbolt ports stay dark even with HDMI fixed.I can test a proper T602x m1n1 branch or kernel patches on this j475d.
jcrowthe commentedon Nov 13, 2026
Update on the second point above (Thunderbolt/USB-C displays have no DCP): DP alt mode on the four rear USB-C ports now works on this J475d with a device tree change only, in #462.
macOS drives a USB-C DisplayPort display on the rear ports from DCPEXT1 (die 0) through the display crossbar, the same controller the M2 Max Studio and M2 Pro mini already use in Linux. Those routes were inside
APPLE_T602X_NON_ULTRA. With the guard narrowed to the USB4/PCIe-C wiring, anddispext1_dartadded to the J475d display iommus,dcpext1boots cold, binds next to the HDMI DCP and creates DP-1 to DP-4. An LG UltraFine 4K over a USB-C to DisplayPort cable runs at 3840x2160@60 on all four rear ports, coldplug and hotplug, at the same time as HDMI. The kernel is stock aurora16.Still open here: the HDMI black gap at boot, the front USB-C ports (die 1) and Thunderbolt tunnelling. The repeated wake while locked turned out to be the Dell dropping HPD in standby combined with Hyprland's backend, reported as hyprwm/aquamarine#495.
jcrowthe commentedon Nov 13, 2026
Thunderbolt displays now work on this J475d too, in #463 (stacked on #462). An LG 40WP95C over Thunderbolt runs at 5120x2160@72 on rear ports 1 and 2, with hotplug and DPMS cycles, at the same time as a DP alt mode display and HDMI, all three DCPs running. #463 has KUnit runs (including a negative control) and the full test table.
PCIe over Thunderbolt (a U.2 enclosure) still fails on t6022 with
PCIe-C is not initialized by m1n1 or the kernel. The built-in pcie-apple cold-init list also lacks t6022. That's left for a separate change.