Рейтинг:0

Звуковое устройство Qemu Thunderbolt зависает в гостевой системе Windows

флаг cn

У меня есть Ubuntu 20.04 размещен в элитной книге HP G8 (i7 1185G7) и Гостевая Windows 10 через kvm. Мне нужно подключите аудиоустройство Thunderbolt (Presonus Quantum) к Windows. Я сделал это с помощью диспетчера виртуальных машин (нашел аудиоустройство с помощью lspci и добавил его на машину в диспетчере виртуальных машин). Я установил официальный драйвер устройства в Windows, и устройство распознается и работает. Однако аудиоустройство вызывает регулярное зависание гостевой windows 10 (linux все еще работает). Зависания могут длиться от нескольких секунд до нескольких минут, звук гудит, а Windows не отвечает. Потом вдруг разморозится, поработает несколько секунд и снова зависнет. В настоящее время единственным ключом для меня является одно сообщение об ошибке от драйвера аудиоустройства (это настольное приложение Windows), которое появляется после разморозки: "Звуковой движок остановлен, так как система перестала отвечать из-за перегрузки звукового движка.".

Некоторая дополнительная информация:

$ lspci
...
00:1f.5 Контроллер последовательной шины [0c80]: Intel Corporation Device a0a4 (версия 20)
2b:00.0 Мост PCI: мост Intel Corporation JHL6240 Thunderbolt 3 (низкое энергопотребление) [Alpine Ridge LP 2016] (версия 01)
2c:00.0 Мост PCI: мост Intel Corporation JHL6240 Thunderbolt 3 (низкое энергопотребление) [Alpine Ridge LP 2016] (версия 01)
2c:01.0 Мост PCI: мост Intel Corporation JHL6240 Thunderbolt 3 (низкое энергопотребление) [Alpine Ridge LP 2016] (версия 01)
2d:00.0 Мультимедийный аудиоконтроллер: Устройство 1c67:0104 <=== это аудиоустройство Presonus
...

$ болтктл
 ✓ PreSonus Audio Electronics Quantum 2626
   ââ тип: периферийный
   ✓ Название: Quantum 2626
   ââ поставщик: PreSonus Audio Electronics
   uuid: 00565981-157d-3c00-ffff-ffffffffffff
   ✓ Статус: авторизован
   â ââ домен: d065ce53-4e96-8780-ffff-ffffffffffff
   â ââ authflags: нет
   ââ авторизован: Å t 18 ноября 2021, 09:05:59
   ââ подключено: Å т 18. ноябрь 2021, 09:05:59
   ââ сохранено: сб 17 ноября 2021, 17:12:54
      ââ политика: iommu
      ââ ключ: нет

Строка Cmd, используемая диспетчером виртуальных машин для запуска Windows:

  • эта строка cmd была сгенерирована virt-manager gui, я нашел ее через PS
  • Я вставил новые строки для лучшей читабельности, аудиоустройство presonus находится в конце
/usr/bin/qemu-system-x86_64 -name guest=win10,debug-threads=on -S -секрет объекта,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-6- win10/мастер-ключ.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=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,hle=off,rtm=off,mpx=off,intel-pt=off,la57=off, wbnoinvd=off,hv-time,hv-расслабленный,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 -nodefaults -chardev socket,id= charmonitor,fd=31,server,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 -boot menu=on,strict=on

-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 
-устройство pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 
-устройство pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 
-устройство pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 
-устройство pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 
-устройство pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 
-устройство 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 
-device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0

-blockdev '{"драйвер":"файл","имя файла":"/var/lib/libvirt/images/pool/win10.qcow2","имя-узла":"libvirt-1-storage","кэш" :{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' 
-blockdev '{"имя-узла":"libvirt-1-format","только для чтения":false,"cache":{"direct":true,"no-flush":false},"драйвер": «qcow2», «файл»: «libvirt-1-storage», «поддержка»: 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=on,vhostfd=34
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b8:50:7e,bus=pci.6,addr=0x0 
-chardev pty,id=charserial0 -устройство isa-serial,chardev=charserial0,id=serial0 
-chardev spicevmc, id = charchannel0, имя = vdagent 
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 
-device 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, bus = pcie.0, адрес = 0x1 
-устройство ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b 
-устройство 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, имя = usbredir 
-device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 

# это аудиоустройство presonus (0000:2d:00.0):
-device vfio-pci, host=0000:2d:00.0,id=hostdev0,bus=pci.8,addr=0x1 
-устройство virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 
-sandbox on,obsolete=deny,elevateprivacy=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on

Поскольку у меня нет опыта в этой области, и я не нашел тем, посвященных подобным вопросам, я хотел бы обратиться к вам за помощью. Я даже не знаю, как начать отлаживать эту проблему. Есть ли у вас какие-либо предложения?

Большое спасибо!

ChanganAuto avatar
флаг us
Вы описываете проблему с Windows, поэтому лучше всего подходит для вопроса Superuser, а не здесь. Возможно ли, что проблема связана с виртуализацией, следовательно, связана с Ubuntu? Да, но крайне маловероятно.
wynxel avatar
флаг cn
Нет, это не проблема винды. На той же машине у меня также Windows (двойная загрузка) и звуковая карта работает без проблем. Должна быть проблема с виртуализацией. Я ищу помощи, так как я не могу решить ее в одиночку... и мой вопрос все еще актуален (хотя кто-то уже проголосовал за него :/)
ChanganAuto avatar
флаг us
Я проголосовал за это, чтобы компенсировать, но все же я ожидаю, что на это не будет ответа.
wynxel avatar
флаг cn
Спасибо. Ну, я также не жду какого-то быстрого решения. Может быть, какой-нибудь совет, или команды/руководства по работе с Thunderbolt под Linux, или ссылка, где я мог бы связаться с кем-то, у кого есть опыт работы с виртуализацией... что-то, с чего я могу начать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.