DisplayPortの切断を回避するアダプター

  • 7
    いいね
  • 4
    コメント

はじめに

4K液晶が普及しだしているともあり、DisplayPortは広く使われるようになってきました。
HDMI2.0を搭載している液晶ディスプレイが少ないということもあり、特に4K環境下では多くの方が使われているのではないでしょうか。
ところが、DisplayPortには液晶電源断時の仕様が他の規格とは異なるため、いくつかの問題を生じさせます。

問題

実際の問題として次のようなケースが起きています。

  • スリープ復帰時にすべてのウィンドウが左上に集合する。
  • スリープ復帰時にデスクトップのアイコンが想定外の場所に移動する。
  • スリープ復帰時にDirect Xを使用しているアプリが落ちる。
  • などなど...

すでに周知の事実ですが、これの原因はDisplayPortのPlug and Playの仕様にあるとされています。
仕様として、ディスプレイの電源がオフにされた場合、ホットプラグ信号をオフにすることが規定されているようです。
したがって、OSはディスプレイが切断されたと認識し、上に挙げたような所定の動作を行います。

対策

この問題を回避するためには、2つの方法があります。

  • OS側のディスプレイ切断時の動作を変更する。
  • DisplayPortのホットプラグ信号を常時オンにする。

OS側のディスプレイ切断時の動作を変更する手法は、手軽に実践できるということで広く利用されていますが、マルチディスプレイや4K環境下ではうまくいかなかったり、ディスプレイが切断することにより生じる他の問題は解決できなかったりするため、完全な解決策とはなりません。
一方で、DisplayPortのホットプラグ信号を常時オンにする方法では、切断自体が発生しないため、上記の問題をすべて解決できます。
したがって、今回はホットプラグ信号を常時オンにすることで、切断を回避するアダプターの作り方を記述したいと思います。

作成方法

作り方というと大仰に見えますが、実際には非常に簡単です。
必要な部品は以下の2点となります。

その他に、半田と半田ごて、マイナスドライバー、カッターナイフがあれば十分です。

今回調達したオスメスアダプターは次のようなものです。
DSC_0008.JPG

分解するとこのような中身になっています。
コネクタ側からマイナスドライバーを差し込み、指でパチパチと爪を外していくときれいに分解できます。
爪だけでなく接着剤で固定されているため、基板に少し残りが付着しています。
DSC_0003.JPG

分解できたら、18pinの銅箔をカッターナイフで切断します。
DSC_0006.JPG

そして、18pinと20pinの間に1kΩの抵抗器を半田付けします。
この時、18pinは18pinでも、オス側の18pinに半田するようにしてください。
ディスプレイの繋がるメス側に接続すると、ホットプラグ信号をオンにできません。
DSC_0007.JPG

最後に再度ふたを閉めれば完成です。
ストレスフリーなDisplayPort環境が楽しめます。

仕組み

このアダプターの行っていることは非常に簡単です。
ディスプレイからのホットプラグ信号を切断し、DisplayPortの3.3Vを使用してホットプラグ信号をプルアップしているだけです。
短絡時の対策として1kΩを入れていますが、18pinと20pinをショートさせても動作すると思います。

使い方

DisplayPortケーブルとグラボの間にこのアダプターを挟むだけで使用できます。
ホットプラグ信号をカットしているため、先にディスプレイ側と接続してからグラボに接続してください。
ホットプラグ信号がオンになったタイミングでEDIDを取得するため、接続されていない場合に、ディスプレイを認識しない可能性があります。

さいごに

このアダプターを用いて、特に問題は生じておりませんが、使用された場合の動作に関して、一切の責任を取りかねますのでご了承ください。
また、同様のアダプターをオークションにて販売しております。
作るのは面倒だけど、使ってみたいという方は、ぜひご購入いただければ幸いです。
http://sellinglist.auctions.yahoo.co.jp/user/leak4mk0
出品していないこともありますが、Twitter (@leak4mk0)までDMいただければ随時制作し販売できると思いますので、その際はよろしくお願いします。