[電力管理不能]Pentium G3258/GT730/Sonoma

ホーム フォーラム User Builds [電力管理不能]Pentium G3258/GT730/Sonoma

  • このトピックは空です。
5件の返信スレッドを表示中
  • 投稿者
    投稿
    • #21824 返信
      廃物君
      ゲスト

      2年ほど前に使わなくなったパーツで組んだジャンク機でBig Sur/Montereyの
      動作報告をしたものです(https://bootmacos.com/forums/topic/13872)

      その後Montereyをアップデートしたら起動しなくなったため放置していたの
      ですが、最近暇が出来たので再挑戦してみました

      とりあえずOpenCcoreを0.7.5から0.9.7(途中から0.9.8)にアップデートしました
      config.plistの修正はここにバージョン毎の差分があったので大変助かりました
      各種kextも最新のものに差し替えた後、OpenCoreやOCLPの解説等で古いCPU対策を
      調査して、Montereyが動作しなくなった原因はAPFSがAVX命令を使うようになった
      ことが原因と解り、対応パッチNoAVXFSCompressionTypeZlib-AVXpel.kextを追加
      Ventura/Sonoma用のAVX2.0未対応CPU用のパッチ?のCryptexFixup.kextも追加
      未対応機種でのインストールと実行が出来るようにRestrictEvents.kextを追加
      最期にboot_argsにrevpatch=sbvmm -no_compat_checkを追加しました

      これでVentura(13.6.4)はうまく動いたのですが、Sonoma(14.3.1)ではCPUの
      PowerManagementが効かず常時最大クロックで動きます。NullPowerManagement
      利用時とたぶん同じです。G3258はIvy BridgeにCPUIDを偽装してxcpmカーネルを
      強制ロードすることで動作させる手法が使われていて、初めのころはboot-argsに
      -xcpmを追加するだけでできたのですが、これがSierraで廃止された後はCloverの
      オプションやOpenCore用パッチで強制ロード手段は提供されてきました
      しかしついにこのパッチがSonomaでは効かなくなったようです。Venturaから
      AICPUPMが外されたのでカーネルのPluginのロードのコードが変わったのでしょうか
      だとしたらVenturaでもいつまでパッチが使えるか不安が残ります

      そういえば少し前までOCLPの解説でVentura以降でIvy BridgeでPowerManagement
      を有効にする方法として、非推奨だがxcpmカーネルを強制使用する方法がパッチと共に
      記載されていたのですが消えていました。Sonomaでは利用できないことに気が付いたの
      かな?だとしたら新しいパッチと共に再公開されないものだろうか?

      なお、GT730についてはOCLPを適用して利用できています

      その他気になる点
      ・アップデートが大変
      作業中Sonoma14.3->14.3.1のアップデート通知が来たのですが、OCLP利用なので
      フルサイズでした。OCLPパッチを無効にすると差分アップデートが表示されるの
      ですが、これを実行しても「ソフトウェアアップデートの準備が出来ませんでした」
      というエラーになります。CryptexFixupは「Delta Updates will not be supported」
      とあるので当然ではありますが。OCLPパッチを再適用してフルサイズのアップデート
      は出来ましたが、毎回13GB強は少々厳しいです

      ・HDDで移行アシスタント不調
      ジャンク環境なのでSSDではなくHDDなのですが、Ventura/Sonoma共HDDでは移行
      アシスタントがほぼ失敗します(1回だけ成功しました)別機のSSDを持ってきて
      それにインストールした場合は100%成功するのでHDDが問題っぽいです
      まあ今のmacOSをHDDにインストールすることは想定されてないのでしょうけど

    • #21835 返信
      RaMaTcH
      ゲスト

      こんばんは。
      これでSSDT作れませんでしょうか?
      https://olarila.com/files/Utils/SSDT PM Gen.app.zip
      Montereyの時ですが、Insanelyで紹介してもらって自分は成功しました。

    • #21838 返信
      廃物君
      ゲスト

      RaMaTcH様
      ご助言ありがとうございます。
      ご提示してくださったSSDT PM Gen.appはssdtPRGen.shのダウンロード、実行、結果ファイルのデスクトップへのコピーを実行するスクリプトをapp化したもののようですね
      ssdtPRGenによるSSDT.amlの作成と組み込みはすでに試しており、効果が無いことを確認しております

      以下は私が理解していると思っているmacOSの電力管理方式からの判断です
      誤りがあればご指摘いただければ幸いです
      ・Sandy Bridge以前
      AppleIntelCPUPowerManagement.kextとAppleIntelCPUPowerManagementClient.kextを使用する
      VenturaでOSからkextが削除されたため、電力管理を有効にするにはOpenCoreでパッチを当てたAICPUPMをロードしなければならない
      ・Haswell以降
      カーネルが直接管理するのでVentura以降もそのまま動く
      ・Ivy Bridge
      どちらの方式でも動作するが、Sierra以降公式にはカーネル直接管理方式を使う方法が無くAICPUPM方式のみ使用されるのでVentura以降は通常Sandy Bridge以前のCPUと同じ手法を使う

      ご提示いただいたEFIはIvy Bridge-E用とのことですが、やはりkextフォルダ内にAppleIntelCPUPowerManagement.kextとAppleIntelCPUPowerManagementClient.kextがあり、config.plistでロードしているようなのでHaswellのG3258で必要なカーネルで直接電力制御を行うための手法は存在しておらず、残念ながら流用は出来ないものと判断しました。悪しからずご了承下さい

    • #21839 返信
      脱Sandyおじさん
      ゲスト

      より最新メンテナンスされてるようなSSDTTimeを使ってみてはどうでしょうか?

    • #21840 返信
      廃物君
      ゲスト

      脱Sandyおじさん様
      ご助言ありがとうございます

      SSDTTimeを試してみました。電力管理にかかわる部分といえばSSDT-PLUG.amlだと思いますが、これを変更しても変化はありませんでした。残念です

    • #21847 返信
      廃物君
      ゲスト

      電力管理を有効にできました

      非サポートCPUを無理やり動作させるという意味ではPentiumなど比較にならない
      レベルで困難なはずのRyzenを動かすパッチの中になら、使えるものがあるのでは
      ないだろうかと考えて、Ryzen用カーネルパッチを探ってみたところ

      algrey | _cpuid_set_cpufamily | Force CPUFAMILY_INTEL_PENRYN | 11.3+

      というコメントのパッチを適用し、Kernel/QuirksのProvideCurrentCpuInfoをtrue
      にすることでCPUのクロックが下がるようになりました。sysctlで確認してみると

      machdep.cpu.brand_string: Intel(R) Pentium(R) CPU G3258 @ 3.20GHz
      machdep.cpu.family: 6
      machdep.cpu.model: 60
      machdep.cpu.signature: 198339 (0x0306C3)

      と、PenrynではなくちゃんとHaswell Pentiumとして認識しています。Emulateの
      Cpuiddata1でIvy Bridgeに偽装している場合は

      machdep.cpu.brand_string: Intel(R) Pentium(R) CPU G3258 @ 3.20GHz
      machdep.cpu.family: 6
      machdep.cpu.model: 58
      machdep.cpu.signature: 198304 (0x0306A0)

      とIvy Brigeとして認識しますので、このパッチはCPUIDを書き換えるわけでは無いよう
      です。CPUIDの内容を維持したままカーネルにPenrynと誤認させてKPを避け、その後は
      本来のCPU情報で動くということなのでしょうか?うまくいく理屈がよくわかりません
      何せパッチの内容がいったい何をやっているのかさっぱりわからないので
      単にロジックのスキを突いただけの偶然で成功したのであれば、すぐ使えなくなるで
      しょうから理由は知っておきたいものですが、いかんせん能力が伴わないのが悲しい

      なお、Sonoma(14.3.1および14.4Beta5で確認)でのみ有効で、Venturaでは常時最大
      クロック状態になります。VenturaまではIvy Bridge偽装+既存のパッチで行けるので
      それらのMaxKernelを22.9.9にして、Ryzen用パッチのMinKernelを23.0.0にすることで
      各バージョンで電力管理が有効なOpenCore用config.plistを作ることが出来ました

      なお弊害として、システム環境設定で表示されるCPU名が不明になってしまいました
      RestrictEventsで指定してもProvideCurrentCpuInfoがtrueだと反映されないようです
      まあ「プロセッサ表示なんて飾りです」なので良しとします

      一方、移行アシスタントは相変わらず成功しません。動作確認の為とかで別バージョン
      のmacOSをインストールする時に現行環境を引き継げると楽なのですが、失敗します

      移行アシスタント実行後に再起動されると、プログレスバーの割と初期段階で再度
      再起動になり(Big Surではこの再起動がありません)、その後最後まで起動します
      成功する場合はここで移行完了でログインできるのですが、失敗の場合はここで
      もう一度「コンピュータはxx秒後に自動的に再起動します」とか表示され再起動され
      立ち上がった時は移行されたはずのデータは何も残っていません
      英語モードにするとか、OCLP用に緩めたSIPを有効にするとかWI-FI/Bluetoothを無効
      にするとかいろいろ試しましたが全滅。もうお手上げです
      どなたかこの現象とその解消に心当たりがございませんでしょうか

5件の返信スレッドを表示中
返信先: [電力管理不能]Pentium G3258/GT730/Sonoma
あなたの情報: