QEMU MacOS(Arch Linuxホスト)ではUSBパススルーを使用できません。

QEMU MacOS(Arch Linuxホスト)ではUSBパススルーを使用できません。

私はこれを使用しています買い戻し私のArch LinuxでMacOS High Sierraを実行します。すべてが良好ですが、LEGO NXT(現在のLego MindstormsソフトウェアはNXT 2.0をサポートしていません)または他のUSBパススルーと連携するためにUSBパススルーを取得できないようです。

これがbasic.sh上記のリポジトリで修正されたものです。

#!/bin/bash

OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VMDIR=$PWD
OVMF=$VMDIR/firmware
#export QEMU_AUDIO_DRV=pa
#QEMU_AUDIO_DRV=pa

qemu-system-x86_64 \
    -enable-kvm \
    -m 2G \
    -machine q35,accel=kvm \
    -smp 4,cores=2 \
    -cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc \
    -device isa-applesmc,osk="$OSK" \
    -smbios type=2 \
    -drive if=pflash,format=raw,readonly,file="$OVMF/OVMF_CODE.fd" \
    -drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \
    -vga qxl \
    -device ich9-intel-hda -device hda-output \
    -usb -device usb-kbd -device usb-mouse \
    -netdev user,id=net0 \
    -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \
    -device ich9-ahci,id=sata \
    -drive id=ESP,if=none,format=qcow2,file=ESP.qcow2 \
    -device ide-hd,bus=sata.2,drive=ESP \
    -drive id=InstallMedia,format=raw,if=none,file=BaseSystem.img \
    -device ide-hd,bus=sata.3,drive=InstallMedia \
    -drive id=SystemDisk,if=none,file=osx-hs.qcow2 \
    -device ide-hd,bus=sata.4,drive=SystemDisk \
    -device qemu-xhci,id=xhci -device usb-host,bus=xhci.0,hostbus=1,hostaddr=11 \

私は次を試しましたアーチウィキページ、上記のように、デバイス自体だけでなくUSBポートのバス/アドレスも明示的に転送します。 MacOS VMにリストされているUSBポートには影響がないようです。

USBコントローラを通過するためにvfio-pciも試しましたが、ホストシステムはMacbook Air 2015なので、USBポートはすべて同じバス上にあります。したがって、ドライバをvfioに切り替えようとすると、modprobeArchがi3から端末にログアウトし、キーボードが動作しなくなります(おそらく同じUSBバスのkb)。私はUSBでArch Linuxを実行しています。これが重要かどうかはわかりません... USBデバイスまたはポートパススルーを実行するのはかなり簡単でなければならないと思います...

どんなアイデアがありますか? Windows 10 KVMを使用すると、より良い成功を収めることができますか?

ベストアンサー1

MacOSは問題ではありませんが、ちょうど動作しました。 qemuを実行しているユーザーは、私が転送したいUSBデバイスにアクセスできません。例:

$ ll /dev/bus/usb/003/014
$ crw-rw-r-- 1 root root 189, 269 Sep 29 21:55 /dev/bus/usb/003/014

一度私は一つ作った。

sudo chown $(whoami) /dev/bus/usb/003/014

Thruは問題なく動作します。

おすすめ記事