トップ目次
初出0704

チラ裏Vista -VGAドライバの排他性について-

今回のネタは WHDC マルチモニタのサポートとWindows Vista です。実際にGPUベンダの異なるVGAを組み合わせた場合どうなるか、を確かめてみました。

ServicePackが出るまでがベータです、て校長せんせーが言ってた

Vista正式発売から二ヶ月経ちましたが、みなさんは買いましたか?まとめ人はマダです。興味が無いわけではないんですけど。 手持ちのデバイスの対応状況が改善されてから、と思ってます。 チップセットドライバ関連はさすがにそこそこできているようですが、他のデバイス、特にサウンドカードのドライバが出揃ってないですからね。 VGAドライバも未だXP用ドライバの水準に及ぶ出来ではないし。自作板の雰囲気もSP1の様子を見てから、が大勢を占めているようです。

というわけで、この記事は、先日のベンチねた番外同様、VistaUltimate-RC1(評価ビルド5600)での検証となります。 RC版ということでタイトルも、「チラシの裏」としました。RC版でもWindowsUpdateは効くので、製品版と大した違いはない・・・と思いたい。

試験機の構成
M/B ASRock 939Dual-SATA2
CPU Athlon64X2 3800+
メインメモリ PC3200 512MB*2 デュアルチャネル
ディスプレイ1 Eizo L885
ディスプレイ2 Dell 2405FPW
VGA PCIe-x16 ELSA Gladiac573 (GeForce7300LE)
VRAM 128MB
VGA PCIe-x16 Powercolor RadeonX800 BravoEditon
VRAM 256MB
VGA PCIe-x1 HIS H130HMF128E1N (RadeonX1300)
VRAM 128MB
VGA AGP Leadtek A6800XT TDH
VRAM 128MB
VGA AGP Asustek V9520 VideoSuite (GeForceFX5200)
VRAM 128MB
VGA AGP Matrox G550
VRAM 64MB
VGA PCI Leadtek A340PCI (GeForceFX5200)
VRAM 64MB

要点の整理

さてまずは、ネタ元ドキュメントの要約と、それに対するまとめ人の注釈を。

Vistaで使えるVGAドライバは、Vista用ドライバ(WDDM)とXP用ドライバ(XPDM)の大きく二つに分類される。
WDDMドライバでないとAeroデスクトップは使えません。またWDDMドライバはAero動作条件を満たすGPUに対してしか発行されないようです。
Vista用VGAドライバとXP用VGAドライバを同時に有効にすることはできない。
RC1版では、Aero動作条件を満たすVGAにはWDDMしか用意されてませんでした。VistaでGeForce7300とGeForce2MXでマルチディスプレイを、なんて企むにはネット接続環境が必須になるわけですか・・・
Vista用VGAドライバしか使わない場合でも、ドライバベンダが異なるなら、いずれか一つのドライバしか有効にできない。
従来のXP環境でも、ドライバベンダの異なるVGA同士でのマルチディスプレイは難しくなってきていたので、これは現状を追認したものと言えますね。 IntelやSiSなど、現在チップセット内蔵VGAしか提供していないベンダ製品での三画面以上のAeroデスクトップは無理、ということになります。
XP用VGAドライバしか使わない場合なら、ドライバベンダが異なっても、共存が可能である。
可能性と実用性は、また別の問題なのかなやはり。
同じVGAドライバであれば、接続インターフェイスの種類は問わない。PCIeもAGPもPCIもドッキングステーションでも同時にVGAを有効にできる。
これはXP環境と同じですね。

では、以降で実例を見ていくことにします。

同一GPUベンダ、同一型番のデュアルVGA

PCIe世代のコレはもう、できて当たり前なので省略。のっけから省略ですいませんが、そもそも同じVGA二枚持ってないしなぁ。

ELSA Gladiac573 + Leadtek A6800XT

同一GPUベンダ、異なる型番、異なる接続インターフェイスのデュアルVGA

他に、x16-X800とx1-x1300、x16-GF7300LEとAGP-GFFX5200の組み合わせもAero有効動作を確認済み。

73LEと68XT

PCIe-x16のGF7300LEと、AGPのGF6800XTの二枚差し。自動的にOS同梱のWDDMドライバが適用され、 Aeroも有効になります。

Aeroを有効にできるビデオカード

以下に挙げた製品群のうち、実装VRAM128MB以上のものが該当します。

AMD
Radeon9500以降
nVIDIA
GeForceFX以降(現状、NV公式ForceWareではGFFX系は未対応)
S3
GammaChrome S18以降
Matrox/SiS/XGI
該当無し
疑問

Aeroを有効にするには、接続されるどのVGAも同じ系統のWDDMドライバを使う必要があるわけですが、GF8系とGF7系の組み合わせの場合は どうなるんでしょうね。現在は、GF8系とGF7系以前で別々にドライバ発行されているわけですが。4/26日発行のFW158.18でとりあえずVistaドライバではGF6/7/8系が統合されたようです。

ELSA Gladiac573 + Asus V9520 VideoSuite

同一GPUベンダ、異なる型番、異なるドライババージョンのデュアルVGA

GF7300LE+FW100.65ドライバという環境に、現在FW未対応のGFFX5200を追加してみるとどうなるか。

73LEとfx52AGP

PCIe-x16のGF7300LEと、AGPのGFFX5200の二枚差し。FWドライバとOS同梱のnVIDIAドライバは共存でき、Aeroも有効に出来ます。

詳細設定エラー

ただし。VGAの詳細設定を開こうとするとこのようなエラーメッセージが出てしまいます。 FWドライバで使える画面回転等の機能は使えず、OS同梱ドライバ同様の基礎的な設定しかできません。

ELSA Gladiac573 + Leadtek A340PCI

同一GPUベンダ、異なる型番のデュアルVGA+VRAM足らず

VRAM容量チェックの他にVRAM帯域チェックでAero無効になる場合もあるようです。

73LEとfx52-pci

PCIe-x16のGF7300LEと、PCIのGFFX5200の二枚差し。両方のVGAにOS同梱のWDDMドライバが適用されるもののVRAM64MBのA340PCIを含んだ構成では、 ウィンドウ枠の半透明表示が有効にならず、ベーシックモードになってしまいます。 ベーシックモードとは、フリップ3Dや、タスクバーサムネイル等が使えない状態を指します。 7300側だけAero有効とかそういう融通は利きません。ケチ。

Aero諸機能の感想とか
Windows フリップ3D
Vista店頭デモでよくやっている、Winキー+Tabで使える斜め整列ウィンドウめくり機能ですな。 これ、プライマリモニタでしかウィンドウめくれません。 マルチディスプレイ環境だとセカンダリモニタに置いてあるウィンドウはいちいちプライマリモニタまで飛んでいってめくられることになります。 このような見せ方は、TVチューナカードやFLASHプレイヤー等動画コンテンツ対象だと面白いと思いますが、 テキストドキュメントには向かないでしょう。 はっきり言ってnViewのマウス中ボタン押しの方が遙かにスマートです。
Windows フリップ (ライブタスクバーサムネイル)
従来のAlt+Tabはアプリケーションアイコンとファイル名が表示されるだけでしたが、これは各ウィンドウが縮小された状態で表示されます。 同じ種類のアプリで違うファイルを開く状況が多い人にはそれなりに便利なんじゃないでしょうか。
Aero Glass
ウィンドウ枠の半透明化。普通の半透明化だと、どっちが上でどっちが下の表示内容なのかわかりづらいですが、これは、下の表示内容に対してぼかし効果を与えることによって(この辺がPixelShader2.0らしい)重なり状態をわかりやすくしています。これは素直にイイと思います。ウィンドウの後ろの色がわかるだけでもだいぶ使いやすさ違ってくるモンなんですね。これでnViewマウス中ボタン押しと同様の機能がデフォルトで付いていれば・・・。
VRAM容量のスタンダードを64MBから256MBへと引き上げたVistaですが、要求するハードウェアリソースの割に、できることは今イチ貧相な印象です。ウィンドウを個別に任意の大きさでスケーリングとか、ウィンドウ枠の大きさはそのままで表示内容だけスケーリングとかできれば発売日買いしたのですが。
ELSA Gladiac573 + HIS H130HMF128E1N

異なるGPUベンダ、のデュアルVGA

73LEとx1300インスト時のアラート

73LEとx1300

PCIe-x16のGF7300LEと、PCIe-x1のRadeonX1300の二枚差し。X1300は自動的に無効に。 XP同様、M/B-BIOSで決定されたプライマリVGAインターフェイスの内、スロット番号の若いVGAが優先されます。

ELSA Gladiac573 + Matrox G550

異なるGPUベンダ、異なるドライバモデルのデュアルVGA

73LEとG550

PCIe-x16のGF7300LEと、AGPのG550の二枚差しで起動した直後のデバイスマネージャ。 なぜか両方に(XPDMの?)標準VGAグラフィックアダプタドライバが不完全な状態で割り当てられます。 どちらか片方のVGAの画面出力しか有効にできません。

VistaでXP用のVGAドライバを適用するには

XP用ドライバセットアップエラー

普通にXPドライバのインストーラを実行するとすると、OSバージョンチェックではねられてしまいます。 互換性指定をXPに変更すればインストーラは最後まで進みますが、実際にはその後再起動してもドライバは適用されないようです。

inf手動適用

仕方ないので、インストーラで解凍されたinfを、デバイスマネージャから手動で適用することに。

XPドライバ適用

というわけで、なんとかFW93.71とCat6.12を適用したところ。一応デバイスマネージャでは正常に認識されました。 当たり前ですが、Aeroは効きません。しかも、ものすごく不安定で、動画見ようとすると青画面、シャットダウン時に青画面と全然使い物になりませんでした。