Skip to content
zL00OL edited this page Oct 5, 2026 · 7 revisions

iMac 19,1 / A2115 on Linux — Home

Welcome to the wiki for seamless 5K on an iMac 27-inch (2017).

The goal: one seamless 5120x2880 desktop across both panel halves, on Linux, with the stock graphics driver.

Status: achieved and confirmed seamless, using amdgpu.tiled_stitch=1. No patched driver required.

Contents

Page What it covers
Getting started Read this first. Quick path to a working 5K desktop.
The seam Diagnosing and fixing a gap or jump at the midline.
Hardware facts What the machine is, and its quirks.
Distro support What works on which distro. Read before porting.
Audio The CS8409 codec and the speaker chain. Fix found, not yet verified.
iGPU and colour The hidden Intel HD 630 and P3 wide-gamut.
Troubleshooting Failure modes worth knowing about.

The short version

The entire 5K fix is one kernel parameter:

amdgpu.tiled_stitch=1

Add it to your boot entry's options= line and reboot. That tiles the two panel links into a single framebuffer, so the desktop sees one 5120x2880 output rather than two monitors.

Verify it took:

cat /sys/module/amdgpu/parameters/tiled_stitch    # expect: 1

Because tiling happens in the kernel, below the display server, both the Wayland session and the X11 login greeter get it — and the desktop environment sees one screen, so there is no gap to manage.

Nothing else was needed on this hardware: no patched driver, no EDID overrides, no per-connector fixes.

A correction worth reading

Earlier notes in this project described a hand-built patched amdgpu module called "Stack C", with an expected module srcversion. That was a misdiagnosis.

The running driver is stock amdgpu, and the 5K works because of the kernel parameter above. Any artefact named amdgpu-stackC-*.ko is a leftover — and amdgpu-stackC-async.ko is known-bad and must never be installed or loaded.

If you are auditing this machine, judge the driver by:

modinfo -F srcversion amdgpu     # stock: 4FA5DDFCFF3DDAE9F5FE22E

not by filenames. See Hardware facts.

Reference system

openSUSE Slowroll, kernel 7.2.2, Mesa 26.2.2, Plasma on Wayland.

Slowroll rather than Tumbleweed because changes pass openQA testing before landing, and snapper rollback is available — the right upstream for a machine with hand-tuned hardware support. Most of what is here is portable; see Distro support.

Start here if something is wrong

Runbook: recovering the machine and applying the audio fix — physical recovery from a hung boot, then the audio fix, then verification.

Pages

Known gaps

Stated plainly rather than left to be discovered:

  • Audio: fixed. power_save=0 power_save_controller=N plus davidjo's snd_hda_macbookpro driver via DKMS. Both are required. Verified by the codec reporting CS8409/CS42L83. See Audio.
  • GPU OpenCL: working. rusticl exposes the Radeon Pro 580 (polaris10) with 28 compute units and OpenCL 3.1, and Resolve reports Detected 1 GPUs / Matches: OpenCL. Done entirely with per-process environment variables - no global linker configuration. See Troubleshooting.
  • Plymouth has never rendered, and its initramfs stalled a boot for 2 h 15 m. Measured, not assumed: the initramfs that omits plymouth boots in ~70 s; the one bundling 216 Plymouth files hung. It has been deleted, backup kept. See Getting started.
  • The 5K panel needs a patched amdgpu carried inside initrd-stackC - it is not stock, contrary to earlier documentation here. Do not install a second patched amdgpu.ko into /lib/modules.
  • Cold-boot display fault, unresolved. The panel sometimes fails to initialise at 5120x2880; one boot took over two hours with no network, which on an unattended machine means physical access. Root cause is traced to an insufficient AUX-wake retry budget; the fix is not applied. See The seam.
  • The hidden Intel iGPU and P3 colour are unaudited. See iGPU and colour.
  • The 5K panel sometimes fails to initialise on boot and shows a full-brightness error for hours. A power cycle fixes it. This is separate from Plymouth and predates it.

Credits

This work stands on the community projects that made 5K iMacs on Linux possible:

amdgpu.tiled_stitch is upstream Linux kernel work from the AMD graphics team.

Repository: zL00OL/imac-a2115-linux

Clone this wiki locally