Intel GMA945 (0x27AE8086) 解像度変更 + CI/QE/OpenGL 完全有効化ソリューション
これを実現するためにChameleonチームと協力して懸命に取り組んできました。GMA GraphicsEnabler修正を実装してくれたPrasys氏に心から感謝します。現在私が使用しているGMAカードでCI/QE/OpenGLを有効化するソリューションを考案しました…
- 筆頭著者
-
@andyvand
公開日: 2010-02-12
- 収録コレクション
- OSx86 10.X コア基盤&ブートアーキテクチャ
- アーカイブ記録規模
- 累計閲覧 407,228 回 · 厳選フィールドノート 39 件(全 41 件の投稿より抽出) · 2010-02-12 – 2011-09-24
- 参加・検証メンバー (13)
- @andyvand (12)@scififan68 (6)@krrr (4)@y333 (4)@chitchit (4)@Imkantus (2)@kocoman (2)@Ianxxx (2)@stha@lotech@aceruser12@plotino@bobert
- 対応ハードウェア参照
- USB 3.2 Boot Flash Drives ↗ 4K DisplayPort & HDMI Monitors ↗ SATA III & NVMe SSDs ↗
これを実現するためにChameleonチームと協力して懸命に取り組んできました。
GMA GraphicsEnablerの修正を実装してくれたPrasys氏に心から感謝します。
現在私が使用しているGMAカード上でCI/QE/OpenGLを有効化するソリューションを考案しました…
あわせて、GMA GraphicsEnabler内のいくつかの警告(warning)も修正しています。
この修正パックは Snow Leopard 10.6.2 用です…
ダウンロード:
rapid share.com/files/349732013/GMA_0x27AE8086_Snow_Leopard_Fix.zip
ブートローダーのソースコード:
Chameleonのforgeサイト(branches/andyvand 配下)からチェックアウトしてください。
この素晴らしいソリューションをぜひ活用してください… :
10.6.3環境でうまく動作しない方のために、0x27A2のサポートも含めた 10.6.3 用の新しい修正パックを用意しました:
rapid share.com/files/378494223/GMA950_27A2___27AE_fixed_10.6.3.zip
動作証拠:
コミュニティ検証報告・技術フィールドノート
全 41 件のオリジナル投稿から技術的価値の高い 39 件の検証報告を収録
これは単に従来のGMA950用EFI文字列を GraphicsEnabler で置き換えられるようにするものですか?それとも AppleIntelGMA950 と AppleIntegratedFramebuffer のカーネル機能拡張(kext)にバイナリパッチを当てずに動作させられるようにするものなのでしょうか?
Dell Mini 10v にこれをインストールしようとしたのですが、ブートローダーのインストールに失敗してしまいました。
@Imkantusこれは単に従来のGMA950用EFI文字列を GraphicsEnabler で置き換えられるようにするものですか?それとも AppleIntelGMA950 と AppleIntegratedFramebuffer のカーネル機能拡張(kext)にバイナリパッチを当てずに動作させられるようにするものなのでしょうか?
EFIインジェクション自体は GraphicsEnabler によって行われます。
ただし Intel GMA945 (0x27AE8086) については、同梱されている2つのkextのplist内のIDを変更する必要があり、さらにバイナリ内の 8680A227 を 8680AE27 に書き換える必要もありました。
もしブートローダーのインストールに失敗する場合は、Pacifist を使って展開し、手動でインストールしてください。
すでに Chameleon 2 RC4 がインストールされている場合は、単に boot ファイルをルート(/)にコピーするだけで構いません……
この修正は 0x27A28086 でも機能します。
その場合は、他の手順はすべて同じように行った上で、AppleIntelIntegratedFramebuffer.kext と AppleIntelGMA950.kext だけは純正(ストック)のまま残してください。
@andyvandこの修正は 0x27A28086 でも機能します。その場合は、他の手順はすべて同じように行った上で、AppleIntelIntegratedFramebuffer.kext と AppleIntelGMA950.kext だけは純正(ストック)のまま残してください。
パッチ済みの intelgma950 系kextは /E/E(/Extra/Extensions)に入れても動作しますか?それとも /S/L/E にしか入れられませんか?
これに 0x2592 (GMA900/915) を追加することは可能でしょうか?私はまだElliotのドライバを使っています……Elliotのドライバとパッチ済みの AppleIntegratedGMA を Extra に入れてみたのですが(3つの追加依存kextも入れてみました……)結局動作しなかったため、/S/L/E に入れる必要がありました……
もう1つの問題は mach_kernel で、パッチ済みのものを /Extra に入れてみたのですが動作しませんでした……
@kocomanこれに 0x2592 (GMA900/915) を追加することは可能でしょうか?私はまだElliotのドライバを使っています……Elliotのドライバとパッチ済みの AppleIntegratedGMA を Extra に入れてみたのですが(3つの追加依存kextも入れてみました……)結局動作しなかったため、/S/L/E に入れる必要がありました……もう1つの問題は mach_kernel で、パッチ済みのものを /Extra に入れてみたのですが…
互換性のあるIDを置き換えれば可能なはずです(Info.plist を見てどのIDが含まれているか確認してください)。
バイナリにパッチを当てる際は、バイトスワップ(リトルエンディアン順)されたIDを置換します:
-- 例 --
Info.plist 内の表記:
0x27A28086
これはバイナリ内では次のようになります:
86 80 A2 27
お使いのカードに最も近いデバイスIDを自分のカードのIDに置き換えます...
確認したところ...
Info.plist 内の 0x25828086 を
0x25928086 に変更します
(両方のplistとも)
両方のバイナリに対して、0xED(16進数エディタ)を使って以下の16進数を検索・置換します:
86 80 82 25
から
86 80 92 25
バイナリ本体は常に Contents/MacOS 内にあります(ご存知なかった場合のため)。
元のkextの代わりに、両方を /S/L/E にインストールしてください。
あとはチュートリアルの他の手順に従い、もしブートローダーのインストールに失敗する場合は、標準の Chameleon 2 RC4 をインストールしてから boot ファイルを添付のものに置き換えてください……
これでうまくいくことを願っています……
新バージョン:今回のバージョンではセカンダリディスプレイの検出+自動パッチにも対応しました(システムプロファイラにも表示されます)。
また、私が採取したVBIOS ROMダンプとコード変更のおかげで、0x27AE8086 / 0x27A68086 の解像度サポートも修正されています……
Intel VBIOSのダンプには RadeonPCI.kext と RadeonDump -d を使用してください(ただしVBIOSのダンプにのみ使え、レジスタの読み取りには使えません……)。
より多くのカード(GMA950 / GMAX3100 方式)をサポートできるよう、他のGMAのVBIOSもできるだけたくさんダンプして提供していただけると助かります。
それはChameleon開発陣全員にとっても非常に大きな助けになります。
@andyvand新バージョン:今回のバージョンではセカンダリディスプレイの検出+自動パッチにも対応しました(システムプロファイラにも表示されます)。また、私が採取したVBIOS ROMダンプとコード変更のおかげで、0x27AE8086 / 0x27A68086 の解像度サポートも修正されています……Intel VBIOSのダンプには RadeonPCI.kext と RadeonDump -d を使用してください(ただしVBIOSのダンプにのみ使え、レジスタ…
Andyさん、本当にありがとうございます!私の Dell Mini 10v で完璧に動作しています。
手元にノートPCが戻ってき次第、10.6.3 対応版を作成する予定です…… :-|
うーん、私の環境ではあなたの修正が 10.6.3 でもそのまま動いているようです。
以下の2つのカード向けに 10.6.3 対応の新バージョンを公開しました:
0x27AE
0x27A2
新しいインストーラが含まれているため、最初のパッケージもあわせて入手してください。
@scififan68うーん、私の環境ではあなたの修正が 10.6.3 でもそのまま動いているようです。
ええ、ただそれは旧バージョンですね。
新バージョンではいくつかのOpenGL関連の問題が修正されています……
これはスリープの問題にも何か効果がありますか?私の環境ではDSDT経由で純正kextのままGMA950は問題なく動作しているのですが、スリープだけはどうしても動作させられなくて困っています。
私のマシンでもまだスリープが機能していないので、ちょっとわかりませんね……
/Extra/Extensions に sleepenabler.kext は入っていますか?
はい、SleepEnabler.kext は入れてあり、マシンはスリープ状態には入るのですが、復帰時にそのまま再起動してしまい sleepimage の復元に失敗してしまいます……
@Andy
あなたの環境では AppleLPC kext が読み込まれていないか、あるいはデバッグ版の IOUSBFamily で dmesg に UHCI に関するエラーが出ていたりしませんか?
私の経験上、一部の構成でスリープからの復帰(Wake)が機能しない原因はその2つであることが多かったです……
@Imkantus@Andy あなたの環境では AppleLPC kext が読み込まれていないか、あるいはデバッグ版の IOUSBFamily で dmesg に UHCI に関するエラーが出ていたりしませんか?私の経験上、一部の構成でスリープからの復帰(Wake)が機能しない原因はその2つであることが多かったです……
ああ、確かに。おっしゃる通りです。以前、UHCIが原因でスリープに問題が出たのを覚えています。それを修正するには
<key>UHCIreset</key>
<string>Yes</string>
を com.apple.Boot.plist に追加してください。
@andyvand互換性のあるIDを置き換えれば可能なはずです(Info.plist を見てどのIDが含まれているか確認してください)。バイナリにパッチを当てる際は、バイトスワップ(リトルエンディアン順)されたIDを置換します:-- 例 -- Info.plist 内の表記:0x27A28086 これはバイナリ内では次のようになります:86 80 A2 27 お使いのカードに最も近いデバイスIDを自分のカードのIDに置き換えます... 確認したところ... Info.plist 内の 0x25828086 を…
エキスパートの皆さん、こんにちは。
私はOSx86の完全な初心者ですが、なんとか Lenovo R60 ノートPCで Hazard OSX 10.6.2 を起動・稼働させることができました。
唯一残っている未解決の部分が GMA945 ビデオカードです。
pkgインストーラが失敗したため、ルート(/)の boot ファイルを置き換え、最初の投稿からダウンロードできる2つのkextをインストールしてみました。また com.apple.boot.plist に「GraphicsEnabler」も追加しました。しかしうまくいかず、途方に暮れています。画面自体は映るのですが解像度が 1024x768 固定になってしまい、そのせいでDVDプレーヤーも動作しません。
さらに現在、Chameleonのロゴ画面の前に、プリブートのVerbose表示(PCI UUIDの一覧)と「press any key to continue」が出るようになってしまいました。
起動時にこのVerbose表示(および「press any key to continue」)が出ないようにするにはどうすればよいでしょうか?
com.apple.boot.plist には「-v」は入れていません。
おそらくこのPCI一覧は com.apple.boot.plist が読み込まれる前に表示されているのだと思いますが、合っていますか?
ルート(/)にあった古い boot ファイルのバックアップを取っていなかったため、以前の起動状態に戻すこともできません。
どなたか助けていただけると幸いです。
「初心者の質問」で恐縮ですが、しっかり学ぶ意欲はあります!
Stha
注1:カーネルブート引数(Kernel Flags)には GraphicsEnabler=Yes を指定します
注2:boot rel3 を入手してください(InsanelyMacの同じトピックにあります)
おお、これはありがたいです —— ついに 10.6.2 の VAIO W でグラフィックスをサポートさせる方法を見つけました。これまでいくつかの修正を試してきましたが、これが最も効果的でした。
ただ1つ大きな問題があります —— ブートローダーの更新以外のすべての手順を行うと、出力がVGA(外部出力)のみになり、ネットブック本体のLCDが真っ暗になってしまいます。かといって新しいブートローダー(最初の投稿のもの、および数件後の投稿のもの)をインストールすると、グラフィックスが初期化された直後にコンピュータがスリープ状態に入ってしまい、しかも確認できた限りではやはりVGAにしか出力されません。
何かアドバイスはありますか?
こんにちは、Andyさん
MSI U100(グラフィックスは 27AE 8086)ネットブックに iATKOS S3 ディストリビューションを入れています。カーネルは 10.3、ディストリビューションは 10.6.3 です。高解像度表示を有効にするために適切なkextをインストールするにはどうすればよいでしょうか。ここ2日間で20回も再インストールを繰り返して頭がおかしくなりそうなので、大急ぎで助けが必要です。
ターミナルの出力は以下の通りです。どうやってインストールすればよいですか?
==================
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ pwd
/Users/netbook/Downloads/GMA950_27A2___27AE_fixed_10/GMA950 0x27AE 10.6.3 fixed
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ uname -a
Darwin netbooks-MacBook.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ sudo kextload -t AppleIntelGMA950.kext/
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password:
Notice: -print-diagnostics (-t) ignored; use kextutil(8) to test kexts.
/Users/netbook/Downloads/GMA950_27A2___27AE_fixed_10/GMA950 0x27AE 10.6.3 fixed/AppleIntelGMA950.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ sudo kextload -t AppleIntelIntegratedFramebuffer.kext/
Notice: -print-diagnostics (-t) ignored; use kextutil(8) to test kexts.
/Users/netbook/Downloads/GMA950_27A2___27AE_fixed_10/GMA950 0x27AE 10.6.3 fixed/AppleIntelIntegratedFramebuffer.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ sudo cp -rf AppleIntel* /Extra/Extensions/
Password:
netbooks-MacBook:GMA950 0x27AE 10.6.3 fixed netbook$ cd /Extra/Extensions
netbooks-MacBook:Extensions netbook$ sudo chmod -R 755 AppleIntelGMA950.kext/
netbooks-MacBook:Extensions netbook$ sudo chmod -R 755 AppleIntelIntegratedFramebuffer.kext/
netbooks-MacBook:Extensions netbook$ sudo chown -R root:wheel AppleIntelGMA950.kext/
netbooks-MacBook:Extensions netbook$ sudo chown -R root:wheel AppleIntelIntegratedFramebuffer.kext/
netbooks-MacBook:Extensions netbook$ sudo kextload -t AppleIntelGMA950.kext/
Notice: -print-diagnostics (-t) ignored; use kextutil(8) to test kexts.
netbooks-MacBook:Extensions netbook$ sudo kextload -t AppleIntelIntegratedFramebuffer.kext/
Notice: -print-diagnostics (-t) ignored; use kextutil(8) to test kexts.
netbooks-MacBook:Extensions netbook$ pwd
/Extra/Extensions
netbooks-MacBook:Extensions netbook$
==================
今から再起動してみます。
追記:再起動しました。再起動後に初めてカーネルパニックにならずに起動しました、やったー!(すみません、起動途中で止まらなかったのが嬉しくてつい興奮してしまいました)。
しかし解像度は改善していません。私の環境には com.apple.Boot.plist が見当たらず、Chameleonのメーリングリストにあなたが投稿していたRapidShareのファイルから入手した Chameleon R69 バージョンをインストールしようとしたのですが、残念ながらインストールに失敗してしまいました。ここからどう進めればよいでしょうか?
24時間後の追記:-
その後もう一度再インストールしてから、NetbookInstaller ↗ というツールを見つけました。MSI U100 ネットブック上の素の iATKOS S3 環境で実行したところ、パスワードを2〜3回求められ、完了までに20分ほどかかりました。完了後に再起動したところ、見事に高解像度デスクトップが表示されたのですが、なんだか奇妙な解像度になっています。添付画像を確認してください。
Andyさん、この状態からあなたのファイルをインストールするにはどうすればよいですか?後の返信に添付されている boot ファイルも置き換えるべきでしょうか?ご返信をお待ちしています。
ビデオハードウェア情報は GMA 950 27AE となっており、「このMacについて」のグラフィックス情報とルート(/)のファイル一覧は以下の通りです。
部分的に成功した後、前回の返信を編集して追記しました。ご確認いただけると幸いです。
ミラーリングモードで問題は起きませんか?
私の環境では画面にひどい縦縞が入ってしまいます……
Andyvandさん > どうやってそれらのカーネル機能拡張(kext)を作成しているのですか?コミュニティに貢献したいのですが、kextの編集方法を理解するためのチュートリアルがどこにも見当たらなくて。
私は外付けの液晶モニターをセカンダリモニター(1つ目のモニターから2つ目のモニターへウィンドウを移動できる拡張デスクトップ空間)として使っているだけなので、そちらでは問題は起きていません。あなたが言っているミラーモードとはこれのことですか?
krrrさん > いえ、それは拡張デスクトップモードですね。2台目の画面がデスクトップの拡張領域として機能するモードです。私が尋ねたミラーリングモードとは、2つの画面にまったく同じ内容を表示するモードのことです。2台目の画面を接続した状態で「ディスプレイ」環境設定の中央のタブ(調整)にある「ディスプレイをミラーリング」というチェックボックスで設定できます。
ただ注意してください。もし私のように画面が乱れる症状が出た場合、外付けモニターを抜けば再びコンピュータを使えるようにはなりますが、次にまた外付けモニターを繋ぐたびにその派手な表示崩れ(アーティファクト)が出続けることになります。ミラーリングモードを解除するには、ターミナルからこちらのツール(fabia ncanas.com/Projects/MirrorDisplays/)を使うか、モニターの環境設定ファイルを削除してください。そうすれば再び拡張デスクトップモードが使えるようになります。
Andyvandさん > 私のROM(27A2.5D00.0003.vga.rom)をちょっと見ていただけないでしょうか?
media fire.com/file/gvodjemzzl3/27A2.5D00.0003.vga.rom
@y333さん、ええ、ミラーリングは機能せず、縞模様になってしまいました。あなたが貼ってくれたユーティリティが動かなかったときは、あやうくOSを再インストールしなければならないかと肝を冷やしましたよ。
幸い、eru via.org/software/osxmirroring/ を見つけて、こちらはターミナルからうまく動作しました。ふぅ、助かりました。
krrrさん > ユーティリティを使わずにコマンドラインで対処する方法です:
rm -f /Library/Preferences/com.apple.window*
rm -f /Users/"USERNAME"/Library/Preferences/ByHost/com.apple.window*
rm -f /Users/"USERNAME"/Library/Preferences/ByHost/com.apple.pref*
(もちろん "USERNAME" の部分は実際のユーザー名に置き換えてください……)
krrrさん > テストしてくれてありがとう。
2画面表示(内蔵ディスプレイ+VGA外部出力)を追加する方法はありますか?
やあAndyさん、InsanelyMacでもお伝えした通り、以下の変更を行ってみました:
ae27 用にすべての 86 80 72 27 を 86 80 AE 27 に変更してみましたが、それでもミラーリングは機能しません。何か解決策はありますか?ありがとうございます。
追記:すべてのID(まず 86 80 72 27 を 86 80 AE 27 に、次に 86 80 82 25 を 86 80 AE 27 に、さらに 86 80 92 25 を 86 80 AE 27 に)を変更してみましたが、やはりミラーリングは一向に動作しません。パッチ箇所は本当にここだけなのでしょうか?
ミラーリングに対する解決策は何かありますか?
私のノートPCに搭載されている GMA 900 ビデオカードでもこれを行うことは可能ですか?デバイスIDは 0x2592 です。あなたが書いた変更方法の説明を読んだのですが、少し混乱してしまって。力を貸していただけないでしょうか?
動作させることができました!私のカードはどうやら最初から組み込まれていたようです。ただ、色合いがすっかりおかしくなっています。どうすればよいでしょうか?
おっと、気にしないでください、原因は sse3emu でした。
Intel GMA 945 搭載の Dell D620 を持っています。0x27AE8086 で正しい解像度を有効化する手順や、CI/QE/OpenGLを有効化するソリューションのやり方がよくわかりません。手順の説明はどこにありますか?あまり詳しくなく、今回がPCへの初めてのMacインストールなのです。
Chris
デバイスID [8086:2592] の GMA900 でこれを使いたい場合は、
どうすればよいですか?GMA900 のkextにパッチを当てて、古い AppleIntelIntegratedFrambuffer.kext を追加する必要があるのでしょうか?それとも別の方法ですか?
@bkribbsデバイスID [8086:2592] の GMA900 でこれを使いたい場合はどうすればよいですか?GMA900 のkextにパッチを当てて、古い AppleIntelIntegratedFramebuffer.kext を追加する必要があるのでしょうか?それとも別の方法ですか?
はい、内部に含まれている 0x25XX シリーズのIDの1つを使って置き換えてください。
バイナリ内ではバイト順をスワップする必要がある点に注意してください(例:25928086 は 86809225 になります)。
Info.plist 内のカードIDを確認し、先ほど説明した通りにバイナリ内でスワップした値を見つけます。
次に、それをお使いのカードのスワップ済みIDに置換します。
そして最後に、動作させるために Info.plist 側もあわせて書き換える必要があります。
この作業を両方のkextに対して行う必要があります(その後はもちろんインストールしてください)。
@andyvandはい、内部に含まれている 0x25XX シリーズのIDの1つを使って置き換えてください。バイナリ内ではバイト順をスワップする必要がある点に注意してください(例:25928086 は 86809225 になります)。Info.plist 内のカードIDを確認し、先ほど説明した通りにバイナリ内でスワップした値を見つけます。次に、それをお使いのカードのスワップ済みIDに置換します。そして最後に、動作させるために Info.plist 側もあわせて書き換える必要があります。この…
ただ、見たところこれはすでに最初から組み込まれているように見えます。私のデバイスIDがすでに入っているようなのですが。
QEなし、CIなし、OpenGLなし
こんにちは、この分野は初めてで、以前にも似たようなことを試したことがあるのですが、今のところ限定的な成功にとどまっています(笑)……現在 10.6.8 を使っており、解像度の変更はできるのですが QE/CI/OpenGL が無効のままで、しかも内蔵画面がまだ動いていないため外部モニターに出力している状態です。
マシンは Toshiba NB 100 で、グラフィックスは 27ae です。
つまり構成は:
10.6.8
27ae
Toshiba ネットブック
どなたか助けていただけないでしょうか。コマンドライン(ターミナル)の操作はあまり得意ではありませんが、わかりやすいガイドがあれば一字一句そのまま忠実に従います……
現在私が使用しているkextは以下の通りです:
osx 86.co/attachment.php?attachmentid=1618&stc=1&d=1316877241
出典および貢献者来歴(クレジット登録 13 名 · 元スレッド #5512)
| ユーザー名 | 貢献ロール | 投稿数 | 活動期間 |
|---|---|---|---|
| @andyvand | 筆頭著者 | 12 | 2010-02-12 → 2011-07-28 |
| @scififan68 | 主要貢献者 | 6 | 2010-02-13 → 2010-04-26 |
| @krrr | 主要貢献者 | 4 | 2010-06-23 → 2010-06-27 |
| @y333 | 主要貢献者 | 4 | 2010-06-26 → 2010-06-27 |
| @chitchit | 主要貢献者 | 4 | 2011-01-13 → 2011-07-30 |
| @Imkantus | 検証メンバー | 2 | 2010-02-13 → 2010-04-25 |
| @kocoman | 検証メンバー | 2 | 2010-02-15 → 2010-06-29 |
| @Ianxxx | 検証メンバー | 2 | 2010-04-24 → 2010-04-25 |
| @stha | 検証メンバー | 1 | 2010-06-01 |
| @lotech | 検証メンバー | 1 | 2010-06-10 |
| @aceruser12 | 検証メンバー | 1 | 2010-09-01 |
| @plotino | 検証メンバー | 1 | 2011-02-01 |
| @bobert | 検証メンバー | 1 | 2011-09-24 |