0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ProxmoxVE GPUオーディオ音割れ対策方法(MSI有効化)

Posted at

ProxmoxでGPUをPCI Passthroughしていて、そのオーディオ機能を利用している場合に関連する。
ハードウェアの割り込み処理がうまく機能せず、遅延のため音割れ発生した(Message-Signaled Interrupts)。対策方法を試し、効果があったのでまとめてみた。オーディオ側だけでなくグラフィック側のパフォーマンス向上に効果があると思うので試してみてほしい。

PCIデバイスの特定

CUIでも確認できるが、仮想マシンのPCIデバイス画面がわかりやすい。
スクリーンショット 0003-09-27 6.52.13.png
以下の場合、今回の場合では0000:26:00.0がGPUのグラフィック、0000:26:00.1がオーディオとなる。
スクリーンショット 0003-09-27 6.53.50.png

Proxmoxのホスト側のコンソール画面でMSIの現在の利用状況を確認する。
先程の最後の枝番「.0」を除いた「0000:26:00」でlspciを行い「26:00」でgrepすると1行目が「VGA compatible controller」、2行目が「Audio device」と表示されていることがわかる。

lspci -vs 0000:26:00 | grep 26:00

26:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) (prog-if 00 [VGA controller])
26:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

MSIが有効かどうかの確認

次にMSIの利用状況を表示する。MSIが有効化されていない状況であれば以下のように表示される。Enable-ならば無効、+ならば有効。この場合無効とわかる。

lspci -vs 0000:26:00 | grep MSI:

Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

Windows側での設定

デバイスマネージャーでデバイスを特定する。まずはグラフィック側を特定。「ディスプレイアダプター」「詳細」**「デバイスインスタンスパス」**を選択。「値」の欄を控える。右クリックでコピーできる。

今回の場合では「PCI¥VEN_10DE&DEV_1C82&SUBSYS_1C8210DE&REV_A1¥4&36c6fbf2&0&00E0」とかいてある。
スクリーンショット 0003-09-27 7.17.35.png

レジストリエディタを管理者権限で起動し、以下のパスを開く
「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Enum¥〜さっきのパス」

今回の例では「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Enum¥PCI¥VEN_10DE&DEV_1C82&SUBSYS_1C8210DE&REV_A1¥4&36c6fbf2&0&00E0」となる
スクリーンショット 0003-09-27 7.20.45.png

「新規」→「キー」で「Interrupt Management」、「MessageSignaledInterruptProperties」を追加と以下の画像のようなツリーになる。
スクリーンショット 0003-09-27 9.54.27.png

「新規」→「DWARD(32bit)」で「MSISupported」を追加、値に「1」を入力。
スクリーンショット 0003-09-27 9.56.21.png

最後にWindowsを再起動する。

Proxmoxホスト側での動作確認

もう一度、コマンドを入力。

lspci -vs 0000:26:00 | grep MSI:

Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

1行目がグラフィック、「Enable+」と有効化されていることがわかる。

オーディオの方の設定

オーディオは「サウンド、ビデオ、およびゲームコントローラ」の「NVIDIA High Definition Audio」で確認する。
オーディオは**「親」**という項目で確認する。今回の場合では以下のとおり。「PCI¥VEN_10DE&DEV_0FB9&SUBSYS_1C8210DE&REV_A1¥4&36c6fbf2&0&01E0」
スクリーンショット 0003-09-27 10.17.56.png

先程と同様にレジストリエディタで設定を行う。
スクリーンショット 0003-09-27 10.23.21.png

再起動。

オーディオについてMSIが有効になったか確認

lspci -vs 0000:26:00 | grep MSI:

Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+

2行目がオーディオだった。そちらについても「Enable+」と有効になっていることがわかる。

2回に分けて説明しているが、グラフィックとオーディオを同時に設定してしまっても問題ない。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?