Windows10で外部GPUとQSVを併用する

このエントリーでは、Corei5-3570Kを使用していた際に、CPU内蔵GPUと外部GPUを併用しQSVを利用する際の内容を掲載していましたが、メインシステムの入替に伴いKaby LakeのCorei5-7600に変更したところ、同様の手順にてQSVが有効化できなくなったため、エントリー内容を全面的に書き直しました(過去に記載してあった内容は、ページ下方の打ち消し線の部分)。

Kaby Lakeファミリーの一つ「Corei5-7600」の内蔵ビデオドライバでは、Corei5-3570Kで出来ていた手法は通じなくなり、EDIDといったディスプレイ情報が検出できない際は、Windows上でディスプレイ接続を有効化することが出来なくなった模様です。言われてみればごもっともな変更ではありますが、自分のシステム構成ではソレは困った変更でもあります。

オマケに、今回のマザーボードではアナログ系の信号を出す端子は、一般的なVGA端子、DVIでアナログ信号を含むDVI-I、どちらも搭載されていません(DVI端子はあるがDVI-Dのみ)。

そこで、QSVを有効化するに当たって、CPU内蔵GPUを動かすための幾つかの手段を考えてみました。

  1. オンボードビデオ出力端子のいずれか(DP/HDMI/DVI)から、ディスプレイ側の入力端子へケーブルを接続する
    ⇒準備する物はケーブルのみ。ディスプレイに付属していれば出費0円。
  2. オンボードビデオ出力端子のHDMIに、ディスプレイエミュレータアダプタを接続する
    ⇒Mac miniなどでディスプレイ接続無しの環境で、画面描画が低速になるのを回避する際に用いられる。
    ⇒Amazonで入手しやすいが、値段が結構する(2500円ぐらい)
  3. オンボードビデオ出力端子のHDMIかDisplayPortに、アナログVGAへの変換アダプターを接続する
    ⇒同じくAmazonで入手しやすく、値段が安い(1000円以下)
    ⇒モニターケーブル接続無しでもディスプレイが存在するといった動きをしそうな予感
  4. T221を一般的な4kモニターに買替し、接続先を内蔵GPUにする
    ⇒T221とR9 380Xも外せて省電力化
    ⇒内蔵GPUにモニターが接続となるので自然とQSV有効になる

まずは1番からテスト開始。今回の接続モニターであるLG 24UD58-Bは、入力をHDMI-HDMI間で切替えると、Windows側からディスプレイが切断されたという扱いになり、ディスプレイレイアウトが変更⇒デスクトップが再レイアウトとなりました。この再レイアウト動作は、通常のデスクトップを映しているだけならあまり気にしなくてよいですが、フルスクリーン設定しているゲーム(今回はFFXIV)では別ディスプレイ(T221)に描画が移動する問題が発生。今回の環境ではT221接続用にR9 380X、24UD58-B接続用に980Tiとビデオカードを2枚入れ用途分けをしており、入力切替えを行うとゲーム描画がT221側であるR9 380X側に移動表示されてしまうのは非常に都合が悪く、この案はボツとなりました(ただし、ディスプレイによってはHDMI入力同士を切替えても切断にならない可能性があるので、一概にダメというわけでは無いと思われます)。

次の2番は、確実性が高く無駄な配線も発生しないので一番スマート。ですが、コストが高く・・・・。接続先はタワーケースの裏側であり、ケーブルはある程度あってもたいしたことは無いので、この案もボツとなりました。なお、該当する製品はこういった物です⇒Amazon

3番を飛ばして4番については、今後の予定であり今すぐは予算的に難しいため先送り(LG 24UD58-BとT221を併用し始めた結果、T221との描画差が大きく一気にT221引退の流れが強まってしまい、このような予定が浮上しています。T221卒業の日も近い?)

最後の3番のテスト結果は非常に良好でした。今回はHDMI⇒アナログVGA変換アダプタを購入(Amazonにて830円)。1番で問題になったデスクトップレイアウトの自動再設定の発生はなく、内蔵GPUからのHDMIケーブル接続も無くなり配線が1本減りました。DDCは行っていない模様で、予想通りHDMIポートへ接続しただけでディスプレイが存在するとWindows側から認識しました。選択できる解像度は800×600~1920×1080となりますので、マウスカーソル行方不明対策として最小の800×600に設定し、デスクトップ領域はメインディスプレイT221の左上隅に配置。


HDMI⇒アナログVGA変換アダプタ


デスクトップ配置:1番は24UD58-B、2番はT221、3番はHDMI⇒アナログVGA変換アダプタ

なお、LG 24UD58-Bは980Tiと接続した限りでは入力切り替えやモニター内蔵メニューで画面オフ(=主電源は入っている状態)を行っても、ディスプレイ切断状態にはなりませんでした。DisplayPort接続の際に、画面消灯するために電源を切るとモニター切断扱いとなって解像度が変更になってしまったりする事が多いのですが、このモニターは画面だけをオフに出来るので現象が回避出来ている模様です(画面オフは電源オフではない⇒コントロール基板は生きているのではないかと予想しています)。

結果、QSVも有効化でき、懸案事項も回避出来たため、3番を本番運用として採用となりました。



雑用マシンに遅れる事数ヶ月、ゲーム用のPCもWindows10に変更(SMBのバージョンを上げたかった)。アップグレード自体は問題無く完了したが、外部GPUとQSVを併用するために導入した「ダミーVGAプラグ」だけでは回避できなくなってしまった(モニターが接続されていないと認識する)。

恐らく、ドライババージョンが上がった事、Win10側でのモニター認識ロジックに何か変更があったのではないかと思われるが、このためだけにモニターを接続するわけにはいかないので、ダミープラグを作る前に検討していた、ソフトウェア的にモニターを追加する手段を選択する事にした。

GTX 750Tiを使いながらQSV(Quick Sync Video)でエンコード | Sakopc blog

具体的な手順は上記Webサイトで。しかし、どういう変更があったのやら・・・・。

広告

Virtuを使用せずにQuickSyncVideo環境を構築する

以下掲載内容はKaby Lake等の新しい世代のCPU内蔵ビデオ回路では使用できません。
こちらのエントリーを参照してください(2017/3/20)


Virtuをインストールして構築したQuickSyncVideo(QSV)環境ですが、Virtuがビデオカード側のドライバに影響を受けて動作しなくなったり、TMPG Enc5使用中に原因不明のエラーが出たりすることから、前々からVirtu無しでビデオカードとCPU内蔵ビデオを併用できないか考えていました。

QSVは条件として、CPU内蔵ビデオを使用しないと動作しない・・・何かモニターが繋がっているように見えれば動作するのでは?というわけで、ダミープラグのような物がないか、Google先生で探してみたところ、ピッタリな記事を海外のフォーラムで発見。

[VGA Hack] How To Make a VGA Dummy Plug | Geeks3D

必要な物はD-Sub 15ピンコネクタもしくはDVI-Iコネクタに、50オーム~150オームの抵抗が3本。これを図のように配線し、CPU内蔵ビデオのコネクタに接続。接続すると、ディスプレイが1台追加された状態となり、CPU内蔵ビデオ回路が動作するようになります。なお、拡張デスクトップ扱いにしているときは、マウスカーソルがモニターの繋がっていないエリアに行ってしまうので、ミラーリング扱いにすると良いかなぁと(ウチの環境ではT221のミラーとなりそれは無理なので、拡張扱いのままにしています)。

部品は千石電商にて購入。適当にハンダ付けして完成。一応コネクタカバーも取付けました。

VGA-DummyPlug

 

結果は成功。Virtu無しでもQuiCkSyncVideoを使用する事が出来ました。これで不安要素であるVirtuを排除することが出来て一安心です。

Virtu環境下でIntel Quick Sync Videoを使用するためのメモ

Virtu環境下でTMPGEnc Video Mastaring Works 5(以下TMPGEnc5)から Intel Quick Sync Video(以下QSV)を使うためのメモ。

CPU / Core-i5 3570K
MotherBoard / ASUS P8Z77-V
VideoCard / RADEON HD 6950 (Catalyst Ver 8.961-120405a-137813C-ATI)
MotherBoard BIOS Virtu Edition / Virtu MVP
使用Virtu Software / Virtu 1.2.114.21767
Intel HD Graphics Driver / 8.15.10.2761
Encode Software / PEGASYS TMPGEnc Video Mastaring Works 5(5.3.1.85)
Add Software / Intel Media SDK 2012 R3

1:BIOSにてオンボードビデオ回路を併用するように設定を行う。設定方法は「Virtu BIOS設定」で検索。具体的には「iGPU Multi-Monitor」をEnabledに変更。

2:Intel HD Graphicsのドライバをインストール。Aero有効化チェックは行う必要無し。再起動後、デバイスマネージャーからIntel HD Graphicsが認識されている事を確認。

3:Intel Media SDKをインストール。

4:Virtuソフトウェアのインストール。

5:Virtuのコントロールパネル上で、TMPGEnc5関連のEXEファイルをVirtu対象として登録。念のためバッチエンコードツール関連も全て登録する。

6:Virtuのコントロールパネル上で、3D系ゲームを単独ビデオカードで動作させるように設定登録する。

7:TMPGEnc5にて、出力設定→映像設定→映像エンコーダに「Intel Media SDK Hardware」が出現し選択出来る事を確認する。

8:実際にエンコードしてみる。30分番組であれば約半分の15分程度で圧縮完了となる。その間のCPU消費は30%ほど(i5-3570K定格の場合)

・Intel Media SDKは64bit版と32bit版がある。TMPGEnc5はOSからはインストール時に32bitアプリに分類されたため32bit版のみインストールでも良いと思うが、Intel HD Graphicsのドライバは64bit版がインストールとなるため、念のためどちらともインストールした。
・Virtuソフトウェアは無印(緑ロゴ)をインストールしている。本来使用可能なMVPではTMPGEnc5にてアプリケーションエラーが頻発し、まともに動作しなかったため。
・3D系ゲームのVirtuへの登録は確実に行う事。放置やあいまいにしておくと、ゲーム動作中にフリーズしたりする場合がある。
・TMPGEnc5起動中のプログレスバーが7~8割ぐらいの所でエラーが発生する場合がある。これはVirtuが正しく動作していない事が多い。他、BIOS設定等も要確認。
・TMPGEncの映像エンコード設定は、出力フォーマットテンプレートファイルに記憶されているので、QSV設定後はテンプレートの上書保存をする事。
・ASUSのUEFI BIOSはUSBキーボードからDELキーを押さないと入れない模様(PS/2キーボードでは反応しない)