radeon panel clock fix
omaboot.radeon-imac10-1-panel-clock- Driver patchradeon, rebuilt for both kernels
- Boot optionsradeon.dpm=0 radeon.pcie_gen2=0 radeon.uvd=0, on the iMac10,1 only
Without itOn the 21.5-inch iMac (Late 2009) with the Radeon HD 4670, the built-in screen splits into distorted parts as soon as radeon takes over. The only way to a picture is nomodeset, with no acceleration and nothing for the display tests to judge.
What it changes
Corrects the built-in panel's clock in radeon's in-memory copy of the video BIOS's panel table: the BIOS says 108 MHz, the panel's EDID 138.5 MHz. Without it, the screen splits into distorted parts unless the Mac boots with nomodeset. It never writes the ROM. OmaBoot? Live also boots this Mac with radeon.dpm=0 radeon.pcie_gen2=0 radeon.uvd=0, as the install fix does: with radeon's defaults the GPU locks up under load.
How it works
The patched radeon checks everything before it changes anything: the GPU must be 1002:9488 with subsystem 106b:00b6, the panel 1920×1080 with an EDID that says 138.5 MHz, and the video BIOS's panel table a version 1.2 table that says 108 MHz. Only then does it correct the clock in its in-memory copy of the table and set the panel's colour format (RGB888, FPDI), keeping the table's dual-link, dithering and spread-spectrum settings.
The boot menu adds radeon.dpm=0 radeon.pcie_gen2=0 radeon.uvd=0 when the Mac's model is iMac10,1. They're harmless on the iMac10,1 with the GeForce 9400M, which doesn't use radeon.
Where it acts
- Hardware
- The 21.5-inch iMac10,1 with the Radeon HD 4670. It acts only on GPU 1002:9488 with subsystem 106b:00b6 driving a 1920×1080 panel, so every other Mac runs stock radeon.
- Devices
pci:1002:9488subsystem106b:00b6- In OmaBoot? Live
- Both kernels, Omarchy's standard kernel and the T2 kernel, carry the patched radeon. Every other GPU, and every other Mac, gets radeon exactly as Omarchy ships it.
What a run shows
- How a run shows it
- The module logs “iMac LVDS test: ATOM panel clock 108000 -> 138500 kHz” when it corrects the table. OmaBoot? Live looks for that line, and lists the fix only when it finds it.
- Results it can change
- Internal display at native resolution, Discrete GPU acceleration
- Leaves alone
- The video BIOS ROM, and everything else on the Mac: the change lives in the driver's memory and is gone at the next restart.
- Tested on
- iMac (21.5-inch, Late 2009) [iMac10,1]
Where it comes from
- Since
- OmaBoot? dev 1d36b14
- Upstream
- omarchy-vintage-intel-imac-fix 0d5a406a31 (patches/panel-encoder-combined.patch)
- Source
builder/omaboot/patches/0002-radeon-imac10-1-panel-clock.patchthe patchbuilder/omaboot/build-modules.shbuilds radeon for each kernel on the image, once an unpatched rebuild has matched the shipped module byte for bytebuilder/omaboot/grub-live-entries.cfgthe iMac10,1 boot options