1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VMwareでLinuxが音割れした時の確認 (hdaudio版)

Last updated at Posted at 2025-07-13

VMware上でLinuxをpipewireでサウンド再生し音割れした時の確認 (hdaudio版)

サウンド再生時にブツブツとなってしまうのを回避する。

再生できた時のサウンドカード情報

wpctl status
[master@sv-fedora ~]$ wpctl status | grep -E 'alsa|bluez5'
 x      51. HD Audio Controller                 [alsa]
 x      93. WI-C310                             [bluez5]

VMware側の確認

VMwareゲストの構成

Device composition
Core/Processor 1 / 2
Memory 8 GiB
NVMe 1 64 GiB
CD/DVD (SATA) Yes
Network (Bridge) e1000e
USB controller USB 3.1
Sound card hdaudio
Display 3D
Bluetooth Yes

以下が有れば必ずコメントにする

vmxファイル
#pciSound.PlayBuffer = "500"  # サウンドバッファの指定
#sound.bufferTime = "400"     # サウンドカードのバックグラウンドノイズ対策

Linux側の確認

設定ファイルの追加変更を行ったらサービスを再起動する。

sudoを使わない事に注意

サービスの再起動
systemctl --user restart wireplumber.service

pipewireのバージョンが0.3.65の場合

pipewireのバージョンの確認

pipewire --version
master@sv-debian:~$ pipewire --version
pipewire
Compiled with libpipewire 0.3.65
Linked with libpipewire 0.3.65
master@sv-debian:~$

追加するファイルのツリー図

/etc/wireplumber/wireplumber.conf.d/
master@sv-debian:~$ tree -f --charset C /etc/
/etc/wireplumber
|-- /etc/wireplumber/bluetooth.lua.d
|   `-- /etc/wireplumber/bluetooth.lua.d/50-bluez-config.lua
`-- /etc/wireplumber/main.lua.d
    `-- /etc/wireplumber/main.lua.d/50-alsa-config.lua

3 directories, 2 files

VMwareでの音割れ対策

以下をコピーし変更する。

  • コピー元: /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
  • コピー先: /etc/wireplumber/main.lua.d/50-alsa-config.lua
/etc/wireplumber/main.lua.d/50-alsa-config.lua
master@sv-debian:~$ diff /usr/share/wireplumber/main.lua.d/50-alsa-config.lua /etc/wireplumber/main.lua.d/50-alsa-config.lua
141a142
>         ["api.alsa.period-size"]   = 1024,
143a145
>         ["api.alsa.headroom"]      = 16384,
  • コピー元: /usr/share/wireplumber/bluetooth.lua.d/50-bluez-config.lua
  • コピー先: /etc/wireplumber/bluetooth.lua.d/50-bluez-config.lua
/etc/wireplumber/bluetooth.lua.d/50-bluez-config.lua
master@sv-debian:~$ diff /usr/share/wireplumber/bluetooth.lua.d/50-bluez-config.lua /etc/wireplumber/bluetooth.lua.d/50-bluez-config.lua
23a24
>     ["bluez5.headset-roles"] = "[ ]",
30a32
>     ["bluez5.hfphsp-backend"] = "none",
137a140,141
>         ["bluez5.auto-connect"] = "[ a2dp_sink ]",
>         ["bluez5.hw-volume"]    = "[ a2dp_sink ]",

pipewireのバージョンが1.4.1の場合

pipewireのバージョンの確認

pipewire --version
[master@sv-fedora ~]$ pipewire --version
pipewire
Compiled with libpipewire 1.4.1
Linked with libpipewire 1.4.1

追加するファイルのツリー図

/etc/wireplumber/wireplumber.conf.d/
[master@sv-fedora ~]$ tree -f --charset C /etc/wireplumber/wireplumber.conf.d/
/etc/wireplumber/wireplumber.conf.d
|-- /etc/wireplumber/wireplumber.conf.d/alsa-vm.conf
`-- /etc/wireplumber/wireplumber.conf.d/bluez.conf

1 directory, 2 files

VMwareでの音割れ対策

以下をコピーし変更する。

  • コピー元: /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf
  • コピー先: /etc/wireplumber/wireplumber.conf.d/alsa-vm.conf
/etc/wireplumber/wireplumber.conf.d/alsa-vm.conf
[master@sv-fedora ~]$ diff /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf /etc/wireplumber/wireplumber.conf.d/alsa-vm.conf
19c19
<         api.alsa.headroom      = 2048
---
>         api.alsa.headroom      = 16384

Bluetoothヘッドセットの制限

以下は新規作成。

/etc/wireplumber/wireplumber.conf.d/bluez.conf
[master@sv-fedora ~]$ cat /etc/wireplumber/wireplumber.conf.d/bluez.conf
monitor.bluez.properties = {
  bluez5.headset-roles  = "[ ]"
  bluez5.hfphsp-backend = "none"
}

monitor.bluez.rules = [
  {
    matches = [
      {
        node.name = "~bluez_input.*"
      }
      {
        node.name = "~bluez_output.*"
      }
    ]
    actions = {
      update-props = {
        bluez5.auto-connect = "[ a2dp_sink ]"
        bluez5.hw-volume    = "[ a2dp_sink ]"
      }
    }
  }
]

あとがき

公式WiKiの情報に沿ってpipewire側の設定をしてもVMware側の設定の不備で解決に時間がかかったのでこれを残す。

参考

主な自動インストール用事前設定ファイル

上記を確認した時の主な自動インストール用事前設定ファイル。

(ネットワーク設定の部分はブートパラメーターで設定できるようにコメントにしている)

Distribution Preconfiguration Files
Debian (preseed.cfg) ps_debian_desktop.cfg
Ubuntu (cloud-init) user-data
Fedora-42 (kickstart) ks_fedora-42_net_desktop.cfg
openSUSE-16 Beta (agama) autoinst_leap-16.0_desktop.json

サンプルファイル

上記設定をしたサンプルファイル。

pipewire Sample file
0.3.x 50-alsa-config.lua
" 50-bluez-config.lua
1.4.x alsa-vm.conf
" bluez.conf

設定用シェル

上記設定を行うシェル。

setup_pipewire.sh

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?