Mac信者のHackintosh修行

惑星で一番美しいOSが1台でも多くのマシンで動くことを目指します。

パッチを当てるkext: Lilu.kext

f:id:siroanko:20170915223211p:plain

Lilu.kextはkext (カーネル拡張)にパッチを当てる仕組みを提供するkextです。ライブラリやプログラムにもパッチを当てられるようですが、kextにパッチを当てるために便利に用いられています。今年になってから登場した新しいkextです。元々は、サウンドを提供するkextであるAppleALC.kextを開発していた人が、パッチ当ての部分を分離して公開してくれたものです。なので、現在のAppleALC.kextもLilu.kextを使っています。

github.com

Lilu.kextはパッチを当てるkextと一緒に使います。バニラな構成ならば、それぞれをEFI/CLOVER/kextsのOtherもしくは該当するバージョンのフォルダに一緒に入れます。Cloverもconfig.plistのKextsToPatchセクションの記述でkextにパッチを当ててくれます。この記述は簡単なのですが、kext本体のバイナリーファイルにしかパッチを当てられません。Lilu.kextは、パッチ方法を指定するkextを開発する必要がありますが、kext本体以外の様々なファイルにや設定にパッチを当てられるようです。

以下で、Lilu.kextと一緒に使うためのkextを紹介します。

AppleALC

macOSのHD audio機能を使って音を出すためのパッチ。こちらで説明しました。

siroanko.hatenablog.com

古いバージョンは単独で動きますが、パッチ当て機能をLilu.kextに分離した後のバージョンは、Lilu.kextと一緒に使います。

github.com

NvidiaGraphicsFixup

NVIDIAGPUをiMac15,1 iMac17,1 MacPro 6,1のシステム設定で使おうとすると、 ブート後に画面が黒くなって起動しなかったり、画面がスリープしたりする問題が発生します。 WebドライバだけでなくmacOS標準のドライバでも発生します。 iMacのレティナディスプレイやProのデュアルグラフィックスカードハードウェアを前提とした macOSの設定が、この問題を引き起こしているようで、black screen問題と呼ばれています。このkextを使うと、black screenを回避できます。

github.com

IntelGraphicsFixup

Intel HD Graphicsを使う場合に発生する以下の不具合を解決します。

  • Intel Graphics HD4000以降のブートロゴ表示の乱れ
  • Intel Azul Graphics (HD4400, HD4600)におけるPAVPフリーズ問題

ブートロゴの乱れは、起動時のアップルロゴとプログレスバーが表示される場面の後半で、 表示が8個に分裂してストライプ状になる現象です。起動時だけのことで、無視しても良いくらいの問題ですがこれが解決されます。もう一つのPAVPフリーズ問題はもっと深刻で、 一部の動画サイトをSafariで閲覧する場合や、iTunesiTunes Storeの予告編を見る場面で、動画再生が滞ったり、場合によってはOSがフリーズする問題です。

github.com

WhateverGreen

10.12.6からRX480/580などのAMDグラフィックスカードがサポートされました。しかし、メインディスプレイにはならず、起動時にはCPU内蔵GPUなどの補助GPUが必要でした。これを解決するのがWhateverGreen.kextです。Radeonを使う人には必須です。

github.com

Shiki

iTunesにあるDRM保護されているビデオはivy bridge以降で再生できない問題があります。 購入した映画や、その予告編を再生しようとすると、 映像が出ないとか、音だけしか出ない状態です。 これを回避します。 

github.com

NightShiftUnlocker

10.12.4から導入されたNight Shift機能ですが、これにはMacBookPro9,x iMac13,x Macmini6,x MacBookAir5,x MacPro6,x MacBook8,x以降の機種が対応しています。これより古い機種でNight Shiftを動かすためのkextです。

github.com

 そのほか

用途・効果を理解できていないのですが、Lilu.kextのサイトによると、このほかにも以下のようないろいろなパッチがあるようです。

AirportBrcmFixup Broadcom Airport Wi-Fi cardsへのパッチ

AzulPatcher4600 Intel HD 4600 へのパッチ

CoreDisplayFixup 非Iris Intel graphicsの高解像度サポート

CPUFriend 動的なパワーマネージメント

EnableLidWake ラップトップで蓋を開けた時のIntel Graphicsスリープ解除対応

HibernationFixup 3モードと25モードのハイバネーション対応