0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FedoraでiMac 2017 Retina 5K(iMac18,3)の内蔵スピーカーを鳴らした記録

0
Last updated at Posted at 2026-06-13

はじめに

この記事は、2017年 27インチ iMac Retina 5K(iMac18,3)に Fedora Linux を導入した際、内蔵スピーカーから音が出ない問題に対して、私の実機環境で内蔵スピーカー再生が安定するところまで到達した検証記録です。

対象は Fedora Linux 6.19.12 環境で、音声系は CS8409 / CS42L83 / TAS576 に関係しています。

パッチ本体、適用方法、既知の制限、検証報告の受付先は GitHub に整理しています。

この記事では、GitHub の README をそのまま翻訳するのではなく、日本語で以下を整理します。

  • 何ができるようになったのか
  • どの環境で確認したのか
  • どの範囲が未対応なのか
  • どのような点に注意が必要なのか
  • 同型機で検証する場合に何を確認してほしいのか

なお、この記事は「完全解決」や「上流投入可能な完成パッチ」を主張するものではありません。
あくまで、私の iMac18,3 1個体で確認した実験的な成功例です。

ただし、自作PCではなく Apple の量産モデルであるため、同じ iMac18,3 をお持ちの方が検証する価値はあると考えています。成功・失敗のどちらの報告も、今後の調査に役立ちます。

結論

Fedora Linux 6.19.12 環境の iMac18,3 で、内蔵スピーカーからの再生を確認できました。

現在、私の環境で確認できている内容は以下です。

  • 内蔵スピーカーから音が出る
  • YouTube など通常のデスクトップ再生ができる
  • ALSA / PipeWire の analog-stereo 出力で再生できる
  • 未改造の Linux 6.19.12 ソースツリーにパッチを適用できる
  • CS8409 関連の対象オブジェクトをビルドできる

一方で、現時点では以下は未対応または未確認です。

  • ヘッドフォン切替
  • 内蔵マイク入力
  • 外部マイク入力
  • Apple 純正と同等のスピーカーチューニング
  • 他の iMac / MacBook モデル
  • 他のカーネルバージョン
  • Ubuntu 用パッチの置き換え

そのため、このパッチは iMac18,3 / Fedora Linux 6.19.12 における内蔵スピーカー再生の実験的パッチ として扱っています。

まずは、同じ iMac18,3 を持つ方が「自分の環境でも鳴るのか」「どこで違いが出るのか」を確認するための材料になればと考えています。

対象環境

今回確認した環境は以下です。

  • 機種:iMac 2017 27インチ Retina 5K
  • Model Identifier:iMac18,3
  • OS:Fedora
  • Kernel:Linux 6.19.12
  • 音声 codec:CS8409
  • 関連する外部アンプ / codec:CS42L83 / TAS576
  • 音声出力:ALSA / PipeWire analog-stereo

このパッチは、上記環境での内蔵スピーカー再生を対象にしています。

同じ iMac18,3 であっても、kernel バージョン、ディストリビューション、ファームウェア状態、過去の設定状態などによって挙動が変わる可能性があります。

なぜ内蔵スピーカーにこだわったのか

外部スピーカーや USB オーディオを使えば、音を出すだけなら回避できます。

しかし今回は、iMac 2017 Retina 5K を、Linux 環境でも一体型の機械として使いたかったため、内蔵スピーカーからの再生にこだわりました。

この背景には、古い機械の役割を変えながら使い続ける Network Garden という個人的な取り組みもあります。
ただし、この記事では技術的な検証内容を中心に扱います。

発生していた問題

iMac18,3 に Fedora を導入しただけの状態では、内蔵スピーカーから期待どおりに音が出ませんでした。

検証途中では、以下のような状態を確認しました。

  • 内蔵スピーカーから音が出ない
  • 音声デバイスは見えていても、実際には再生されない
  • ALSA / PipeWire 側では出力先が存在するように見える
  • 再生経路や profile を変更すると、状態が変わることがある
  • 一部の設定では大きなノイズが出ることがある
  • 内蔵スピーカー再生ができても、ヘッドフォン切替やマイク入力は別問題として残る

今回の検証で重要だったのは、単に「Linuxで音が出ない」という問題ではなく、iMac18,3 の内蔵スピーカー経路に CS8409 だけでなく、CS42L83 / TAS576 側の初期化が関係していると考えられた点です。

Fedora 環境では、内蔵 HDA audio path 自体は見えていても、外部アンプ側の初期化が不足すると、内蔵スピーカーが無音のままになる可能性があります。

調査の流れ

調査では、最初から Fedora 側のコードだけを見たわけではありません。
まず、内蔵スピーカーが鳴る既知の状態と、鳴らない状態を比較することから始めました。

大まかな流れは以下です。

  1. Ubuntu 22.04.5 側で、iMac18,3 の内蔵スピーカーが鳴る状態を確認
  2. Fedora 側で、同じ iMac18,3 の音声状態を確認
  3. /proc/asound/card0/codec#0dmesg、ALSA / PipeWire の出力状態を比較
  4. 再生前・再生中・停止後の DAC / Pin / stream 状態を確認
  5. CS8409 から内蔵スピーカーへ直接出ているだけではなく、CS42L83 / TAS576 側の初期化が関係している可能性を確認
  6. Fedora の CS8409 関連コードに、iMac18,3 向けの初期化処理を追加
  7. 内蔵スピーカー再生、左右バランス、不安定再生の改善を確認
  8. 公開用に探索用ログや一時的なテスト文言を整理し、patch と README を GitHub に公開

この過程で分かったことは、iMac18,3 の内蔵スピーカー問題は、単に ALSA / PipeWire の設定だけで完結する問題ではなさそうだという点です。

Linux 側から HDA audio path が見えていても、Apple 固有の外部アンプ制御が正しく初期化されないと、内蔵スピーカーは鳴らない可能性があります。

今回公開したパッチは、そのうち Fedora Linux 6.19.12 環境で確認できた、iMac18,3 向けの内蔵スピーカー初期化処理を整理したものです。

パッチについて

今回公開したパッチは、Fedora Linux 6.19.12 の未改造ソースツリーに対して適用することを想定した、iMac18,3 向けの CS8409 関連パッチです。

パッチ本体は GitHub の patches/ に置いています。

主な目的は、iMac18,3 の内蔵スピーカー再生に必要な初期化処理を追加することです。

大まかには、以下のような内容を含みます。

  • iMac18,3 向けの CS8409 fixup
  • CS42L83 / TAS576 側の初期化処理
  • 内蔵スピーカー再生経路の安定化
  • 探索段階の一時的なログやテスト文言を整理した公開用差分

このパッチは、Linux kernel 全体に対する完成された汎用修正ではありません。
あくまで、私の iMac18,3 / Fedora Linux 6.19.12 環境で内蔵スピーカー再生が確認できた差分を、再現確認しやすい形で公開したものです。

適用方法、ビルド確認、起動後の確認方法、既知の制限については GitHub の README を参照してください。

現在の状態

現在、私の iMac18,3 / Fedora Linux 6.19.12 環境では、内蔵スピーカーから通常のデスクトップ音声を再生できています。

確認した範囲では、以下の再生が可能です。

  • デスクトップ環境での通常再生
  • YouTube などのブラウザ再生
  • ALSA / PipeWire の analog-stereo 出力
  • 再起動後の内蔵スピーカー再生

当初残っていた左右差や、鳴ったり鳴らなかったりする不安定さについても、現在の公開パッチ段階では解消しています。

一方で、サウンド設定上に表示される profile / configuration の切り替えについては注意が必要です。

確認した環境では、profile を切り替えたあとに再生状態が崩れることがありました。
その場合でも、再度 Analog Stereo Output に戻すことで内蔵スピーカー再生へ復帰できました。

ただし、profile 切り替え後に音量状態が引き継がれず、想定より大きな音でノイズが出る可能性があります。
profile / configuration を切り替えて検証する場合は、必ず音量を下げてから試してください。

未対応・未確認の内容

今回のパッチは、現時点では 内蔵スピーカー再生 を主な対象にしています。

そのため、以下は未対応または未確認です。

  • ヘッドフォン挿入時の自動切替
  • ヘッドフォン出力経路
  • 内蔵マイク入力
  • 外部マイク入力
  • Apple 純正と同等のスピーカーチューニング
  • 他の iMac / MacBook モデル
  • 他の kernel バージョン
  • Ubuntu 用パッチの置き換え

特に、ヘッドフォン切替とマイク入力は、内蔵スピーカー再生とは別の経路や制御が関係する可能性があります。
そのため、今回のパッチをもって iMac18,3 の音声機能全体が解決したとは考えていません。

この記事で扱うのは、あくまで Fedora Linux 6.19.12 上で iMac18,3 の内蔵スピーカー再生を有効化した記録 です。

注意点

このパッチを試す場合は、必ず音量を下げた状態から確認してください。

特に注意が必要なのは、デスクトップのサウンド設定にある Configuration / Profile の切り替えです。

私の環境では、profile を切り替えたあとに再生状態が一時的に崩れることがありました。
その場合でも、再度 Analog Stereo Output に戻すことで内蔵スピーカー再生へ復帰できました。

ただし、profile を切り替えた際に音量状態が引き継がれない可能性があります。
その状態で再生すると、想定よりかなり大きな音でノイズが鳴ることがあります。

そのため、profile / configuration を切り替えて検証する場合は、事前に音量を十分下げてから試してください。

また、PipeWire やデスクトップのサウンド設定上で 2.1ch や 4.0ch などの profile が表示される場合がありますが、それらは現時点ではこのパッチで検証済み・対応済みの iMac18,3 内部スピーカーマッピングではありません。

今回の確認対象は、あくまで analog-stereo の内蔵スピーカー出力経路 です。

GitHubリポジトリ

パッチ本体、README、既知の制限、検証報告の受付先は GitHub にまとめています。

リポジトリには、主に以下を置いています。

  • Fedora Linux 6.19.12 向けの patch
  • 英語版 README
  • 日本語補足 README
  • LICENSE
  • 既知の制限
  • 動作確認用のコマンド例
  • 再現確認・失敗報告のための情報

記事本文では概要のみを説明し、実際の patch 適用方法やビルド確認手順は GitHub 側に寄せています。

検証する場合は、必ず README と注意点を確認したうえで、音量を下げた状態から試してください。

再現確認・フィードバックのお願い

このパッチは、現時点では私の iMac18,3 1個体で確認した実験的なものです。

そのため、同じ iMac18,3 をお持ちの方による再現確認を歓迎します。

成功した場合だけでなく、失敗した場合の報告も重要です。
特に、同じ iMac18,3 であっても Fedora や kernel のバージョンによって挙動が変わる可能性があります。

検証結果は、GitHub Issues に投稿してもらえると助かります。

報告してもらえると助かる情報は、例えば以下です。

  • 機種名
  • Model Identifier
  • Distribution
  • Kernel version
  • patch の適用結果
  • build の結果
  • 起動後に内蔵スピーカーから音が出たか
  • 左右バランスに違和感があるか
  • profile / configuration 切り替え時の挙動
  • Analog Stereo Output に戻したときに復帰するか
  • 大きなノイズが出るか
  • shutdown 時にポップ音が出るか
  • ヘッドフォン切替を試した場合の結果
  • マイク入力を試した場合の結果

成功・失敗のどちらであっても、同型機での報告が増えることで、この問題の再現性や環境差が見えやすくなると考えています。

おわりに

今回の検証では、iMac18,3 / Fedora Linux 6.19.12 環境で、内蔵スピーカーから音を出すところまで到達できました。

外部スピーカーや USB オーディオを使えば回避できる問題ではありますが、iMac を Linux 環境でも一体型の機械として使うという意味では、内蔵スピーカーから音が出ることには大きな意味がありました。

現時点では、ヘッドフォン切替やマイク入力など未対応の部分も残っています。
また、このパッチが他の iMac18,3 や他の kernel バージョンでそのまま動作するかは、まだ確認できていません。

それでも、同じ機種で困っている人にとって、調査の出発点や比較材料になればと思い、patch と検証内容を公開しました。

もし同じ iMac18,3 で試せる方がいれば、成功・失敗を問わず GitHub Issues などで報告してもらえると助かります。

この記録が、iMac 2017 Retina 5K を Linux で使い続けたい人の手がかりになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?