LibvirtおよびGPUチャネルのQemuオーバーライド/コマンドラインの新しい構文

LibvirtおよびGPUチャネルのQemuオーバーライド/コマンドラインの新しい構文

qemu 6.1.0(および6.2.0、qemu.confのCapability_filters = ["device.json"])まで、この構成は以前のWindows 2000システムのGPUパススルーに対してうまく機能しました。サウンドが同期しないようにするパルスオーディオモードです。

<qemu:commandline>
    <qemu:arg value='-object'/>
    <qemu:arg value='input-linux,id=mouse,evdev=//dev/input/by-id/usb-Logitech_USB_Receiver-if01-event-mouse'/>
    <qemu:arg value='-object'/>
    <qemu:arg value='input-linux,id=kbd,evdev=/dev/input/by-id/usb-_USB_Keyboard-event-kbd,grab_all=on,repeat=on'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev1.x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='ac97,audiodev=ac97'/>
    <qemu:arg value='-audiodev'/>
    <qemu:arg value='pa,id=ac97,server=unix:/tmp/pulse-socket'/>
    <qemu:env name='QEMU_AUDIO_DRV' value='pa'/>
    <qemu:env name='QEMU_AUDIO_DAC_FIXED_FREQ' value='48000'/>
    <qemu:env name='QEMU_AUDIO_DAC_TRY_POLL' value='0'/>
    <qemu:env name='QEMU_AUDIO_ADC_FIXED_FREQ' value='48000'/>
    <qemu:env name='QEMU_AUDIO_ADC_TRY_POLL' value='0'/>
    <qemu:env name='QEMU_AUDIO_TIMER_PERIOD' value='1000'/>
    <qemu:env name='QEMU_PA_SERVER' value='/tmp/pulse-socket'/>
  </qemu:commandline>

ただし、6.2.0以降では、この構成は機能しなくなり、「QEMU: 'hostdev1'デバイスが定義されていません」というエラーが返されます。

新しい構文は次のとおりです。

  <qemu:override>
    <qemu:device alias='hostdev1'>
      <qemu:frontend>
        <qemu:property name='x-vga' type='bool' value='true'/>
      </qemu:frontend>
    </qemu:device>
  </qemu:override>

VGAは正常に動作しますが、ac97カードは消えます。

私はこれを試しました

  <qemu:override>
    <qemu:device alias='hostdev1'>
      <qemu:frontend>
        <qemu:property name='x-vga' type='bool' value='true'/>
      </qemu:frontend>
    </qemu:device>
    <qemu:device alias='ac97'>
      <qemu:frontend>
        <qemu:property name='audiodev' type='string' value='id=ac97,driver=pa'/>
      </qemu:frontend>
    </qemu:device>
  </qemu:override>
</domain>

しかし、何もありません。 VMがサウンドカードなしで起動され、ログを読み取ると、「-device ac97、audiodev = ac97」がありません(したがってVMにサウンドカードがありません)。

よくある質問:

サウンドにHDMIを使用しないのはなぜですか?簡単です。私のモニターにはvgaポートが1つしかありません。

libvirtのac97を使用しないのはなぜですか?パルスオーディオソケットの設定が可能かどうかわからないからです。

ベストアンサー1

実際、私はこの回避策を使います。私は別のディレクトリ(/opt/qemu6)で古いqemu(6.2)をコンパイルし、/ usrの新しいバイナリの代わりにこのバイナリを使用しました(悪いですがうまくいきます)。したがって、この仮想マシンでは以前の構文のみを使用できます。

おすすめ記事