広告が含まれる場合があります ゲーム&アプリ

【マルチディスプレイ問題】KVMスイッチで切り替えたら高確率で壁紙が変わってしまう!に対処してみた

Wallpaper trouble
ゆびきたす
ゆびきたす

こんにちは、ガジェット大好きゆびきたすです!

管理人は仕事用PCとゲーム用PCそしてSwitch 2の3台を【 KVMスイッチ 】で切り替えながら使っています。またそれぞれのディスプレイで異なる壁紙を用意して適用。

さらにデュアルディスプレイのサブ側は【 縦置き 】で使用中です。

そのため何らかの原因で壁紙のリセットが働くと困ります。

ちなみに「壁紙が変わってしまう」は昔からシングルディスプレイでも発生しうるWindowsのバグのような挙動も1つの原因でもあります。

Redditでもいくつもこの種のスレッドがあることから

ゆびきたす
ゆびきたす

さすが期待を裏切らないマイクロソフトさんだぜ!

笑いつつ心のなかでは真顔。

では実際にどうなるかというと以下の画像のようになります。

Change wallpaper back to Monitor1
設定によっては縦置きディスプレイ側に横画像が縦圧縮されたりする

普段メインディスプレイでダークなWindowsのような画像、縦置きサブでは好きな女優さんとか任意の縦画像を作って表示しています。

壁紙のリセットが起こるとモニター1の画像にサブ側が差し替えられてしまうのです。

なおKVMを使わないデュアルディスプレイにしたころからポロポロと遭遇。

しかしKVM導入で「この設定を行ったら高確率で起こる!」というのを発見しました。

もちろん使用中のKVMはEDID機能に対応した製品で、ウィンドウ位置のリセットが起こることはほとんどありません。

それでもEDIDが部分的にうまくやりとりできない条件があります。

※当記事では映像表示デバイスを「ディスプレイ」と表記しますが、Windows中でモニターで表現されている設定箇所はそのままモニターで表記しています。

壁紙のリセットが起こるタイミングと原因

Wallpaper Settings on Windows11

これはPCからのディスプレイ認識の速度や順番などにも左右されますが、原因はコントロールパネルの【 ディスプレイの電源を切る 】設定です。

  • アクティブ側=現在ディスプレイ表示されキーボード&マウス操作を受け付けているPC
  • 非アクティブ側=KVMがEDID情報によりPCに接続中と認識させ、キーボード&マウス&ディスプレイ操作は受け付けていない側のPC

上記「ディスプレイの電源を切る」時間は3分にしていました。

これはメインディスプレイである有機EL( ≒OLED )ケアのためです。

例えばEDID付KVMでアクティブ側と非アクティブ側で何が起こっているのか想像してみましょう。

  1. アクティブ側PC-AからKVMスイッチでPC-Bへ切り替える
  2. EDID付なのでPC-Aはディスプレイがそのまま接続されていたと認識
  3. そのままPC-Bでの作業で3分間経過する
  4. バックグラウンドのPC-A側で「ディスプレイ電源を切る」が発生
  5. ここでKVMスイッチでPC-Aに戻す
  6. ディスプレイがPC-A側で再認識され、リセットが起こる
  7. 結果壁紙リセット=モニター1に揃えてしまう

シングルディスプレイ構成でもここで壁紙が初期化されてモニター1の指定画像にすべてのディスプレイで差し替えられることがあります。

さらに間にKVMを差し込むことにより、より顕著にでてしまったようです。

ゆびきたす
ゆびきたす

本当はWindowsがディスプレイ切断を無視して現状維持する設定があればよいのですが、グループポリシー含めて現在のOS設定では見つかりませんでした。

海外でもずっと以前より議論に上がっていますが、ホットプラグ方式なため切断>再認識の一連の動作は止められないとのこと。

要は非アクティブ時にPCでディスプレイを切ってしまう設定のが原因と特定し、次章のようにいくつか試してみました。

方法 1. PC側でディスプレイ電源を切らせない

OLEDユーザーではごく当たり前の「短時間でディスプレイ電源を切る」設定がアダとなります。

Display Sleep

そこで電源を切らない設定に変更するだけで壁紙リセットは止まりました。

ゆびきたす
ゆびきたす

でも問題はアクティブ状態のPCで作業していると、離席時などにOLEDが常時点灯になってしまう!

そこで試験的に古典的なスクリーンセーバーを使うことにしました。

方法 2. 【不具合発生】スクリーンセーバー

スクリーンセーバーは太古の昔から存在する「CRTディスプレイ焼き付きの対策」の1つでしたが、近年脆弱性などの観点から推奨されません。

Windows11 ScreenSaver

とは言え使い方はカンタンで手軽。できるだけ表示負荷をかけないように黒い壁紙を使います

こうすることでOLEDの素子がすべて消灯するからです。

もちろんこの方法は賛否両論あるのは知っています。

  • ディスプレイはついていると認識されているので製品によってはピクセルクリーニング系が働かない
  • 通常電源消費で画面待機しているだけなので電力は食っている

主に気になるのは1番目だと思います。

とデメリットは大きいモノの、OLEDの焼き付き対策になれば、と行ってみました。

しかしEDID的に問題があるのか、はたまたおま環症状なのか不明ですが、メインディスプレイであるFO32U2のみがブラックスクリーンで画面復帰しないこと多数。

なぜかDisplayPort信号が返ってきません

EDID信号は受け取っているようでサブ側の壁紙などのリセットやウィンドウ配置の初期化は起こっていません。

ゆびきたす
ゆびきたす

スクリーンセーバーが黒画像なので、一瞬スクリーンセーバーが解除できていないのかと思いましたが、映像信号が切れてしまうようです

KVMスイッチをカチャカチャ切り替えているとDP映像信号は復帰するので、KVMとの組み合わせで何かしら問題が出ているようです。

なおスクリーンセーバーを切るとこの症状は一切でません

方法 3. Wallpaper ENGINEでWindows機能を捨てる【99%改善】

Wallpaper ENGINE Image01

壁紙初期化の改善テストに数週間経ち、そろそろMicrosoftには見切りをつけようと3rdパーティ製のアプリを考慮することに。

管理人は普段Steamでゲームすることも多いため既知のアプリ「 Wallpaper ENGINE 」を使ってみることにしました。

このアプリは本来デスクトップで動画などを強制的に壁紙化するものですが、壁紙の統合アプリとして非常に優秀かつ強力。

ゆびきたす
ゆびきたす

壁紙ごときでアプリ購入なんてモッタイネーーー!と思った人多いかな?

わざわざ有料ソフトにしたのは仕事でも使うPCなので以下を考慮しました。

  • フリー系はアップデート配信が遅いケースがある
  • フリー系作者のモチベーション次第で更新停止の可能性がある
  • 便利なアプリにはお金でシッカリ応援したい

なお見出しで「 99% 」とした理由は下で解説します。

グラフィック負荷が心配になりますが、動くデスクトップを構成せず単なる2枚の画像を表示するだけなので負荷は無視できる状態です。

Wallpaper ENGINE Loaded

CPU負荷、メモリ使用量共に作業の邪魔になりません。

ゆびきたす
ゆびきたす

このアプリで行うのは、どのような条件下でも両ディスプレイへ異なる壁紙を強制的に適用することです

複数ディスプレイに別々に壁紙設定ができます。

Wallpaper Settings On each monitor
左側ディスプレイは縦置き

設定は以下のようにしています。音声付き動画は使っていませんのでデフォルトでも良いと思います。

ただし「ディスプレイスリープ」項目だけは一応「再生を続ける」にしています。これにより一瞬Windowsデフォルトの壁紙が映ることを避けることができます。

Wallpaper ENGINE Image03

なお「再生する」部分が管理人の例では「(強制的に ) 画像表示する」に読み換えられます。

Steam版の良さ:効果なしなら返金可能

調べてみたところ、 Wallpaper ENGINEは公式サイトでも$4.99 USDで販売されているようです。支払方法はクレジットカードとPayPal。
Wallpaper Engine: Windows のアニメーション壁紙

またGMG( Green Man Gaming )でも販売中ですが、DRMの確認のため他社クライアントが必須なのかは確認できていません。

またSteam経由だとSteamクライアントのインストールやアカウントが必須なので、インストールやダウンロードでクライアントソフトを導入するのを回避したいなら公式しかありません。

ただしSteamでの購入は1つ大きなメリットがあり、それは返金制度です。

Steam Refund

アプリやゲームなどが正常に動かない場合に限り返金を受け付けてくれるシステム

基本的にデジタル購入した製品は返金に一切応じてくれない販売元がほとんどなので、安心感が段違いです。

99%の理由:最後の詰め( 神経質な人のみ )

Windows上で動作するアプリなので当然OSの各種サービスが起動してアプリが動作します。

気になったのは順番的にWindows系の優先サービスに比較してほんの少し遅延がある、ということ。

( グラフィックドライバーやセキュリティソフト並みに深部で最優先で動作するドライバーを突っ込む仕様であればこれも起きないのですが、不具合時の被害が大きくなるのでやむを得ず、でしょうか )

Wallpaper ENGINEが提供する壁紙表示の速度は若干起動ごとに異なりますが、管理人環境ではサブディスプレイ側に、メインディスプレイ側のWindowsデフォルト機能で設定している壁紙が表示されてしまいます。

For a moment Change wallpaper back to Monitor1

最長で1~1.5秒ほどでしょうか。

このあたりちょっと気にならないようにするためメイン/サブ共にWindowsデフォルト機能で壁紙設定を「黒」単色にしておきます。

Wallpaper Black Color

こうすればWallpaper ENGINEの壁紙表示まで別の画像が表示されず起動直後の黒いままなので少しだけマシかな?というところ。

ゆびきたす
ゆびきたす

ま、気持ちの問題なのですが…

まとめ

今回はWindowsデフォルトのホットプラグ方式の挙動のせいで壁紙が変わってしまう、に対処してみました。

複数台のPCやゲームデバイスを使う上で手放せない便利さを提供してくれるKVMですが、PCとディスプレイの間に余計な機器が挟まることで、不具合が余計に増長されることもあります。

シングルディスプレイ構成でもこの問題に悩んでいるユーザーは多いようで、できればWindows標準の機能( レジストリ操作も含む )だけで改善したかったのですが、ポリシー設定含めて改善は不可能と結論。

そこでディスプレイごとに「強制」的に壁紙適用できるWallpaper ENGINEを紹介。

本記事執筆時3日ほど経過していますが、いろいろな条件下でも壁紙がおかしくなることは発生していません。

ゆびきたす
ゆびきたす

Windowsでなんかどうでもイイ機能ばかり増やさないで切断状態を無視する設定を実装してほしいっす

というわけで壁紙が意図せず変わってしまいどうしても直せないことにお悩みの方、Wallpaper ENGINEを試してみてください。

では!

スポンサー広告

-ゲーム&アプリ