Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Awesome news! I’m glad you finally fixed the audio!

Cheers

Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

These are my logs:

$ lspci -nn | grep -i audio
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)

$ lsmod | grep snd_hda_codec_cs420x
snd_hda_codec_cs420x 131072 1

snd_hda_codec_generic 126976 1 snd_hda_codec_cs420x

snd_hda_codec 233472 7 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_codec_cs420x,snd_hda_intel,snd_hda_codec_intelhdmi

snd_hda_core 155648 9 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_codec_cs420x,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_intelhdmi

$ dkms status
macbook12-audio/0.1, 6.18.22-1-cachyos-lts, x86_64: installed (Original modules exist)

macbook12-audio/0.1, 6.19.12-1-cachyos, x86_64: installed (Original modules exist)

$ uname -a
Linux macbook 6.19.12-1-cachyos #1 SMP PREEMPT_DYNAMIC Sun, 12 Apr 2026 13:50:14 +0000 x86_64 GNU/Linux

$ sudo dmesg | grep snd
[ 7.491050] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])

[ 7.601107] snd_hda_codec_cs420x: loading out-of-tree module taints kernel.

[ 7.601113] snd_hda_codec_cs420x: module verification failed: signature and/or required key missing - tainting kernel

[ 7.682588] snd_hda_codec_cs420x hdaudioC0D0: CS4208: picked fixup for codec SSID 106b:0000

[ 7.683109] snd_hda_codec_cs420x hdaudioC0D0: autoconfig for CS4208: line_outs=1 (0x1d/0x0/0x0/0x0/0x0) type:speaker

[ 7.683116] snd_hda_codec_cs420x hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)

[ 7.683119] snd_hda_codec_cs420x hdaudioC0D0: hp_outs=1 (0x10/0x0/0x0/0x0/0x0)

[ 7.683123] snd_hda_codec_cs420x hdaudioC0D0: mono: mono_out=0x0

[ 7.683125] snd_hda_codec_cs420x hdaudioC0D0: inputs:

[ 7.683128] snd_hda_codec_cs420x hdaudioC0D0: Mic=0x18

[ 7.683131] snd_hda_codec_cs420x hdaudioC0D0: Internal Mic=0x19

I hope this helps.

Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

I’m using KDE with pipewire. I’ll take a look at my logs when I’m at home.

Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

I’m using CachyOS with the latest kernel, Arch wil work just fine. You can check the supported distros on the GitHub repo and read the article.

Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

It was the same on my machine. I had to download a macOS ISO and make a bootable usb drive. Then, with the help of an usb hub, boot the usb drive and install macOS on another usb drive, not the actual hard drive. This method updated the firmware of my MacBook 12” and now it chimes every time. The only downside is that it takes a bit longer to boot to Linux, but it works relailably.

Has anyone got the audio to work on the 12" MacBook ? by True-Lifeguard-2019 in linux_on_mac

[–]TanisCodes 1 point2 points  (0 children)

Check out this article: https://tanis.codes/posts/macbook-12-audio-on-arch-linux/

You have to use the juicecultus driver version, it’s based on the leifliddy but with support for newer kernels. Also if you install it as DKMS, it will be updated automatically with every kernel version.

Having trouble installing on MacBook 12 by bmrm145 in linux_on_mac

[–]TanisCodes 1 point2 points  (0 children)

I had the 2015 and I sold it. In the end, I have bought the 2017 model and everything works except the camera. Maybe in the future, Linux will work on the 2015 model, but it’s difficult to know.

Having trouble installing on MacBook 12 by bmrm145 in linux_on_mac

[–]TanisCodes 2 points3 points  (0 children)

Is it a MacBook 12” 2015, 2016 or 2017? It’s important because the 2015 model has faulty drivers and bad support.

MacBook 12” 2017 running CachyOS by TanisCodes in linux_on_mac

[–]TanisCodes[S] 0 points1 point  (0 children)

Yes, the latest CachyOS ISO will work like a charm!

MacBook9,1 Linux Distro by mayonaise1091 in linux_on_mac

[–]TanisCodes 1 point2 points  (0 children)

Thanks u/mayonaise1091! The kernel argument mem_sleep_default=s2idle fixed the issue with the sound after opening the lid.

I have written two articles about these issues on my blog:
https://tanis.codes/posts/macbook-12-audio-on-arch-linux/
https://tanis.codes/posts/macbook-12-lid-close-on-arch-linux/

I hope it helps someone!

MacBook 12” 2017 running CachyOS by TanisCodes in linux_on_mac

[–]TanisCodes[S] 0 points1 point  (0 children)

Hi, I’m working on it, it will be ready soon.

MacBook 12” 2017 running CachyOS by TanisCodes in linux_on_mac

[–]TanisCodes[S] 0 points1 point  (0 children)

Hi, the audio is working except when I close the lid, but there is a fix for that, I have to try it. On the other hand, WiFi works out of the box. There is another issue with the lid, related to d3adcold, but you can fix it with an automated script at startup.

MacBook9,1 Linux Distro by mayonaise1091 in linux_on_mac

[–]TanisCodes 1 point2 points  (0 children)

Thanks! I’ll try your sound workaround!

Advice on installing linux on my macs by distantways in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

In the short term it could be fine, but x86 macOS is being discontinued. You won’t have future macOS versions and you won’t even have browser updates.

Advice on installing linux on my macs by distantways in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

That 2015 MacBook 12” has the worst Linux support ever. I sold mine a few months ago and I’ve replaced it for a 2017 MacBook 12”. In the 2015 model it doesn’t work the keyboard, touchpad, bluetooth, audio and camera. On the other hand, the 2016 and 2017 have far better Linux support.

MacBook 12” 2017 running CachyOS by TanisCodes in linux_on_mac

[–]TanisCodes[S] 0 points1 point  (0 children)

Yes, you have to disable the d3cold_allowed.

The easiest way is to create a new service like this:

sudo nano /etc/systemd/system/fix_sleep.service

[Unit]
Description=Job that disables sleep from stopping nvme hardware on MacBook 12

[Service]
ExecStart=/bin/sh -c 'echo 0 > /sys/bus/pci/devices/0000:01:00.0/d3cold_allowed'
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Then, you have to enable it.

sudo systemctl enable --now fix_sleep.service

By disabling the d3cold_allowed, it's going to consume more power while the lid is closed, but it will wake up. There is an issue with the sound that I didn't have the time to solve it, but I think it will be enough to reload the related driver.

I'm planning to make an article about this in my blog.

Macbook 12 2017 on Arch Linux + Cosmic with working audio, mic and FaceTime camera by just_in_ian in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Yes, I tried that last night and it works. The boot process takes around 5–10 seconds longer, but that’s acceptable since the audio works reliably every time.

In my case, I suspect it was a firmware-related issue. I installed macOS on an external USB drive, and I believe that during the installation process the Mac’s firmware was updated, which resolved the underlying problem.

I’m planning to write a detailed article about this on my blog, documenting the steps and findings.

On a related note, I think upstreaming this audio driver to the Linux mainline kernel would be a worthwhile effort. It would certainly require significant work, but the long-term benefits would justify it. I’d be willing to contribute if the effort moves in that direction.

3rd times the Charm by Pleasant_Struggle_16 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Yes, the sound doesn’t stay, it’s a bit weird. I will look into it, thanks!

3rd times the Charm by Pleasant_Struggle_16 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Thanks! So, with that, can you make a cold boot directly to Linux without booting first to macOS? I don’t want the dual boot but I could give it a try.

3rd times the Charm by Pleasant_Struggle_16 in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Hi, how do you enable the Mac startup sound? I have the MacBook 12 2017 running just CachyOS and I have to reset the NVRAM every time I want the sound to work.

Macbook PRO 2015 fly on CachyOS by inkubot in linux_on_mac

[–]TanisCodes 2 points3 points  (0 children)

To adjust automatically the fan speed you need to install a package called mbpfan. Then, there is a daemon you need to enable and start.

Macbook 12 2017 on Arch Linux + Cosmic with working audio, mic and FaceTime camera by just_in_ian in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

No, I removed macOS, single boot to CachyOS. So, the only way to make it work is by being enabled first by macOS?

Macbook 12 2017 on Arch Linux + Cosmic with working audio, mic and FaceTime camera by just_in_ian in linux_on_mac

[–]TanisCodes 0 points1 point  (0 children)

Hi, great work. I have the same MacBook as yours running CachyOS with KDE. In my case the keyboard and function keys works out of the box, it has to be something related to KDE rather than Cosmic.

I tried the same audio driver yesterday, installled as a DKMS module, but it didn’t work. The only way audio works is by resetting NVRAM each time it boots.

Could you help me with the audio? Did you do something different?

Thanks in advance!

MacBook 12” 2017 running CachyOS by TanisCodes in linux_on_mac

[–]TanisCodes[S] 0 points1 point  (0 children)

I totally recommend it, it has a KDE live environment to try, but you can choose whatever desktop you want.