LoginSignup
2
0

More than 3 years have passed since last update.

Ubuntu19.10 KVMでGPUのパススルーができない問題の解決策

Last updated at Posted at 2019-10-27

問題

Ubuntu19.10からKVMでGPUをパススルーし、Windowsのゲストを起動したところ以下の問題が発生しました。
1. ログインパスワードを入力した段階でフリーズ
2. ログイン後数秒で画面が出力されない
3. 画面描写のフレームレートが著しく低い

解決策

該当VMのxmlのos feature内を以下のようにします。
ポイントはq35チップセットを使う点と、 <ioapic driver="kvm"/> (重要) を追加する点です。

  <os>
    <type arch="x86_64" machine="pc-q35-4.0">hvm</type>
    <loader readonly="yes" type="pflash">/usr/share/OVMF/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/Windows_Main_VARS.fd</nvram>
    <boot dev="hd"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state="on"/>
      <vapic state="on"/>
      <spinlocks state="on" retries="8191"/>
      <vendor_id state="on" value="129286789ab"/>
    </hyperv>
    <kvm>
      <hidden state="on"/>
    </kvm>
    <vmport state="off"/>
    <ioapic driver="kvm"/>
  </features>

原因

NvidiaのドライバーがGPU Passthroughされていることを感知すると、動作を停止させるようです (Error 43問題)
これを回避するために、xmlを以下のようにする手法が、いくつかのサイトで紹介されています。

<features>
    <hyperv>
        ...
        <vendor_id state='on' value='whatever'/>
        ...
    </hyperv>
    ...
    <kvm>
    <hidden state='on'/>
    </kvm>
</features>

しかしこれはqemu4.0未満の環境の設定であり、ubuntu19.10で採用されているqemu4.0では追加で<ioapic driver="kvm"/> の記述が必要なようです。

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