ฉันมี Ubuntu 20.04 โฮสต์บนหนังสือ HP Elite G8 (i7 1185G7) และ Windows 10 แขกผ่าน kvm.
ฉันจำเป็นต้อง เชื่อมต่ออุปกรณ์เสียง Thunderbolt (Presonus Quantum) กับ windows. ฉันใช้ตัวจัดการเครื่องเสมือน (พบอุปกรณ์เสียงที่ใช้ lspci และเพิ่มลงในเครื่องในตัวจัดการ VM) ฉันติดตั้งไดรเวอร์อุปกรณ์อย่างเป็นทางการใน windows และอุปกรณ์นั้นเป็นที่รู้จักและใช้งานได้
อย่างไรก็ตาม อุปกรณ์เสียงทำให้ Windows 10 ค้างเป็นประจำ (linux ยังทำงานอยู่) การค้างอาจใช้เวลาไม่กี่วินาทีถึงสองสามนาที เสียงที่ออกมาจะเป็นเสียงหึ่งๆ และหน้าต่างจะไม่ตอบสนอง จากนั้นมันก็หยุดทำงานทันทีทำงานสองสามวินาทีแล้วหยุดอีกครั้ง ในขณะนี้ สิ่งเดียวที่สำคัญสำหรับฉันคือข้อความแสดงข้อผิดพลาดหนึ่งข้อความจากไดรเวอร์อุปกรณ์เสียง (เป็นแอปพลิเคชันเดสก์ท็อป Windows) ซึ่งปรากฏขึ้นหลังจากยกเลิกการตรึง: "เอ็นจิ้นเสียงหยุดทำงาน เนื่องจากระบบไม่ตอบสนองเนื่องจากโอเวอร์โหลดในเอ็นจิ้นเสียง".
ข้อมูลเพิ่มเติมบางส่วน:
$lspci
...
00:1f.5 คอนโทรลเลอร์บัสอนุกรม [0c80]: Intel Corporation Device a0a4 (rev 20)
2b:00.0 PCI บริดจ์: Intel Corporation JHL6240 Thunderbolt 3 Bridge (พลังงานต่ำ) [Alpine Ridge LP 2016] (rev 01)
2c:00.0 PCI บริดจ์: Intel Corporation JHL6240 Thunderbolt 3 Bridge (พลังงานต่ำ) [Alpine Ridge LP 2016] (rev 01)
2c:01.0 PCI บริดจ์: Intel Corporation JHL6240 Thunderbolt 3 Bridge (พลังงานต่ำ) [Alpine Ridge LP 2016] (rev 01)
2d:00.0 ตัวควบคุมเสียงมัลติมีเดีย: อุปกรณ์ 1c67:0104 <=== นี่คืออุปกรณ์เสียง Presonus
...
$boltctl
PreSonus Audio Electronics ควอนตัม 2626
ââ ประเภท: อุปกรณ์ต่อพ่วง
ââ ชื่อ: ควอนตัม 2626
ââ ผู้จำหน่าย: PreSonus Audio Electronics
ââ รหัส: 00565981-157d-3c00-ffff-ffffffffffff
ââ สถานะ: อนุญาต
â ââ โดเมน: d065ce53-4e96-8780-ffff-ffffffffffff
â ââ ธงรับรองความถูกต้อง: ไม่มี
ââ อนุญาต: Å t 18 พฤศจิกายน 2021, 09:05:59 น.
ââ เชื่อมต่อแล้ว: Å t 18 พฤศจิกายน 2021, 09:05:59 น.
ââ จัดเก็บ: St 17 พฤศจิกายน 2021, 17:12:54 น.
ââ นโยบาย: iommu
ââ คีย์: ไม่
บรรทัด Cmd ที่ผู้จัดการ VM ใช้เพื่อเริ่ม windows:
- บรรทัด cmd นี้สร้างโดย virt-manager gui ฉันพบมันผ่าน
ปล
- ฉันแทรกบรรทัดใหม่เพื่อให้อ่านง่ายขึ้น อุปกรณ์เสียง presonus อยู่ที่ส่วนท้าย
/usr/bin/qemu-system-x86_64 -name guest=win10,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-6- win10/master-key.aes
-เครื่อง pc-q35-4.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off
-cpu Icelake-Server,ss=on,vmx=on,pdcm=on,hypervisor=on,tsc-adjust=on,avx512ifma=on,sha-ni=on,rdpid=on,movdiri=on,movdir64b=on, fsrm=on,md-clear=on,stibp=on,arch-capabilities=on,xsaves=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,rdctl-no=on, ibrs-all=เปิด,skip-l1dfl-vmentry=เปิด,mds-no=เปิด,pschange-mc-no=เปิด,hle=ปิด,rtm=ปิด,mpx=ปิด,intel-pt=ปิด,la57=ปิด, wbnoinvd=ปิด,hv-time,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff
-m 8192 -overcommit mem-lock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 4be79611-2312-4054-a7e9-3ca041d564af -no-user-config -nodedefaults -chardev socket,id= charmonitor,fd=31,เซิร์ฟเวอร์,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -เมนูบูต=เปิด,เข้มงวด=เปิด
-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2
-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3
-device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4
-device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5
-device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6
-device pcie-pci-bridge,id=pci.8,bus=pci.1,addr=0x0 -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0
-อุปกรณ์ virtio-serial-pci,id=virtio-serial0,บัส=pci.3,addr=0x0
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/pool/win10.qcow2","node-name":"libvirt-1-storage","แคช" :{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}'
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver": "qcow2","file":"libvirt-1-storage","backing":null}'
-device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1,write-cache=on -netdev tap,fd =33,id=hostnet0,vhost=เปิด,vhostfd=34
-อุปกรณ์ virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b8:50:7e,บัส=pci.6,addr=0x0
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
-chardev spicevmc,id=charchannel0,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
-อุปกรณ์ usb-tablet,id=input0,bus=usb.0,port=1 -spice port=5900,addr=127.0.0.1,disable-ticketing,image-compression=off,seamless-migration=on -device qxl- vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,บัส=pcie.0,addr=0x1
-อุปกรณ์ ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
-chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2
-chardev spicevmc,id=charredir1,name=usbredir
-อุปกรณ์ usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3
# นี่คืออุปกรณ์เสียง presonus (0000:2d:00.0):
-อุปกรณ์ vfio-pci,host=0000:2d:00.0,id=hostdev0,bus=pci.8,addr=0x1
-อุปกรณ์ virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0
เปิดแซนด์บ็อกซ์, ล้าสมัย = ปฏิเสธ, ยกระดับสิทธิ์ = ปฏิเสธ, วางไข่ = ปฏิเสธ, ควบคุมทรัพยากร = ปฏิเสธ - msg timestamp = เปิด
เนื่องจากฉันไม่มีประสบการณ์ในด้านนี้ และฉันไม่พบหัวข้อใด ๆ ที่ครอบคลุมประเด็นที่คล้ายกัน ฉันจึงอยากขอความช่วยเหลือจากคุณ ฉันไม่รู้ด้วยซ้ำว่าจะเริ่มแก้ไขปัญหานี้อย่างไร คุณมีข้อเสนอแนะใด?
ขอบคุณมาก ๆ!