[FINAL UPDATE/DIAGNOSIS CORRECTION]: Complete Functional Fix with
Partial Acoustic Calibration for iMac 18,3 (CS8409/CS42L83)

Hello,

We have conducted an in-depth analysis of the sound issue (no PEQ,
silent output) on the iMac 18,3 and confirm that the original diagnosis
focused on UCM profiles was inaccurate.

Correction: Why Software UCM Profiles Fail
The root-cause problem is at the lowest level: the standard snd_hda_intel 
driver fails to send the proprietary HDA-Verbs sequence from Apple, which is 
essential to wake up and activate the Cirrus Logic CS8409/CS42L83 DSP and 
amplifier.

Consequence: Since the hardware is not correctly initialized, it does
not expose the necessary ALSA mixer controls to the system. Therefore,
no UCM profile can functionally exist or solve the problem until the
hardware is activated via HDA-Verbs.

Functional Solution (HDA-Verbs Fix and DKMS Installer) - NOTE: PARTIAL FIX
The issue is currently resolved by applying HDA-Verbs to activate the hardware 
and set the basic gain (GAIN fix).

Implementation: We used a patched snd-hda-codec-cs8409 module
(v5.0/v6.0) that applies custom Verbs (extracted from Apple Bootcamp
drivers) via ALSA firmware.

Status: The sound is functional and stable, all mixer controls are
exposed, and audio is playing.

Limitation (REASON FOR PARTIAL FIX): The fix is only partial in terms of
audio quality. Although we successfully activated the DSP, the
parameters used for the Parametric Equalizer (PEQ) are generic (basic
GAIN/EQ).

Missing Data: The optimal acoustic tuning that Apple uses (to compensate
for the small iMac speaker acoustics for good bass and treble) is
proprietary and is not included in the script.

Result: Sound works, but does not achieve the optimal quality found in
macOS until the exact PEQ data is obtained.

Availability: For easy testing and deployment, I am including a
functional installer script (iMac_CS8409_Installer.sh) which automates
the installation of the DKMS module and HDA-Verbs configuration.

Conclusion and Upstream Submission
The complete bug report, diagnostic data, and functional patch have been 
submitted to the ALSA mailing list ([email protected]) in the 
required format for kernel integration.

Recommendation for Ubuntu:
Please follow this issue at the upstream level, as the fix requires integrating 
specific HDA-Verbs directly into the main kernel module (snd-hda-codec-cirrus). 
Once the fix is accepted, this bug should be closed as resolved in the next 
stable kernel release.

Attachments to the bug report include (all in one ZIP):

iMac_CS8409_Installer.sh (Key functional script)

amixer_output_functional.txt (Proof of functionality after the fix)

cs8409_verbs_config.txt (HDA-Verbs used)

ucm2_status_missing_cs8409.txt (Proof that UCM profile for this HW does
not exist)

Thank you for your cooperation.
Marek - mahav

** Attachment added: "cs8409_report.zip"
   
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2119402/+attachment/5915374/+files/cs8409_report.zip

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2119402

Title:
  )Persistent driver issues on iMac 18,3 (27", 2017)

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  Summary: After long-term testing of Ubuntu 24.04.2 LTS on the Apple
  iMac 18,3 (27", 2017), I’ve concluded that the system contains all
  necessary drivers — located in the kernel and in packages like linux-
  modules-extra — but their behavior is unpredictable. Ubuntu often
  fails to load, assign, or correctly activate them during installation.
  There are ongoing issues affecting sound, graphics drivers, internal
  microphone, and webcam functionality.

  📋 Observed issues:
  Audio – Cirrus Logic CS8409 / CS42L83

  The snd-hda-codec-cs8409 module is available, but not properly
  initialized.

  The system shows “Dummy Output” and audio doesn’t work without manual
  patching.

  Internal microphone (NID 0x45) is detected but inactive.

  Missing alsa-ucm-conf profile → no devices or input streams shown in
  GUI.

  Graphics – AMD Radeon (AMDGPU)

  On installation, the system loads Mesa fallback driver → incorrect
  resolution and audio instability.

  Installing AMDGPU driver 25.10.1 resolved both resolution and audio
  subsystem interaction issues.

  Webcam (Apple internal)

  Camera launches via cheese, but turns off abruptly during recording.

  Likely related to power delivery, ACPI events, or missing
  initialization routines.

  🧪 Diagnostics & insights:
  Upstream kernel 6.16-rc6 contains working DMIC initialization for microphone 
(patch_cs8409.c).

  Ubuntu kernel 6.11 includes the CS8409 module, but lacks full
  microphone functionality.

  Drivers exist, but:

  Are not loaded automatically during installation.

  Are not assigned correctly to hardware.

  Do not activate input/output devices without manual effort.

  📎 Attached information:
  Diagnostic logs from alsa-info.sh, dmesg, arecord, pw-dump

  Technical analysis of upstream kernel code (DMIC logic – NID 0x45)

  Attached .txt file containing hardware documentation extracted from
  Apple BootCamp: Retrieved from system path: marek-
  havlik@mahav:~/Plocha/WindowsSupport$ ls '$WinPEDriver$' BootCamp The
  file includes component identifiers (CS8409, CS42L83, AMDGPU, webcam)
  helpful for developing UCM profiles and driver assignments.

  🛠️ Suggestions to the development team:
  Include a proper UCM profile for CS8409 / CS42L83 in alsa-ucm-conf

  Backport DMIC activation patch from kernel 6.16 to Ubuntu 6.11+

  Improve hardware detection logic to:

  Load modules without manual intervention

  Automatically match drivers during Ubuntu installation

  Prefer AMDGPU over Mesa fallback when Apple hardware is detected

  Investigate webcam and microphone behavior — possibly caused by ACPI,
  UVC or missing init triggers

  Note: Due to recurring issues, I no longer actively use Ubuntu on this
  system. However, I am happy to assist with testing, validating
  patches, or helping with a DKMS implementation. I have access to the
  real hardware (iMac18,3) as well as the original BootCamp
  documentation from macOS.

  Thank you for your work — I hope these insights help improve Apple
  hardware support on Ubuntu. – Marek (mahav-t)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2119402/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to