x86 ハードウェア上の Mac OS X 2008–2024 技術文献アーカイブ
InfiniteMac OSx86 › OSx86 10.X コア基盤&ブートアーキテクチャ › Intel GMA X4500HD のサポートと解像度変更
266,730 reads · 2008-10-29 – 2011-03-13
検証レポート 10.X コア基盤

Intel GMA X4500HD のサポートと解像度変更

Intel GMA X4500HD が現在サポートされているか、あるいは今後サポートされる予定があるかご存知でしょうか? 気になっているノートPCが2機種あります(Acer TravelMate 5720-602G16_XPP と Acer TravelMate 5730-842G25N)。これらのノートPCを選んだ最大の理由は、最大5時間という長いバッテリー駆動時間にあります。

筆頭著者
@naquaada 公開日: 2008-10-29
収録コレクション
OSx86 10.X コア基盤&ブートアーキテクチャ
アーカイブ記録規模
累計閲覧 266,730 回 · 厳選フィールドノート 29 件(全 32 件の投稿より抽出) · 2008-10-29 – 2011-03-13
参加・検証メンバー (20)
@martin255 (4)@uman (4)@changturkey (2)@Undead Surfer (2)@asert (2)@modemthug (2)@max.1974 (2)@brizzle (2)@naquaada@scififan68@BlackCH@evb60@shanwookie@localparty@sparksthesquid@Sevan+4 more
対応ハードウェア参照
Laptop RAM & SSD Upgrades ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
日本語完訳・技術モノグラフ · ターミナルコマンド、Kext 名、ACPI ノード、ブート引数は原文のまま正確に保持しています英語原文を表示 (Original English) →

Intel GMA X4500HD が現在サポートされているか、あるいは今後サポートされる予定があるかご存知でしょうか? 気になっているノートPCが2機種あります:
Acer TravelMate 5720-602G16_XPP (notebook sbilliger.de/product_info.php/acer_travelmate_5720602g16_xpp_3gb) と Acer TravelMate 5730-842G25N (notebook sbilliger.de/product_info.php/acer_travelmate_5730842g25n_3072mb) です。

これらのノートPCを選んだ最大の理由は、最大5時間という長いバッテリー駆動時間にあります。問題は、前者はサポート済みの X3100 を搭載しているのに対し、後者は X4500HD を搭載している点です。私自身はグラフィックス性能や高度な3D性能はまったく必要としておらず、通常のアプリケーション作業や DOS・Amiga のゲームを少し遊べれば十分なのです。

グラフィックスカードと大容量HDD以外の違いはCPUです。前者は Intel Core™2 Duo T7500(2x 2.20 GHz、2x 4 MB L2キャッシュ、800 MHz FSB)、後者は Intel Core™2 Duo P8400 Montevina(2x 2.26 GHz、2x 3 MB L2キャッシュ、1066 MHz FSB)を搭載しています。この速度差は体感できるほどでしょうか?

コミュニティ検証報告・技術フィールドノート

全 32 件のオリジナル投稿から技術的価値の高い 29 件の検証報告を収録

検証ノート #1 @scififan68 2008-12-08

OS X で GMA X4500 が動作する日は来ないのではないかと思います。Apple が NVIDIA チップセットへ移行してしまったため、望みは極めて薄いでしょう。

検証ノート #2 @changturkey 2008-12-08

誰かがドライバ開発に着手してくれるか、せめてドライバで解像度変更だけでもできるようにならないかと期待していたのですが。QE/CI は重要ではありません。

検証ノート #3 @martin255 2009-06-18

changturkey さん、ネイティブ解像度で表示することさえできればよいのであれば、現在2つのハック/回避策が知られています。1つは Linux をインストールし、パッチを当てた 915resolution モジュールを組み込んだ GRUB をブートローダーとして使用する方法です。かなり複雑ですが、複数のユーザーからさまざまな解像度で動作したという報告があります。
もう1つは、もともと VAIO P 向けにコンパイルされたカスタム boot ファイルを使用する、よりシンプルな解決策です。この方法は今週発見されたばかりなので動作報告はまだ多くありませんが、私の環境(ThinkPad X200s)では 1440x900 は無理だったものの、1280x800 での表示に成功しました。
どちらの解決策も InsanelyMac のこちらのスレッドで詳しく解説されています(1つ目の方法は投稿 #38 から、2つ目の方法は投稿 #106 から):http://www.insanelymac.com/forum/index.php?showtopic=12… ↗

検証ノート #4 @Undead Surfer 2009-06-24

特定の解像度にしたいだけなら、なぜ単純に "Graphics Mode"="yyyxyyyxyy" を使わないのですか?

検証ノート #5 @uman 2009-06-24

私自身も近いうちにこれを搭載したノートPCを手に入れるかもしれないので、関心が出てきそうです。以下のドキュメントを見つけました:

intellinu xgraphics.org/documentation.html

ただ、まだ目を通す時間が取れていません。このドキュメントの調査をみんなで分担(クラウドソーシング)できませんか? 基本的に私たちが探しているのは、4500 を 3100(あるいは最悪 950)との互換モードで動作させられるかどうかという点です。もし可能であれば、Natit や EFI ストリングを使って ACPI ツリーにそれをインジェクトできるかもしれません。

検証ノート #6 @martin255 2009-06-24

UndeadSurfer さん、なぜならその方法では動かないからです。ビデオカードの BIOS(VBIOS)にはサポートされている VESA モードのリストが格納されており、使いたい解像度がそこに登録されていない場合、com.apple.Boot.plist で指定してもあまり役に立ちません。そのため、起動時にビデオカードの BIOS に一時的なパッチを当てるのが解決策となります。そうすれば目的の解像度を得ることができます。

uman さん、私が知る限り、X4500 のアーキテクチャは X3100 とは大きく異なります(少なくとも Intel のマーケティング資料によれば)。単なる派生版だった X3500 のようなわけにはいきません。ただ、こちらの意欲的な方と協力してみるといいかもしれません:http://www.insanelymac.com/forum/index.php?s=&showt… ↗

検証ノート #7 @uman 2009-06-25 ↳ Re: @martin255
@martin255uman さん、私が知る限り、X4500 のアーキテクチャは X3100 とは大きく異なります(少なくとも Intel のマーケティング資料によれば)。単なる派生版だった X3500 のようなわけにはいきません。ただ、こちらの意欲的な方と協力してみるといいかもしれません:http://www.insanelymac.com/forum/index.php?s=&showt… ↗

彼らのアプローチではうまくいかないでしょう。Apple はビデオドライバのソースコードを公開していませんから。

検証ノート #8 @Undead Surfer 2009-06-25 ↳ Re: @martin255
@martin255UndeadSurfer さん、なぜならその方法では動かないからです。ビデオカードの BIOS(VBIOS)にはサポートされている VESA モードのリストが格納されており、使いたい解像度がそこに登録されていない場合、com.apple.Boot.plist で指定してもあまり役に立ちません。そのため、起動時にビデオカードの BIOS に一時的なパッチを当てるのが解決策となります。そうすれば目的の解像度を得ることができます。

奇妙ですね。職場の PC が 4500 なのですが、com.apple.Boot.plist の方法で 1280x1024 で動かせていますよ。

よく分かりませんが、不思議なものです。

検証ノート #9 @martin255 2009-06-25

UndeadSurfer さん、それは 1280x1024 が X4500 の BIOS 内で標準サポートされている VESA モードだからです。一方、大半のワイドスクリーン解像度は登録されていません。

検証ノート #10 @uman 2009-06-30 ↳ Re: @martin255
@martin255uman さん、私が知る限り、X4500 のアーキテクチャは X3100 とは大きく異なります(少なくとも Intel のマーケティング資料によれば)。単なる派生版だった X3500 のようなわけにはいきません。ただ、こちらの意欲的な方と協力してみるといいかもしれません:http://www.insanelymac.com/forum/index.php?s=&showt… ↗

Martin さん、および 4500 をお持ちの「すべて」の方へ

Intel の 4500 に関する技術ドキュメントに目を通したところ、アーキテクチャ間に幅広い互換性があることが分かりました。Intel は GMA900 から GMA4500 への進化の過程で、(CPU に依存するのではなく)より多くの機能をチップセット側へ移行させ、LVDS のような各種ディスプレイ接続へのサポートを追加しています。

Leopard に含まれる GMAX3100 用 Kext で 4500 シリーズを駆動できるか試してみる価値はあると思います。どなたか以下の実験を試して、結果を報告していただけませんか?

1. お使いの AppleIntelGMAX3100.kext/Contents/Info.plist に以下の記述があることを確認します:

<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIMatch</key>
<string>0x00008086&0x0000ffff</string>

これは意味としては、クラスコード 0x03(0x02 がネットワークなので、おそらくグラフィックス)かつベンダー 8086(Intel)のあらゆる PCI デバイスにマッチすることを表しています。デバイス ID やサブシステム ID はチェックしていません。

2. 次に AppleIntelGMAX3100FB.kext/Info.plist に以下の記述があることを確認します:

<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>

これはクラスコード 0x03 かつ ベンダー 8086(Intel)、さらにデバイス ID が 0x2A02 である PCI デバイスにマッチすることを意味します。

3. AppleIntelGMAX3100FB.kext/Info.plist を以下のように編集します:

<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A42 0x2A43 0x2E12 0x2E13 0x2E02 0x2E03 0x2E22 0x2E23 0x2E32 0x2E33</string>

これらは 4500MHD(2A42 2A43)、4500(2E12 2E13)、X4500 および X4500HD(2E02 2E03 2E22 2E23 2E32 2E33)のデバイス ID です。

4. -v を付けて再起動します。ユーティリティ/コンソール(Console.app)を開き、GMA Kext に関連するログ出力がないか確認してください。また、ターミナルウィンドウを開いて以下を実行します:

$> kextstat | grep AppleIntelGMAX3100

もしロードされていなければ何も出力されません。

Kext 内部で Info.plist には露出していないプロパティのプローブ処理を行っているはずなので、これだけではまったく動作しない可能性も大いにあります。しかし、試してみる価値はあります。

-u

検証ノート #11 @martin255 2009-06-30

uman さん、試して結果を報告します。実は以前にも X3100 kext がロードされているのを見たことがあるのですが、あれはモデル識別子(Model Identifier)として MacBookAir1,1 をインジェクトしたせいだったと思います(ハードウェアと一致しない他の Kext までロードされていました)。

検証ノート #12 @BlackCH 2009-06-30

対象のデバイス ID は Kext バイナリ内にハードコードされているため、バイナリエディタ(hex editor)で書き換える必要があります。

検証ノート #13 @uman 2009-07-01 ↳ Re: @BlackCH
@BlackCH対象のデバイス ID は Kext バイナリ内にハードコードされているため、バイナリエディタ(hex editor)で書き換える必要があります。

うわぁ、なるほど。こちらでも返信ありがとうございます、BlackCH さん。ちょうど InsanelyMac でのあなたの投稿も拝見しました。hexedit で確認したところ、確かに Kext バイナリ内に ID がハードコードされているのを確認しました。

Martin さん(あるいは試してみようという意欲のある方):

1. AppleIntelGMAX3100FB.kext の Info.plist を開き、以下の文字列にある 0x2A028086 を置き換えます:

<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>

お使いの 4500 のモデルに応じて、以下のいずれかに書き換えてください:

4500MHD: 0x2A428086 または 0x2A438086
4500: 0x2E128086 または 0x2E138086
X4500 および X4500HD: 0x2E028086 または 0x2E038086 または 0x2E228086 または 0x2E238086 または 0x2E328086 または 0x2E338086

2. 次にバイナリエディタ(hex editor)で Kext 内の AppleIntelGMAX3100FB バイナリを開き、検索と置換を行います…

検索:86 80 02 2A
置換:plist に入力した値をバイト反転(リトルエンディアン化)したもの。たとえば 0x2A428086 なら 86 80 42 2A になります(0x は付けないでください)。

もう片方の Kext 内の AppleIntelGMAX3100 バイナリファイルに対しても同じ作業を行います。

試したらぜひ結果を教えてください。私の手元には 4500 がないためテストできません。よろしくお願いします。
あ、それと InsanelyMac での BlackCH さんの注意点も重要です:使用する Kext 群のバージョンはすべて揃える必要があります(すべて標準の Leopard 10.5.x のものにするか、すべて Combo Graphics Update のものに統一してください)。

-u

検証ノート #14 @evb60 2009-07-06 ↳ Re: @uman
@uman彼らのアプローチではうまくいかないでしょう。Apple はビデオドライバのソースコードを公開していませんから。

ええ、私たちはドライバをゼロから書いたわけではありませんが、フレームバッファの動作には成功しており、QE/CI の実現にもかなり近づいていると考えています。あとはインジェクション文字列(injection strings)などにより深い知見を持つ方々からのちょっとした助けが必要なだけです…

検証ノート #15 @shanwookie 2009-07-14 ↳ Re: @Undead Surfer
@Undead Surfer奇妙ですね。職場の PC が 4500 なのですが、com.apple.Boot.plist の方法で 1280x1024 で動かせていますよ。よく分かりませんが、不思議なものです。

確認しました。私は Intel DG45ID マザーボードを使用していますが、10.5.7 上で OSXTools > Add EFI Strings/Boot Flag を使って解像度を変更できました。

1280x1024x32@60Hz で表示できています。

検証ノート #16 @localparty 2010-01-23 ↳ Re: @uman

改変した Kext plist と Kext バイナリでは画面が表示されません

@umanうわぁ、なるほど。こちらでも返信ありがとうございます、BlackCH さん。ちょうど InsanelyMac でのあなたの投稿も拝見しました。hexedit で確認したところ、確かに Kext バイナリ内に ID がハードコードされているのを確認しました。Martin さん(あるいは試してみようという意欲のある方):1. AppleIntelGMAX3100FB.kext の Info.plist を開き、以下の文字列にある 0x2A028086 を置き換えます:IOPCIPrimaryMatch 0x2A028086 お使いの…

uman さん、

残念ながら、あなたの方法は私の Snow Leopard 10.6.2 / Latitude E6500 環境ではうまくいきませんでした。
私の Latitude は Intel GMA X4500MHD を搭載しており、システムプロファイラでもベンダー "Intel 0x8086"、デバイス ID "0x2a42" の両方を確認済みです。AppleIntelGMAX3100.kext と AppleIntelGMAX3100FB.kext の両方の Info.plist を編集して以下のように書き換え、

<key>IOPCIPrimaryMatch</key>
<string>0x2A428086</string>

さらに両方のバイナリリソース AppleIntelGMAX3100 および AppleIntelGMAX3100FB 内で、Hex Fiend を使って 86 80 02 2A のすべての出現箇所を以下に置換しました:

86 80 42 2A

起動中に灰色の Apple ロゴが少しの間表示された後、画面が完全に真っ暗(ブラックアウト)になるため、システムが改変した Kext をロードしようとしていることは確認できます。OS X 自体は起動しているものの、ドライバが画面に何も出力できていない状態のようです。無改変の Kext に戻すと正常に起動しますが、解像度は粗い 1024x768 になります。

なお、インストールしたのは SnowOSX3.6-A.iso からの "SnowOSX Universal v3.6 (10.6.2) | 3.6 GB" です。

参考までに記録しておくと、オーディオの有効化と、起動時に "Graphics Mode"="1920x1200x32" を指定することで 1600x1200 という(あまり良くはないものの)高めの解像度で表示させることには成功しました。しかし、私のディスプレイは 1600x1200 ではなく、フル解像度の 1920x1200x32 がどうしても必要なのです =(

またもう1つ補足しておくと、あなたの説明では「置換する」とだけ書かれていて「すべての出現箇所」を置換すべきかどうか明記されていなかったため、最初の1箇所だけを置換した Kext でも試してみました。結果は言うまでもなく同じで、真っ暗な画面のままでした。

他に試せそうなアイデアがあればぜひ教えていただきたいです =) アドバイスよろしくお願いします =)

検証ノート #17 @asert 2010-02-04

Snow Leopard 10.6.2 上で Intel 4500MHD の QE/CI を有効化する修正パッチを作ってくださった開発者の方に、200.00 ドルをお支払いします。将来のアップデートにも対応できるものであることが条件です。パッチが動作することを確認でき次第、PayPal またはマネーオーダー(郵便為替)にて現金でお支払いします。このスレッド経由でご連絡ください。信頼できそうなご提案であれば、詳細な連絡先をお伝えします。対象の Kext は 4500MHD 搭載の Dell 1545 で使用します。

真剣なご提案のみお願いします。

検証ノート #18 @sparksthesquid 2010-02-08

少なくともネイティブ解像度を実現するための解決策が見つかりました。Chameleon RC4 の改変版です。3100 系の Kext をすべて削除し、README の手順に従ってください。InsanelyMac で見つけた boot ファイルを私が Chameleon に組み込んだものなので、私自身の手柄ではありませんが、非常にうまく動作します。起動画面やメニューも適切な解像度になり、より「本物の Mac らしい」見た目になります。10.5.x と 10.6.x の両方で動作します。

検証ノート #19 @Sevan 2010-02-14

この Kext に関して考えられる限りのパターンを試してみました。InsanelyMac にも同じ Kext の派生版がいくつか投稿されていますが、どれを試しても私の環境ではうまくいきませんでした。どなたか正しい方向へ導いていただけるとありがたいです。

解像度自体は変更できるのですが、画面全体に上下に走る線と紫色の色かぶりが発生し、ひどい描画状態になってしまいます。言葉で説明するのが難しいのですが。

Chameleon の 915resolution パッチも試してみましたが、正直なところ私の環境では何の違いもありませんでした。

スペック:
プロセッサ:Intel Core 2 Duo T6400 @ 2.00GHz
RAM:4GB DDR2 RAM
ディスプレイ:17インチ LED ワイドスクリーンディスプレイ
グラフィックス:Intel Graphics 4500MHD 1.7GB VRAM(VGA および HDMI 搭載、DevID: 0x2a42)
ハードディスク:Western Digital WD3200BEVT-75ZCT2 320GB
ネットワーク:Broadcom NetLink Gigabit Ethernet 10/100/1000Mbps
ワイヤレス:Dell 1510 Wireless-N Draft 2
サウンド:IDT HD-Audio および Intel HDMI Audio
CD/DVD:TSSTcorp DVD+-RW TS-T633A
OS:Windows 7 Ultimate x64 および Mac OS X Snow Leopard 10.6.2(リテール版)

検証ノート #20 @modemthug 2010-04-20

Kext を見つけたかもしれません

私は Hackintosh は持っておらず、自宅では iMac と MacBook Pro(非ユニボディの旧型アルミモデル)を使っています。新型 MBP についての記事を読んでいて、ハイブリッドグラフィックスシステムの一部として Intel HD Graphics が搭載されていることに気づきました。私は Hackintosh を持っていないため自分では試せないのですが、Apple から最新の MacBook Pro ソフトウェア・アップデートをダウンロードし、XAR と格闘すること約30分、パッケージから Kext を抽出することに成功しました(最近の OS X では .pkg ファイルに対して「パッケージの内容を表示」ができなくなっているため)。これで動くのではないかと思うので、どなたか試して結果を教えてください。

rapid share.com/files/377968637/Intel_HD_kexts.zip.html

プレミアムアカウントを持っていないため10人までしかダウンロードできず、ファイルをホストできる場所も他に持っていません… もしこれが動作するようなら、どなたかミラーの協力をしていただけませんか?

検証ノート #21 @modemthug 2010-04-20

その Kext のより使いやすいダウンロードリンクを用意しました:

media fire.com/?jjmtwijjo5i

検証ノート #22 @JaS 2010-04-20

皆さん、MacBook Pro 向けの新しいアップデートは試されましたか? Intel HD Graphics 用のドライバが含まれており、新しいカーネルは i5m や i7m CPU をサポートしています。試してみる価値があると思いますよ。ただ、更新された OpenGL フレームワークなども必要になるはずなので、Kext 単体だけでは動作しないと思います。

検証ノート #23 @pflaume 2010-05-13

Lenovo IdeaPad U350 に再び Mac をインストールしようとしています。前回試したときは 1366x768 の解像度で動作させることができませんでした。

検証ノート #24 @danhtho 2010-06-15

Kalyway 10.5.2 をインストールしたのですが、画面解像度が 1024x768 になってしまい見た目が良くありません。

私のノートPCでの話です。

どうすれば解像度を 1366x768 に変更できるでしょうか。一番簡単な変更方法を教えてください。

MAC OSX の初心者ですみません。

検証ノート #25 @mesco64 2010-11-09

有償での Kext 開発について

Asert さんが言うように、いつ出るかも分からないパッチを待ち続けるのにはもう疲れたので、私たちはこのドライバに対してお金を払う準備ができています。Intel GMA 4500 HD ボード向けのアクセラレーション対応 Kext の開発に出資したいと真剣に考えている人を世界中から50人集めるのは、そう難しくないはずです。そのようなプロジェクトがあれば、私も喜んで(金銭的に)支援します。時間があれば自分自身で挑戦したいところですが、今のところはそうもいかず…

名乗り出てくれる腕利きの開発者の方はいらっしゃいませんか?

検証ノート #26 @max.1974 2011-01-09

INTEL KEXTS GMA 4500 は動きません

私の環境では動きませんでした… すごく期待していたのに! 必要なのはこれだけなんです… Camphor プロジェクトのワイヤレス対応の約束なんて、あの野郎が実現することは決してないのでもう忘れましたが… Intel GMA 4500 の解決策は今世紀最大の課題ですね!:'(

テストしてこの忌々しいカードがちゃんと動いたら、開発費用として PayPal で 100 米ドルを支払います… 約束します!

おいスティーブ(・ジョブズ)! 俺は App Store でもアプリを買ってるんだぜ… いいだろ? だから何とかしてくれよ!

検証ノート #27 @brizzle 2011-03-13

4500gma ドライバ

4500GMA の代替ドライバを見つけました。kexts.com の Intel ビデオカードダウンロードカテゴリなどで探してみてください。「apple 3100 fb kexts」という名前です。ダウンロードできるドライバが2つありますが、4500 の方は入れないでください。これを使えば 512MB RAM 認識で 720p 解像度を実現できます。グラフィックスカード本来のフル性能は出ませんが、800x600 解像度よりははるかにマシです。

検証ノート #28 @brizzle 2011-03-13

4500gma ドライバ

4500GMA の代替ドライバを見つけました。kexts.com の Intel ビデオカードダウンロードカテゴリなどで「4500mhd kexts __ apple 3100 fb」を探してみてください。ダウンロードできるドライバが2つありますが、4500 の方は入れないでください。これを使えば 512MB RAM 認識で 720p 解像度を実現できます。グラフィックスカード本来のフル性能は出ませんが、800x600 解像度よりははるかにマシです。

検証ノート #29 @max.1974 2011-03-13

どうか… 私たち(他のユーザー)のためにリンクを貼っていただけませんか? ただ、もしこの Kext がネイティブ解像度を実現するだけのものだとしたら、それはだいぶ前に私も達成できていたのですが… 情報提供には感謝します…

動作検証・議論参加メンバー: @changturkey @asert
出典および貢献者来歴(クレジット登録 20 名 · 元スレッド #1521)
ユーザー名貢献ロール投稿数活動期間
@martin255主要貢献者42009-06-18 → 2009-06-30
@uman主要貢献者42009-06-24 → 2009-07-01
@changturkey検証メンバー22008-12-08
@Undead Surfer検証メンバー22009-06-24 → 2009-06-25
@asert検証メンバー22010-02-04 → 2010-02-09
@modemthug検証メンバー22010-04-20
@max.1974検証メンバー22011-01-09 → 2011-03-13
@brizzle検証メンバー22011-03-13
@naquaada筆頭著者12008-10-29
@scififan68検証メンバー12008-12-08
@BlackCH検証メンバー12009-06-30
@evb60検証メンバー12009-07-06
@shanwookie検証メンバー12009-07-14
@localparty検証メンバー12010-01-23
@sparksthesquid検証メンバー12010-02-08
@Sevan検証メンバー12010-02-14
@JaS検証メンバー12010-04-20
@pflaume検証メンバー12010-05-13
@danhtho検証メンバー12010-06-15
@mesco64検証メンバー12010-11-09

言語を選択 · Choose your language