世界を動かす技術を、日本語で。

アサヒLinux プログレス Linux 7.0

概要

  • Linux 7.0 リリースに合わせて、Asahi Linuxの進捗報告
  • Asahi Installer の自動化と更新頻度の向上
  • Appleデバイス向け ALS(環境光センサー)対応 とファームウェア管理
  • 省電力化 やBluetoothの改善など、主要ハードウェアサポートの進展
  • ディスプレイコントローラ(DCP) やVRR対応の現状整理

Linux 7.0登場とAsahi Linuxの進捗

  • Linux 7.0 リリースにより、Asahi Linuxも新たな進展
  • Asahi Installer の大幅な更新、2年ぶりのCDN公開
  • インストーラの構成: Python主体、Bashスクリプトでブートストラップ
  • インストーラ更新手順の煩雑さが課題、手動更新から 自動化 へ移行
  • GitHub Actionsで mainブランチへのpushごとに自動ビルド&CDNアップロード
  • 最新版(0.8.0)では m1n1 v1.5.2 同梱、 Mac Pro 対応、 ファームウェアアップデートモード 追加

UEFI専用インストールとDevicetreeの課題

  • Asahi Installerは UEFI専用インストール オプションを提供
  • 必要最小限のファイルのみインストール、 m1n1 stage 1/Devicetree/U-Boot 中心
  • Devicetreeの更新頻度増加 により、カーネルとの不整合が発生
  • カーネル6.18以降 はUSBサブシステムのDevicetree変更で起動不可問題
  • manifestの asahi-installer-dataリポジトリ分離 で柔軟な更新体制確立

ALS(環境光センサー)対応とファームウェア管理

  • Appleの True Tone 機能はALSで環境光の明るさ・色を測定

  • ALSの校正データ( ファームウェア)はmacOSから取得が必要

  • Asahi Installerが必要なファームウェアを EFI System Partition に保存

  • Dracutモジュールで /lib/firmware/ 配下に自動マウント

  • ファームウェア追加取得も インストーラ経由で自動化、手動作業を排除

    • ALS対応・ファームウェア更新手順
      • Asahiカーネル6.19以降 を利用
      • デスクトップ環境に iio-sensor-proxy 必須
      • Macをシャットダウンし、 Apple boot menu からmacOS起動
      • ターミナル起動後、 curl https://alx.sh | sh でインストーラ実行
      • Rebuild vendor firmware package」を選択し再起動

省電力化とPMPサポート

  • Pro/Max/Ultra SoC でアイドル時消費電力の高さが課題
  • SoCの電源管理は PMGRPMP の複雑な連携
  • PMP対応ドライバ実装で 14インチM1 Pro MacBook Proでアイドル時約20%削減
  • M1無印 では異なるPMPバリアント、今後サポート予定
  • PMPはまだ全機種で十分検証されておらず、 Devicetree編集で手動有効化 可能

Bluetoothの改善

  • Bluetooth/WiFiの干渉 による音声パケット損失問題
  • Broadcom独自拡張による Bluetooth HCIの共存制御 にカーネルが非対応だった
  • chaos_princess のパッチでLinuxカーネルが拡張コマンド対応
  • BlueZ でオーディオストリーム優先制御が可能となり、 音声ドロップアウト解消

ディスプレイコントローラ(DCP)とVRR対応

  • DCPファームウェア は巨大かつバージョン間で非互換が多い
  • 基本的なディスプレイ機能は実装済みだが、 VRR(可変リフレッシュレート) など未対応機能が残存
  • VRR対応には HDMI/DisplayPort固有パケットやKMS API連携 など複雑な要件
  • DCPは RTKit 上で動作し、 EPIC(Endpoint Interface Client) 経由でサービスAPIを提供
  • VRR関連パラメータの解析・実装は今後の課題

Hackerたちの意見

いつも通り魅力的なプロジェクトですね。アサヒチーム、ありがとう!

こういうプロジェクトレポートは、常に新しい発見があって、ユーザーが直面している問題をしっかり把握している証拠だね。アサヒチームは本当にプロだと思う :) 早くアサヒにフルタイムで戻りたいな!

考えてみると、なんでAppleがこの取り組みを手伝わないのか理解できない。すべての文書を提供すればいいのに。昔の「競争優位性」や「秘密」みたいな理由は、今の時代には通用しないよね。

シニカルな見方をすれば、彼らはサービスからたくさんの利益を上げていて、MacBookでLinuxを動かしてもそれには役立たないってことだね。

本当の理由は、もし何かを変更したら、技術文書をすぐに共有する義務ができるからだと思う。遅れたらネットで文句言われるし、やる価値がないんだよね。彼らにとって得るものはゼロだし(M4でLinuxをデュアルブートしたいと思ってる人間として言うけど)。

理由の一つとして、「このゲームはやらない」と言う方が、選択的なオープンさや非公開インターフェースの互換性を壊すことで否定的な報道を受けるよりもずっと楽だからじゃないかな。内部的には、優先すべき仕事から気をそらす新しい種類の内部議論を促進するから、もっと重要かもしれないね。

返事を考えようとしてたけど、君の言う通りだね。Apple にとっては簡単だし、コミュニティからの好意もたくさん得られるだろうね。

「理解できない」って、もうこのフレーズは引退させるべきだね。他の人を理解しようともせずに、ただ delusional って言うための自慢みたいになっちゃってる。ここに挙がってるリストは長いよ:優先順位、正確性の懸念、公式サポートの境界が曖昧になってること、第三者との IP 制限(Apple だってたくさんのライセンスされたコアを使ってるし)、などなど。

金銭的な利益はほとんどないし、ハードウェアの変更は Linux 用に文書化する必要がある。声が大きくて批判的なユーザーがいるけど、実際のボリュームは最小限だね。

M4 Macマシンで動くか知ってる人いる?

https://asahilinux.org/docs/platform/feature-support/m4/

M1とM2だけで動くんだって。M3は開発中らしいよ。

iPhone用の同じようなものってある?それで第二の人生を与えられたらいいな。

具体的に何を動かすの?古いiOSバージョン?それともAndroid?

残念ながら、iPhone は他の OS をインストールするのを禁止するロックされたブートローダーがあるんだ。Linux を iPhone で動かすことはできるけど、脱獄が必要で、それがどんどん難しくなってる。誰もインストールできない OS を開発するために努力する価値はあまりないよね。

「すごい、すごい、すごい!」アサヒリミックスで、もっとMacっぽい初期設定の体験に特化したものに興味がある人がいるかな?cmdをメインの修飾キーにして、Mac風のショートカットやテーマ、ジェスチャーとか。もちろん、どのディストロも好きにカスタマイズできるけど、キュレーションされたデフォルトの体験って別物だと思うんだ。

Cmdをメインの修飾キーにするのは無理な戦いだね。何度も試したけど、結局ctrl生活を受け入れて最後のMacBookを売っちゃったよ。

「macOSはCS42L84を48kHzか96kHzで動かすプログラムしか作らないから、Linuxドライバーにはその2つのサンプルレートしか追加できなかったんだ。」>「でも、CS42L42は他の一般的なサンプルレートを全部サポートしてるし、レジスタのレイアウトやプログラミングの順序は違うけど、48kHzと96kHzの実際の値は両方のチップで同じなんだ。」>「もしCS42L42のデータシートから他のサンプルレートの値を取ってきて、CS42L84ドライバーに追加したらどうなるんだろう?結果的に、そのサンプルレートもサポートされることがわかったよ!」>「ヘッドフォンジャックの入力と出力で44.1kHz、88.2kHz、176.4kHz、192kHzのサンプルレートを有効にするパッチが直接アップストリームに提出されて、7.1にマージされたんだ。これをAsahiカーネル6.19.9にもバックポートして、ユーザーがすぐに使えるようにしたよ。Asahiチームの素晴らしいチップ調査とリバースエンジニアリングだね!」

うわ、44.1でビットパーフェクトなCD/flac再生、これはすごい機能だね。

HNの読者への禁止が解除されてよかったよ。[1] それがAsahi Linuxに初めて触れたときの印象だったし、ここに出てくるたびに思い出しちゃうんだよね。[1] https://github.com/AsahiLinux/AsahiLinux.github.io/commit/e0...

たくさんの trolls と Apple ファンがいるからね。決断は軽々しくはなかったよ。

それがどうして禁止なの?

このプロジェクトがもっと盛り上がっていくことを本当に願ってる。Apple ハードウェア + Linux は、最高のハードウェアで動く一番マシな OS だよ。MacOS はバグが尽きないし、バージョン間の混乱もひどいから、もう本当に最悪だね。

M3 のサポートがほぼアルファ段階に達したのは素晴らしいニュースだし、将来の M4 も楽しみだよ。今年の macOS の Apple の計画にはあまり期待してないけど。