Another ARD offline issue
04 May 2022
We have a lot of headless Mac Minis in server racks running Xsans and related services. So we use Apple Remote Desktop (ARD) quite a bit to connect and work on them. For most of their history, a Mac Mini without a monitor was limited to low desktop resolutions (like 1280×1024 or even 1024×768), could lose any graphics acceleration from the Quartz Core Graphics framework, and it might even ignore the GPU. This could all be solved with a special HDMI dongle/plug. So most of our Mac Minis have had one brand or another of these plugged in at all times. We don’t even think about them at this point and that just caused some trouble.
We recently upgraded a production Xsan, with new M1 Minis, and its nearline Xsan running on Intel based 2018 Mac Minis, to macOS Monterey. The M1 Minis don’t need an HDMI dongle to default to a 1920×1080 resolution. On the Intel based Macs, after the upgrade we couldn’t connect via ARD at all.
We tried many things to get this connection back. We could ping and ssh to the systems. Screen Sharing would ask for authentication, but never show the window. We tried changing all sorts of settings with
kickstart, but nothing helped. Eventually, we enabled legacy VNC and tried to connect with RealVNC Viewer. This gave us the clue to resolve the issue. When connecting, we were asked to authenticate and then shortly after got the error message “Protocol error: bad desktop size 0x0”. Something was saying that the desktop had a resolution of 0x0. This is what finally triggered the “What about the HDMI dongle” thought.
After removing the HDMI dongle (and restarting) we could connect via ARD as expected. With Monterey installed System Preferences -> Displays has an option for “Show all resolutions” and now we can choose up to 1920×1080. We don’t need the GPU for our use, but if anyone knows a way to confirm they are being used, let us know.
Maybe a newer dongle or different brand would have avoided this. There are 4K dongles available now (like the one linked above), but for our use, with macOS Monterey we don’t need them anymore.