GPD Pocketで長時間使用すると音が
消える
(Realtekドライバと電源管理)

小型で便利なGPD Pocketですが、使っていると突然スピーカーが沈黙する現象に悩まされました。
起動直後は普通に音が出るのに、しばらく作業していると、いつの間にか無音になります。
音量スライダーは動くのに、何を再生してもまったく鳴りません。
再起動すると復活しますが、原因がわからないままでは落ち着きません。

GDP Pocketは、「ピーキー」なのでメンテナンスが大変ですね。

関連記事

1. 現象の整理:起動直後は正常、長時間後に無音

まず、再現性を確認しました。

電源を入れた直後はスピーカーが正常に動きます。
動画も音楽も問題なく再生できます。
しかし、数時間そのまま作業していると、ある瞬間から完全に無音になってしまうことがあります。
ヘッドフォン端子にイヤホンを挿しても、同じように音が出ません。

実際に起きたタイミングを思い返すと、スリープ復帰や、大きなアプリを切り替えた直後に発生することが多いように見えました。
とはいえ、完全に同じ条件では再現しません。
やっぱり、何かドライバか電源管理のような内部の動作が関係していそうだと感じました。

1.1. Windows Audio サービスとAudio ドライバ

  • Windows Audio サービスの再起動
  • デバイスマネージャーでドライバを無効→有効にしてみる
  • ドライバを標準に置き換える

まず、services.msc から「Windows Audio」サービスを再起動してみました。

Windows Audioサービスをいったん停止すると音量ボタンが無効になる
Windows Audioサービスをいったん停止すると音量ボタンが無効になる

サービス起動後に音量ボタンは有効に戻るのですが、肝心の音は鳴りませんでした。
どうも、サービスより深い部分で問題があるようです。

次は、デバイスドライバを無効→有効にし直してみます。
いったん、「Intel SST Audio Device(WDM)」を無効にしました。

この無効化でもいったん音量ボタンが無効になりますが、再度、デバイスを有効化すると、ちゃんと音が再生するようになりました。

1.2. イベントビューアーでログを確認してみる

無音になる直前のログを調べると、Windows UpdateやGamingServicesでエラーがあるのが気になりました。

インストールの失敗: エラー 0x80073D02 で次の更新プログラムのインストールに失敗しました: 9MWPM2CQNLHN-Microsoft.GamingServices。

サーバー:
{3E8C9ABE-9226-4609-BF5B-60288A391DEE} を実行するためにサービス GamingServices (引数 “利用不可”) を開始しようとしたときに、DCOM にエラー “87” が返されました。

GamingServicesとAudioデバイスが直接関係あるようには見えないのですが、なんとなくWindows Updateに伴って不具合が起こっているような気がします。

2. フォーラムで似た症状を探す

次に、同じような症状がないか調べてみました。すると、GPD User Community Forum に似た話題がありました1

Realtek HD Audio ドライバを有効にしていると、カチッというノイズが出る人がいて、その人はドライバを無効にすると症状が軽減したそうです2。そこでは「Realtek ドライバの電源管理が怪しい」という指摘があり、Linux で同じチップの省電力を有効にすると似た挙動が出るという報告もありました3

Windows の再インストールやドライバ更新、BIOS 更新を試したケースもありました4

電源管理によるオーディオチップのスリープが、再開時に正常に戻らないのでは?

この仮説が自分の状況にも当てはまりそうです。

2.1. ドライバを標準に戻すと直った人もいる

さらに調べると、別のGPD機(GPD Win Max 2)では、スピーカーがまったく鳴らなくなる問題が発生し、その人はRealtek系の独自ドライバをアンインストールして、Windows標準のドライバに戻したところ、音が復活したと報告していました5。こういう例があると、やっぱりドライバ周辺が怪しいと感じます。

GPD Pocket のユーザーが Bluetooth 接続時に音量スライダーが固定されるといった Realtek 関連の不具合を共有していました6

ドライバが更新されていない古い機種ほど、こうしたスリープ復帰や省電力まわりの不具合が残っている場合があります。GPD Pocket のような小型機器は特に、独自の設定や最適化がされていることが多いので、こうした問題が表に出やすいのだと思いました。

ドライバをアンインストールし、Windows標準のドライバに置き換える方法もあります。標準ドライバでは、スピーカーの音質や機能面で専用ドライバより劣る面があるはずですが、無音になるよりはマシです。

3. 調査してわかったことと今後の課題

今回の調査では、Realtekドライバと電源管理が深く関わっている可能性が高いとわかりました。
標準ドライバに切り替えると症状が安定したことからも、ドライバ側の省電力まわりが完全にはうまく動いていないのだと思います。

ただし、決定的な解決策があるわけではなく、ハードウェアやファームウェアの作りにも左右されるため、環境によっては別の原因が潜んでいる可能性もあります。とくに、GPD Pocketのような小型PCは、独自の構成やドライバが絡み合って、予想外のトラブルが出ることがあります。

  1. Realtek HD Audio ドライバを有効にするとポップノイズが発生し、無効化で軽減したと報告されている。Linux 側での power_save 設定による再現報告もある。 – GPD Support Forum: Audio Pops / Ticking Sound Issue
  2. Realtek ドライバを無効化すると問題が改善するという投稿者の実例がある。 – GPD Support Forum: Audio Pops / Ticking Sound Issue
  3. Linux での HDA ドライバ power_save 機能によるノイズ再現の報告がフォーラム内に記録されている。 – GPD Support Forum: Audio Pops / Ticking Sound Issue
  4. Realtek 6.0.1.8459 への更新や BIOS v2.2 への更新でも改善しなかったとスレ主が報告している。 – GPD Support Forum: Audio Pops / Ticking Sound Issue
  5. スピーカー無音状態が、OEM 版ドライバ削除→標準ドライバ適用で解消したというユーザー報告。- Reddit: No sound coming from speakers at all
  6. GPD Pocket を使用したユーザーが音量スライダーの異常など Realtek 系統の挙動について投稿している。 – 5ch: Edifier計7機種目