「Windowsにおける仮想的ディスプレイ」の版間の差分

Notion-MW
Notion-MW
 
19行目: 19行目:
だが、それでもやはりちょっと素性が知れない。もう少し調べていくと、Indirect Display Driver (IDD)という技術を使うとそういうソフトウェアが書けるというMicrosoftのドキュメントが出てきた。そこからさらに調べてみるとこんなものがあった。
だが、それでもやはりちょっと素性が知れない。もう少し調べていくと、Indirect Display Driver (IDD)という技術を使うとそういうソフトウェアが書けるというMicrosoftのドキュメントが出てきた。そこからさらに調べてみるとこんなものがあった。


[https://github.com/roshkins/IddSampleDriver https://github.com/roshkins/IddSampleDriver]
[https://github.com/roshkins/IddSampleDriver <span>https://github.com/roshkins/IddSampleDriver</span>]


これを試したら無事動いたので、ついでに解像度を変えてみたら、普通に8Kくらいまで動いた(ただしその分重くなる)。↑のレポジトリでも解像度増やしてというissueがあったので、forkして公開した。さらにver0.0.1.2では&quot;C&#58;\IddSampleDriver\option.txt”というファイルを設定することで解像度オプションやディスプレイの個数をユーザーが設定できるように変更した。
これを試したら無事動いたので、ついでに解像度を変えてみたら、普通に8Kくらいまで動いた(ただしその分重くなる)。↑のレポジトリでも解像度増やしてというissueがあったので、forkして公開した。さらにver0.0.1.2では&quot;C&#58;\IddSampleDriver\option.txt”というファイルを設定することで解像度オプションやディスプレイの個数をユーザーが設定できるように変更した。


[https://github.com/ge9/IddSampleDriver https://github.com/ge9/IddSampleDriver]
[https://github.com/ge9/IddSampleDriver <span>https://github.com/ge9/IddSampleDriver</span>]


本家のreadmeで紹介された結果、どうやらゲーム配信関係のRedditとかに載ったみたいで、実質的にはほぼ何もしていないのに800以上のstarを獲得している。
本家のreadmeで紹介された結果、どうやらゲーム配信関係のRedditとかに載ったみたいで、実質的にはほぼ何もしていないのに800以上のstarを獲得している。


また、さらにこれをforkしたものとして[https://github.com/VirtualDrivers/Virtual-Display-Driver https://github.com/VirtualDrivers/Virtual-Display-Driver]が作られ、これはすでに5000starを超える大きなプロジェクトになっている。
また、さらにこれをforkしたものとして[https://github.com/VirtualDrivers/Virtual-Display-Driver <span>https://github.com/VirtualDrivers/Virtual-Display-Driver</span>]が作られ、これはすでに5000starを超える大きなプロジェクトになっている。


* <strong>こちらはHDRにも対応していて積極的に開発されているので、今は基本的にはこちらを使ったほうがいいだろう。</strong>(以下の情報はIddSampleDriverなので古いかもしれない)
* <strong>こちらはHDRにも対応していて積極的に開発されているので、今は基本的にはこちらを使ったほうがいいだろう。</strong>(以下の情報はIddSampleDriverなので古いかもしれない)
74行目: 74行目:
* 解像度やリフレッシュレートの設定が不適切だと、デバイスマネージャで何度か再読み込みされる感じの動作をしたあと自動的に停止され警告アイコンが表示される。
* 解像度やリフレッシュレートの設定が不適切だと、デバイスマネージャで何度か再読み込みされる感じの動作をしたあと自動的に停止され警告アイコンが表示される。
* 日付を超えるとタイムゾーン(筆者はJST&#61;UTC+9)の関係でInf2Catが失敗する。プロジェクトのプロパティからInf2Catのメニューに行き、General → Use Local Time を「はい (/uselocaltime)」に設定する。参考&#58; [https://monoist.atmarkit.co.jp/mn/articles/1307/26/news003_3.html https&#58;//monoist.atmarkit.co.jp/mn/articles/1307/26/news003_3.html]
* 日付を超えるとタイムゾーン(筆者はJST&#61;UTC+9)の関係でInf2Catが失敗する。プロジェクトのプロパティからInf2Catのメニューに行き、General → Use Local Time を「はい (/uselocaltime)」に設定する。参考&#58; [https://monoist.atmarkit.co.jp/mn/articles/1307/26/news003_3.html https&#58;//monoist.atmarkit.co.jp/mn/articles/1307/26/news003_3.html]
** さらに、これを設定してもなぜか現地時間の21&#58;00~24&#58;00の間にビルドしたものは正常動作しなかった(ビルドは通るしデバイスマネージャでの警告アイコンも出ないのにサブディスプレイが出ない)ので、ビルド時はその範囲外になるようにPCの時計設定を適宜変更する(報告済み [https://github.com/roshkins/IddSampleDriver/issues/5 https://github.com/roshkins/IddSampleDriver/issues/5])
** さらに、これを設定してもなぜか現地時間の21&#58;00~24&#58;00の間にビルドしたものは正常動作しなかった(ビルドは通るしデバイスマネージャでの警告アイコンも出ないのにサブディスプレイが出ない)ので、ビルド時はその範囲外になるようにPCの時計設定を適宜変更する(報告済み [https://github.com/roshkins/IddSampleDriver/issues/5 <span>https://github.com/roshkins/IddSampleDriver/issues/5</span>])


自分でビルドしたやつのインストール時は、(おそらく自分のユーザー名を用いて署名が作られているため?)最初の一回のみ改めて.cerを登録する必要がある。二回目以降は、サブフォルダに生成されてるcat, dll, infをもってきて置き換えたあとデバイスマネージャから「ドライバーの更新」をすればよい。デバイスマネージャーは使ったフォルダをちゃんと覚えているようなので、頻繁に移動しなくていい安定した場所でビルドを行うのがいいだろう。
自分でビルドしたやつのインストール時は、(おそらく自分のユーザー名を用いて署名が作られているため?)最初の一回のみ改めて.cerを登録する必要がある。二回目以降は、サブフォルダに生成されてるcat, dll, infをもってきて置き換えたあとデバイスマネージャから「ドライバーの更新」をすればよい。デバイスマネージャーは使ったフォルダをちゃんと覚えているようなので、頻繁に移動しなくていい安定した場所でビルドを行うのがいいだろう。
98行目: 98行目:
[https://community.osr.com/discussion/286843/how-to-implement-virtual-display-adapter https&#58;//community.osr.com/discussion/286843/how&#45;to&#45;implement&#45;virtual&#45;display&#45;adapter]
[https://community.osr.com/discussion/286843/how-to-implement-virtual-display-adapter https&#58;//community.osr.com/discussion/286843/how&#45;to&#45;implement&#45;virtual&#45;display&#45;adapter]
** そこで言及されているLin JiaBang氏のソフト(動作未確認)<br />
** そこで言及されているLin JiaBang氏のソフト(動作未確認)<br />
[https://github.com/LinJiabang/virtual-display https://github.com/LinJiabang/virtual-display]
[https://github.com/LinJiabang/virtual-display <span>https://github.com/LinJiabang/virtual-display</span>]
* WDDMで仮想ディスプレイを作れるかどうかについて(2016年)<br />
* WDDMで仮想ディスプレイを作れるかどうかについて(2016年)<br />
[https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2d60c1c2-5198-47e2-b5d9-2ba28461e72e/how-to-implement-virtual-display-adapter-driver-on-windows-10?forum=wdk https&#58;//social.msdn.microsoft.com/Forums/vstudio/ja&#45;JP/2d60c1c2&#45;5198&#45;47e2&#45;b5d9&#45;2ba28461e72e/how&#45;to&#45;implement&#45;virtual&#45;display&#45;adapter&#45;driver&#45;on&#45;windows&#45;10?forum&#61;wdk]
[https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2d60c1c2-5198-47e2-b5d9-2ba28461e72e/how-to-implement-virtual-display-adapter-driver-on-windows-10?forum=wdk https&#58;//social.msdn.microsoft.com/Forums/vstudio/ja&#45;JP/2d60c1c2&#45;5198&#45;47e2&#45;b5d9&#45;2ba28461e72e/how&#45;to&#45;implement&#45;virtual&#45;display&#45;adapter&#45;driver&#45;on&#45;windows&#45;10?forum&#61;wdk]