ViGEmBusドライバーを使うとはどういうことか

最初に、バスドライバーとクライアントアプリを分けて考えます。ViGEmBusはゲームの入力を直接読み取る設定画面ではなく、ほかのプログラムが呼び出すWindowsのデバイスインターフェースです。プロファイル編集やボタン割り当てを担当するのはクライアントです。ドライバーだけを起動しても、スタートメニューにコントローラー画面が表示されるわけではありません。

通常の流れは、WindowsがUSBまたはBluetoothの物理コントローラーを検出し、クライアントがボタンと軸を読み取り、ViGEmBusへ仮想デバイスを要求し、ゲームがその仮想デバイスを読むという順番です。ゲーム側でバスが開けない場合は、プロファイルを変更しても未導入の問題は解決しません。この役割を理解することがViGEmBusの使い方の出発点です。

層役割
物理コントローラーボタンと軸の入力を提供するUSBまたはBluetooth機器
クライアントアプリ入力を読み、プロファイルを適用し、仮想出力を要求する
ViGEmBusWindowsに仮想ゲームパッドを公開するバス層
ゲームまたはリモートクライアントXbox 360またはDualShock形式の仮想機器を読む

Windowsとクライアントを準備する

複数の入力ツールを同時に動かすより、1つだけで確認する方が原因を追いやすくなります。

まずデバイスマネージャーを開き、Nefarius Virtual Gamepad Emulation Busがエラーなしで1つだけ表示されることを確認します。まだ導入していない場合は、先にViGEmBusのインストール手順を実行してください。アプリがバス未導入と表示する場合は、ランダムな互換設定を試す前に未導入エラーのガイドを確認します。

DS4Windows、BetterJoy、Apollo、Sunshineはゲーム用プロファイル名や出力スイッチが異なります。最初の確認では1つのクライアントだけを選び、他のウィンドウと通知領域のプロセスを終了します。同じ物理コントローラーを複数のアプリが取り合うと、仮想デバイスが重複してゲームが違う機器を選ぶことがあります。

  • ViGEmBusが正常なデバイスとして表示されるWindows 10または11。
  • 最初の確認で起動するコントローラークライアントは1つ。
  • クライアントが認識できる接続済みの物理コントローラー。
  • 実績のある標準プロファイル。実験的な割り当ては後回しにする。
  • Windowsのゲームコントローラー画面またはjoy.cpl。

クライアントからViGEmBusを使う手順

アプリによって表示名は違いますが、手順は共通しています。クライアントを開き、物理コントローラーが表示されるまで待ちます。仮想コントローラー、仮想出力、エミュレーションなどの設定を有効にし、ゲームが対応する出力形式を選びます。XInputゲームではXbox 360形式が一般的です。ゲームによってはDualShock 4形式も選択できます。

クライアントの状態表示を見ながらスティックを動かし、ボタンを1つ押します。ゲームを起動する前に、物理入力がクライアント内で変化することを確認してください。ゲーム用の入力は見えるのに仮想出力が作られない場合は、ドライバーを再インストールする前に出力スイッチ、プロファイル、排他モード、常駐プロセスを確認します。

仮想コントローラーが作られたら、Windows + Rを押してjoy.cplを入力します。新しいデバイスを選び、プロパティのテストタブで軸とボタンを動かします。ここで成功すれば、バスからクライアントへの受け渡しは動作しています。ゲームだけが反応しない場合は、ゲーム側の入力選択や別のリマッパーを調べます。ゲームを再起動する前にこの確認を済ませます。

  1. 1

    対応クライアントを開く

    DS4Windows、BetterJoy、Apollo、Sunshineなど、ViGEmBus出力を説明しているクライアントを起動します。競合するツールは閉じます。

  2. 2

    物理コントローラーを選ぶ

    USBまたはBluetooth機器が表示されるまで待ち、安定したプロファイルを割り当てます。診断中に複数の設定を変えません。

  3. 3

    仮想出力を有効にする

    仮想コントローラー、出力、エミュレーションの設定をオンにし、ゲームに合う形式を選択します。

  4. 4

    入力を1つテストする

    ボタンを押し、スティックを動かします。クライアントが入力を表示し、仮想デバイスを作成することを確認します。

  5. 5

    Windowsで確認する

    joy.cplまたはクライアントのテスターを開き、軸とボタンが反応することを確かめます。

  6. 6

    ゲームは最後に起動する

    仮想機器のテストが終わってからゲームを起動します。最初は別のリマッピング層を無効にします。

仮想出力を作るDS4Windowsのコントローラー設定
プロファイルと出力を設定するのはクライアントで、Windows側のバスを提供するのがViGEmBusです。

Windowsで仮想デバイスを確認する

接続が成功すると、クライアントの緑色のメッセージだけでなく、Windowsにゲーム用の仮想コントローラーが表示されます。Windows + Rでjoy.cplを起動し、一覧から対象機器を選びます。プロパティのテストタブで軸を動かし、複数のボタンを押してください。

仮想デバイスがない場合は、デバイスマネージャーで表示→デバイス(接続別)を選びます。システムデバイス内のNefarius Virtual Gamepad Emulation Busを探します。正常なバスはWindowsがドライバーを読み込んだことを示しますが、クライアントが出力をオンにしたことまでは示しません。両方の層を確認してから再インストールします。

確認項目分かること分からないこと
クライアントが物理機器を認識入力元を読み取れる仮想出力が設定済みとは限らない
Nefariusバスが正常WindowsがViGEmBusを読み込んだクライアントのプロファイルが出力するとは限らない
仮想機器がjoy.cplを通過クライアントとバスの受け渡しが動くすべてのゲームが正しい機器を選ぶとは限らない
ゲームがボタンを受信ゲームが出力を受け付けるすべてのプロファイルが正しいとは限らない
デバイスマネージャーで正常と表示されたNefarius Virtual Gamepad Emulation Bus
デバイスマネージャーはバスの状態を示します。仮想出力はjoy.cplまたはクライアントで確認します。

クライアントの例と注意点

DS4Windowsは、ゲーム用にPlayStationコントローラーからXbox 360またはDualShock形式の仮想機器を作るためにViGEmBusをよく利用します。出力とプロファイルはDS4Windows側で設定し、結果をWindowsでテストします。DS4Windows固有のエラーは、関係のないWindowsサービスを変更するより、DS4WindowsとViGEmBusのガイドを確認してください。

ApolloやSunshineはゲームのリモートプレイやストリーミングで仮想コントローラーを使うことがあります。ネットワークを調べる前に、ローカルの仮想デバイスが正しく反応するかを確認します。配信が正常でも入力割り当てが間違っている場合があるため、ローカルとリモートを分けてテストします。

ここで挙げたクライアントがすべての出力形式をサポートするとは限りません。各アプリの現在のサポート情報を確認し、複数のリマッパーを同時に実行しないでください。

BetterJoyとViGEmBusで仮想コントローラーを作る流れ
クライアントでは検出、割り当て、仮想出力の順に進みます。ストリーミングを追加する前に各段階を確認します。

クライアントからバスへの受け渡しを直す

クライアントがViGEmBus未導入と表示したら、アプリを閉じてWindowsを再起動し、デバイスマネージャーを確認します。バスがない、またはエラーアイコンがある場合は、公式のインストール経路でドライバーを修復します。バスが正常なのに出力がない場合は、インストーラーを繰り返す前にクライアントのプロファイルと出力スイッチを調べます。

仮想デバイスが2つ表示されたら、すべてのコントローラーアプリを終了して1つだけでテストします。二重出力は二重入力、カメラのドリフト、ゲームによる誤った機器選択を起こします。古い項目は通常のアンインストールと公式に説明された整理手順だけで削除し、Driver Storeのファイルを手動で消さないでください。

クライアントでは入力できるのにjoy.cplでゲーム用の仮想機器が見えない場合は、出力無効、未対応プロファイル、排他モードの競合、古い常駐プロセスを調べます。joy.cplでは動くのにゲームで動かない場合は、ゲームの入力デバイスを選び、Steam Inputなど別のリマッパーが横取りしていないか確認します。

単体のvigembus.sysをコピーしたり、ミラーサイトのドライバーパックを入れたり、Windowsのドライバー署名確認を無効にしたりしないでください。出所が分からなくなり、別のカーネルドライバー問題につながります。完全にやり直すときはViGEmBusのアンインストール手順を使い、公式リリースから再導入します。

症状疑う層最初の安全な対応
クライアントがバスを見つけないドライバーまたはWindowsのデバイス状態再起動、デバイス確認、公式セットアップで修復
入力は見えるが出力がないプロファイルまたは出力スイッチ仮想出力をオンにして標準プロファイルを試す
仮想機器は動くがゲームが無視するゲームまたは別のリマッパー出力機器を選び、二重マッピングを無効にする
仮想コントローラーが2つある複数クライアントまたは古い項目クライアントを閉じ、通常の方法で古いコピーを削除
ボタンが二重になる物理入力と仮想入力の同時検出クライアントの重複入力を隠す設定を確認

ViGEmBusドライバーの使い方に関する質問

ViGEmBusを普通のアプリのように開きますか?

いいえ。ViGEmBusはWindowsのバスドライバーです。DS4Windows、BetterJoy、Apollo、Sunshineなど、必要としているクライアントを開き、そのアプリで仮想出力を有効にします。

クライアントがViGEmBusを使っているか分かりますか?

クライアントに仮想出力の状態が表示され、joy.cplまたは内蔵テスターに仮想コントローラーが表示されます。デバイスマネージャーには正常なNefarius Virtual Gamepad Emulation Busも表示されます。

Xbox 360とDualShock 4のどちらを選びますか?

クライアントとゲームが対応する形式を選びます。XInputゲームではXbox 360形式が一般的です。別の用途ではDualShock形式が必要なことがあります。ゲームを起動する前にjoy.cplでテストします。

クライアントは入力を見るのに仮想パッドが出ないのはなぜですか?

出力スイッチ、割り当てたプロファイル、排他モード、重複するリマッパーを確認します。バスが正常なら、クライアント側で無効になった出力を再インストールだけで直せるとは限りません。

ゲームを起動せずにViGEmBusをテストできますか?

Windows + Rでjoy.cplを実行し、仮想コントローラーを選んでプロパティを開きます。テストタブでボタンと軸を確認し、その後ゲーム側を別に調べます。

参照した公式情報

このページの製品情報と安全性は一次情報で確認しています。外部リンクは新しいタブで開きます。