1 ポイント 投稿者 GN⁺ 2023-11-01 | 1件のコメント | WhatsAppで共有
  • Asahi Linuxのドキュメントリポジトリは、macOS Sonomaの起動失敗ページを含むドキュメントサイトのソースとして機能し、関連資料をGitHubで管理している
  • ドキュメントはaltfwhwplatformprojectswなどのカテゴリに分かれており、テーマ別に閲覧できる
  • hw領域はApple Silicon Macのハードウェアを扱い、cpudevicesperipheralssocに分かれて詳細なハードウェアを区分している
  • ドキュメントサイトはZensicalで生成され、ローカルテストはPythonパッケージのインストール後にzensical serveで実行できる
  • サイトはコミットごとにCIで再ビルドされ、GitHub Pagesを通じて提供される

Asahi Linuxドキュメントリポジトリの役割

  • このリポジトリはAsahi Linux documentationサイトのドキュメントを管理している
  • ドキュメントはテーマ別のカテゴリに分けて構成されている

ドキュメントカテゴリの構成

  • alt: 代替OSとLinuxディストリビューションのサポート文書
  • fw: ベンダーが制御するファームウェアとファームウェアインターフェースの文書
  • hw: Apple Silicon Mac関連のハードウェア文書
    • cpu: アプリケーションプロセッサの文書
    • devices: 特定のMacモデルに関する文書
    • peripherals: SoC自体ではないApple Silicon Mac内部ハードウェアの文書
    • soc: Apple Silicon SoCに統合されたハードウェアブロックの文書
  • platform: Apple Siliconプラットフォーム全般に適用される文書
  • project: プロジェクト管理文書と、ハードウェア・ソフトウェアに関係しない項目
  • sw: ファームウェアではないソフトウェアの文書

ローカルビルドとデプロイ方法

  • サイトはZensicalで生成される
  • ZensicalはPythonパッケージとしてインストールする
    • ディストリビューションがパッケージを提供していない場合はpipでインストールできる
  • ローカルテスト用のドキュメントビルドは、Zensicalのインストール後に次のコマンドで実行する
$ zensical serve
  • WebサイトはすべてのコミットごとにCIが再ビルドする
  • ビルドされたサイトはGitHub Pagesを通じて提供される

1件のコメント

 
GN⁺ 2023-11-01
Hacker News の意見
  • 単にリフレッシュレートを変更しただけで、どうして起動の破損が起きるのかについての推測は、彼の Twitter も参考になる: https://social.treehouse.systems/@marcan/111329614147717090
    なぜなら Apple はディスプレイモード切り替え時のちらつきを嫌っており、ProMotion のオン/オフ切り替えはモード切り替えのちらつきを発生させるからだと見ている
    そのため、この設定を NVRAM のどこかに保存し、初期起動中に画面がオンになるときに適用するようにして、macOS 起動時に再びちらつかないようにしたのだろう、という推測
    問題は古い OS ブートローダーでテストしておらず、このモードがオンになっているときにディスプレイの引き継ぎ/初期化が破滅的に失敗すること

    • PC では起動中に解像度がめちゃくちゃに変わるのがいつも気になっていた
      BIOS 時代なら理解できたが、UEFI が登場した後なら EFI 設定画面のようなものもモニターのネイティブ解像度、少なくともネイティブのアスペクト比で表示できるはずだと思うのに、実際には 1024x768 のような画面を 16:9 モニターに引き伸ばして表示する見苦しい例しか見たことがない
    • 誰かしらディスプレイモード切り替え時のちらつきを嫌っていると知れてよかった
      今どきのコンピューティング性能なら、生活のどこでもちらつきを見る必要などないはずなのに、多くの人がモニター接続時に発生する視覚的ノイズを「これで十分」と受け入れているのが嫌だ
    • 兆ドル規模の企業でも、私が rEFInd、BIOS スプラッシュ画像、plymouth-git、plymouth-sddm、quiet splash などをいじって滑らかな起動体験を作ろうとして、起動時間を数秒延ばしたり、起動 USB で何度も復旧したりしていたのと似たようなことをしていると思うと、妙に親近感が湧く
      今ではちらつきと systemd メッセージを受け入れるようになった
      最近の起動は数秒程度にすぎないし、そもそもなぜそこまでこだわっていたのかも、今では説明しにくい
    • 興味深い話ではあるが、120Hz は応答性を大きく改善するのに、誰が ProMotion をオフにするのか気になる
      可変リフレッシュレートでまともに動作しないアプリは Windows 版の Genshin くらいしか見たことがなく、それも最新モニターなら 60Hz まで VRR を処理するので、60Hz と 120Hz の間を行き来することで生じるフレーム倍化のちらつきがなく、問題にならない可能性が高い
  • 仕事用の MacBook Pro M1 を Ventura 13.6 に上げる際、まったく同じ問題に遭遇し、完全に孤立した事例だと思っていた
    デュアルブートでもなく、macOS だけがインストールされていた
    アップデート中に Thunderbolt Display に接続していたのだが、リンク先の記事で述べられているような、ProMotion ではないリフレッシュレートに変わるのと同じ効果をもたらしたようだ
    別の Mac で DFU 復元をした後、USB で macOS Sonoma インストーラを実行する必要があり、幸い既存のインストールを検出してインプレースアップグレードになったため、データは保持された
    さらに DFU 復元がうまくいかず多くの時間を無駄にしたが、Thunderbolt ケーブルではだめで、通常の USB-C ケーブルを使わないと Apple Configurator が別の Mac を検出しないことを後から知った

    • むしろどちらかが必要ならThunderbolt ケーブルが必要だろうと予想していた
      普通、より多機能な高帯域幅ケーブルは、対応していない側でも動作することが多いので、かなり意外だ
      いずれ文鎮化した Mac を復活させることがあれば、これを覚えておきたい
    • DFU モードに入るのが、特定のボタンを特定のタイミングで正確に何秒押さなければならない魔術のような手順なのも理解できない
      架空の Mac OS の神に歌を捧げ、星の巡りが合うのを願って、ようやく 2 台目の Mac にノートブックが表示されるような感覚だった
      そのうえ USB-C ケーブルを挿すポートも重要で、左側の 1 つ目でなければならないというのも、なぜなのか分からない
      それでも Mr. Macintosh の動画に従って、最終的には復活させられた
    • M1 MacBook Air はアップデートのたびに DFU モードに入って Configurator で「revive」しなければならない
      そうしないと「Failed to personalize the software update」と表示されるだけだ
      Apple Store に行ったところ、すぐにデバイスを復元されて全データが消され、次のアップデートが出ると同じ問題がまた発生した
      こうなると、彼らの修正が恒久的な解決ではないことを示すのも難しい
    • M1 Pro MacBook でもアップグレード中に LG USB-C モニターが壊れた
      黒い画面しか出ず、別の USB-C ノート PC に接続しても同じだった
      ケーブル交換、モニターの電源切断、工場出荷時リセットをしても効果はなかったが、HDMI や DisplayPort など他の入力はまだ動作する
      アップグレード中に壊れたのは偶然だとは思っておらず、アップグレード中は充電器以外は MacBook に何も接続しないことを強く勧める
    • M2 Pro でもまったく同じことが起き、同じ手順で直した
      幸い DFU revive 後もデータは残っていたが、最初はアップデート完了前にバッテリーが切れて何かが破損した孤立事例だと思っていた
      しかし予備のモニターが原因だった可能性が高い
  • MacBookを再インストールしようとしたが、内蔵のウェブ復元が動作せず、今日 DFU復元 をする羽目になった。
    ベースシステムは13.2で、13.6のファイルをすべてダウンロードし、進行バーが100%まで進んだあとでエラーを吐いた。
    13.2のベースシステムと13.6のインストールの間の非互換に見えるし、最近のAppleの品質はひどい。
    x.6のソフトウェアを出す前に、最も基本的なシナリオくらいはテストしていると思っていたが、違った。
    さらに悪いのは、別のMacなしでUSB起動インストーラを作る方法や、別のMacなしでDFU復元する公式・非公式の方法も見つけにくいことだ。
    自分がApple Storeに住んでいるとでも思っているのだろうか。
    別のMacはなく、結局libimobiledeviceでDFU復元できたが、作った人には感謝している。
    だが、こんなことは起きるべきではないし、WindowsやLinuxのほうがmacOSよりずっと透明性が高い。

    • Appleのブートローダーと復元手順は本当に怖い。
      ネットワークアクセスの要求、SSD上のファームウェア、ハードウェアロックのようなものが、いちばん困る瞬間に問題を起こそうと潜んでいるように感じる。
      それに対してWindowsなら、引き出しの中のUSBメモリ1本で起動すればいい。
    • 自分も似たようなものだ。
      1年ほど前にAvahi Linuxをインストールしてから削除したが、今は12.6以降にアップグレードできない。
      外付けドライブを用意して全部バックアップしたうえで、M1 Max MBPをDFU復元しないとSonomaに上げられなさそうだ。
  • 「金を払わせるな。これはAppleが作った問題で、純粋にソフトウェアの問題だ。技術者がハードウェア損傷だと主張したら、それは間違いだ」ということだが、そうなるよう祈るしかなさそうだ。

    • Apple Storeは通常、こういうものはうまく対応してくれる。
      特定のハードウェアモデルとソフトウェアバージョンに影響する文書化された問題なら、費用を請求される可能性は非常に低い。
    • それほど難しくはなかった。
      2011 MacBook AirにSSDのハードウェア故障があったとき、何人かの同級生にハードウェア欠陥ページを教えたところ、彼らは800ドルを払う代わりに無料で修理してもらえた。
  • 最近のAppleに何が起きているのかわからない。
    Appleはほとんど死にかけた後、プレミアム価格と大きなマージンを正当化するために、全体としてプレミアムな体験を提供することへ容赦なく集中し、狂信的なほど献身することで、世界最高のブランドの一つを作り上げた。
    彼らのやり方が好きなら、購入した瞬間から「ただ動く」ものだったが、それも最近までの話だった。
    今日は悪意あるいたずらのように感じるほどのカフカ的体験をし、Appleがここまでひどくやらかすことはほとんどなかったので、本当に重要な瞬間に備えた対策もなかった。
    忠実な顧客のために必要なことをして問題を直してくれる人たちと電話でつながる方法があるなら助言がほしいが、今の一次サポートの電話は終わりのない待機メリーゴーラウンドのように感じるので、あまり期待はしていない。

    • 今日のAppleは20年前のAppleとはかなり違う。
      ブランドは同じだが、人はほとんど入れ替わった。
      ビデオゲーム業界のBlizzard、Bungie、343 Industriesのようなところでも常に見られることだ。
      もしかすると、新しいプログラマーやエンジニアたちが非常に複雑なコードベースを扱っていて、何かが壊れるまでは全体を完全に理解している人がいないのかもしれない。
  • Apple SiliconチップとProMotionディスプレイを搭載した機器にだけ影響があり、Intelには影響がない。
    古い機器を使っている人たち向けの、手早い逃げ道だ。

    • 挙げられている2つのバグのうち、ProMotionディスプレイが必要なのは片方だけだ。
      もう一方はすべてのApple Silicon機器で発生しうる。
  • Sonomaにアップグレードしてから1週間ほど後、2020年のM1 MacBook Airが文鎮化したが、関係があるかははっきりしない。
    アップデートと関係があるのではと疑った。
    幸い、こちらの保証関連法規のおかげでロジックボードを無料で交換してもらえたが、その翌日にはiPhoneに乗り換えようという気持ちは冷めた。

    • アップグレードがハードウェアを文鎮化するのは、macOSでよくある失敗パターンに見える。
      たとえばBig Surは2013年と2014年のMBPを何台も文鎮化した: https://www.macrumors.com/2020/11/15/macos-big-sur-update-br...
      自分も影響を受け、多くのユーザーと同じようにI/Oボードを交換したら問題が直った。
      自分の場合、保証はとうの昔に切れていたので、Ebayで10ドルの部品を買って自分で交換した。
    • 参考までに、iPhoneは10年以上使ってきたが、アップデートが失敗したり問題が起きたりしたことは一度もない。
      一方、Google Pixelは持っていた2年の間に2回ほど勝手に文鎮化した。
    • 自分の2020年M1 Airもロジックボードが故障した。
      ある日ふたを開けたら電源が入らず、AppleCareがなければ500ドルの修理だった。
      2週間ほど前には、ホテルの部屋でふたを開けたままベッドの上に置き、画面をつかんで近くに引き寄せたところ、指の弱い圧力だけで画面が割れた。
      Airでこの2つの問題が起きた事例はインターネット上にいくらでもある。
      最初はM1 Airが本当に気に入っていたが、今では自分にとってはあまりにも不安定な機器だと判明した。
    • 妙な判断基準に見える。
      どのメーカーでも、ソフトウェアとハードウェアの問題はある程度起きるものだ。
  • ここのコメントを読んでいると、Hacker News の人たちの多くは、実際の日常的なユーザーに会ったことがあるのだろうかと思ってしまう。
    ほかのギークや熟練ユーザーではなく、コンピューターについては仕事に必要な分だけ知っている、隣のキュービクルの普通の人たちのことだ。
    本当にユーザーが起動時にグラフィックモードの選択を望んでいると思っているのだろうか。
    Mac ユーザーのうち、代替ブートローダーを使っている、あるいはそれが何かを知っている割合がどれほどあるだろうか。
    大企業で多数のデバイスをサポートする現場に少し身を置いてみれば、ユーザーが私たちの重要だと思うものを本当に気にしているのかが分かる。

    • 投稿によると、システムファームウェアが macOS Sonoma のバージョンに更新された後、ディスプレイが ProMotion 以外のリフレッシュレートに設定されていると、そのシステムは古い macOS インストールや Asahi Linux で正常に起動できなくなる。
      それらのシステムがデフォルトの起動 OS に設定されている場合のリカバリモードも含まれ、次の OS アップグレードまでは System Recovery も影響を受ける。
      ユーザーがそれを「気にしていない」あるいは「意味が分からない」としても、これは一般ユーザーにも十分影響し得る。
    • 日常的に技術を使うユーザーに会ってみれば、誰も理解できず、調べる時間もない難解な画面で、何をクリックすべきかだけを覚えることにすっかり慣れていると分かる。
      仕事をしなければならない最中に、セキュリティ関連の通知や警告がどれほど多いかを思い出せばよい。
      結局は筋肉記憶だ。
      セキュリティ警告は無視するとシステムを侵害される可能性があるが、この場合はいずれシステムと作業物を救えるかもしれないので、価値がないとは言いにくい。
      この問題は、何らかの理由で2つの macOS バージョンを使いたいユーザーなら遭遇し得るもので、特にクリエイティブ系のプロの間ではそれほど珍しいことでもない。
  • 要するに、最近の macOS Sonoma と 13.6 Ventura には、一部の Mac を文鎮化し、recoveryOS を使えなくして、DFU revive が必要な黒画面を引き起こすアップグレードのバグがある。
    Sonoma の問題はデュアルブート Mac で最もよく起きているようだ: https://support.apple.com/en-us/HT208891
    Ventura のアップグレードも、ディスプレイのリフレッシュレートが ProMotion 以外の値に設定されていると、理由は不明だが問題になることがある。
    この文書は Asahi Linux 開発者がこの問題を発見したため Asahi Linux Wiki にあるが、Asahi だけに限られた問題ではない。
    実際、Asahi Linux インストーラーを実行すると、最終的に Asahi Linux をインストールしなくても、その Mac がこの問題の影響を受けるかどうかを検出できる。
    詳細は記事を見ればよい。

    • アップグレード時に自分の Mac でこの問題を2回経験した。
      起動可能な OSX パーティションが2つあり、どちらのアップグレードでも引っかかった。
      Mac に詳しいほうではないので解決に本当にかなり苦労し、DFU が存在することと、それが何をするものかまで学ばなければならなかった。
      娘が Mac を持っていたので、Apple Store に持ち込まずに DFU を使えたのは運が良かった。
  • macOS の問題を積極的に見つけ出してくれる第三者がいるという点は、ある程度ありがたい。