キャラクター

キャラクター

  • 23

2021年最新版 Windows環境でコントローラーが暴走する人たちへ【解決編】

公開
要約
Windows環境でコントローラーが暴走するのはデバイスマネージャー上の物理デバイスまたは論理デバイスが増えたり減ったりした瞬間に起こる。
プレイ中にデバイスが増えたり減ったりしないように物理デバイスと論理デバイスを整理しよう。

経緯
パッチ3.0蒼天のイシュガルドぐらいのころから、コントローラーが数秒動かなくなるという報告をする人がちらほら現れました。プレイヤーの古い日記やフォーラムを検索してみると2015年頃からそのような報告が見つかることがわかります。当時の最終的な結論としてはMicrosoft Device Association Root Enumeratorを無効化するというものでした。

しかしながら2019年頃からMicrosoft Device Association Root Enumeratorを無効化してもコントローラーが暴走するという事象がみられるようになってきました。この新しい問題に対する対処方法が広く周知されることがないまま現在に至っているように思われましたので、ここに情報を網羅的にまとめていきたいと思います。

※パッチ6.1で「暴走する(直前の入力が繰り返される)」から「動かせなくなる」に症状が変わりました

原因
原因はWindows版FF14クライアントのバグです。この問題はPS4,PS5版やFF14以外のゲームでは発生しません。もしPS4,PS5版やどんなゲームでも問題が起こるという方は今回の解決策の対象ではありません。

Windows版FF14クライアントはゲームの起動中に新しいコントローラーが接続された場合にすぐ使えるように、デバイスの増減を監視しています。この処理に問題がありコントローラー以外のデバイスが増減した場合にも、コントローラーが増えたときと同じように初期化処理を行うため、その初期化処理の間はコントローラーが使えなくなるという仕組みです。

上記のような理由のため、根本的な解決のためには開発サイドでデバイス処理部分の実装を変更する必要があります。しかしおよそ6年の間修正ができていないことを考えると、開発サイドでの修正を待っているわけにはいきません。

対策
原因がわかれば対策がわかってきます。まずはゲーム中に増減するデバイスを見つけることから始めましょう。

1.デバイスを見つける
まずはこちらの記事をご覧ください
https://jp.finalfantasyxiv.com/lodestone/character/27844312/blog/4483208/
こちらの記事を参考に少し改良したものを以下に掲載します。

スクリプトはこちら
クリックして表示クリックして隠す

# Device Manager
# 0 Other Devices
# 1 Error Devices (Yellow Bang)
# 2 Camera Number

function GetDevStatus {
$Device_other = @()
$Device_yellowbang = @()
$CameraNum=0
$All_List = Get-CimInstance -Class Win32_PNPEntity
foreach ($i in $All_List) {
if ($Null -ne $i.Name -and $Null -eq $i.PNPClass) {
$Device_other += ($i.Name)
}
if ($i.Status -eq "Error") {
$Device_yellowbang += ($i.Name)
}
if ($i.PNPClass -eq "Camera"){
$CameraNum+=1
}
}
return $Device_other, $Device_yellowbang,$CameraNum
}

function CatchChange {
Write-Host("************Listening Device Change************")
$device=Get-CimInstance -Class Win32_PNPEntity
$device_num=$device.Length
while ($device_num -eq((Get-CimInstance -Class Win32_PNPEntity).Length)){

}
if ($device_num -gt((Get-CimInstance -Class Win32_PNPEntity).Length)){
Write-Host("Remove Device")
}
else{
Write-Host("Add Device")
}
$device_Change=Get-CimInstance -Class Win32_PNPEntity
$device_Compare=Compare-Object $device $device_Change
$time=Get-Date
Write-Host($time)
$device_Compare.InputObject | % {Write-Host $_.Name $_.DeviceID}
}

# CatchChange
$a = GetDevStatus

if ($Null -eq $a) {
Write-Host("No Error")
}
else {
Write-Host("************Other Devices************")
$a[0]
Write-Host("")
Write-Host("************YellowBang Devices************")
$a[1]
Write-Host("")
Write-Host("************Camera Num************")
$a[2]
}
while ($True){
CatchChange
}

手順
1.スクリプトをコピーしてメモ帳に貼り付け、ファイル名をscript.ps1として保存します。その際に拡張子が.txtではなく.ps1となるように気をつけます
2.script.ps1を右クリックしてPowerShell で実行を選びます
3.起動したWindows PowerShellのウィンドウをそのままにして、通常通りゲームをプレイします
4.コントローラーに不具合が起こったらWindows PowerShellのウィンドウを確認します

これで問題となるデバイス名とデバイスIDがわかります。

デバイスの見分け方
Windowsでデバイスマネージャーを開き、表示(V)非表示のデバイスの表示(W)を選びます
これですべてのデバイスが表示されますので、デバイス名を参考に該当のデバイスを探します。
該当のデバイスが見つかったら、同じデバイス名のものが複数ある場合に備えてデバイスIDを確認します。
該当のデバイスを右クリック→プロパティ詳細デバイス インスタンス パスを確認します


2.デバイス別の対処

プリンタ スキャナ オーディオプレーヤー テレビ ビデオレコーダー ルーター NAS等
DLNAという家庭内LANを使って画像や動画を共有する仕組みが有効になっている場合にこれらのデバイスが表示されることがあります。
これはMicrosoft Device Association Root Enumeratorを無効化するとDLNAでのデバイス検出をしなくなるため、これが解決策となります。

マウス キーボード コントローラ オーディオデバイス 通信デバイス USBデバイス等
そのデバイスが自動的に節電モード等になった際にPCとの接続が切れたりつながったりしています。使用しないデバイスは取り外す・電源を切る等してPCにデバイスの増減として認識されないようにしましょう。

Xvd
XVDボリュームとはXbox One互換の仮想ディスクです。この機能はMicrosoft Gaming Servicesによって使われています。そのためMicrosoft Gaming ServicesをアンインストールすることでXVDボリュームがデバイス増減の原因とならないようにすることができます。ただしMicrosoft Gaming ServicesをアンインストールするとMicrosoft Storeから購入したゲームやXbox関連アプリの起動ができなくなります。

アンインストールにはMicrosoft公式で説明されている方法を使用します
https://support.xbox.com/ja-JP/help/games-apps/troubleshooting/troubleshoot-games-windows-10

1.タスク バーの[検索] アイコンを選択し、「powershell」と入力し、[Windows PowerShell] を右クリックして、[管理者として実行] を選択します。
2.Windows PowerShell で、次のコマンドを入力して Enter キーを押します:
get-appxpackage Microsoft.GamingServices | remove-AppxPackage -allusers

Windowsの設定→アプリと機能 からゲーム サービスというアプリが消えることでアンインストールされたことがわかります。

なおMicrosoft Storeから購入したゲームをプレイしたい等の理由でアンインストールが難しい場合、サービスを停止することでも似たような状況にすることができます。ただし停止したサービスがその後自動的に起動する場合があるため、サービスが自動的に起動していないか定期的に確認する必要があります。

1.Windows 管理ツール→サービス を開く
2.2つあるGamingServicesを両方右クリックで停止する

サービスが自動的に起動しないようにするには、プログラムを格納しているフォルダ名を変更します。サービスを起動したいときは元に戻しましょう。

変更前:C:\Program Files\WindowsApps\Microsoft.GamingServices_3.58.14001.0_x64__8wekyb3d8bbwe
変更後:C:\Program Files\WindowsApps\Microsoft.GamingServices_3.58.14001.0_x64__8wekyb3d8bbwe_退避

Microsoft Gaming Servicesが自動更新されると新たなバージョン名でフォルダが作成されるため、自動更新の度にこの退避処理がうまくいっているか確認する必要があります。

汎用ボリューム シャドウ コピー
Windowsの復元ポイントを表す仮想デバイスです。標準では1週間に1回Windowsの自動メンテナンスで作成されます。復元ポイントを無効にすることは万が一の不具合の際に元に戻す方法がなくなることになるので推奨されません。自動メンテナンスの時刻をゲームプレイ時刻からずらすことで回避可能です。

1.コントロールパネルシステムとセキュリティセキュリティとメンテナンスを開く
2.メンテナンス(M)自動メンテナンスメンテナンス設定の変更から、メンテナンス時刻を設定する

デメリットを承知で復元ポイントの自動作成を無効にする場合は下記の通りです。

1.設定システム詳細情報システムの保護を開く
2.保護が有効になっているドライブを選び、構成システムの保護を無効にするを選ぶ

Microsoft Streaming XXXX Proxy
Zoom、Discord、Skype、Google Meet、OBS Studio等、主にマイクやカメラを使うソフトを起動したときに自動的に生成される仮想デバイスです。これらのソフトを使わないようにすることは現実的ではないため、この機能を無効にすることは推奨されません。ソフトウェアの起動・終了時にのみ発生するデバイスの変化であり、ゲームプレイの最中に発生することは通常ないので、実害はないと考えて大丈夫です。

おわりに
いかがだったでしょうか。2019年に問題が再発した理由はMicrosoft Gaming ServicesがWindows 10 May 2019 Updateで導入されたからです。今後もWindowsはUpdateが続くため、またさらなる変化が起こる可能性もあります。もし問題が再発してしまったとしても、調査の方法がわかってしまった今となっては、問題を再度解決することも容易くできるでしょう。

しかし真なる解決のためにはこの情報を多くの人が発信し、改善を求める声を開発に届けなくてはなりません。Windows版であるにも関わらずFF14として公式にDualShock4に対応させることができる技術をもっている開発チームですから、この問題が開発チームで再現さえできてしまえば修正はそう難しいことではないと思います。ぜひ自身や周りの方も含めてこの問題で困っている人がいたら、こちらのフォーラムを参考により多くの情報を開発チームに伝えてください。
https://forum.square-enix.com/ffxiv/threads/453441


検索用キーワード
クリックして表示クリックして隠す

DualShock4, Xbox Controller, Nintendo Switch Pro Controller, DualSense, Razer, Logicool, Elecom, Hori, DS4Windows, InputMapper, Steam, Bluetooth, 無線, 有線
コメント(23)

Macgyver Volfied

Unicorn [Meteor]

突然失礼します!
以前からコントロールの暴走(自動ラン等)で困っていました。

別の記事のMicrosoft Device Association Root Enumeratorの停止やアンインストールで
何ともならなかったため、半ば諦めておりました。

今回この記事の方法を試して、Microsoft Gaming Servicesを停止した所、問題が止まりました!
これで楽しく暁月を迎えられそうです!

本当にありがとうございました!!(/☆ω☆)/

An Out

Valefor [Meteor]

同様のコントローラ暴走現象が頻発(数秒に一回)して困っていました。
他のゲームでは発生せず、PCやコントローラを交換しても発生しているのでソフトウェア的なものと切り分けていましたが、検索して詳細原因までわかるここにたどり着きました。
スクリプトを実行して調べるとFire Stick 4Kが切断と接続を繰り返していました。DLNA要因でした。
ひとまずMicrosoft Device Association Root Enumeratorを無効化して回避できています。
Microsoft Device Association Root Enumeratorを無効化するとMIDIデバイスが使えなくなるようなのでDTMをやっているPCではFF14をやらないようにするしかないですね。

対象のコメントは、投稿者によって削除されました。

Yoshi Miller

Zeromus [Meteor]

まだ実行出来てないのですが、これで6.0からの悩みが解決されるかもしれない!!!拡散!!!

Guruminn Mana

Atomos [Elemental]

はじめまして。6.0に入ってから同様の症状に悩んでおり、
こちらの記事を参考にしたところ解決いたしましたのでお礼申し上げます。
本当にありがとうございます!!

私の場合、スクリプトを動かした所PCに接続しているPS4デュアルショックコントローラーが原因で、こいつがデバイス増減するたびに画面と操作が止まっていましたようです。
いやコントローラーが原因てどうすんねん!となりましたが箱コンに買い替えてから無事バグはなくなり、とても快適にゲームがプレイできています。
快適なエオルゼアライフが戻ってきて感動しています。ありがとうございます!!
1人でも多くの方がこちらの記事で救われることを願っています。

対象のコメントは、投稿者によって削除されました。

Lelec Man

Durandal [Gaia]

最近久しぶりに復帰したら突然この症状に悩まされてたんですが
休止していた間に導入したXvdが原因だとこの記事のおかげで突き止めることが出来ました!
ありがとうございます!ほんと感謝

Pathemia Ozwald

Ultima [Gaia]

数日前からキーボード入力遅延・暴走現象で悩んでいたのですが、Microsoft Gaming Servicesを無効化したら症状が治まりました!
暁月6.05頃に一度治ったのですが、また再発した形でした。

自動起動の阻止のためフォルダ名の書き換えを行ったところ、更新日時が3/26となっており症状発生の時期と符合するので、GamingServicesのアップデートによって問題が再発したようです。
ありがとうございました!

Kiri Ume

Alexander [Gaia]

FF14だけでなく、PSO2でも不定期にフリーズしてたのですが、まさにXvdが原因でした!
本当に助かりました!ありがとうございます!

Joshua Astray

Masamune [Mana]

詳しく書いていただいてありがとう!

一応、半年前自分からもフォーラムに不具合報告をしました。(https://forum.square-enix.com/ffxiv/threads/443607
このスレは受理され、修正済みに移動されましたが、結局は「直前の入力内容が繰り返す」→「そのままフリーズする」になっただけで、本当に修正されたわけではありませんでした。

Ocean Strife

Garuda [Elemental]

GW中まったく問題が無かったのですが、本日突如としてコントローラー操作が頻繁に停止する症状に見舞われ困っておりました。PCを新調したばかりだったので、もしやPC本体の不具合かと焦りましたが、こちらの情報をもとに調べたらDLNAが頻繁に機器を検出しておりそのタイミングで停止している事がわかりました。Microsoft Device Association Root Enumeratorを無効化したところ症状が治まりました。
情報とても助かりました。ありがとうございます!!!!!!!!!!

Hakase Shinonome

Pandaemonium [Mana]

絶竜詩で悩まされていましたが、script.ps1を実行し無線マウスが10分で休止状態に入ることが原因であることがわかりました。本当にありがとうございます!

Kiri Ishi

Mandragora [Meteor]

Microsoft.GamingServicesフォルダ名が権限変えても変更出来ない・・・
なぜだ・・・

Pekin Zero

Masamune [Mana]

たびたびに接続しているコントローラーが切れていたのでこちらの方法を参考に検出してみたところ、家庭内のテレビと接続していることがわかりまして、
>Microsoft Device Association Root Enumeratorを無効化するとDLNAでのデバイス検出をしなくなるため、これが解決策となります。
こちらの方法で問題が解決しました、ありがとうございました!

Kiru Niku

Shinryu [Meteor]

いまだに問題が解決できてないので不具合報告をした所
残念ながら仕様との判断をもらいました。

https://forum.square-enix.com/ffxiv/threads/474755


自分の場合はMicrosoft Device Association Root Enumeratorの無効化をしただけでは
解決できず、調査したところ

************Listening Device Change************
Add Device 2022/11/17 09:16:00
Microsoft Streaming Service Proxy {4d36e96c-e325-11ce-bfc1-08002be10318}

というのが表示されたので、おそらく「Microsoft Streaming Service Proxy」というのも無効化対象になると思います。

Eri Child

Ramuh [Meteor]

コントローラがカクつく現象が再発しており、色々調べていたところ、この記事にたどり着きました!
結論、無事解決しました!ありがとうございました!

この記事は、自身のPCで何が起きているのかを知るにはとてもよく、
私の環境では、「汎用High Speed USB HUB」が表示されたので、
それ関連の周辺機器を抜いて再起動したところ、無事なおりました!

ちなみに手順の「PowerShellで実行」ですが、
私の環境では、コマンド実行後、PowerShell画面がすぐに消えてしまったので、
手動でPowerShellを起動して、コマンド実行をして確認しました😁

Muse Maincoon

Gungnir [Elemental]

私も試してみたのですがコマンド実行後「PowerShell」がすぐに消えてしまうので、手動でPowerShellを起動してコマンドを実行したところ警告が出て起動しませんでした

Win10 Proのサブマシンだと起動してWin11 Homeのメインマシンだと起動しないのでおかしいなぁと思ってたら、PowerShell 実行ポリシーが「Undefined」になっているせいでした(デフォルト?)

管理者権限でPowerShellを立ち上げて実行ポリシーを「RemoteSigned」に変更してコマンドラインに「./script.ps1」と打ち込むことで無事に起動しました。この辺もなんか変わってる…Win11にしたのは失敗だったかなぁ

Miyu Starry

Alexander [Gaia]

私の場合、箱コンのヘッドセットデバイスが接続・切断を繰り返してました。
デバイスの無効化処理ではうまくいかず、ヘッドホン端子が何も刺さってないのに不安定な挙動をするのが原因とみて、箱コンのヘッドホン端子にダミーで一本ぶっ差したら安定してます。
デバイス表示はヘッドホン (Xbox Controller)とヘッドセット マイク (Xbox Controller)です。

Mii Co

Garuda [Elemental]

この頃ひんぱんに起こるようになり困っています。
このスレッドに辿りつけてほっと一息です。

スレ主さん、コメントしている皆さん、
ありがとうございます。

ただ、ここの解決方法はPC音痴な私には
色々な知らない言葉もあり難しすぎます。

PCに詳しい親戚の人にここを読んでもらい
なんとか解決してみようと思っています。

本来は沢山の人たちが困っている問題ですから
運営サイドできちんと解決して欲しいと願っています。

Sayaka Shirakami

Ixion [Mana]

なんとまぁ調べればあるもんだな。
丁度最近起きて解決策を探していたよ( ◠‿◠ )

Kristin Stormbringer

Pandaemonium [Mana]

私もこちらの記事にてカクつくトリガーが無線マウス、無線キーボードにあることを突き止めました。ありがとうございます。
無線キーボードはデバイスマネージャーを使ってスリープしないようにしてトリガーになることを避けることができました。無線マウスはその性質上スリープするのを止めることができず、こちらは泣く泣く有線で利用することでしのいでいます。本質的な解決ではありませんし、無線キーボードのバッテリーの減りは早くなるし、有線マウスは取り回しが不便だし...
FF14側で解決できないのですかねぇ。

Pomme Obsidian

Unicorn [Meteor]

DualSense/DUALSHOCKが
動かなくなること多々あり
参考にさせて頂きました。

Soi Soi

Ramuh [Meteor]

ロジクールの無線マウスがON/OFF時(スリープ時やスリープ復帰後)に発生していました。

スクリプトを実行して調べると
仮想 HID フレームワーク (VHF) HID デバイス
HID 準拠デバイス
が、原因とのことで

アプリからGHUBをアンインストール後にサービスからLogicool LampArray Serviceを無効にしたら発生しなくなりました。

ちなみにその後、GHUBインストール→Logicool LampArray Serviceを無効では発生しました。
※Logicool LampArray Serviceを無効によるデメリットはわかりません、無線マウスは使用できてます。
コメント投稿

コミュニティウォール

最新アクティビティ

表示する内容を絞り込むことができます。
※ランキング更新通知は全ワールド共通です。
※PvPチーム結成通知は全言語共通です。
※フリーカンパニー結成通知は全言語共通です。

表示種別
データセンター / ホームワールド
使用言語
表示件数