自作デスクトップパソコンはうまく動作し、今度はノートパソコンにも挑戦しようということで挑戦しました。
大変だったのでメモがてら書きます。
HP Spectre x360 13-ap0037TU (2018年モデル)
CPU:Intel Core i7 8565U
iGPU:Intel UHD Graphics 620
まず、ストレージですが内蔵のNVMeはSamsung PM981ということで使用不可でした。
分解して交換すれば内蔵NVMeにもインストールできそうです。
私は外付けSSDにインストールしました。
動くもの
・キーボード
・トラックパッド
・スピーカー
・グラフィックスのアクセラレーション
・Thunderbolt 3
・USB3.1 Gen2
・Type-CからHDMIへの変換での外部ディスプレイの接続
・ヘッドホン
・画面の明るさ調整
・バッテリー残量?(なかなか残量を更新しないためほぼ無意味)
・App Store
・iCloud
・macOSのアップデート
動かないもの
・Wi-Fi
・Bluetooth
・タッチパネル
・指紋認証センサー
・Siri(マイクは認識されているがなぜかSiriが認識しない)
・カメラ(USBカメラとして認識されているようなのでなにかのソフトでは使えるかもしれない)
・microSDカードリーダー
・スリープ(スリープ自体は正常だが、復帰後画面に何も表示されない(HDMI出力すればそのディスプレイには映る))
・iMessage
・FaceTime
Bootloader:Clover r5109
Kext
- ACPIBatteryManager.kext
- AppleALC.kext
- CPUFriend.kext
- EnableLidWake.kext
- FakeSMC.kext
- HibernationFixup.kext
- Lilu.kext
- NoTouchID.kext
- USBInjectAll.kext
- VoodooPS2Controller.kext(RehabMan氏作のもの)
- WhateverGreen.kext
VoodooPS2Controller.kextがvandroiy2013氏のものだと動作が悪く使いにくかったです。
Driver
- ApfsDriverLoader.efi
- AppleImageCodec.efi
- AppleKeyAggregator.efi
- AppleKeyFeeder.efi
- AppleUITheme.efi
- AptioInputFix.efi
- AptioMemoryFix.efi
- AudioDxe.efi
- DataHubDxe.efi
- EmuVariableUefi.efi
- EnglishDxe.efi
- Fat.efi
- FirmwareVolume.efi
- FSInject.efi
- HashServiceFix.efi
- HFSPlus.efi
- NTFS.efi
- NvmExpressDxe.efi
- PartitionDxe.efi
- Ps2MouseDxe.efi
- SMCHelper.efi
FileVault用efi多めです。
SSDT
- SSDT-EC.aml
- SSDT-PNLFCFL.aml
SSDT-PNLF.amlではなくSSDT-PNLFCFL.amlであるというのが重要です。
SSDT-PNLFCFL.amlでないと画面が非常に暗くなります。
DSDTへのパッチ
- [sys] Fix _WAK Arg0 v2
- [sys] Fix Mutex with non-zero SyncLevel
- [bat] Battery Fix (battery_HP-G6-2221ss)
- [sys] HPET Fix
- [sys] SMBUS Fix
- [sys] IRQ Fix
- [sys] RTC Fix
- [sys] OS Check Fix
さらに、明るさキーを使えるようにします。
into method label _Q10 replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0205)\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0285)\n
end;
into method label _Q11 replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0206)\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0286)\n
end;
そして、キーボードとトラックパッドが認識できるようにします。
Device(PS2K)の部分をこちらの通りに記述します。
https://www.tonymacx86.com/threads/ps2-not-working-after-installing-dsdt.53498/#post-344136
config.plist
ブート引数
lilucpu=10 -cdfon slide=0 -igfxmlr -wegnoegpu
もしかしたら-cdfon slide=0以外は不要かもしれません。
slide=0を使うと起動時のメモリ確保の確率がとても上がります。
音
DevicesのPropertiesに記述という方法が良かったのですがどうもうまくいきませんでした。
Devices->Audio->Injectに11を設定しました。
グラフィック
Devices->Propertiesに以下を設定しました。
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>CQCbPg==</data>
<key>AAPL,slot-name</key>
<string>Internal@0,2,0</string>
<key>device-id</key>
<data>mz4AAA==</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>enable-hdmi20</key>
<data>AQAAAA==</data>
<key>framebuffer-fbmem</key>
<data>AACQAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
<key>framebuffer-unifiedmem</key>
<data>AAAAgA==</data>
<key>hda-gfx</key>
<string>onboard-1</string>
<key>model</key>
<string>Intel UHD Graphics 620</string>
</dict>
</dict>
framebuffer-fbmemがないとパソコンの蓋を閉じたあと開くと画面がつかなくなります。
USB
USBはどれが不要なものかよくわからなかったので15本制限をなくすパッチを当てました。
SMBIOS
MacBookAir8,2にしました。今の所大丈夫です。
CloverではなくOpenCoreを使ってみたりしましたがOpenCoreではOpenCore自体起動すらしませんでした。設定がだめだったんでしょうか。
VirtualSMCも試しましたがFakeSMCのほうが圧倒的に起動速度が速かったです。
なんとか実用的なくらいには動いています。iOSアプリ開発くらいなら余裕だと思います。